@azure/communication-react 1.5.1-beta.5 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (598) hide show
  1. package/README.md +3 -4
  2. package/dist/communication-react.d.ts +147 -2691
  3. package/dist/dist-cjs/communication-react/index.js +3821 -10561
  4. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/identifier.d.ts +6 -0
  6. package/dist/dist-esm/acs-ui-common/src/identifier.js +10 -2
  7. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/index.d.ts +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/index.js +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  13. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +1 -24
  14. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +0 -51
  15. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  16. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +0 -13
  17. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +2 -17
  18. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  19. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +1 -7
  20. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  21. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +1 -19
  22. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +1 -73
  23. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  24. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +0 -10
  25. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  26. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +1 -15
  27. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  28. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +1 -4
  29. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +0 -22
  30. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  31. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +0 -9
  32. package/dist/dist-esm/calling-component-bindings/src/index.js +0 -10
  33. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  34. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +3 -9
  35. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  36. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts +3 -4
  37. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts +2 -14
  39. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js +1 -20
  40. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  41. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +0 -7
  42. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +1 -13
  43. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  44. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.d.ts +0 -5
  45. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +0 -11
  46. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  47. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +4 -11
  48. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  49. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +0 -3
  50. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  51. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +5 -6
  52. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  53. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -15
  54. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  55. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +1 -2
  56. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +0 -5
  57. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  58. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +1 -115
  59. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  60. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +1 -19
  61. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +2 -162
  62. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  63. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +0 -51
  64. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  65. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +0 -5
  66. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +0 -57
  67. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  68. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +0 -10
  69. package/dist/dist-esm/calling-stateful-client/src/Converter.js +2 -39
  70. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  71. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.d.ts +0 -9
  72. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +0 -5
  73. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  74. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.d.ts +0 -1
  75. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +3 -25
  76. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  77. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.d.ts +0 -1
  78. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js +0 -8
  79. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  80. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.d.ts +0 -1
  81. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +0 -8
  82. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  83. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +1 -25
  84. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +2 -33
  85. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  86. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +2 -9
  87. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +0 -18
  88. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  89. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +0 -4
  90. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  91. package/dist/dist-esm/calling-stateful-client/src/index.d.ts +0 -1
  92. package/dist/dist-esm/calling-stateful-client/src/index.js +0 -2
  93. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  94. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +1 -4
  95. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  96. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +5 -72
  97. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  98. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -3
  99. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  100. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +1 -3
  101. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  102. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +1 -4
  103. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  104. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.d.ts +0 -1
  105. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  106. package/dist/dist-esm/communication-react/src/index.d.ts +0 -28
  107. package/dist/dist-esm/communication-react/src/index.js +0 -14
  108. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  109. package/dist/dist-esm/react-components/src/components/CameraButton.d.ts +0 -8
  110. package/dist/dist-esm/react-components/src/components/CameraButton.js +0 -21
  111. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  112. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +11 -2
  113. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  114. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.d.ts +2 -12
  115. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +2 -5
  116. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  117. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +29 -23
  118. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  119. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.d.ts +1 -11
  120. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +3 -22
  121. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  122. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +0 -12
  123. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +18 -60
  124. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  125. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +0 -6
  126. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  127. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.d.ts +5 -0
  128. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +1 -1
  129. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  130. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.d.ts +5 -0
  131. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +21 -5
  132. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  133. package/dist/dist-esm/react-components/src/components/ErrorBar.d.ts +0 -8
  134. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  135. package/dist/dist-esm/react-components/src/components/FileCard.js +5 -5
  136. package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
  137. package/dist/dist-esm/react-components/src/components/FileCardGroup.d.ts +1 -0
  138. package/dist/dist-esm/react-components/src/components/FileCardGroup.js +2 -2
  139. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
  140. package/dist/dist-esm/react-components/src/components/FileDownloadCards.d.ts +1 -13
  141. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +17 -16
  142. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  143. package/dist/dist-esm/react-components/src/components/FileUploadCards.js +1 -3
  144. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
  145. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +24 -26
  146. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  147. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +4 -40
  148. package/dist/dist-esm/react-components/src/components/MessageThread.js +12 -49
  149. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  150. package/dist/dist-esm/react-components/src/components/MicrophoneButton.d.ts +1 -1
  151. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  152. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +0 -13
  153. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +0 -3
  154. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  155. package/dist/dist-esm/react-components/src/components/ParticipantList.js +1 -7
  156. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  157. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  158. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +2 -42
  159. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  160. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +0 -35
  161. package/dist/dist-esm/react-components/src/components/SendBox.js +1 -26
  162. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  163. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +0 -2
  164. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  165. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +0 -2
  166. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  167. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +0 -24
  168. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  169. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +0 -2
  170. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  171. package/dist/dist-esm/react-components/src/components/VerticalGallery.js +4 -17
  172. package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
  173. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +5 -18
  174. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  175. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +6 -24
  176. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  177. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.d.ts +0 -6
  178. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  179. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.d.ts +0 -5
  180. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +3 -32
  181. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
  182. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +1 -7
  183. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  184. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +3 -46
  185. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  186. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +0 -81
  187. package/dist/dist-esm/react-components/src/components/VideoGallery.js +9 -104
  188. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  189. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +0 -22
  190. package/dist/dist-esm/react-components/src/components/VideoTile.js +11 -88
  191. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  192. package/dist/dist-esm/react-components/src/components/index.d.ts +0 -18
  193. package/dist/dist-esm/react-components/src/components/index.js +0 -16
  194. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  195. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.d.ts +10 -0
  196. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +10 -0
  197. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  198. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +0 -5
  199. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +1 -29
  200. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  201. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js +4 -1
  202. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  203. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +2 -1
  204. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  205. package/dist/dist-esm/react-components/src/components/utils/common.js +0 -4
  206. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  207. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +1 -2
  208. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  209. package/dist/dist-esm/react-components/src/components/utils.d.ts +14 -0
  210. package/dist/dist-esm/react-components/src/components/utils.js +21 -1
  211. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  212. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +0 -4
  213. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +1 -5
  214. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  215. package/dist/dist-esm/react-components/src/index.d.ts +0 -4
  216. package/dist/dist-esm/react-components/src/index.js +0 -2
  217. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  218. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +0 -59
  219. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  220. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +331 -0
  221. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +4 -4
  222. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +4 -4
  223. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +4 -4
  224. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +4 -4
  225. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +331 -0
  226. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +4 -4
  227. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +331 -0
  228. package/dist/dist-esm/react-components/src/localization/locales/index.d.ts +36 -0
  229. package/dist/dist-esm/react-components/src/localization/locales/index.js +54 -0
  230. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  231. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +4 -4
  232. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +4 -4
  233. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +4 -4
  234. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +331 -0
  235. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +4 -4
  236. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +331 -0
  237. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +4 -4
  238. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +4 -4
  239. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +331 -0
  240. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +4 -4
  241. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +4 -4
  242. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +4 -4
  243. package/dist/dist-esm/react-components/src/theming/icons.d.ts +0 -29
  244. package/dist/dist-esm/react-components/src/theming/icons.js +1 -143
  245. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  246. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -27
  247. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  248. package/dist/dist-esm/react-components/src/types/OnRender.d.ts +0 -8
  249. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  250. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.d.ts +0 -3
  251. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js +0 -2
  252. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  253. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +0 -8
  254. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js +0 -2
  255. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  256. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +0 -89
  257. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +12 -57
  258. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  259. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +4 -221
  260. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js +0 -2
  261. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  262. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +7 -103
  263. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +24 -325
  264. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  265. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +1 -263
  266. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -1
  267. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  268. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +2 -3
  269. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +1 -7
  270. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  271. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +0 -8
  272. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js +0 -2
  273. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  274. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +0 -2
  275. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +8 -90
  276. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  277. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +0 -2
  278. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +1 -144
  279. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  280. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +0 -2
  281. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +0 -27
  282. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  283. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +2 -20
  284. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  285. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +0 -2
  286. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +0 -27
  287. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  288. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +0 -2
  289. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +5 -45
  290. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  291. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts +0 -2
  292. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +8 -28
  293. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  294. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +0 -2
  295. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  296. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.d.ts +4 -5
  297. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +1 -2
  298. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  299. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +2 -33
  300. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  301. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +0 -2
  302. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  303. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +2 -6
  304. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  305. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.d.ts +1 -2
  306. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +5 -51
  307. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  308. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +0 -10
  309. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js +0 -2
  310. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  311. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +1 -3
  312. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  313. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +0 -7
  314. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +8 -115
  315. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  316. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +0 -2
  317. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  318. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.d.ts +4 -1
  319. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +2 -2
  320. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  321. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +0 -32
  322. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +0 -57
  323. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  324. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +0 -4
  325. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  326. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.d.ts +6 -1
  327. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +7 -0
  328. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  329. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +0 -1
  330. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  331. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +3 -33
  332. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +6 -109
  333. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  334. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +1 -61
  335. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +5 -30
  336. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  337. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +0 -44
  338. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  339. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +5 -49
  340. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +7 -198
  341. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  342. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +1 -124
  343. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  344. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +2 -22
  345. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +1 -93
  346. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  347. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +0 -13
  348. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +1 -37
  349. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  350. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.d.ts +0 -1
  351. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  352. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +0 -27
  353. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +3 -19
  354. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  355. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +0 -20
  356. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +0 -4
  357. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  358. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +3 -43
  359. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  360. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +0 -4
  361. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  362. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -28
  363. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +6 -128
  364. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  365. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.d.ts +0 -28
  366. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +1 -159
  367. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  368. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -17
  369. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  370. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +0 -2
  371. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  372. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +1 -8
  373. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  374. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +0 -4
  375. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  376. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +1 -5
  377. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +0 -11
  378. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  379. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.d.ts +0 -5
  380. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +2 -3
  381. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  382. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +0 -3
  383. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +4 -36
  384. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  385. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.d.ts +0 -13
  386. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +0 -181
  387. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  388. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.d.ts +0 -2
  389. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js +1 -5
  390. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  391. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +1 -14
  392. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  393. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +2 -18
  394. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  395. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +0 -2
  396. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  397. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +1 -46
  398. package/dist/dist-esm/react-composites/src/composites/common/icons.js +1 -21
  399. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  400. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +4 -26
  401. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  402. package/dist/dist-esm/react-composites/src/composites/index.d.ts +0 -2
  403. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  404. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +199 -0
  405. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +7 -1
  406. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +7 -1
  407. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +7 -1
  408. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +7 -1
  409. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +199 -0
  410. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +7 -1
  411. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +199 -0
  412. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.d.ts +36 -0
  413. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js +61 -1
  414. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  415. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +7 -1
  416. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +7 -1
  417. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +7 -1
  418. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +199 -0
  419. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +7 -1
  420. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +199 -0
  421. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +7 -1
  422. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +7 -1
  423. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +199 -0
  424. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +7 -1
  425. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +7 -1
  426. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +7 -1
  427. package/package.json +17 -15
  428. package/CHANGELOG.beta.md +0 -929
  429. package/CHANGELOG.json +0 -12481
  430. package/CHANGELOG.stable.md +0 -373
  431. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.d.ts +0 -48
  432. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +0 -69
  433. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +0 -1
  434. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +0 -43
  435. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +0 -85
  436. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +0 -1
  437. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.d.ts +0 -18
  438. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js +0 -38
  439. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +0 -1
  440. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.d.ts +0 -28
  441. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js +0 -49
  442. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js.map +0 -1
  443. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +0 -19
  444. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +0 -89
  445. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +0 -1
  446. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.d.ts +0 -23
  447. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +0 -49
  448. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +0 -1
  449. package/dist/dist-esm/react-components/src/components/Caption.d.ts +0 -21
  450. package/dist/dist-esm/react-components/src/components/Caption.js +0 -32
  451. package/dist/dist-esm/react-components/src/components/Caption.js.map +0 -1
  452. package/dist/dist-esm/react-components/src/components/CaptionsBanner.d.ts +0 -32
  453. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +0 -48
  454. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +0 -1
  455. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.d.ts +0 -37
  456. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js +0 -86
  457. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +0 -1
  458. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +0 -69
  459. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +0 -43
  460. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +0 -1
  461. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +0 -75
  462. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +0 -75
  463. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +0 -1
  464. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +0 -105
  465. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +0 -68
  466. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +0 -1
  467. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +0 -86
  468. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +0 -39
  469. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +0 -1
  470. package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +0 -49
  471. package/dist/dist-esm/react-components/src/components/HoldButton.js +0 -25
  472. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +0 -1
  473. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.d.ts +0 -35
  474. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js +0 -32
  475. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +0 -1
  476. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.d.ts +0 -70
  477. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js +0 -54
  478. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +0 -1
  479. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.d.ts +0 -10
  480. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +0 -26
  481. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +0 -1
  482. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.d.ts +0 -10
  483. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +0 -31
  484. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +0 -1
  485. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +0 -58
  486. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +0 -144
  487. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +0 -1
  488. package/dist/dist-esm/react-components/src/components/styles/Captions.style.d.ts +0 -33
  489. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js +0 -61
  490. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +0 -1
  491. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.d.ts +0 -34
  492. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js +0 -86
  493. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +0 -1
  494. package/dist/dist-esm/react-components/src/components/styles/Common.style.d.ts +0 -14
  495. package/dist/dist-esm/react-components/src/components/styles/Common.style.js +0 -16
  496. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +0 -1
  497. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +0 -38
  498. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +0 -92
  499. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +0 -1
  500. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +0 -26
  501. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +0 -67
  502. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +0 -1
  503. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +0 -7
  504. package/dist/dist-esm/react-components/src/components/utils/merge.js +0 -16
  505. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +0 -1
  506. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.d.ts +0 -61
  507. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js +0 -74
  508. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js.map +0 -1
  509. package/dist/dist-esm/react-components/src/permissions/index.d.ts +0 -2
  510. package/dist/dist-esm/react-components/src/permissions/index.js +0 -4
  511. package/dist/dist-esm/react-components/src/permissions/index.js.map +0 -1
  512. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +0 -6
  513. package/dist/dist-esm/react-components/src/theming/icons.styles.js +0 -25
  514. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +0 -1
  515. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +0 -48
  516. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +0 -218
  517. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +0 -1
  518. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.d.ts +0 -12
  519. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +0 -93
  520. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +0 -1
  521. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.d.ts +0 -9
  522. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +0 -75
  523. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +0 -1
  524. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.d.ts +0 -8
  525. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +0 -26
  526. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +0 -1
  527. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +0 -19
  528. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +0 -30
  529. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +0 -1
  530. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +0 -15
  531. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +0 -54
  532. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +0 -1
  533. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.d.ts +0 -7
  534. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js +0 -20
  535. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +0 -1
  536. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/videoBackgroundErrorsSelector.d.ts +0 -7
  537. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/videoBackgroundErrorsSelector.js +0 -17
  538. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/videoBackgroundErrorsSelector.js.map +0 -1
  539. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.d.ts +0 -32
  540. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +0 -81
  541. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +0 -1
  542. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +0 -18
  543. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +0 -18
  544. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +0 -1
  545. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.d.ts +0 -15
  546. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +0 -23
  547. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +0 -1
  548. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +0 -6
  549. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +0 -11
  550. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +0 -1
  551. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +0 -12
  552. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +0 -13
  553. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +0 -1
  554. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +0 -23
  555. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +0 -14
  556. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +0 -1
  557. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +0 -22
  558. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +0 -107
  559. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +0 -1
  560. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts +0 -17
  561. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +0 -32
  562. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +0 -1
  563. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +0 -22
  564. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +0 -74
  565. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +0 -1
  566. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts +0 -15
  567. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +0 -61
  568. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +0 -1
  569. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.d.ts +0 -6
  570. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +0 -61
  571. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +0 -1
  572. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.d.ts +0 -12
  573. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js +0 -111
  574. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +0 -1
  575. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.d.ts +0 -7
  576. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js +0 -38
  577. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js.map +0 -1
  578. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.d.ts +0 -17
  579. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +0 -215
  580. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +0 -1
  581. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.d.ts +0 -6
  582. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js +0 -24
  583. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +0 -1
  584. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.d.ts +0 -20
  585. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.js +0 -52
  586. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.js.map +0 -1
  587. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.styles.d.ts +0 -7
  588. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.styles.js +0 -25
  589. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.styles.js.map +0 -1
  590. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.d.ts +0 -17
  591. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +0 -50
  592. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +0 -1
  593. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.d.ts +0 -11
  594. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js +0 -40
  595. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +0 -1
  596. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.d.ts +0 -12
  597. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +0 -140
  598. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +0 -1
@@ -20,25 +20,13 @@ import { useAdaptedSelector } from './hooks/useAdaptedSelector';
20
20
  import { usePropsFor } from './hooks/usePropsFor';
21
21
  import { chatArea, chatContainer, chatWrapper, messageThreadChatCompositeStyles, sendboxContainerStyles, typingIndicatorContainerStyles } from './styles/Chat.styles';
22
22
  import { participantListContainerPadding } from '../common/styles/ParticipantContainer.styles';
23
- /* @conditional-compile-remove(chat-composite-participant-pane) */
24
- import { ChatScreenPeoplePane } from './ChatScreenPeoplePane';
25
23
  import { toFlatCommunicationIdentifier } from "../../../../acs-ui-common/src";
26
- /* @conditional-compile-remove(file-sharing) */
27
- import { fileUploadsSelector } from './selectors/fileUploadsSelector';
28
- /* @conditional-compile-remove(file-sharing) */
29
- import { useSelector } from './hooks/useSelector';
30
- /* @conditional-compile-remove(file-sharing) */
31
- import { FileDownloadErrorBar } from './FileDownloadErrorBar';
32
- /* @conditional-compile-remove(file-sharing) */
33
- import { _FileDownloadCards } from "../../../../react-components/src";
34
24
  /**
35
25
  * @private
36
26
  */
37
27
  export const ChatScreen = (props) => {
38
28
  const { onFetchAvatarPersonaData, onRenderMessage, onRenderTypingIndicator, options, styles, fileSharing, formFactor } = props;
39
29
  const defaultNumberOfChatMessagesToReload = 5;
40
- /* @conditional-compile-remove(file-sharing) */
41
- const [downloadErrorMessage, setDownloadErrorMessage] = React.useState('');
42
30
  const adapter = useAdapter();
43
31
  const theme = useTheme();
44
32
  useEffect(() => {
@@ -67,27 +55,7 @@ export const ChatScreen = (props) => {
67
55
  if (!files) {
68
56
  return;
69
57
  }
70
- /* @conditional-compile-remove(file-sharing) */
71
- const fileUploads = adapter.registerActiveFileUploads(Array.from(files));
72
- /* @conditional-compile-remove(file-sharing) */
73
- fileSharing === null || fileSharing === void 0 ? void 0 : fileSharing.uploadHandler(userId, fileUploads);
74
58
  }, [adapter, fileSharing, userId]);
75
- /* @conditional-compile-remove(file-sharing) */
76
- const onRenderFileDownloads = useCallback((userId, message) => React.createElement(_FileDownloadCards, { userId: userId, fileMetadata: message.attachedFilesMetadata || [], downloadHandler: fileSharing === null || fileSharing === void 0 ? void 0 : fileSharing.downloadHandler, onDownloadErrorMessage: (errorMessage) => {
77
- setDownloadErrorMessage(errorMessage);
78
- } }), [fileSharing === null || fileSharing === void 0 ? void 0 : fileSharing.downloadHandler]);
79
- /* @conditional-compile-remove(teams-inline-images) */
80
- const onRenderInlineAttachment = useCallback((attachment) => __awaiter(void 0, void 0, void 0, function* () {
81
- if (attachment.previewUrl) {
82
- const blob = yield adapter.downloadAttachments({
83
- attachmentUrls: [attachment.previewUrl]
84
- });
85
- return blob;
86
- }
87
- return [{
88
- blobUrl: ''
89
- }];
90
- }), [adapter]);
91
59
  const AttachFileButton = useCallback(() => {
92
60
  if (!(fileSharing === null || fileSharing === void 0 ? void 0 : fileSharing.uploadHandler)) {
93
61
  return null;
@@ -99,22 +67,14 @@ export const ChatScreen = (props) => {
99
67
  React.createElement(Stack, { className: chatArea, tokens: participantListContainerPadding, horizontal: true, grow: true },
100
68
  React.createElement(Stack, { className: chatWrapper, grow: true },
101
69
  (options === null || options === void 0 ? void 0 : options.errorBar) !== false && React.createElement(ErrorBar, Object.assign({}, errorBarProps)),
102
- React.createElement(FileDownloadErrorBar, { onDismissDownloadErrorMessage: useCallback(() => {
103
- setDownloadErrorMessage('');
104
- }, []), fileDownloadErrorMessage: downloadErrorMessage || '' }),
105
- React.createElement(MessageThread, Object.assign({}, messageThreadProps, { onRenderAvatar: onRenderAvatarCallback, onRenderMessage: onRenderMessage,
106
- /* @conditional-compile-remove(file-sharing) */ onRenderFileDownloads: onRenderFileDownloads,
107
- /* @conditional-compile-remove(teams-inline-images) */ onFetchAttachments: onRenderInlineAttachment, numberOfChatMessagesToReload: defaultNumberOfChatMessagesToReload, styles: messageThreadStyles })),
70
+ React.createElement(MessageThread, Object.assign({}, messageThreadProps, { onRenderAvatar: onRenderAvatarCallback, onRenderMessage: onRenderMessage, numberOfChatMessagesToReload: defaultNumberOfChatMessagesToReload, styles: messageThreadStyles })),
108
71
  React.createElement(Stack, { className: mergeStyles(sendboxContainerStyles) },
109
72
  React.createElement("div", { className: mergeStyles(typingIndicatorContainerStyles) }, onRenderTypingIndicator ? onRenderTypingIndicator(typingIndicatorProps.typingUsers) : React.createElement(TypingIndicator, Object.assign({}, typingIndicatorProps, { styles: typingIndicatorStyles }))),
110
73
  React.createElement(Stack, { horizontal: formFactor === 'mobile' },
111
74
  formFactor === 'mobile' && React.createElement(Stack, { verticalAlign: "center" },
112
75
  React.createElement(AttachFileButton, null)),
113
76
  React.createElement(Stack, { grow: true },
114
- React.createElement(SendBox, Object.assign({}, sendBoxProps, { autoFocus: options === null || options === void 0 ? void 0 : options.autoFocus, styles: sendBoxStyles,
115
- /* @conditional-compile-remove(file-sharing) */ activeFileUploads: useSelector(fileUploadsSelector).files,
116
- /* @conditional-compile-remove(file-sharing) */ onCancelFileUpload: adapter.cancelFileUpload }))),
117
- formFactor !== 'mobile' && React.createElement(AttachFileButton, null)))),
118
- (options === null || options === void 0 ? void 0 : options.participantPane) === true && React.createElement(ChatScreenPeoplePane, { onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, isMobile: formFactor === 'mobile' })));
77
+ React.createElement(SendBox, Object.assign({}, sendBoxProps, { autoFocus: options === null || options === void 0 ? void 0 : options.autoFocus, styles: sendBoxStyles }))),
78
+ formFactor !== 'mobile' && React.createElement(AttachFileButton, null))))));
119
79
  };
120
80
  //# sourceMappingURL=ChatScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatScreen.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/ChatScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { mergeStyles, Stack } from '@fluentui/react';\nimport { CommunicationParticipant, ErrorBar, MessageProps, MessageRenderer, MessageThread, MessageThreadStyles, ParticipantMenuItemsCallback, SendBox, SendBoxStylesProps, TypingIndicator, TypingIndicatorStylesProps, useTheme } from '@internal/react-components';\nimport React, { useCallback, useEffect } from 'react';\nimport { AvatarPersona, AvatarPersonaDataCallback } from '../common/AvatarPersona';\nimport { useAdapter } from './adapter/ChatAdapterProvider';\nimport { ChatCompositeOptions } from './ChatComposite';\nimport { ChatHeader, getHeaderProps } from './ChatHeader';\nimport { FileDownloadHandler } from '@internal/react-components';\nimport { FileUploadButtonWrapper as FileUploadButton, FileUploadHandler } from './file-sharing';\nimport { useAdaptedSelector } from './hooks/useAdaptedSelector';\nimport { usePropsFor } from './hooks/usePropsFor';\nimport { chatArea, chatContainer, chatWrapper, messageThreadChatCompositeStyles, sendboxContainerStyles, typingIndicatorContainerStyles } from './styles/Chat.styles';\nimport { participantListContainerPadding } from '../common/styles/ParticipantContainer.styles';\n/* @conditional-compile-remove(chat-composite-participant-pane) */\nimport { ChatScreenPeoplePane } from './ChatScreenPeoplePane';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\n/* @conditional-compile-remove(file-sharing) */\nimport { fileUploadsSelector } from './selectors/fileUploadsSelector';\n/* @conditional-compile-remove(file-sharing) */\nimport { useSelector } from './hooks/useSelector';\n/* @conditional-compile-remove(file-sharing) */\nimport { FileDownloadErrorBar } from './FileDownloadErrorBar';\n/* @conditional-compile-remove(file-sharing) */\nimport { _FileDownloadCards } from '@internal/react-components';\n/* @conditional-compile-remove(teams-inline-images) */\nimport { AttachmentDownloadResult, FileMetadata } from '@internal/react-components';\n\n/**\n * @private\n */\nexport type ChatScreenProps = {\n options?: ChatCompositeOptions;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n onRenderMessage?: (messageProps: MessageProps, defaultOnRender?: MessageRenderer) => JSX.Element;\n onRenderTypingIndicator?: (typingUsers: CommunicationParticipant[]) => JSX.Element;\n onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n styles?: ChatScreenStyles;\n hasFocusOnMount?: 'sendBoxTextField';\n fileSharing?: FileSharingOptions;\n formFactor?: 'desktop' | 'mobile';\n};\n\n/**\n * @private\n */\nexport type ChatScreenStyles = {\n messageThread?: MessageThreadStyles;\n sendBox?: SendBoxStylesProps;\n typingIndicator?: TypingIndicatorStylesProps;\n};\n\n/**\n * Properties for configuring the File Sharing feature.\n * @beta\n */\nexport interface FileSharingOptions {\n /**\n * A string containing the comma separated list of accepted file types.\n * Similar to the `accept` attribute of the `<input type=\"file\" />` element.\n * Accepts any type of file if not specified.\n * @beta\n */\n accept?: string;\n /**\n * Allows multiple files to be selected if set to `true`.\n * Similar to the `multiple` attribute of the `<input type=\"file\" />` element.\n * @defaultValue false\n * @beta\n */\n multiple?: boolean;\n /**\n * A function of type {@link FileUploadHandler} for handling file uploads.\n * @beta\n */\n uploadHandler: FileUploadHandler;\n /**\n * A function of type {@link FileDownloadHandler} for handling file downloads.\n * If the function is not specified, the file's `url` will be opened in a new tab to\n * initiate the download.\n */\n downloadHandler?: FileDownloadHandler;\n}\n\n/**\n * @private\n */\nexport const ChatScreen = (props: ChatScreenProps): JSX.Element => {\n const {\n onFetchAvatarPersonaData,\n onRenderMessage,\n onRenderTypingIndicator,\n options,\n styles,\n fileSharing,\n formFactor\n } = props;\n const defaultNumberOfChatMessagesToReload = 5;\n /* @conditional-compile-remove(file-sharing) */\n const [downloadErrorMessage, setDownloadErrorMessage] = React.useState('');\n const adapter = useAdapter();\n const theme = useTheme();\n useEffect(() => {\n // Initial data should be always fetched by the composite(or external caller) instead of the adapter\n const fetchData: () => Promise<void> = async () => {\n // Fetch initial data for adapter\n await adapter.fetchInitialData();\n // Fetch initial set of messages. Without fetching messages here, if the Composite's adapter is changed the message thread does not load new messages.\n await adapter.loadPreviousChatMessages(defaultNumberOfChatMessagesToReload);\n };\n fetchData();\n }, [adapter]);\n const messageThreadProps = usePropsFor(MessageThread);\n const sendBoxProps = usePropsFor(SendBox);\n const typingIndicatorProps = usePropsFor(TypingIndicator);\n const headerProps = useAdaptedSelector(getHeaderProps);\n const errorBarProps = usePropsFor(ErrorBar);\n const onRenderAvatarCallback = useCallback((userId, defaultOptions) => {\n return <AvatarPersona userId={userId} hidePersonaDetails={true} {...defaultOptions} dataProvider={onFetchAvatarPersonaData} />;\n }, [onFetchAvatarPersonaData]);\n const messageThreadStyles = Object.assign({}, messageThreadChatCompositeStyles(theme.semanticColors.bodyBackground), styles?.messageThread);\n const typingIndicatorStyles = Object.assign({}, styles?.typingIndicator);\n const sendBoxStyles = Object.assign({}, styles?.sendBox);\n const userId = toFlatCommunicationIdentifier(adapter.getState().userId);\n const fileUploadButtonOnChange = useCallback((files: FileList | null): void => {\n if (!files) {\n return;\n }\n\n /* @conditional-compile-remove(file-sharing) */\n const fileUploads = adapter.registerActiveFileUploads(Array.from(files));\n /* @conditional-compile-remove(file-sharing) */\n fileSharing?.uploadHandler(userId, fileUploads);\n }, [adapter, fileSharing, userId]);\n\n /* @conditional-compile-remove(file-sharing) */\n const onRenderFileDownloads = useCallback((userId, message) => <_FileDownloadCards userId={userId} fileMetadata={message.attachedFilesMetadata || []} downloadHandler={fileSharing?.downloadHandler} onDownloadErrorMessage={(errorMessage: string) => {\n setDownloadErrorMessage(errorMessage);\n }} />, [fileSharing?.downloadHandler]);\n\n /* @conditional-compile-remove(teams-inline-images) */\n const onRenderInlineAttachment = useCallback(async (attachment: FileMetadata): Promise<AttachmentDownloadResult[]> => {\n if (attachment.previewUrl) {\n const blob = await adapter.downloadAttachments({\n attachmentUrls: [attachment.previewUrl]\n });\n return blob;\n }\n return [{\n blobUrl: ''\n }];\n }, [adapter]);\n const AttachFileButton = useCallback(() => {\n if (!fileSharing?.uploadHandler) {\n return null;\n }\n return <FileUploadButton accept={fileSharing?.accept} multiple={fileSharing?.multiple} onChange={fileUploadButtonOnChange} />;\n }, [fileSharing?.accept, fileSharing?.multiple, fileSharing?.uploadHandler, fileUploadButtonOnChange]);\n return <Stack className={chatContainer} grow>\n {options?.topic !== false && <ChatHeader {...headerProps} />}\n <Stack className={chatArea} tokens={participantListContainerPadding} horizontal grow>\n <Stack className={chatWrapper} grow>\n {options?.errorBar !== false && <ErrorBar {...errorBarProps} />}\n {/* @conditional-compile-remove(file-sharing) */\n <FileDownloadErrorBar onDismissDownloadErrorMessage={useCallback(() => {\n setDownloadErrorMessage('');\n }, [])} fileDownloadErrorMessage={downloadErrorMessage || ''} />}\n <MessageThread {...messageThreadProps} onRenderAvatar={onRenderAvatarCallback} onRenderMessage={onRenderMessage}\n /* @conditional-compile-remove(file-sharing) */ onRenderFileDownloads={onRenderFileDownloads}\n /* @conditional-compile-remove(teams-inline-images) */ onFetchAttachments={onRenderInlineAttachment} numberOfChatMessagesToReload={defaultNumberOfChatMessagesToReload} styles={messageThreadStyles} />\n <Stack className={mergeStyles(sendboxContainerStyles)}>\n <div className={mergeStyles(typingIndicatorContainerStyles)}>\n {onRenderTypingIndicator ? onRenderTypingIndicator(typingIndicatorProps.typingUsers) : <TypingIndicator {...typingIndicatorProps} styles={typingIndicatorStyles} />}\n </div>\n <Stack horizontal={formFactor === 'mobile'}>\n {formFactor === 'mobile' && <Stack verticalAlign=\"center\">\n <AttachFileButton />\n </Stack>}\n <Stack grow>\n <SendBox {...sendBoxProps} autoFocus={options?.autoFocus} styles={sendBoxStyles}\n /* @conditional-compile-remove(file-sharing) */ activeFileUploads={useSelector(fileUploadsSelector).files}\n /* @conditional-compile-remove(file-sharing) */ onCancelFileUpload={adapter.cancelFileUpload} />\n </Stack>\n {formFactor !== 'mobile' && <AttachFileButton />}\n </Stack>\n </Stack>\n </Stack>\n {/* @conditional-compile-remove(chat-composite-participant-pane) */\n options?.participantPane === true && <ChatScreenPeoplePane onFetchAvatarPersonaData={onFetchAvatarPersonaData} onFetchParticipantMenuItems={props.onFetchParticipantMenuItems} isMobile={formFactor === 'mobile'} />}\n </Stack>\n </Stack>;\n};\"../../../../react-components/src\"\"../../../../acs-ui-common/src\""]}
1
+ {"version":3,"file":"ChatScreen.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/ChatScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { mergeStyles, Stack } from '@fluentui/react';\nimport { CommunicationParticipant, ErrorBar, MessageProps, MessageRenderer, MessageThread, MessageThreadStyles, ParticipantMenuItemsCallback, SendBox, SendBoxStylesProps, TypingIndicator, TypingIndicatorStylesProps, useTheme } from '@internal/react-components';\nimport React, { useCallback, useEffect } from 'react';\nimport { AvatarPersona, AvatarPersonaDataCallback } from '../common/AvatarPersona';\nimport { useAdapter } from './adapter/ChatAdapterProvider';\nimport { ChatCompositeOptions } from './ChatComposite';\nimport { ChatHeader, getHeaderProps } from './ChatHeader';\nimport { FileDownloadHandler } from '@internal/react-components';\nimport { FileUploadButtonWrapper as FileUploadButton, FileUploadHandler } from './file-sharing';\nimport { useAdaptedSelector } from './hooks/useAdaptedSelector';\nimport { usePropsFor } from './hooks/usePropsFor';\nimport { chatArea, chatContainer, chatWrapper, messageThreadChatCompositeStyles, sendboxContainerStyles, typingIndicatorContainerStyles } from './styles/Chat.styles';\nimport { participantListContainerPadding } from '../common/styles/ParticipantContainer.styles';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\n/**\n * @private\n */\nexport type ChatScreenProps = {\n options?: ChatCompositeOptions;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n onRenderMessage?: (messageProps: MessageProps, defaultOnRender?: MessageRenderer) => JSX.Element;\n onRenderTypingIndicator?: (typingUsers: CommunicationParticipant[]) => JSX.Element;\n onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n styles?: ChatScreenStyles;\n hasFocusOnMount?: 'sendBoxTextField';\n fileSharing?: FileSharingOptions;\n formFactor?: 'desktop' | 'mobile';\n};\n\n/**\n * @private\n */\nexport type ChatScreenStyles = {\n messageThread?: MessageThreadStyles;\n sendBox?: SendBoxStylesProps;\n typingIndicator?: TypingIndicatorStylesProps;\n};\n\n/**\n * Properties for configuring the File Sharing feature.\n * @beta\n */\nexport interface FileSharingOptions {\n /**\n * A string containing the comma separated list of accepted file types.\n * Similar to the `accept` attribute of the `<input type=\"file\" />` element.\n * Accepts any type of file if not specified.\n * @beta\n */\n accept?: string;\n /**\n * Allows multiple files to be selected if set to `true`.\n * Similar to the `multiple` attribute of the `<input type=\"file\" />` element.\n * @defaultValue false\n * @beta\n */\n multiple?: boolean;\n /**\n * A function of type {@link FileUploadHandler} for handling file uploads.\n * @beta\n */\n uploadHandler: FileUploadHandler;\n /**\n * A function of type {@link FileDownloadHandler} for handling file downloads.\n * If the function is not specified, the file's `url` will be opened in a new tab to\n * initiate the download.\n */\n downloadHandler?: FileDownloadHandler;\n}\n\n/**\n * @private\n */\nexport const ChatScreen = (props: ChatScreenProps): JSX.Element => {\n const {\n onFetchAvatarPersonaData,\n onRenderMessage,\n onRenderTypingIndicator,\n options,\n styles,\n fileSharing,\n formFactor\n } = props;\n const defaultNumberOfChatMessagesToReload = 5;\n const adapter = useAdapter();\n const theme = useTheme();\n useEffect(() => {\n // Initial data should be always fetched by the composite(or external caller) instead of the adapter\n const fetchData: () => Promise<void> = async () => {\n // Fetch initial data for adapter\n await adapter.fetchInitialData();\n // Fetch initial set of messages. Without fetching messages here, if the Composite's adapter is changed the message thread does not load new messages.\n await adapter.loadPreviousChatMessages(defaultNumberOfChatMessagesToReload);\n };\n fetchData();\n }, [adapter]);\n const messageThreadProps = usePropsFor(MessageThread);\n const sendBoxProps = usePropsFor(SendBox);\n const typingIndicatorProps = usePropsFor(TypingIndicator);\n const headerProps = useAdaptedSelector(getHeaderProps);\n const errorBarProps = usePropsFor(ErrorBar);\n const onRenderAvatarCallback = useCallback((userId, defaultOptions) => {\n return <AvatarPersona userId={userId} hidePersonaDetails={true} {...defaultOptions} dataProvider={onFetchAvatarPersonaData} />;\n }, [onFetchAvatarPersonaData]);\n const messageThreadStyles = Object.assign({}, messageThreadChatCompositeStyles(theme.semanticColors.bodyBackground), styles?.messageThread);\n const typingIndicatorStyles = Object.assign({}, styles?.typingIndicator);\n const sendBoxStyles = Object.assign({}, styles?.sendBox);\n const userId = toFlatCommunicationIdentifier(adapter.getState().userId);\n const fileUploadButtonOnChange = useCallback((files: FileList | null): void => {\n if (!files) {\n return;\n }\n }, [adapter, fileSharing, userId]);\n const AttachFileButton = useCallback(() => {\n if (!fileSharing?.uploadHandler) {\n return null;\n }\n return <FileUploadButton accept={fileSharing?.accept} multiple={fileSharing?.multiple} onChange={fileUploadButtonOnChange} />;\n }, [fileSharing?.accept, fileSharing?.multiple, fileSharing?.uploadHandler, fileUploadButtonOnChange]);\n return <Stack className={chatContainer} grow>\n {options?.topic !== false && <ChatHeader {...headerProps} />}\n <Stack className={chatArea} tokens={participantListContainerPadding} horizontal grow>\n <Stack className={chatWrapper} grow>\n {options?.errorBar !== false && <ErrorBar {...errorBarProps} />}\n {}\n <MessageThread {...messageThreadProps} onRenderAvatar={onRenderAvatarCallback} onRenderMessage={onRenderMessage} numberOfChatMessagesToReload={defaultNumberOfChatMessagesToReload} styles={messageThreadStyles} />\n <Stack className={mergeStyles(sendboxContainerStyles)}>\n <div className={mergeStyles(typingIndicatorContainerStyles)}>\n {onRenderTypingIndicator ? onRenderTypingIndicator(typingIndicatorProps.typingUsers) : <TypingIndicator {...typingIndicatorProps} styles={typingIndicatorStyles} />}\n </div>\n <Stack horizontal={formFactor === 'mobile'}>\n {formFactor === 'mobile' && <Stack verticalAlign=\"center\">\n <AttachFileButton />\n </Stack>}\n <Stack grow>\n <SendBox {...sendBoxProps} autoFocus={options?.autoFocus} styles={sendBoxStyles} />\n </Stack>\n {formFactor !== 'mobile' && <AttachFileButton />}\n </Stack>\n </Stack>\n </Stack>\n {}\n </Stack>\n </Stack>;\n};\"../../../../react-components/src\"\"../../../../acs-ui-common/src\""]}
@@ -10,9 +10,5 @@ export interface ChatCompositeStrings {
10
10
  * Chat list header text
11
11
  */
12
12
  chatListHeader: string;
13
- /**
14
- * Upload File Button text
15
- */
16
- uploadFile: string;
17
13
  }
18
14
  //# sourceMappingURL=Strings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Strings.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/Strings.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/**\n * Strings used by the {@link ChatComposite} directly.\n *\n * This strings are in addition to those used by the components from the component library.\n *\n * @public\n */\nexport interface ChatCompositeStrings {\n /**\n * Chat list header text\n */\n chatListHeader: string;\n\n /* @conditional-compile-remove(file-sharing) */\n /**\n * Upload File Button text\n */\n uploadFile: string;\n}"]}
1
+ {"version":3,"file":"Strings.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/Strings.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/**\n * Strings used by the {@link ChatComposite} directly.\n *\n * This strings are in addition to those used by the components from the component library.\n *\n * @public\n */\nexport interface ChatCompositeStrings {\n /**\n * Chat list header text\n */\n chatListHeader: string;\n}"]}
@@ -3,9 +3,7 @@ import { ChatThreadClient, SendMessageOptions } from '@azure/communication-chat'
3
3
  import { CommunicationTokenCredential, CommunicationUserIdentifier } from '@azure/communication-common';
4
4
  import { ChatAdapter, ChatAdapterState, MessageReadListener, MessageReceivedListener, ParticipantsAddedListener, ParticipantsRemovedListener, TopicChangedListener } from './ChatAdapter';
5
5
  import { AdapterError } from '../../common/adapters';
6
- import { AttachmentDownloadResult } from "../../../../../react-components/src";
7
6
  import { FileMetadata } from "../../../../../react-components/src";
8
- import { FileUploadManager } from '../file-sharing';
9
7
  /**
10
8
  * Context of Chat, which is a centralized context for all state updates
11
9
  * @private
@@ -29,13 +27,9 @@ export declare class AzureCommunicationChatAdapter implements ChatAdapter {
29
27
  private chatClient;
30
28
  private chatThreadClient;
31
29
  private context;
32
- private credential?;
33
- private fileUploadAdapter;
34
30
  private handlers;
35
31
  private emitter;
36
- constructor(chatClient: StatefulChatClient, chatThreadClient: ChatThreadClient, /* @conditional-compile-remove(teams-inline-images) */ options?: {
37
- credential?: CommunicationTokenCredential;
38
- });
32
+ constructor(chatClient: StatefulChatClient, chatThreadClient: ChatThreadClient);
39
33
  private bindAllPublicMethods;
40
34
  dispose(): void;
41
35
  fetchInitialData(): Promise<void>;
@@ -52,17 +46,6 @@ export declare class AzureCommunicationChatAdapter implements ChatAdapter {
52
46
  attachedFilesMetadata?: FileMetadata[];
53
47
  }): Promise<void>;
54
48
  deleteMessage(messageId: string): Promise<void>;
55
- registerActiveFileUploads(files: File[]): FileUploadManager[];
56
- registerCompletedFileUploads(metadata: FileMetadata[]): FileUploadManager[];
57
- clearFileUploads(): void;
58
- cancelFileUpload(id: string): void;
59
- updateFileUploadProgress(id: string, progress: number): void;
60
- updateFileUploadErrorMessage(id: string, errorMessage: string): void;
61
- updateFileUploadMetadata(id: string, metadata: FileMetadata): void;
62
- downloadAttachments(options: {
63
- attachmentUrls: string[];
64
- }): Promise<AttachmentDownloadResult[]>;
65
- private downloadAuthenticatedFile;
66
49
  private messageReceivedListener;
67
50
  private messageReadListener;
68
51
  private participantsAddedListener;
@@ -86,13 +69,6 @@ export declare class AzureCommunicationChatAdapter implements ChatAdapter {
86
69
  off(event: 'error', listener: (e: AdapterError) => void): void;
87
70
  private asyncTeeErrorToEventEmitter;
88
71
  }
89
- /**
90
- * Configuration options to include when creating AzureCommunicationChatAdapter.
91
- * @beta
92
- */
93
- export declare type AzureCommunicationChatAdapterOptions = {
94
- credential?: CommunicationTokenCredential;
95
- };
96
72
  /**
97
73
  * Arguments for creating the Azure Communication Services implementation of {@link ChatAdapter}.
98
74
  *
@@ -136,7 +112,5 @@ export declare const useAzureCommunicationChatAdapter: (args: Partial<AzureCommu
136
112
  *
137
113
  * @public
138
114
  */
139
- export declare function createAzureCommunicationChatAdapterFromClient(chatClient: StatefulChatClient, chatThreadClient: ChatThreadClient, /* @conditional-compile-remove(teams-inline-images) */ options?: {
140
- credential?: CommunicationTokenCredential;
141
- }): Promise<ChatAdapter>;
115
+ export declare function createAzureCommunicationChatAdapterFromClient(chatClient: StatefulChatClient, chatThreadClient: ChatThreadClient): Promise<ChatAdapter>;
142
116
  //# sourceMappingURL=AzureCommunicationChatAdapter.d.ts.map
@@ -20,10 +20,8 @@ import { createStatefulChatClient } from "../../../../../chat-stateful-client/sr
20
20
  import { createDefaultChatHandlers } from "../../../../../chat-component-bindings/src";
21
21
  import { toFlatCommunicationIdentifier } from "../../../../../acs-ui-common/src";
22
22
  import EventEmitter from 'events';
23
- /* @conditional-compile-remove(file-sharing) */
24
- import { AzureCommunicationFileUploadAdapter, convertFileUploadsUiStateToMessageMetadata } from './AzureCommunicationFileUploadAdapter';
25
23
  import { useEffect, useRef, useState } from 'react';
26
- import { isValidIdentifier } from '../../CallComposite/utils/Utils';
24
+ import { _isValidIdentifier } from "../../../../../acs-ui-common/src";
27
25
  /**
28
26
  * Context of Chat, which is a centralized context for all state updates
29
27
  * @private
@@ -70,8 +68,6 @@ export class ChatContext {
70
68
  thread,
71
69
  latestErrors: clientState.latestErrors
72
70
  };
73
- /* @conditional-compile-remove(file-sharing) */
74
- updatedState = Object.assign(Object.assign({}, updatedState), { fileUploads: this.state.fileUploads });
75
71
  this.setState(updatedState);
76
72
  }
77
73
  }
@@ -79,20 +75,12 @@ export class ChatContext {
79
75
  * @private
80
76
  */
81
77
  export class AzureCommunicationChatAdapter {
82
- constructor(chatClient, chatThreadClient, /* @conditional-compile-remove(teams-inline-images) */ options) {
83
- /* @conditional-compile-remove(teams-inline-images) */
84
- this.credential = undefined;
78
+ constructor(chatClient, chatThreadClient) {
85
79
  this.emitter = new EventEmitter();
86
80
  this.bindAllPublicMethods();
87
81
  this.chatClient = chatClient;
88
82
  this.chatThreadClient = chatThreadClient;
89
83
  this.context = new ChatContext(chatClient.getState(), chatThreadClient.threadId);
90
- /* @conditional-compile-remove(teams-inline-images) */
91
- if (options && options.credential) {
92
- this.credential = options.credential;
93
- }
94
- /* @conditional-compile-remove(file-sharing) */ /* @conditional-compile-remove(teams-inline-images) */
95
- this.fileUploadAdapter = new AzureCommunicationFileUploadAdapter(this.context);
96
84
  const onStateChange = (clientState) => {
97
85
  // unsubscribe when the instance gets disposed
98
86
  if (!this) {
@@ -121,22 +109,6 @@ export class AzureCommunicationChatAdapter {
121
109
  this.loadPreviousChatMessages = this.loadPreviousChatMessages.bind(this);
122
110
  this.on = this.on.bind(this);
123
111
  this.off = this.off.bind(this);
124
- /* @conditional-compile-remove(file-sharing) */
125
- this.registerActiveFileUploads = this.registerActiveFileUploads.bind(this);
126
- /* @conditional-compile-remove(file-sharing) */
127
- this.registerCompletedFileUploads = this.registerCompletedFileUploads.bind(this);
128
- /* @conditional-compile-remove(file-sharing) */
129
- this.clearFileUploads = this.clearFileUploads.bind(this);
130
- /* @conditional-compile-remove(file-sharing) */
131
- this.cancelFileUpload = this.cancelFileUpload.bind(this);
132
- /* @conditional-compile-remove(file-sharing) */
133
- this.updateFileUploadProgress = this.updateFileUploadProgress.bind(this);
134
- /* @conditional-compile-remove(file-sharing) */
135
- this.updateFileUploadErrorMessage = this.updateFileUploadErrorMessage.bind(this);
136
- /* @conditional-compile-remove(file-sharing) */
137
- this.updateFileUploadMetadata = this.updateFileUploadMetadata.bind(this);
138
- /* @conditional-compile-remove(teams-inline-images) */
139
- this.downloadAttachments = this.downloadAttachments.bind(this);
140
112
  }
141
113
  dispose() {
142
114
  this.unsubscribeAllEvents();
@@ -180,17 +152,6 @@ export class AzureCommunicationChatAdapter {
180
152
  sendMessage(content, options = {}) {
181
153
  return __awaiter(this, void 0, void 0, function* () {
182
154
  yield this.asyncTeeErrorToEventEmitter(() => __awaiter(this, void 0, void 0, function* () {
183
- /* @conditional-compile-remove(file-sharing) */
184
- options.metadata = Object.assign(Object.assign({}, options.metadata), convertFileUploadsUiStateToMessageMetadata(this.context.getState().fileUploads));
185
- /* @conditional-compile-remove(file-sharing) */
186
- /**
187
- * All the current uploads need to be clear from the state before a message has been sent.
188
- * This ensures the following behavior:
189
- * 1. File Upload cards are removed from sendbox at the same time text in sendbox is removed.
190
- * 2. any component rendering these file uploads doesn't continue to do so.
191
- * 3. Cleans the state for new file uploads with a fresh message.
192
- */
193
- this.fileUploadAdapter.clearFileUploads();
194
155
  yield this.handlers.onSendMessage(content, options);
195
156
  }));
196
157
  });
@@ -233,8 +194,6 @@ export class AzureCommunicationChatAdapter {
233
194
  updateMessage(messageId, content, metadata, options) {
234
195
  return __awaiter(this, void 0, void 0, function* () {
235
196
  return yield this.asyncTeeErrorToEventEmitter(() => __awaiter(this, void 0, void 0, function* () {
236
- /* @conditional-compile-remove(file-sharing) */
237
- return yield this.handlers.onUpdateMessage(messageId, content, metadata, options);
238
197
  return yield this.handlers.onUpdateMessage(messageId, content);
239
198
  }));
240
199
  });
@@ -246,83 +205,6 @@ export class AzureCommunicationChatAdapter {
246
205
  }));
247
206
  });
248
207
  }
249
- /* @conditional-compile-remove(file-sharing) */
250
- registerActiveFileUploads(files) {
251
- return this.fileUploadAdapter.registerActiveFileUploads(files);
252
- }
253
- /* @conditional-compile-remove(file-sharing) */
254
- registerCompletedFileUploads(metadata) {
255
- return this.fileUploadAdapter.registerCompletedFileUploads(metadata);
256
- }
257
- /* @conditional-compile-remove(file-sharing) */
258
- clearFileUploads() {
259
- this.fileUploadAdapter.clearFileUploads();
260
- }
261
- /* @conditional-compile-remove(file-sharing) */
262
- cancelFileUpload(id) {
263
- this.fileUploadAdapter.cancelFileUpload(id);
264
- }
265
- /* @conditional-compile-remove(file-sharing) */
266
- updateFileUploadProgress(id, progress) {
267
- this.fileUploadAdapter.updateFileUploadProgress(id, progress);
268
- }
269
- /* @conditional-compile-remove(file-sharing) */
270
- updateFileUploadErrorMessage(id, errorMessage) {
271
- this.fileUploadAdapter.updateFileUploadErrorMessage(id, errorMessage);
272
- }
273
- /* @conditional-compile-remove(file-sharing) */
274
- updateFileUploadMetadata(id, metadata) {
275
- this.fileUploadAdapter.updateFileUploadMetadata(id, metadata);
276
- }
277
- /* @conditional-compile-remove(teams-inline-images) */
278
- downloadAttachments(options) {
279
- return __awaiter(this, void 0, void 0, function* () {
280
- return this.asyncTeeErrorToEventEmitter(() => __awaiter(this, void 0, void 0, function* () {
281
- if (this.credential === undefined) {
282
- const e = new Error();
283
- e['target'] = 'ChatThreadClient.getMessage';
284
- e['innerError'] = new Error('AccessToken is null');
285
- throw e;
286
- }
287
- const accessToken = yield this.credential.getToken();
288
- if (!accessToken) {
289
- const e = new Error();
290
- e['target'] = 'ChatThreadClient.getMessage';
291
- e['innerError'] = new Error('AccessToken is null');
292
- throw e;
293
- }
294
- return this.downloadAuthenticatedFile(accessToken.token, options);
295
- }));
296
- });
297
- }
298
- /* @conditional-compile-remove(teams-inline-images) */
299
- downloadAuthenticatedFile(accessToken, options) {
300
- return __awaiter(this, void 0, void 0, function* () {
301
- function fetchWithAuthentication(url, token) {
302
- return __awaiter(this, void 0, void 0, function* () {
303
- const headers = new Headers();
304
- headers.append('Authorization', `Bearer ${token}`);
305
- try {
306
- return yield fetch(url, {
307
- headers
308
- });
309
- }
310
- catch (err) {
311
- const e = new Error();
312
- e['target'] = 'ChatThreadClient.getMessage';
313
- e['innerError'] = err;
314
- throw e;
315
- }
316
- });
317
- }
318
- const attachmentUrl = options.attachmentUrls[0];
319
- const response = yield fetchWithAuthentication(attachmentUrl, accessToken);
320
- const blob = yield response.blob();
321
- return [{
322
- blobUrl: URL.createObjectURL(blob)
323
- }];
324
- });
325
- }
326
208
  messageReceivedListener(event) {
327
209
  const isCurrentChatAdapterThread = event.threadId === this.chatThreadClient.threadId;
328
210
  if (!isCurrentChatAdapterThread) {
@@ -435,7 +317,7 @@ const convertEventType = (type) => {
435
317
  * @public
436
318
  */
437
319
  export const createAzureCommunicationChatAdapter = ({ endpoint: endpointUrl, userId, displayName, credential, threadId }) => __awaiter(void 0, void 0, void 0, function* () {
438
- if (!isValidIdentifier(userId)) {
320
+ if (!_isValidIdentifier(userId)) {
439
321
  throw new Error('Provided userId is invalid. Please provide valid identifier object.');
440
322
  }
441
323
  const chatClient = createStatefulChatClient({
@@ -446,11 +328,7 @@ export const createAzureCommunicationChatAdapter = ({ endpoint: endpointUrl, use
446
328
  });
447
329
  const chatThreadClient = yield chatClient.getChatThreadClient(threadId);
448
330
  yield chatClient.startRealtimeNotifications();
449
- /* @conditional-compile-remove(teams-inline-images) */
450
- const options = {
451
- credential: credential
452
- };
453
- const adapter = yield createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient, /* @conditional-compile-remove(teams-inline-images) */ options);
331
+ const adapter = yield createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient);
454
332
  return adapter;
455
333
  });
456
334
  /**
@@ -538,9 +416,9 @@ export const useAzureCommunicationChatAdapter = (args, afterCreate, beforeDispos
538
416
  *
539
417
  * @public
540
418
  */
541
- export function createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient, /* @conditional-compile-remove(teams-inline-images) */ options) {
419
+ export function createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient) {
542
420
  return __awaiter(this, void 0, void 0, function* () {
543
- return new AzureCommunicationChatAdapter(chatClient, chatThreadClient, /* @conditional-compile-remove(teams-inline-images) */ options);
421
+ return new AzureCommunicationChatAdapter(chatClient, chatThreadClient);
544
422
  });
545
423
  }
546
424
  const isChatError = (e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"AzureCommunicationChatAdapter.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createStatefulChatClient, 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 { ChatMessageReceivedEvent, ChatThreadPropertiesUpdatedEvent, ParticipantsAddedEvent, ParticipantsRemovedEvent, ReadReceiptReceivedEvent } from '@azure/communication-chat';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport EventEmitter from 'events';\nimport { ChatAdapter, ChatAdapterState, MessageReadListener, MessageReceivedListener, ParticipantsAddedListener, ParticipantsRemovedListener, TopicChangedListener } from './ChatAdapter';\nimport { AdapterError } from '../../common/adapters';\n/* @conditional-compile-remove(file-sharing) */\nimport { FileUploadAdapter, AzureCommunicationFileUploadAdapter, convertFileUploadsUiStateToMessageMetadata } from './AzureCommunicationFileUploadAdapter';\nimport { useEffect, useRef, useState } from 'react';\n/* @conditional-compile-remove(teams-inline-images) */\nimport { AttachmentDownloadResult } from '@internal/react-components';\nimport { FileMetadata } from '@internal/react-components';\n/* @conditional-compile-remove(file-sharing) */\nimport { FileUploadManager } from '../file-sharing';\nimport { isValidIdentifier } from '../../CallComposite/utils/Utils';\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(file-sharing) */\n updatedState = {\n ...updatedState,\n fileUploads: this.state.fileUploads\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(teams-inline-images) */\n private credential?: CommunicationTokenCredential = undefined;\n /* @conditional-compile-remove(file-sharing) */\n private fileUploadAdapter: FileUploadAdapter;\n private handlers: ChatHandlers;\n private emitter: EventEmitter = new EventEmitter();\n constructor(chatClient: StatefulChatClient, chatThreadClient: ChatThreadClient, /* @conditional-compile-remove(teams-inline-images) */options?: {\n credential?: CommunicationTokenCredential;\n }) {\n this.bindAllPublicMethods();\n this.chatClient = chatClient;\n this.chatThreadClient = chatThreadClient;\n this.context = new ChatContext(chatClient.getState(), chatThreadClient.threadId);\n /* @conditional-compile-remove(teams-inline-images) */\n if (options && options.credential) {\n this.credential = options.credential;\n }\n /* @conditional-compile-remove(file-sharing) */ /* @conditional-compile-remove(teams-inline-images) */\n this.fileUploadAdapter = new AzureCommunicationFileUploadAdapter(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 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(file-sharing) */\n this.registerActiveFileUploads = this.registerActiveFileUploads.bind(this);\n /* @conditional-compile-remove(file-sharing) */\n this.registerCompletedFileUploads = this.registerCompletedFileUploads.bind(this);\n /* @conditional-compile-remove(file-sharing) */\n this.clearFileUploads = this.clearFileUploads.bind(this);\n /* @conditional-compile-remove(file-sharing) */\n this.cancelFileUpload = this.cancelFileUpload.bind(this);\n /* @conditional-compile-remove(file-sharing) */\n this.updateFileUploadProgress = this.updateFileUploadProgress.bind(this);\n /* @conditional-compile-remove(file-sharing) */\n this.updateFileUploadErrorMessage = this.updateFileUploadErrorMessage.bind(this);\n /* @conditional-compile-remove(file-sharing) */\n this.updateFileUploadMetadata = this.updateFileUploadMetadata.bind(this);\n /* @conditional-compile-remove(teams-inline-images) */\n this.downloadAttachments = this.downloadAttachments.bind(this);\n }\n dispose(): void {\n this.unsubscribeAllEvents();\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(file-sharing) */\n options.metadata = {\n ...options.metadata,\n ...convertFileUploadsUiStateToMessageMetadata(this.context.getState().fileUploads)\n };\n\n /* @conditional-compile-remove(file-sharing) */\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. File Upload cards are removed from sendbox at the same time text in sendbox is removed.\n * 2. any component rendering these file uploads doesn't continue to do so.\n * 3. Cleans the state for new file uploads with a fresh message.\n */\n this.fileUploadAdapter.clearFileUploads();\n await this.handlers.onSendMessage(content, options);\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 attachedFilesMetadata?: FileMetadata[];\n }): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n /* @conditional-compile-remove(file-sharing) */\n return await this.handlers.onUpdateMessage(messageId, content, metadata, options);\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(file-sharing) */\n registerActiveFileUploads(files: File[]): FileUploadManager[] {\n return this.fileUploadAdapter.registerActiveFileUploads(files);\n }\n\n /* @conditional-compile-remove(file-sharing) */\n registerCompletedFileUploads(metadata: FileMetadata[]): FileUploadManager[] {\n return this.fileUploadAdapter.registerCompletedFileUploads(metadata);\n }\n\n /* @conditional-compile-remove(file-sharing) */\n clearFileUploads(): void {\n this.fileUploadAdapter.clearFileUploads();\n }\n\n /* @conditional-compile-remove(file-sharing) */\n cancelFileUpload(id: string): void {\n this.fileUploadAdapter.cancelFileUpload(id);\n }\n\n /* @conditional-compile-remove(file-sharing) */\n updateFileUploadProgress(id: string, progress: number): void {\n this.fileUploadAdapter.updateFileUploadProgress(id, progress);\n }\n\n /* @conditional-compile-remove(file-sharing) */\n updateFileUploadErrorMessage(id: string, errorMessage: string): void {\n this.fileUploadAdapter.updateFileUploadErrorMessage(id, errorMessage);\n }\n\n /* @conditional-compile-remove(file-sharing) */\n updateFileUploadMetadata(id: string, metadata: FileMetadata): void {\n this.fileUploadAdapter.updateFileUploadMetadata(id, metadata);\n }\n\n /* @conditional-compile-remove(teams-inline-images) */\n async downloadAttachments(options: {\n attachmentUrls: string[];\n }): Promise<AttachmentDownloadResult[]> {\n return this.asyncTeeErrorToEventEmitter(async () => {\n if (this.credential === undefined) {\n const e = new Error();\n e['target'] = 'ChatThreadClient.getMessage';\n e['innerError'] = new Error('AccessToken is null');\n throw e;\n }\n const accessToken = await this.credential.getToken();\n if (!accessToken) {\n const e = new Error();\n e['target'] = 'ChatThreadClient.getMessage';\n e['innerError'] = new Error('AccessToken is null');\n throw e;\n }\n return this.downloadAuthenticatedFile(accessToken.token, options);\n });\n }\n /* @conditional-compile-remove(teams-inline-images) */\n private async downloadAuthenticatedFile(accessToken: string, options: {\n attachmentUrls: string[];\n }): Promise<AttachmentDownloadResult[]> {\n async function fetchWithAuthentication(url: string, token: string): Promise<Response> {\n const headers = new Headers();\n headers.append('Authorization', `Bearer ${token}`);\n try {\n return await fetch(url, {\n headers\n });\n } catch (err) {\n const e = new Error();\n e['target'] = 'ChatThreadClient.getMessage';\n e['innerError'] = err;\n throw e;\n }\n }\n const attachmentUrl = options.attachmentUrls[0];\n const response = await fetchWithAuthentication(attachmentUrl, accessToken);\n const blob = await response.blob();\n return [{\n blobUrl: URL.createObjectURL(blob)\n }];\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 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('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('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: '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: '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): ChatMessage => {\n return {\n id: event.id,\n version: event.version,\n content: {\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 };\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/* @conditional-compile-remove(teams-inline-images) */\n/**\n * Configuration options to include when creating AzureCommunicationChatAdapter.\n * @beta\n */\nexport type AzureCommunicationChatAdapterOptions = {\n credential?: CommunicationTokenCredential;\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 if (!isValidIdentifier(userId)) {\n throw new Error('Provided userId is invalid. Please provide valid identifier object.');\n }\n const chatClient = createStatefulChatClient({\n userId,\n displayName,\n endpoint: endpointUrl,\n credential: credential\n });\n const chatThreadClient = await chatClient.getChatThreadClient(threadId);\n await chatClient.startRealtimeNotifications();\n\n /* @conditional-compile-remove(teams-inline-images) */\n const options = {\n credential: credential\n };\n const adapter = await createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient, /* @conditional-compile-remove(teams-inline-images) */options);\n return adapter;\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, /* @conditional-compile-remove(teams-inline-images) */\noptions?: {\n credential?: CommunicationTokenCredential;\n}): Promise<ChatAdapter> {\n return new AzureCommunicationChatAdapter(chatClient, chatThreadClient, /* @conditional-compile-remove(teams-inline-images) */options);\n}\nconst isChatError = (e: Error): e is ChatError => {\n return e['target'] !== undefined && e['innerError'] !== undefined;\n};\"../../../../../chat-stateful-client/src\"\"../../../../../chat-component-bindings/src\"\"../../../../../acs-ui-common/src\"\"../../../../../react-components/src\""]}
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 { createStatefulChatClient, 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 { ChatMessageReceivedEvent, ChatThreadPropertiesUpdatedEvent, ParticipantsAddedEvent, ParticipantsRemovedEvent, ReadReceiptReceivedEvent } from '@azure/communication-chat';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport EventEmitter from 'events';\nimport { ChatAdapter, ChatAdapterState, MessageReadListener, MessageReceivedListener, ParticipantsAddedListener, ParticipantsRemovedListener, TopicChangedListener } from './ChatAdapter';\nimport { AdapterError } from '../../common/adapters';\nimport { useEffect, useRef, useState } from 'react';\nimport { _isValidIdentifier } from '@internal/acs-ui-common';\nimport { FileMetadata } from '@internal/react-components';\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 this.setState(updatedState);\n }\n}\n\n/**\n * @private\n */\nexport class AzureCommunicationChatAdapter implements ChatAdapter {\n private chatClient: StatefulChatClient;\n private chatThreadClient: ChatThreadClient;\n private context: ChatContext;\n private handlers: ChatHandlers;\n private emitter: EventEmitter = new EventEmitter();\n constructor(chatClient: StatefulChatClient, chatThreadClient: ChatThreadClient) {\n this.bindAllPublicMethods();\n this.chatClient = chatClient;\n this.chatThreadClient = chatThreadClient;\n this.context = new ChatContext(chatClient.getState(), chatThreadClient.threadId);\n const onStateChange = (clientState: ChatClientState): void => {\n // unsubscribe when the instance gets disposed\n if (!this) {\n chatClient.offStateChange(onStateChange);\n return;\n }\n this.context.updateClientState(clientState);\n };\n this.handlers = createDefaultChatHandlers(chatClient, chatThreadClient);\n this.chatClient.onStateChange(onStateChange);\n this.subscribeAllEvents();\n }\n private bindAllPublicMethods(): void {\n this.onStateChange = this.onStateChange.bind(this);\n this.offStateChange = this.offStateChange.bind(this);\n this.getState = this.getState.bind(this);\n this.dispose = this.dispose.bind(this);\n this.fetchInitialData = this.fetchInitialData.bind(this);\n this.sendMessage = this.sendMessage.bind(this);\n this.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 }\n dispose(): void {\n this.unsubscribeAllEvents();\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 await this.handlers.onSendMessage(content, options);\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 attachedFilesMetadata?: FileMetadata[];\n }): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\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 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 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('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('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: '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: '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): ChatMessage => {\n return {\n id: event.id,\n version: event.version,\n content: {\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 };\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 * 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 if (!_isValidIdentifier(userId)) {\n throw new Error('Provided userId is invalid. Please provide valid identifier object.');\n }\n const chatClient = createStatefulChatClient({\n userId,\n displayName,\n endpoint: endpointUrl,\n credential: credential\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 * 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 e['target'] !== undefined && e['innerError'] !== undefined;\n};\"../../../../../chat-stateful-client/src\"\"../../../../../chat-component-bindings/src\"\"../../../../../acs-ui-common/src\"\"../../../../../react-components/src\""]}