@azure/communication-react 1.4.0 → 1.4.2-alpha-202211010021.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 (770) hide show
  1. package/CHANGELOG.md +0 -1
  2. package/dist/communication-react.d.ts +1537 -26
  3. package/dist/dist-cjs/communication-react/index.js +9966 -6538
  4. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  6. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/identifier.js +7 -24
  12. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js +2 -1
  15. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/logEvent.js +2 -0
  17. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  18. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  19. package/dist/dist-esm/acs-ui-common/src/safeStringify.js +2 -1
  20. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  21. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  22. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  23. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  24. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +4 -0
  25. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +5 -0
  26. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  27. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +13 -0
  28. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +27 -9
  29. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  30. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +22 -46
  31. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  32. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +9 -0
  33. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +71 -34
  34. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  36. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  37. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +5 -1
  38. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +29 -0
  39. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  40. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js +4 -1
  41. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +2 -0
  43. package/dist/dist-esm/calling-component-bindings/src/index.js +4 -0
  44. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  45. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +17 -7
  46. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  47. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js +2 -0
  48. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  49. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js +2 -0
  50. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +8 -3
  52. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  53. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  54. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  55. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js +2 -0
  56. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  57. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +4 -2
  58. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  59. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  60. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +13 -4
  61. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  62. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +21 -5
  63. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  64. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +12 -1
  65. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js +70 -70
  66. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  67. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +17 -1
  68. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js +4 -1
  69. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  70. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +4 -0
  71. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +60 -10
  72. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  73. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +65 -72
  74. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  75. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js +2 -1
  76. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  77. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  78. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +1 -0
  79. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +19 -8
  80. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  81. package/dist/dist-esm/calling-stateful-client/src/Converter.js +11 -8
  82. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  83. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +58 -55
  84. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  85. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +16 -16
  86. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  87. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.d.ts +1 -2
  88. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js +4 -1
  89. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  90. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +11 -18
  91. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  92. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  93. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.d.ts +1 -0
  94. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js +12 -1
  95. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  96. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +4 -1
  97. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  98. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.d.ts +1 -0
  99. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +14 -2
  100. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  101. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +23 -0
  102. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +36 -36
  103. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  104. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +21 -23
  105. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  106. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js +4 -1
  107. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  108. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +5 -3
  109. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  110. package/dist/dist-esm/calling-stateful-client/src/index.d.ts +2 -0
  111. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  112. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +6 -4
  113. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  114. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +3 -3
  115. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  116. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +21 -18
  117. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  118. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +4 -1
  119. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +11 -13
  120. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  121. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  122. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  123. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js +4 -1
  124. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  125. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  126. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +48 -13
  127. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  128. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  129. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  130. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  131. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js +2 -0
  132. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  133. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +5 -8
  134. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  135. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +7 -2
  136. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  137. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  138. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  139. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js +4 -1
  140. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  141. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +17 -16
  142. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  143. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  144. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +16 -15
  145. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  146. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  147. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +59 -68
  148. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  149. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +115 -121
  150. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  151. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +2 -0
  152. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  153. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  154. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js +2 -0
  155. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  156. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js +2 -0
  157. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  158. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js +2 -0
  159. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  160. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js +2 -0
  161. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  162. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js +2 -0
  163. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  164. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js +2 -0
  165. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  166. package/dist/dist-esm/communication-react/src/index.d.ts +16 -0
  167. package/dist/dist-esm/communication-react/src/index.js +10 -0
  168. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  169. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  170. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  171. package/dist/dist-esm/react-components/src/components/BrowserPermissionDenied.d.ts +69 -0
  172. package/dist/dist-esm/react-components/src/components/BrowserPermissionDenied.js +35 -0
  173. package/dist/dist-esm/react-components/src/components/BrowserPermissionDenied.js.map +1 -0
  174. package/dist/dist-esm/react-components/src/components/BrowserPermissionDeniedIOS.d.ts +75 -0
  175. package/dist/dist-esm/react-components/src/components/BrowserPermissionDeniedIOS.js +57 -0
  176. package/dist/dist-esm/react-components/src/components/BrowserPermissionDeniedIOS.js.map +1 -0
  177. package/dist/dist-esm/react-components/src/components/CameraButton.js +10 -9
  178. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  179. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +7 -8
  180. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  181. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +38 -17
  182. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  183. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +12 -5
  184. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  185. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +26 -31
  186. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  187. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +63 -28
  188. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  189. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +9 -12
  190. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  191. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  192. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  193. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +19 -10
  194. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  195. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +4 -3
  196. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  197. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  198. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  199. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  200. package/dist/dist-esm/react-components/src/components/ControlBar.js +13 -15
  201. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  202. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +14 -4
  203. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  204. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +6 -15
  205. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  206. package/dist/dist-esm/react-components/src/components/DevicePermissionDropdown.js +5 -8
  207. package/dist/dist-esm/react-components/src/components/DevicePermissionDropdown.js.map +1 -1
  208. package/dist/dist-esm/react-components/src/components/DevicesButton.js +7 -30
  209. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  210. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +48 -48
  211. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  212. package/dist/dist-esm/react-components/src/components/DomainPermissions.d.ts +57 -0
  213. package/dist/dist-esm/react-components/src/components/DomainPermissions.js +47 -0
  214. package/dist/dist-esm/react-components/src/components/DomainPermissions.js.map +1 -0
  215. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  216. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +2 -6
  217. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  218. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +12 -9
  219. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  220. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +11 -23
  221. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  222. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +4 -3
  223. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  224. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  225. package/dist/dist-esm/react-components/src/components/EndCallButton.js +5 -8
  226. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  227. package/dist/dist-esm/react-components/src/components/ErrorBar.js +4 -6
  228. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  229. package/dist/dist-esm/react-components/src/components/FileCard.js +4 -4
  230. package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
  231. package/dist/dist-esm/react-components/src/components/FileCardGroup.js +1 -1
  232. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
  233. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +14 -10
  234. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  235. package/dist/dist-esm/react-components/src/components/FileUploadCards.js +10 -8
  236. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
  237. package/dist/dist-esm/react-components/src/components/GridLayout.js +55 -44
  238. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  239. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +4 -3
  240. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  241. package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +49 -0
  242. package/dist/dist-esm/react-components/src/components/HoldButton.js +25 -0
  243. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -0
  244. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +7 -8
  245. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  246. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +6 -12
  247. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  248. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +3 -5
  249. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  250. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +28 -9
  251. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  252. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js +27 -36
  253. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  254. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +23 -1
  255. package/dist/dist-esm/react-components/src/components/MessageThread.js +182 -110
  256. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  257. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +17 -11
  258. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  259. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +137 -137
  260. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  261. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +15 -0
  262. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +19 -16
  263. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  264. package/dist/dist-esm/react-components/src/components/ParticipantList.js +25 -9
  265. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  266. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +44 -31
  267. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  268. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  269. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  270. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  271. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  272. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +18 -5
  273. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  274. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +6 -4
  275. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  276. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +6 -12
  277. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  278. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +35 -0
  279. package/dist/dist-esm/react-components/src/components/SendBox.js +37 -10
  280. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  281. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +4 -3
  282. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  283. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  284. package/dist/dist-esm/react-components/src/components/StreamMedia.js +5 -4
  285. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  286. package/dist/dist-esm/react-components/src/components/SystemMessage.js +2 -4
  287. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  288. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.d.ts +2 -1
  289. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +28 -16
  290. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  291. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +15 -9
  292. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  293. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.d.ts +32 -0
  294. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +33 -0
  295. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -0
  296. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +7 -7
  297. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  298. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +8 -6
  299. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  300. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +1 -1
  301. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  302. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +13 -6
  303. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  304. package/dist/dist-esm/react-components/src/components/VideoGallery.js +97 -44
  305. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  306. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +7 -0
  307. package/dist/dist-esm/react-components/src/components/VideoTile.js +28 -31
  308. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  309. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js +4 -10
  310. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js.map +1 -1
  311. package/dist/dist-esm/react-components/src/components/index.d.ts +13 -0
  312. package/dist/dist-esm/react-components/src/components/index.js +10 -0
  313. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  314. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +58 -0
  315. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +144 -0
  316. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -0
  317. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +3 -12
  318. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  319. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js +2 -0
  320. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  321. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  322. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.d.ts +34 -0
  323. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.js +83 -0
  324. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.js.map +1 -0
  325. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  326. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  327. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js +2 -0
  328. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  329. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js.map +1 -1
  330. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +1 -4
  331. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  332. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  333. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +10 -11
  334. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  335. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +0 -1
  336. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  337. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  338. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +2 -10
  339. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  340. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +0 -3
  341. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  342. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  343. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +0 -1
  344. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  345. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  346. package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.d.ts +22 -0
  347. package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.js +53 -0
  348. package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.js.map +1 -0
  349. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +18 -39
  350. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  351. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  352. package/dist/dist-esm/react-components/src/components/styles/VoiceOverButton.style.js.map +1 -1
  353. package/dist/dist-esm/react-components/src/components/utils/Datetime.js +10 -4
  354. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  355. package/dist/dist-esm/react-components/src/components/utils/common.js +6 -0
  356. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  357. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  358. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js +10 -5
  359. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  360. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +7 -7
  361. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  362. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  363. package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
  364. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  365. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  366. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js +1 -3
  367. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js.map +1 -1
  368. package/dist/dist-esm/react-components/src/components/utils.js +15 -11
  369. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  370. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +21 -13
  371. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  372. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  373. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  374. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  375. package/dist/dist-esm/react-components/src/index.d.ts +2 -0
  376. package/dist/dist-esm/react-components/src/index.js +2 -0
  377. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  378. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +26 -0
  379. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  380. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  381. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +2 -1
  382. package/dist/dist-esm/react-components/src/localization/locales/index.js +16 -42
  383. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  384. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.d.ts +60 -0
  385. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js +74 -0
  386. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js.map +1 -0
  387. package/dist/dist-esm/react-components/src/permissions/index.d.ts +2 -0
  388. package/dist/dist-esm/react-components/src/permissions/index.js +4 -0
  389. package/dist/dist-esm/react-components/src/permissions/index.js.map +1 -0
  390. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +7 -8
  391. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  392. package/dist/dist-esm/react-components/src/theming/icons.d.ts +12 -0
  393. package/dist/dist-esm/react-components/src/theming/icons.js +101 -12
  394. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  395. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  396. package/dist/dist-esm/react-components/src/theming/themeUtils.js +4 -1
  397. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  398. package/dist/dist-esm/react-components/src/theming/themes.js +2 -0
  399. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  400. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +7 -0
  401. package/dist/dist-esm/react-components/src/types/ChatMessage.js +2 -0
  402. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  403. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  404. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js +2 -0
  405. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  406. package/dist/dist-esm/react-components/src/types/OnRender.d.ts +3 -0
  407. package/dist/dist-esm/react-components/src/types/OnRender.js +2 -0
  408. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  409. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js +2 -0
  410. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  411. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  412. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +6 -0
  413. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  414. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  415. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +81 -0
  416. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +107 -19
  417. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  418. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +120 -0
  419. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  420. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +28 -4
  421. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +148 -41
  422. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  423. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +44 -1
  424. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +11 -1
  425. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  426. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  427. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  428. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  429. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +1 -0
  430. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  431. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +3 -0
  432. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +74 -10
  433. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  434. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +2 -0
  435. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +136 -13
  436. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  437. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.d.ts +24 -0
  438. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js +80 -0
  439. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js.map +1 -0
  440. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageCameraDropdown.d.ts +1 -0
  441. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageCameraDropdown.js +23 -0
  442. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageCameraDropdown.js.map +1 -1
  443. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageErrorBar.d.ts +28 -0
  444. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageErrorBar.js +32 -0
  445. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageErrorBar.js.map +1 -0
  446. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageMicDropdown.d.ts +1 -0
  447. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageMicDropdown.js +25 -0
  448. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageMicDropdown.js.map +1 -1
  449. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +5 -4
  450. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  451. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.d.ts +12 -0
  452. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +93 -0
  453. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -0
  454. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +3 -3
  455. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  456. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +35 -23
  457. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  458. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +1 -0
  459. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +69 -20
  460. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  461. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +16 -21
  462. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  463. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +4 -14
  464. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  465. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  466. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  467. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +4 -3
  468. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  469. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  470. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  471. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +1 -1
  472. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  473. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.d.ts +17 -0
  474. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +63 -0
  475. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +1 -0
  476. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +41 -4
  477. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  478. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +5 -2
  479. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  480. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +12 -8
  481. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  482. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +5 -2
  483. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  484. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.d.ts +8 -0
  485. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +26 -0
  486. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -0
  487. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +3 -1
  488. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  489. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +7 -9
  490. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  491. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +29 -6
  492. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  493. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  494. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  495. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  496. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.d.ts +16 -0
  497. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js +38 -0
  498. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js.map +1 -0
  499. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +2 -0
  500. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  501. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +1 -0
  502. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +10 -4
  503. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  504. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +8 -0
  505. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +110 -12
  506. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  507. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +15 -0
  508. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +36 -0
  509. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -0
  510. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.d.ts +1 -0
  511. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +21 -8
  512. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  513. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +2 -2
  514. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  515. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +13 -0
  516. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +26 -0
  517. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -0
  518. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  519. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  520. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  521. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +2 -0
  522. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  523. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  524. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  525. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  526. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  527. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  528. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  529. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  530. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +2 -2
  531. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +13 -6
  532. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  533. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +1 -1
  534. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +3 -1
  535. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  536. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +4 -4
  537. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +2 -0
  538. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  539. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  540. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -2
  541. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  542. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  543. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  544. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  545. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +2 -2
  546. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +2 -2
  547. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  548. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  549. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  550. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  551. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +2 -2
  552. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  553. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  554. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  555. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.d.ts +6 -2
  556. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +11 -10
  557. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  558. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +2 -6
  559. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  560. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js +2 -0
  561. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  562. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +4 -2
  563. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  564. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +4 -4
  565. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  566. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.d.ts +32 -0
  567. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +81 -0
  568. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -0
  569. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +3 -4
  570. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  571. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  572. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  573. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  574. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js +2 -0
  575. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  576. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +0 -1
  577. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  578. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +23 -3
  579. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js +2 -0
  580. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  581. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +1 -1
  582. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +51 -17
  583. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  584. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  585. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +78 -4
  586. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +77 -18
  587. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  588. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.d.ts +1 -0
  589. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js +43 -16
  590. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js.map +1 -1
  591. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.d.ts +2 -0
  592. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js +35 -13
  593. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js.map +1 -1
  594. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js +1 -1
  595. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js.map +1 -1
  596. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js +11 -7
  597. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  598. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.js +2 -0
  599. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  600. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.d.ts +67 -0
  601. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js +75 -0
  602. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js.map +1 -0
  603. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js +3 -6
  604. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js.map +1 -1
  605. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeopleButton.js +1 -1
  606. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeopleButton.js.map +1 -1
  607. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.d.ts +1 -0
  608. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.js.map +1 -1
  609. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +32 -0
  610. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  611. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +22 -4
  612. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +138 -10
  613. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  614. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +56 -0
  615. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  616. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +9 -2
  617. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +36 -1
  618. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  619. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +9 -0
  620. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +34 -1
  621. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  622. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js +4 -2
  623. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  624. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.d.ts +13 -0
  625. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js +65 -0
  626. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js.map +1 -0
  627. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js +67 -21
  628. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js.map +1 -1
  629. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js +2 -1
  630. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  631. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.d.ts +1 -0
  632. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  633. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +3 -1
  634. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  635. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +11 -0
  636. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +10 -2
  637. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  638. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.d.ts +0 -2
  639. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js +2 -13
  640. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  641. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +20 -0
  642. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +8 -2
  643. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  644. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +3 -5
  645. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  646. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +41 -9
  647. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  648. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +18 -0
  649. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +18 -0
  650. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -0
  651. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.d.ts +15 -0
  652. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +21 -0
  653. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +1 -0
  654. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +4 -0
  655. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  656. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +9 -0
  657. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +111 -36
  658. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  659. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.d.ts +28 -0
  660. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +156 -1
  661. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  662. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +13 -2
  663. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js +2 -0
  664. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  665. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +7 -0
  666. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  667. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
  668. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +18 -6
  669. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  670. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js +2 -0
  671. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js.map +1 -1
  672. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  673. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +6 -6
  674. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  675. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +5 -1
  676. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  677. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  678. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +6 -0
  679. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +11 -0
  680. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -0
  681. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +3 -0
  682. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  683. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +12 -0
  684. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +13 -0
  685. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -0
  686. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +23 -0
  687. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +12 -0
  688. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +1 -0
  689. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +2 -6
  690. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  691. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +5 -1
  692. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +17 -6
  693. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  694. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +22 -0
  695. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +105 -0
  696. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -0
  697. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts +17 -0
  698. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +32 -0
  699. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -0
  700. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +10 -4
  701. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  702. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +6 -14
  703. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  704. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +22 -0
  705. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +60 -0
  706. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -0
  707. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts +15 -0
  708. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +61 -0
  709. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -0
  710. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +3 -5
  711. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  712. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +22 -6
  713. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  714. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  715. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  716. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +6 -8
  717. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  718. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +7 -1
  719. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +26 -7
  720. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  721. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.d.ts +17 -0
  722. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +42 -0
  723. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +1 -0
  724. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.d.ts +11 -0
  725. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js +40 -0
  726. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +1 -0
  727. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.d.ts +2 -1
  728. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +6 -18
  729. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  730. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.d.ts +2 -1
  731. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +10 -8
  732. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  733. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  734. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +25 -1
  735. package/dist/dist-esm/react-composites/src/composites/common/icons.js +21 -6
  736. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  737. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js +2 -0
  738. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  739. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +5 -16
  740. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  741. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +12 -51
  742. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  743. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +5 -22
  744. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  745. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +6 -22
  746. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  747. package/dist/dist-esm/react-composites/src/composites/common/utils.js +17 -12
  748. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  749. package/dist/dist-esm/react-composites/src/composites/index.js +2 -0
  750. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  751. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  752. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  753. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  754. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +2 -2
  755. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +2 -2
  756. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +2 -2
  757. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +2 -2
  758. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js +2 -0
  759. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  760. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +2 -2
  761. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +2 -2
  762. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +2 -2
  763. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +2 -2
  764. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +2 -2
  765. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +2 -2
  766. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +2 -2
  767. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +2 -2
  768. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +2 -2
  769. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  770. package/package.json +14 -14
@@ -1,3 +1,5 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
1
3
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
4
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
5
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -7,8 +9,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
9
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
10
  });
9
11
  };
10
- // Copyright (c) Microsoft Corporation.
11
- // Licensed under the MIT license.
12
12
  import { LocalVideoStream, VideoStreamRenderer } from '@azure/communication-calling';
13
13
  import { convertSdkLocalStreamToDeclarativeLocalStream, convertSdkRemoteStreamToDeclarativeRemoteStream, convertFromSDKToDeclarativeVideoStreamRendererView } from './Converter';
14
14
  import { toFlatCommunicationIdentifier, _logEvent } from "../../acs-ui-common/src";
@@ -24,11 +24,7 @@ function createViewRemoteVideo(context, internalContext, callId, participantId,
24
24
  else {
25
25
  participantKey = toFlatCommunicationIdentifier(participantId);
26
26
  }
27
- const streamLogInfo = {
28
- callId,
29
- participantKey,
30
- streamId
31
- };
27
+ const streamLogInfo = { callId, participantKey, streamId };
32
28
  _logEvent(callingStatefulLogger, {
33
29
  name: EventNames.CREATING_REMOTE_VIEW,
34
30
  level: 'info',
@@ -114,7 +110,8 @@ function createViewRemoteVideo(context, internalContext, callId, participantId,
114
110
  data: streamLogInfo
115
111
  });
116
112
  return;
117
- } // Else the stream still exists and status is not telling us to stop rendering. Complete the render process by
113
+ }
114
+ // Else the stream still exists and status is not telling us to stop rendering. Complete the render process by
118
115
  // updating the state.
119
116
  internalContext.setRemoteRenderInfo(callId, participantKey, streamId, refreshedRenderInfo.stream, 'Rendered', renderer);
120
117
  context.setRemoteVideoStreamRendererView(callId, participantKey, streamId, convertFromSDKToDeclarativeVideoStreamRendererView(view));
@@ -130,7 +127,8 @@ function createViewLocalVideo(context, internalContext, callId, options) {
130
127
  name: EventNames.START_LOCAL_STREAM_RENDERING,
131
128
  level: 'info',
132
129
  message: 'Start creating view for local video.'
133
- }); // Render LocalVideoStream that is part of a Call
130
+ });
131
+ // Render LocalVideoStream that is part of a Call
134
132
  const renderInfo = internalContext.getLocalRenderInfo(callId);
135
133
  if (!renderInfo) {
136
134
  _logEvent(callingStatefulLogger, {
@@ -186,7 +184,8 @@ function createViewLocalVideo(context, internalContext, callId, options) {
186
184
  });
187
185
  internalContext.setLocalRenderInfo(callId, renderInfo.stream, 'NotRendered', undefined);
188
186
  throw e;
189
- } // Since render could take some time, we need to check if the stream is still valid and if we received a signal to
187
+ }
188
+ // Since render could take some time, we need to check if the stream is still valid and if we received a signal to
190
189
  // stop rendering.
191
190
  const refreshedRenderInfo = internalContext.getLocalRenderInfo(callId);
192
191
  if (!refreshedRenderInfo) {
@@ -219,7 +218,8 @@ function createViewLocalVideo(context, internalContext, callId, options) {
219
218
  internalContext.setLocalRenderInfo(callId, refreshedRenderInfo.stream, 'NotRendered', undefined);
220
219
  context.setLocalVideoStreamRendererView(callId, undefined);
221
220
  return;
222
- } // Else The stream still exists and status is not telling us to stop rendering. Complete the render process by
221
+ }
222
+ // Else The stream still exists and status is not telling us to stop rendering. Complete the render process by
223
223
  // updating the state.
224
224
  internalContext.setLocalRenderInfo(callId, refreshedRenderInfo.stream, 'Rendered', renderer);
225
225
  context.setLocalVideoStreamRendererView(callId, convertFromSDKToDeclarativeVideoStreamRendererView(view));
@@ -266,7 +266,8 @@ function createViewUnparentedVideo(context, internalContext, stream, options) {
266
266
  // to create a new view they can check that the view is not rendered and call this function again.
267
267
  internalContext.deleteUnparentedRenderInfo(stream);
268
268
  throw e;
269
- } // Since render could take some time, we need to check if the stream is still valid and if we received a signal to
269
+ }
270
+ // Since render could take some time, we need to check if the stream is still valid and if we received a signal to
270
271
  // stop rendering.
271
272
  const refreshedRenderInfo = internalContext.getUnparentedRenderInfo(stream);
272
273
  if (!refreshedRenderInfo) {
@@ -284,7 +285,8 @@ function createViewUnparentedVideo(context, internalContext, stream, options) {
284
285
  internalContext.deleteUnparentedRenderInfo(stream);
285
286
  context.deleteDeviceManagerUnparentedView(stream);
286
287
  return;
287
- } // Else the stream still exists and status is not telling us to stop rendering. Complete the render process by
288
+ }
289
+ // Else the stream still exists and status is not telling us to stop rendering. Complete the render process by
288
290
  // updating the state.
289
291
  internalContext.setUnparentedRenderInfo(stream, localVideoStream, 'Rendered', renderer);
290
292
  context.setDeviceManagerUnparentedView(stream, convertFromSDKToDeclarativeVideoStreamRendererView(view));
@@ -303,11 +305,7 @@ function disposeViewRemoteVideo(context, internalContext, callId, participantId,
303
305
  else {
304
306
  participantKey = toFlatCommunicationIdentifier(participantId);
305
307
  }
306
- const streamLogInfo = {
307
- callId,
308
- participantKey,
309
- streamId
310
- };
308
+ const streamLogInfo = { callId, participantKey, streamId };
311
309
  _logEvent(callingStatefulLogger, {
312
310
  name: EventNames.START_DISPOSE_REMOTE_STREAM,
313
311
  level: 'info',
@@ -324,7 +322,8 @@ function disposeViewRemoteVideo(context, internalContext, callId, participantId,
324
322
  data: streamLogInfo
325
323
  });
326
324
  return;
327
- } // Sets the status and also renderer. I think we need to always set renderer to undefined since in all status when
325
+ }
326
+ // Sets the status and also renderer. I think we need to always set renderer to undefined since in all status when
328
327
  // cleaned up should have renderer as undefined. If the status is 'Rendered' and renderer is not defined it should
329
328
  // be cleaned up below so we can set it to undefined here.
330
329
  if (renderInfo.status === 'Rendering') {
@@ -358,9 +357,7 @@ function disposeViewRemoteVideo(context, internalContext, callId, participantId,
358
357
  }
359
358
  }
360
359
  function disposeViewLocalVideo(context, internalContext, callId) {
361
- const streamLogInfo = {
362
- callId
363
- };
360
+ const streamLogInfo = { callId };
364
361
  _logEvent(callingStatefulLogger, {
365
362
  name: EventNames.START_DISPOSE_LOCAL_STREAM,
366
363
  level: 'info',
@@ -377,7 +374,8 @@ function disposeViewLocalVideo(context, internalContext, callId) {
377
374
  data: streamLogInfo
378
375
  });
379
376
  return;
380
- } // Sets the status and also renderer. I think we need to always set renderer to undefined since in all status when
377
+ }
378
+ // Sets the status and also renderer. I think we need to always set renderer to undefined since in all status when
381
379
  // cleaned up should have renderer as undefined. If the status is 'Rendered' and renderer is not defined it should
382
380
  // be cleaned up below so we can set it to undefined here.
383
381
  if (renderInfo.status === 'Rendering') {
@@ -1 +1 @@
1
- {"version":3,"file":"StreamUtils.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/StreamUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StreamUtils.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/StreamUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n CreateViewOptions,\n LocalVideoStream,\n VideoStreamRenderer,\n VideoStreamRendererView\n} from '@azure/communication-calling';\nimport { CommunicationIdentifierKind } from '@azure/communication-common';\nimport { LocalVideoStreamState, RemoteVideoStreamState } from './CallClientState';\nimport { CallContext } from './CallContext';\nimport {\n convertSdkLocalStreamToDeclarativeLocalStream,\n convertSdkRemoteStreamToDeclarativeRemoteStream,\n convertFromSDKToDeclarativeVideoStreamRendererView\n} from './Converter';\nimport { InternalCallContext } from './InternalCallContext';\nimport { toFlatCommunicationIdentifier, _logEvent } from '@internal/acs-ui-common';\nimport { callingStatefulLogger, EventNames } from './Logger';\n\n/**\n * Return result from {@link StatefulCallClient.createView}.\n *\n * @public\n */\nexport type CreateViewResult = {\n renderer: VideoStreamRenderer;\n view: VideoStreamRendererView;\n};\n\nasync function createViewRemoteVideo(\n context: CallContext,\n internalContext: InternalCallContext,\n callId: string,\n participantId: CommunicationIdentifierKind | string,\n stream: RemoteVideoStreamState,\n options?: CreateViewOptions\n): Promise<CreateViewResult | undefined> {\n // Render RemoteVideoStream that is part of a Call\n const streamId = stream.id;\n let participantKey;\n if (typeof participantId === 'string') {\n participantKey = participantId;\n } else {\n participantKey = toFlatCommunicationIdentifier(participantId);\n }\n const streamLogInfo = { callId, participantKey, streamId };\n\n _logEvent(callingStatefulLogger, {\n name: EventNames.CREATING_REMOTE_VIEW,\n level: 'info',\n message: 'Start creating view for remote video.',\n data: streamLogInfo\n });\n const renderInfo = internalContext.getRemoteRenderInfoForParticipant(callId, participantKey, streamId);\n\n if (!renderInfo) {\n _logEvent(callingStatefulLogger, {\n name: EventNames.REMOTE_STREAM_NOT_FOUND,\n level: 'error',\n message: 'RemoteVideoStream not found in state.',\n data: streamLogInfo\n });\n console.warn('RemoteVideoStream not found in state');\n return;\n }\n\n if (renderInfo.status === 'Rendered') {\n _logEvent(callingStatefulLogger, {\n name: EventNames.REMOTE_STREAM_ALREADY_RENDERED,\n level: 'warning',\n message: 'RemoteVideoStream is already rendered.',\n data: streamLogInfo\n });\n console.warn('RemoteVideoStream is already rendered');\n return;\n }\n\n if (renderInfo.status === 'Rendering') {\n // Do not log to console here as this is a very common situation due to UI rerenders while\n // the video rendering is in progress.\n _logEvent(callingStatefulLogger, {\n name: EventNames.REMOTE_STREAM_RENDERING,\n level: 'warning',\n message: 'RemoteVideoStream is rendering.',\n data: streamLogInfo\n });\n return;\n }\n\n if (renderInfo.status === 'Stopping') {\n console.warn('RemoteVideoStream is in the middle of stopping');\n return;\n }\n\n const renderer = new VideoStreamRenderer(renderInfo.stream);\n\n internalContext.setRemoteRenderInfo(callId, participantKey, streamId, renderInfo.stream, 'Rendering', undefined);\n\n let view;\n try {\n view = await renderer.createView(options);\n } catch (e) {\n _logEvent(callingStatefulLogger, {\n name: EventNames.CREATE_REMOTE_STREAM_FAIL,\n level: 'error',\n message: 'Failed to create remote view',\n data: streamLogInfo\n });\n internalContext.setRemoteRenderInfo(callId, participantKey, streamId, renderInfo.stream, 'NotRendered', undefined);\n throw e;\n }\n\n const refreshedRenderInfo = internalContext.getRemoteRenderInfoForParticipant(callId, participantKey, streamId);\n if (!refreshedRenderInfo) {\n // RenderInfo was removed. This should not happen unless stream was removed from the call so dispose the renderer\n // and clean up state.\n _logEvent(callingStatefulLogger, {\n name: EventNames.REMOTE_RENDER_INFO_NOT_FOUND,\n level: 'error',\n message: '`Cannot find remote render info after create the view.',\n data: streamLogInfo\n });\n renderer.dispose();\n context.setRemoteVideoStreamRendererView(callId, participantKey, streamId, undefined);\n return;\n }\n\n if (refreshedRenderInfo.status === 'Stopping') {\n // Stop render was called on this stream after we had started rendering. We will dispose this view and do not\n // put the view into the state.\n renderer.dispose();\n internalContext.setRemoteRenderInfo(\n callId,\n participantKey,\n streamId,\n refreshedRenderInfo.stream,\n 'NotRendered',\n undefined\n );\n context.setRemoteVideoStreamRendererView(callId, participantKey, streamId, undefined);\n _logEvent(callingStatefulLogger, {\n name: EventNames.REMOTE_VIEW_RENDER_SUCCEED,\n level: 'info',\n message: 'Successfully render the remote view.',\n data: streamLogInfo\n });\n return;\n }\n\n // Else the stream still exists and status is not telling us to stop rendering. Complete the render process by\n // updating the state.\n internalContext.setRemoteRenderInfo(\n callId,\n participantKey,\n streamId,\n refreshedRenderInfo.stream,\n 'Rendered',\n renderer\n );\n context.setRemoteVideoStreamRendererView(\n callId,\n participantKey,\n streamId,\n convertFromSDKToDeclarativeVideoStreamRendererView(view)\n );\n\n return {\n renderer,\n view\n };\n}\n\nasync function createViewLocalVideo(\n context: CallContext,\n internalContext: InternalCallContext,\n callId: string,\n options?: CreateViewOptions\n): Promise<CreateViewResult | undefined> {\n _logEvent(callingStatefulLogger, {\n name: EventNames.START_LOCAL_STREAM_RENDERING,\n level: 'info',\n message: 'Start creating view for local video.'\n });\n // Render LocalVideoStream that is part of a Call\n const renderInfo = internalContext.getLocalRenderInfo(callId);\n\n if (!renderInfo) {\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_STREAM_NOT_FOUND,\n level: 'error',\n message: 'LocalVideoStream not found in state.'\n });\n console.warn('LocalVideoStream not found in state');\n return;\n }\n\n if (renderInfo.status === 'Rendered') {\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_STREAM_ALREADY_RENDERED,\n level: 'warning',\n message: 'LocalVideoStream is already rendered.'\n });\n console.warn('LocalVideoStream is already rendered');\n return;\n }\n\n if (renderInfo.status === 'Rendering') {\n // Do not log to console here as this is a very common situation due to UI rerenders while\n // the video rendering is in progress.\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_STREAM_RENDERING,\n level: 'warning',\n message: 'LocalVideoStream is rendering.'\n });\n return;\n }\n\n if (renderInfo.status === 'Stopping') {\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_STREAM_STOPPING,\n level: 'warning',\n message: 'LocalVideoStream is in the middle of stopping.'\n });\n console.warn('LocalVideoStream is in the middle of stopping');\n return;\n }\n\n const renderer = new VideoStreamRenderer(renderInfo.stream);\n\n internalContext.setLocalRenderInfo(callId, renderInfo.stream, 'Rendering', renderer);\n\n let view;\n try {\n view = await renderer.createView(options);\n } catch (e) {\n _logEvent(callingStatefulLogger, {\n name: EventNames.CREATE_LOCAL_STREAM_FAIL,\n level: 'error',\n message: 'Failed to create view.',\n data: {\n error: e\n }\n });\n internalContext.setLocalRenderInfo(callId, renderInfo.stream, 'NotRendered', undefined);\n throw e;\n }\n\n // Since render could take some time, we need to check if the stream is still valid and if we received a signal to\n // stop rendering.\n const refreshedRenderInfo = internalContext.getLocalRenderInfo(callId);\n if (!refreshedRenderInfo) {\n // RenderInfo was removed. This should not happen unless stream was removed from the call so dispose the renderer\n // and clean up the state.\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_RENDER_INFO_NOT_FOUND,\n level: 'error',\n message: 'Cannot find local render info after create the view. ',\n data: {\n callId\n }\n });\n renderer.dispose();\n context.setLocalVideoStreamRendererView(callId, undefined);\n return;\n }\n\n if (refreshedRenderInfo.status === 'Stopping') {\n // Stop render was called on this stream after we had started rendering. We will dispose this view and do not\n // put the view into the state.\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_CREATED_STREAM_STOPPING,\n level: 'warning',\n message: 'Render info status is stopping, dispose renderer. ',\n data: {\n callId\n }\n });\n renderer.dispose();\n internalContext.setLocalRenderInfo(callId, refreshedRenderInfo.stream, 'NotRendered', undefined);\n context.setLocalVideoStreamRendererView(callId, undefined);\n return;\n }\n\n // Else The stream still exists and status is not telling us to stop rendering. Complete the render process by\n // updating the state.\n internalContext.setLocalRenderInfo(callId, refreshedRenderInfo.stream, 'Rendered', renderer);\n context.setLocalVideoStreamRendererView(callId, convertFromSDKToDeclarativeVideoStreamRendererView(view));\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_VIEW_RENDER_SUCCEED,\n level: 'info',\n message: `Successfully render the local view.`,\n data: {\n callId\n }\n });\n\n return {\n renderer,\n view\n };\n}\n\nasync function createViewUnparentedVideo(\n context: CallContext,\n internalContext: InternalCallContext,\n stream: LocalVideoStreamState,\n options?: CreateViewOptions\n): Promise<CreateViewResult | undefined> {\n const renderInfo = internalContext.getUnparentedRenderInfo(stream);\n\n if (renderInfo && renderInfo.status === 'Rendered') {\n console.warn('Unparented LocalVideoStream is already rendered');\n return;\n }\n\n if (renderInfo && renderInfo.status === 'Rendering') {\n // Do not log to console here as this is a very common situation due to UI rerenders while\n // the video rendering is in progress.\n return;\n }\n\n if (renderInfo && renderInfo.status === 'Stopping') {\n console.warn('Unparented LocalVideoStream is in the middle of stopping');\n return;\n }\n\n const localVideoStream = new LocalVideoStream(stream.source);\n const renderer = new VideoStreamRenderer(localVideoStream);\n\n internalContext.setUnparentedRenderInfo(stream, localVideoStream, 'Rendering', undefined);\n\n let view: VideoStreamRendererView;\n try {\n view = await renderer.createView(options);\n } catch (e) {\n // Special case for unparented views. Since they are not tied to anything and created by us based on the calls to\n // this function we'll delete it to clean up the data since keeping it around doesn't help us and if developer wants\n // to create a new view they can check that the view is not rendered and call this function again.\n internalContext.deleteUnparentedRenderInfo(stream);\n throw e;\n }\n\n // Since render could take some time, we need to check if the stream is still valid and if we received a signal to\n // stop rendering.\n const refreshedRenderInfo = internalContext.getUnparentedRenderInfo(stream);\n if (!refreshedRenderInfo) {\n // Unparented stream's RenderInfo was deleted. Currently this shouldn't happen but if it does we'll just dispose the\n // renderer and clean up state. If developer wanted the stream they could call this function again and that should\n // generate new working state via this function.\n renderer.dispose();\n context.deleteDeviceManagerUnparentedView(stream);\n return;\n }\n\n if (refreshedRenderInfo.status === 'Stopping') {\n // Stop render was called on this stream after we had started rendering. We will dispose this view and do not\n // put the view into the state. Special case for unparented views, delete them from state when stopped to free up\n // the memory since we were the ones generating this and not tied to any Call state.\n internalContext.deleteUnparentedRenderInfo(stream);\n context.deleteDeviceManagerUnparentedView(stream);\n return;\n }\n\n // Else the stream still exists and status is not telling us to stop rendering. Complete the render process by\n // updating the state.\n internalContext.setUnparentedRenderInfo(stream, localVideoStream, 'Rendered', renderer);\n context.setDeviceManagerUnparentedView(stream, convertFromSDKToDeclarativeVideoStreamRendererView(view));\n\n return {\n renderer,\n view\n };\n}\n\nfunction disposeViewRemoteVideo(\n context: CallContext,\n internalContext: InternalCallContext,\n callId: string,\n participantId: CommunicationIdentifierKind | string,\n stream: RemoteVideoStreamState\n): void {\n const streamId = stream.id;\n\n let participantKey;\n if (typeof participantId === 'string') {\n participantKey = participantId;\n } else {\n participantKey = toFlatCommunicationIdentifier(participantId);\n }\n\n const streamLogInfo = { callId, participantKey, streamId };\n\n _logEvent(callingStatefulLogger, {\n name: EventNames.START_DISPOSE_REMOTE_STREAM,\n level: 'info',\n message: 'Start disposing remote stream.',\n data: streamLogInfo\n });\n\n context.setRemoteVideoStreamRendererView(callId, participantKey, streamId, undefined);\n\n const renderInfo = internalContext.getRemoteRenderInfoForParticipant(callId, participantKey, streamId);\n if (!renderInfo) {\n _logEvent(callingStatefulLogger, {\n name: EventNames.REMOTE_DISPOSE_INFO_NOT_FOUND,\n level: 'error',\n message: 'Cannot find render info when disposing remote stream.',\n data: streamLogInfo\n });\n return;\n }\n\n // Sets the status and also renderer. I think we need to always set renderer to undefined since in all status when\n // cleaned up should have renderer as undefined. If the status is 'Rendered' and renderer is not defined it should\n // be cleaned up below so we can set it to undefined here.\n if (renderInfo.status === 'Rendering') {\n _logEvent(callingStatefulLogger, {\n name: EventNames.REMOTE_STREAM_STOPPING,\n level: 'info',\n message: 'Remote stream is still rendering. Changing status to stopping.',\n data: streamLogInfo\n });\n internalContext.setRemoteRenderInfo(callId, participantKey, streamId, renderInfo.stream, 'Stopping', undefined);\n } else {\n internalContext.setRemoteRenderInfo(callId, participantKey, streamId, renderInfo.stream, 'NotRendered', undefined);\n }\n\n if (renderInfo.renderer) {\n _logEvent(callingStatefulLogger, {\n name: EventNames.DISPOSING_REMOTE_RENDERER,\n level: 'info',\n message: 'Disposing remote view renderer.',\n data: streamLogInfo\n });\n renderInfo.renderer.dispose();\n } else {\n _logEvent(callingStatefulLogger, {\n name: EventNames.REMOTE_RENDERER_NOT_FOUND,\n level: 'error',\n message: 'Cannot find remote view renderer.',\n data: streamLogInfo\n });\n }\n}\n\nfunction disposeViewLocalVideo(context: CallContext, internalContext: InternalCallContext, callId: string): void {\n const streamLogInfo = { callId };\n\n _logEvent(callingStatefulLogger, {\n name: EventNames.START_DISPOSE_LOCAL_STREAM,\n level: 'info',\n message: 'Start disposing local stream.',\n data: streamLogInfo\n });\n\n context.setLocalVideoStreamRendererView(callId, undefined);\n\n const renderInfo = internalContext.getLocalRenderInfo(callId);\n if (!renderInfo) {\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_DISPOSE_INFO_NOT_FOUND,\n level: 'error',\n message: 'Cannot find render info when disposing local stream.',\n data: streamLogInfo\n });\n return;\n }\n\n // Sets the status and also renderer. I think we need to always set renderer to undefined since in all status when\n // cleaned up should have renderer as undefined. If the status is 'Rendered' and renderer is not defined it should\n // be cleaned up below so we can set it to undefined here.\n if (renderInfo.status === 'Rendering') {\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_STREAM_STOPPING,\n level: 'info',\n message: 'Local stream is still rendering. Changing status to stopping.',\n data: streamLogInfo\n });\n internalContext.setLocalRenderInfo(callId, renderInfo.stream, 'Stopping', undefined);\n } else {\n internalContext.setLocalRenderInfo(callId, renderInfo.stream, 'NotRendered', undefined);\n }\n\n if (renderInfo.renderer) {\n _logEvent(callingStatefulLogger, {\n name: EventNames.DISPOSING_LOCAL_RENDERER,\n level: 'info',\n message: 'Disposing local view renderer.',\n data: streamLogInfo\n });\n renderInfo.renderer.dispose();\n } else {\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_RENDERER_NOT_FOUND,\n level: 'error',\n message: 'Cannot find renderer when disposing local stream.',\n data: streamLogInfo\n });\n }\n}\n\nfunction disposeViewUnparentedVideo(\n context: CallContext,\n internalContext: InternalCallContext,\n stream: LocalVideoStreamState\n): void {\n _logEvent(callingStatefulLogger, {\n name: EventNames.START_DISPOSE_LOCAL_STREAM,\n level: 'info',\n message: 'Start disposing unparented local stream.'\n });\n\n context.deleteDeviceManagerUnparentedView(stream);\n\n const renderInfo = internalContext.getUnparentedRenderInfo(stream);\n if (!renderInfo) {\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_DISPOSE_INFO_NOT_FOUND,\n level: 'error',\n message: 'Cannot find render info when disposing unparented local stream.'\n });\n return;\n }\n\n if (renderInfo.status === 'Rendering') {\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_STREAM_STOPPING,\n level: 'info',\n message: 'Unparented local stream is still rendering. Changing status to stopping.'\n });\n internalContext.setUnparentedRenderInfo(stream, renderInfo.stream, 'Stopping', undefined);\n } else {\n internalContext.deleteUnparentedRenderInfo(stream);\n }\n\n if (renderInfo.renderer) {\n _logEvent(callingStatefulLogger, {\n name: EventNames.DISPOSING_LOCAL_RENDERER,\n level: 'info',\n message: 'Disposing unparented local view renderer.'\n });\n renderInfo.renderer.dispose();\n } else {\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_RENDERER_NOT_FOUND,\n level: 'error',\n message: 'Cannot find renderer when disposing unparented local stream.'\n });\n }\n}\n\n/**\n * @private\n */\nexport function createView(\n context: CallContext,\n internalContext: InternalCallContext,\n callId: string | undefined,\n participantId: CommunicationIdentifierKind | string | undefined,\n stream: LocalVideoStreamState | RemoteVideoStreamState,\n options?: CreateViewOptions\n): Promise<CreateViewResult | undefined> {\n if ('id' in stream && callId && participantId) {\n // Render RemoteVideoStream that is part of a Call\n return createViewRemoteVideo(context, internalContext, callId, participantId, stream, options);\n } else if (!('id' in stream) && callId) {\n // Render LocalVideoStream that is part of a Call\n return createViewLocalVideo(context, internalContext, callId, options);\n } else if (!('id' in stream) && !callId) {\n // Render LocalVideoStream that is not part of a Call\n return createViewUnparentedVideo(context, internalContext, stream, options);\n } else {\n _logEvent(callingStatefulLogger, {\n name: EventNames.CREATE_STREAM_INVALID_PARAMS,\n level: 'warning',\n message: 'Create View invalid combination of parameters.'\n });\n return Promise.resolve(undefined);\n }\n}\n\n/**\n * @private\n */\nexport function disposeView(\n context: CallContext,\n internalContext: InternalCallContext,\n callId: string | undefined,\n participantId: CommunicationIdentifierKind | string | undefined,\n stream: LocalVideoStreamState | RemoteVideoStreamState\n): void {\n if ('id' in stream && callId && participantId) {\n // Stop rendering RemoteVideoStream that is part of a Call\n disposeViewRemoteVideo(context, internalContext, callId, participantId, stream);\n } else if (!('id' in stream) && callId) {\n // Stop rendering LocalVideoStream that is part of a Call\n disposeViewLocalVideo(context, internalContext, callId);\n } else if (!('id' in stream) && !callId) {\n // Stop rendering LocalVideoStream that is not part of a Call\n disposeViewUnparentedVideo(context, internalContext, stream);\n } else {\n _logEvent(callingStatefulLogger, {\n name: EventNames.DISPOSE_STREAM_INVALID_PARAMS,\n level: 'warning',\n message: 'Dispose View invalid combination of parameters.'\n });\n return;\n }\n}\n\n/**\n * @private\n * Only stops videos that are tied to a Call.\n */\nexport function disposeAllViewsFromCall(\n context: CallContext,\n internalContext: InternalCallContext,\n callId: string\n): void {\n const callStreams = internalContext.getRemoteRenderInfoForCall(callId);\n if (callStreams) {\n for (const [participantKey, participantStreams] of callStreams.entries()) {\n for (const [_, remoteStreamAndRenderer] of participantStreams.entries()) {\n // We don't want to accept SDK stream as parameter but we also don't cache the declarative stream so we have to\n // convert the SDK stream to declarative stream which is not pretty so this could use some further refactoring.\n disposeView(\n context,\n internalContext,\n callId,\n participantKey,\n convertSdkRemoteStreamToDeclarativeRemoteStream(remoteStreamAndRenderer.stream)\n );\n }\n }\n }\n const localStreamAndRenderer = internalContext.getLocalRenderInfo(callId);\n if (localStreamAndRenderer && localStreamAndRenderer.renderer) {\n // We don't want to accept SDK stream as parameter but we also don't cache the declarative stream so we have to\n // convert the SDK stream to declarative stream which is not pretty so this could use some further refactoring.\n disposeView(\n context,\n internalContext,\n callId,\n undefined,\n convertSdkLocalStreamToDeclarativeLocalStream(localStreamAndRenderer.stream)\n );\n }\n}\n\n/**\n * @private\n */\nexport function disposeAllViews(context: CallContext, internalContext: InternalCallContext): void {\n const callIds = internalContext.getCallIds();\n for (const callId of callIds) {\n disposeAllViewsFromCall(context, internalContext, callId);\n }\n}\n\"../../acs-ui-common/src\""]}
@@ -1,3 +1,5 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
1
3
  /**
2
4
  * @private
3
5
  */
@@ -14,7 +16,8 @@ export class TranscriptionSubscriber {
14
16
  };
15
17
  this._callIdRef = callIdRef;
16
18
  this._context = context;
17
- this._transcription = transcription; // If transcription as already started when we joined the call, make sure it is reflected in state as there may not
19
+ this._transcription = transcription;
20
+ // If transcription as already started when we joined the call, make sure it is reflected in state as there may not
18
21
  // be an event for it.
19
22
  if (this._transcription.isTranscriptionActive) {
20
23
  this._context.setCallTranscriptionActive(this._callIdRef.callId, this._transcription.isTranscriptionActive);
@@ -1 +1 @@
1
- {"version":3,"file":"TranscriptionSubscriber.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/TranscriptionSubscriber.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,MAAM,OAAO,uBAAuB;IAKlC,YAAY,SAAoB,EAAE,OAAoB,EAAE,aAAuC;QAavF,cAAS,GAAG,GAAS,EAAE;YAC7B,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,8BAA8B,EAAE,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC5F,CAAC,CAAC;QACK,gBAAW,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,8BAA8B,EAAE,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC7F,CAAC,CAAC;QACM,iCAA4B,GAAG,GAAS,EAAE;YAChD,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;QAC9G,CAAC,CAAC;QApBA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC,CAAC,mHAAmH;QACxJ,sBAAsB;QAEtB,IAAI,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE;YAC7C,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;SAC7G;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;CAWF"}
1
+ {"version":3,"file":"TranscriptionSubscriber.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/TranscriptionSubscriber.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAMlC;;GAEG;AACH,MAAM,OAAO,uBAAuB;IAKlC,YAAY,SAAoB,EAAE,OAAoB,EAAE,aAAuC;QAcvF,cAAS,GAAG,GAAS,EAAE;YAC7B,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,8BAA8B,EAAE,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC5F,CAAC,CAAC;QAEK,gBAAW,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,8BAA8B,EAAE,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC7F,CAAC,CAAC;QAEM,iCAA4B,GAAG,GAAS,EAAE;YAChD,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;QAC9G,CAAC,CAAC;QAvBA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QAEpC,mHAAmH;QACnH,sBAAsB;QACtB,IAAI,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE;YAC7C,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;SAC7G;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;CAaF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { TranscriptionCallFeature } from '@azure/communication-calling';\nimport { CallContext } from './CallContext';\nimport { CallIdRef } from './CallIdRef';\n\n/**\n * @private\n */\nexport class TranscriptionSubscriber {\n private _callIdRef: CallIdRef;\n private _context: CallContext;\n private _transcription: TranscriptionCallFeature;\n\n constructor(callIdRef: CallIdRef, context: CallContext, transcription: TranscriptionCallFeature) {\n this._callIdRef = callIdRef;\n this._context = context;\n this._transcription = transcription;\n\n // If transcription as already started when we joined the call, make sure it is reflected in state as there may not\n // be an event for it.\n if (this._transcription.isTranscriptionActive) {\n this._context.setCallTranscriptionActive(this._callIdRef.callId, this._transcription.isTranscriptionActive);\n }\n\n this.subscribe();\n }\n\n private subscribe = (): void => {\n this._transcription.on('isTranscriptionActiveChanged', this.isTranscriptionActiveChanged);\n };\n\n public unsubscribe = (): void => {\n this._transcription.off('isTranscriptionActiveChanged', this.isTranscriptionActiveChanged);\n };\n\n private isTranscriptionActiveChanged = (): void => {\n this._context.setCallTranscriptionActive(this._callIdRef.callId, this._transcription.isTranscriptionActive);\n };\n}\n"]}
@@ -1,3 +1,5 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
1
3
  /**
2
4
  * @private
3
5
  */
@@ -19,7 +21,7 @@ export class UserFacingDiagnosticsSubscriber {
19
21
  if (Object.entries(network).length === 0 && Object.entries(media).length === 0) {
20
22
  return;
21
23
  }
22
- this._context.modifyState(state => {
24
+ this._context.modifyState((state) => {
23
25
  const call = state.calls[this._callIdRef.callId];
24
26
  if (call === undefined) {
25
27
  return;
@@ -39,7 +41,7 @@ export class UserFacingDiagnosticsSubscriber {
39
41
  this._diagnostics.media.on('diagnosticChanged', this.mediaDiagnosticsChanged.bind(this));
40
42
  }
41
43
  networkDiagnosticsChanged(args) {
42
- this._context.modifyState(state => {
44
+ this._context.modifyState((state) => {
43
45
  var _a;
44
46
  const call = state.calls[this._callIdRef.callId];
45
47
  if (call === undefined) {
@@ -52,7 +54,7 @@ export class UserFacingDiagnosticsSubscriber {
52
54
  });
53
55
  }
54
56
  mediaDiagnosticsChanged(args) {
55
- this._context.modifyState(state => {
57
+ this._context.modifyState((state) => {
56
58
  var _a;
57
59
  const call = state.calls[this._callIdRef.callId];
58
60
  if (call === undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"UserFacingDiagnosticsSubscriber.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserFacingDiagnosticsSubscriber.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/UserFacingDiagnosticsSubscriber.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n UserFacingDiagnosticsFeature,\n DiagnosticChangedEventArgs,\n LatestDiagnosticValue,\n MediaDiagnosticChangedEventArgs,\n NetworkDiagnosticChangedEventArgs\n} from '@azure/communication-calling';\nimport { CallContext } from './CallContext';\nimport { CallIdRef } from './CallIdRef';\n\n/**\n * @private\n */\nexport class UserFacingDiagnosticsSubscriber {\n private _callIdRef: CallIdRef;\n private _context: CallContext;\n private _diagnostics: UserFacingDiagnosticsFeature;\n\n constructor(callIdRef: CallIdRef, context: CallContext, diagnostics: UserFacingDiagnosticsFeature) {\n this._callIdRef = callIdRef;\n this._context = context;\n this._diagnostics = diagnostics;\n\n this.setInitialDiagnostics();\n this.subscribe();\n }\n\n public unsubscribe = (): void => {\n this._diagnostics.network.off('diagnosticChanged', this.networkDiagnosticsChanged.bind(this));\n this._diagnostics.media.off('diagnosticChanged', this.mediaDiagnosticsChanged.bind(this));\n };\n\n private setInitialDiagnostics(): void {\n const network = this._diagnostics.network.getLatest();\n const media = this._diagnostics.media.getLatest();\n if (Object.entries(network).length === 0 && Object.entries(media).length === 0) {\n return;\n }\n\n this._context.modifyState((state) => {\n const call = state.calls[this._callIdRef.callId];\n if (call === undefined) {\n return;\n }\n call.diagnostics = {\n network: {\n latest: network\n },\n media: {\n latest: media\n }\n };\n });\n }\n\n private subscribe(): void {\n this._diagnostics.network.on('diagnosticChanged', this.networkDiagnosticsChanged.bind(this));\n this._diagnostics.media.on('diagnosticChanged', this.mediaDiagnosticsChanged.bind(this));\n }\n\n private networkDiagnosticsChanged(args: NetworkDiagnosticChangedEventArgs): void {\n this._context.modifyState((state) => {\n const call = state.calls[this._callIdRef.callId];\n if (call === undefined) {\n return;\n }\n const network = call.diagnostics?.network.latest;\n if (network) {\n network[args.diagnostic] = latestFromEvent(args);\n }\n });\n }\n\n private mediaDiagnosticsChanged(args: MediaDiagnosticChangedEventArgs): void {\n this._context.modifyState((state) => {\n const call = state.calls[this._callIdRef.callId];\n if (call === undefined) {\n return;\n }\n const media = call.diagnostics?.media.latest;\n if (media) {\n media[args.diagnostic] = latestFromEvent(args);\n }\n });\n }\n}\n\nconst latestFromEvent = (args: DiagnosticChangedEventArgs): LatestDiagnosticValue => ({\n value: args.value,\n valueType: args.valueType\n});\n"]}
@@ -3,4 +3,6 @@ export type { StatefulCallClient, StatefulCallClientArgs, StatefulCallClientOpti
3
3
  export type { StatefulDeviceManager } from './DeviceManagerDeclarative';
4
4
  export type { CallAgentState, CallClientState, CallError, CallErrors, CallErrorTarget, CallState, DeviceManagerState, DiagnosticsCallFeatureState, IncomingCallState, LocalVideoStreamState, MediaDiagnosticsState, NetworkDiagnosticsState, RecordingCallFeatureState as RecordingCallFeature, RemoteParticipantState, RemoteVideoStreamState, TranscriptionCallFeatureState as TranscriptionCallFeature, VideoStreamRendererViewState } from './CallClientState';
5
5
  export type { CreateViewResult } from './StreamUtils';
6
+ export type { DeclarativeCallAgent } from './CallAgentDeclarative';
7
+ export type { DeclarativeIncomingCall } from './IncomingCallDeclarative';
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport { createStatefulCallClient } from './StatefulCallClient';\nexport type { StatefulCallClient, StatefulCallClientArgs, StatefulCallClientOptions } from './StatefulCallClient';\nexport type { StatefulDeviceManager } from './DeviceManagerDeclarative';\nexport type {\n CallAgentState,\n CallClientState,\n CallError,\n CallErrors,\n CallErrorTarget,\n CallState,\n DeviceManagerState,\n DiagnosticsCallFeatureState,\n IncomingCallState,\n LocalVideoStreamState,\n MediaDiagnosticsState,\n NetworkDiagnosticsState,\n RecordingCallFeatureState as RecordingCallFeature,\n RemoteParticipantState,\n RemoteVideoStreamState,\n TranscriptionCallFeatureState as TranscriptionCallFeature,\n VideoStreamRendererViewState\n} from './CallClientState';\nexport type { CreateViewResult } from './StreamUtils';\n/* @conditional-compile-remove(one-to-n-calling) */\nexport type { DeclarativeCallAgent } from './CallAgentDeclarative';\n/* @conditional-compile-remove(one-to-n-calling) */\nexport type { DeclarativeIncomingCall } from './IncomingCallDeclarative';\n"]}
@@ -1,3 +1,5 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
1
3
  import { toFlatCommunicationIdentifier } from "../../acs-ui-common/src";
2
4
  /**
3
5
  * @private
@@ -10,11 +12,11 @@ export const getDisplayName = (state) => state.displayName;
10
12
  /**
11
13
  * @private
12
14
  */
13
- export const getChatMessages = (state, props) => { var _a; return props.threadId && ((_a = state.threads[props.threadId]) === null || _a === void 0 ? void 0 : _a.chatMessages) || {}; };
15
+ export const getChatMessages = (state, props) => { var _a; return (props.threadId && ((_a = state.threads[props.threadId]) === null || _a === void 0 ? void 0 : _a.chatMessages)) || {}; };
14
16
  /**
15
17
  * @private
16
18
  */
17
- export const getParticipants = (state, props) => { var _a; return props.threadId && ((_a = state.threads[props.threadId]) === null || _a === void 0 ? void 0 : _a.participants) || {}; };
19
+ export const getParticipants = (state, props) => { var _a; return (props.threadId && ((_a = state.threads[props.threadId]) === null || _a === void 0 ? void 0 : _a.participants)) || {}; };
18
20
  /**
19
21
  * @private
20
22
  */
@@ -33,13 +35,13 @@ export const getIsLargeGroup = (state, props) => {
33
35
  /**
34
36
  * @private
35
37
  */
36
- export const getLatestReadTime = (state, props) => { var _a; return props.threadId && ((_a = state.threads[props.threadId]) === null || _a === void 0 ? void 0 : _a.latestReadTime) || new Date(0); };
38
+ export const getLatestReadTime = (state, props) => { var _a; return (props.threadId && ((_a = state.threads[props.threadId]) === null || _a === void 0 ? void 0 : _a.latestReadTime)) || new Date(0); };
37
39
  /**
38
40
  * @private
39
41
  */
40
42
  export const getTypingIndicators = (state, props) => {
41
43
  var _a;
42
- return props.threadId && ((_a = state.threads[props.threadId]) === null || _a === void 0 ? void 0 : _a.typingIndicators) || [];
44
+ return (props.threadId && ((_a = state.threads[props.threadId]) === null || _a === void 0 ? void 0 : _a.typingIndicators)) || [];
43
45
  };
44
46
  /**
45
47
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"baseSelectors.js","sourceRoot":"","sources":["../../../../preprocess-dist/chat-component-bindings/src/baseSelectors.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,6BAA6B,EAAE,gCAAgC;AAUxE;;GAEG;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,6BAA6B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACzG;;GAEG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;AACpF;;GAEG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAE,KAA4B,EAElF,EAAE,WAAC,OAAA,KAAK,CAAC,QAAQ,KAAI,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,YAAY,CAAA,IAAI,EAAE,CAAA,EAAA,CAAC;AACzE;;GAEG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAE,KAA4B,EAElF,EAAE,WAAC,OAAA,KAAK,CAAC,QAAQ,KAAI,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,YAAY,CAAA,IAAI,EAAE,CAAA,EAAA,CAAC;AACzE;;GAEG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAE,KAA4B,EAA4B,EAAE;;IAChH,OAAO,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,0CAAE,YAAY,CAAC;AACtD,CAAC,CAAC;AACF;;GAEG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAE,KAA4B,EAAW,EAAE;;IAC/F,MAAM,YAAY,GAAG,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,YAAY,CAAC;IACjE,OAAO,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;AACnE,CAAC,CAAC;AACF;;GAEG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAsB,EAAE,KAA4B,EAAQ,EAAE,WAAC,OAAA,KAAK,CAAC,QAAQ,KAAI,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,cAAc,CAAA,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA,EAAA,CAAC;AAChL;;GAEG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAsB,EAAE,KAA4B,EAAkC,EAAE;;IAC1H,OAAO,KAAK,CAAC,QAAQ,KAAI,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,gBAAgB,CAAA,IAAI,EAAE,CAAC;AACjF,CAAC,CAAC;AACF;;GAEG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAc,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC"}
1
+ {"version":3,"file":"baseSelectors.js","sourceRoot":"","sources":["../../../../../chat-component-bindings/src/baseSelectors.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC,OAAO,EAAE,6BAA6B,EAAE,gCAAgC;AAWxE;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,6BAA6B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAEzG;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;AAEpF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAsB,EACtB,KAA4B,EACc,EAAE,WAAC,OAAA,CAAC,KAAK,CAAC,QAAQ,KAAI,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,YAAY,CAAA,CAAC,IAAI,EAAE,CAAA,EAAA,CAAC;AAErH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAsB,EACtB,KAA4B,EACQ,EAAE,WAAC,OAAA,CAAC,KAAK,CAAC,QAAQ,KAAI,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,YAAY,CAAA,CAAC,IAAI,EAAE,CAAA,EAAA,CAAC;AAE/G;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAE,KAA4B,EAA4B,EAAE;;IAChH,OAAO,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,0CAAE,YAAY,CAAC;AACtD,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAE,KAA4B,EAAW,EAAE;;IAC/F,MAAM,YAAY,GAAG,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,YAAY,CAAC;IACjE,OAAO,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;AACnE,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAsB,EAAE,KAA4B,EAAQ,EAAE,WAC9F,OAAA,CAAC,KAAK,CAAC,QAAQ,KAAI,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,cAAc,CAAA,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA,EAAA,CAAC;AAEnF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAsB,EACtB,KAA4B,EACI,EAAE;;IAClC,OAAO,CAAC,KAAK,CAAC,QAAQ,KAAI,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,gBAAgB,CAAA,CAAC,IAAI,EAAE,CAAC;AACnF,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAc,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { ChatClientState, ChatErrors, ChatMessageWithStatus } from '@internal/chat-stateful-client';\nimport { ChatMessageReadReceipt, ChatParticipant } from '@azure/communication-chat';\nimport { TypingIndicatorReceivedEvent } from '@azure/communication-chat';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\n\n/**\n * Common props for selectors for {@link ChatClientState}.\n *\n * @public\n */\nexport type ChatBaseSelectorProps = {\n threadId: string;\n};\n\n/**\n * @private\n */\nexport const getUserId = (state: ChatClientState): string => toFlatCommunicationIdentifier(state.userId);\n\n/**\n * @private\n */\nexport const getDisplayName = (state: ChatClientState): string => state.displayName;\n\n/**\n * @private\n */\nexport const getChatMessages = (\n state: ChatClientState,\n props: ChatBaseSelectorProps\n): { [key: string]: ChatMessageWithStatus } => (props.threadId && state.threads[props.threadId]?.chatMessages) || {};\n\n/**\n * @private\n */\nexport const getParticipants = (\n state: ChatClientState,\n props: ChatBaseSelectorProps\n): { [key: string]: ChatParticipant } => (props.threadId && state.threads[props.threadId]?.participants) || {};\n\n/**\n * @private\n */\nexport const getReadReceipts = (state: ChatClientState, props: ChatBaseSelectorProps): ChatMessageReadReceipt[] => {\n return state.threads[props?.threadId]?.readReceipts;\n};\n\n/**\n * @private\n */\nexport const getIsLargeGroup = (state: ChatClientState, props: ChatBaseSelectorProps): boolean => {\n const participants = state.threads[props.threadId]?.participants;\n return !!participants && Object.values(participants).length > 20;\n};\n\n/**\n * @private\n */\nexport const getLatestReadTime = (state: ChatClientState, props: ChatBaseSelectorProps): Date =>\n (props.threadId && state.threads[props.threadId]?.latestReadTime) || new Date(0);\n\n/**\n * @private\n */\nexport const getTypingIndicators = (\n state: ChatClientState,\n props: ChatBaseSelectorProps\n): TypingIndicatorReceivedEvent[] => {\n return (props.threadId && state.threads[props.threadId]?.typingIndicators) || [];\n};\n\n/**\n * @private\n */\nexport const getLatestErrors = (state: ChatClientState): ChatErrors => state.latestErrors;\n\"../../chat-stateful-client/src\"\"../../acs-ui-common/src\""]}
@@ -19,7 +19,7 @@ const convertChatParticipantsToCommunicationParticipants = (chatParticipants) =>
19
19
  * get the index of moderator to help updating its display name if they are the local user or removing them from list of participants otherwise
20
20
  */
21
21
  const moderatorIndex = (participants) => {
22
- return participants.map(p => p.displayName).indexOf(undefined);
22
+ return participants.map((p) => p.displayName).indexOf(undefined);
23
23
  };
24
24
  /**
25
25
  * Selector for {@link ParticipantList} component.
@@ -31,12 +31,12 @@ export const chatParticipantListSelector = reselect.createSelector([getUserId, g
31
31
  if (0 !== participants.length) {
32
32
  const moderatorIdx = moderatorIndex(participants);
33
33
  if (-1 !== moderatorIdx) {
34
- const userIndex = participants.map(p => p.userId).indexOf(userId);
34
+ const userIndex = participants.map((p) => p.userId).indexOf(userId);
35
35
  if (moderatorIdx === userIndex) {
36
36
  participants[moderatorIdx].displayName = displayName;
37
37
  }
38
38
  else {
39
- participants = participants.filter(p => p.displayName);
39
+ participants = participants.filter((p) => p.displayName);
40
40
  }
41
41
  }
42
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chatParticipantListSelector.js","sourceRoot":"","sources":["../../../../preprocess-dist/chat-component-bindings/src/chatParticipantListSelector.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAyB,MAAM,iBAAiB,CAAC;AACpG,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,gCAAgC;AAIxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,MAAM,kDAAkD,GAAG,CAAC,gBAAmC,EAAgC,EAAE;IAC/H,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,WAA4B,EAAE,EAAE;QAC3D,OAAO;YACL,MAAM,EAAE,6BAA6B,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,wCAAwC;YACxC,iEAAiE;YACjE,WAAW,EAAE,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,mBAAmB;SAC5E,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AACF;;GAEG;AAGH,MAAM,cAAc,GAAG,CAAC,YAA0C,EAAU,EAAE;IAC5E,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACjE,CAAC,CAAC;AAYF;;;;GAIG;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAgC,QAAQ,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,eAAe,EAAE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,gBAEtJ,EAAE,WAAW,EAAE,EAAE;IAChB,IAAI,YAAY,GAAG,kDAAkD,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvG,IAAI,CAAC,KAAK,YAAY,CAAC,MAAM,EAAE;QAC7B,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;QAElD,IAAI,CAAC,CAAC,KAAK,YAAY,EAAE;YACvB,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAElE,IAAI,YAAY,KAAK,SAAS,EAAE;gBAC9B,YAAY,CAAC,YAAY,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC;aACtD;iBAAM;gBACL,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;aACxD;SACF;KACF;IAED,OAAO;QACL,QAAQ,EAAE,MAAM;QAChB,YAAY,EAAE,YAAY;KAC3B,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"chatParticipantListSelector.js","sourceRoot":"","sources":["../../../../../chat-component-bindings/src/chatParticipantListSelector.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAyB,MAAM,iBAAiB,CAAC;AACpG,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,gCAAgC;AAIxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,MAAM,kDAAkD,GAAG,CACzD,gBAAmC,EACL,EAAE;IAChC,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,WAA4B,EAAE,EAAE;QAC3D,OAAO;YACL,MAAM,EAAE,6BAA6B,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,wCAAwC;YACxC,iEAAiE;YACjE,WAAW,EAAE,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,mBAAmB;SAC5E,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,cAAc,GAAG,CAAC,YAA0C,EAAU,EAAE;IAC5E,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACnE,CAAC,CAAC;AAeF;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAgC,QAAQ,CAAC,cAAc,CAC7F,CAAC,SAAS,EAAE,eAAe,EAAE,cAAc,CAAC,EAC5C,CAAC,MAAM,EAAE,gBAAoD,EAAE,WAAW,EAAE,EAAE;IAC5E,IAAI,YAAY,GAAG,kDAAkD,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACvG,IAAI,CAAC,KAAK,YAAY,CAAC,MAAM,EAAE;QAC7B,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;QAElD,IAAI,CAAC,CAAC,KAAK,YAAY,EAAE;YACvB,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpE,IAAI,YAAY,KAAK,SAAS,EAAE;gBAC9B,YAAY,CAAC,YAAY,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC;aACtD;iBAAM;gBACL,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;aAC1D;SACF;KACF;IAED,OAAO;QACL,QAAQ,EAAE,MAAM;QAChB,YAAY,EAAE,YAAY;KAC3B,CAAC;AACJ,CAAC,CACF,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { getUserId, getDisplayName, getParticipants, ChatBaseSelectorProps } from './baseSelectors';\nimport * as reselect from 'reselect';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { ChatParticipant } from '@azure/communication-chat';\nimport { ParticipantListParticipant } from '@internal/react-components';\nimport { ChatClientState } from '@internal/chat-stateful-client';\nimport { getIdentifierKind } from '@azure/communication-common';\n\nconst convertChatParticipantsToCommunicationParticipants = (\n chatParticipants: ChatParticipant[]\n): ParticipantListParticipant[] => {\n return chatParticipants.map((participant: ChatParticipant) => {\n return {\n userId: toFlatCommunicationIdentifier(participant.id),\n displayName: participant.displayName,\n // ACS users can not remove Teams users.\n // Removing phone numbers or unknown types of users is undefined.\n isRemovable: getIdentifierKind(participant.id).kind === 'communicationUser'\n };\n });\n};\n\n/**\n * get the index of moderator to help updating its display name if they are the local user or removing them from list of participants otherwise\n */\nconst moderatorIndex = (participants: ParticipantListParticipant[]): number => {\n return participants.map((p) => p.displayName).indexOf(undefined);\n};\n\n/**\n * Selector type for {@link ParticipantList} component.\n *\n * @public\n */\nexport type ChatParticipantListSelector = (\n state: ChatClientState,\n props: ChatBaseSelectorProps\n) => {\n myUserId: string;\n participants: ParticipantListParticipant[];\n};\n\n/**\n * Selector for {@link ParticipantList} component.\n *\n * @public\n */\nexport const chatParticipantListSelector: ChatParticipantListSelector = reselect.createSelector(\n [getUserId, getParticipants, getDisplayName],\n (userId, chatParticipants: { [key: string]: ChatParticipant }, displayName) => {\n let participants = convertChatParticipantsToCommunicationParticipants(Object.values(chatParticipants));\n if (0 !== participants.length) {\n const moderatorIdx = moderatorIndex(participants);\n\n if (-1 !== moderatorIdx) {\n const userIndex = participants.map((p) => p.userId).indexOf(userId);\n if (moderatorIdx === userIndex) {\n participants[moderatorIdx].displayName = displayName;\n } else {\n participants = participants.filter((p) => p.displayName);\n }\n }\n }\n\n return {\n myUserId: userId,\n participants: participants\n };\n }\n);\n\"../../acs-ui-common/src\"\"../../react-components/src\"\"../../chat-stateful-client/src\""]}
@@ -55,18 +55,20 @@ export const errorBarSelector = createSelector([getLatestErrors], (latestErrors)
55
55
  }
56
56
  }
57
57
  if (!specificSendMessageErrorSeen && sendMessageError !== undefined) {
58
- activeErrorMessages.push({
59
- type: 'sendMessageGeneric',
60
- timestamp: sendMessageError.timestamp
61
- });
62
- } // We only return the first few errors to avoid filling up the UI with too many `MessageBar`s.
58
+ activeErrorMessages.push({ type: 'sendMessageGeneric', timestamp: sendMessageError.timestamp });
59
+ }
60
+ // We only return the first few errors to avoid filling up the UI with too many `MessageBar`s.
63
61
  activeErrorMessages.splice(maxErrorCount);
64
- return {
65
- activeErrorMessages: activeErrorMessages
66
- };
62
+ return { activeErrorMessages: activeErrorMessages };
67
63
  });
68
64
  const maxErrorCount = 3;
69
- const accessErrorTargets = ['ChatThreadClient.getProperties', 'ChatThreadClient.listMessages', 'ChatThreadClient.listParticipants', 'ChatThreadClient.sendMessage', 'ChatThreadClient.sendTypingNotification'];
65
+ const accessErrorTargets = [
66
+ 'ChatThreadClient.getProperties',
67
+ 'ChatThreadClient.listMessages',
68
+ 'ChatThreadClient.listParticipants',
69
+ 'ChatThreadClient.sendMessage',
70
+ 'ChatThreadClient.sendTypingNotification'
71
+ ];
70
72
  const latestUnableToReachChatServiceError = (latestErrors) => {
71
73
  return latestActiveErrorSatisfying(latestErrors, 'unableToReachChatService', (error) => {
72
74
  return !!error && !!error.innerError && error.innerError['code'] === 'REQUEST_SEND_ERROR';
@@ -81,33 +83,34 @@ const latestNotInThisThreadError = (latestErrors) => {
81
83
  return latestActiveErrorSatisfying(latestErrors, 'userNotInChatThread', (error) => {
82
84
  if (!error || !error.innerError) {
83
85
  return false;
84
- } // Explicitly ignore 400 REST error when listParticipants() is called and a BotContact MRI is found in the participants.
86
+ }
87
+ // Explicitly ignore 400 REST error when listParticipants() is called and a BotContact MRI is found in the participants.
85
88
  // This check should be removed when the chat SDK has handled this issue. Note: The this does not stop the error being logged to the console.
86
89
  // To the best of our ability we have confirmed this to have no impact on the participantList returned (all valid participants are still returned), nor
87
90
  // does it have an impact on the participant list updating on other participants joining/leaving or on individual participant actions like removeParticipant.
88
91
  if (isErrorDueToBotContact(error)) {
89
92
  return false;
90
- } // Chat service returns 403 if a user has been removed from a thread.
93
+ }
94
+ // Chat service returns 403 if a user has been removed from a thread.
91
95
  // Chat service returns either 400 or 404 if the thread ID is malformed, depending on how the thread ID is malformed.
92
- return [400, 403, 404].some(statusCode => error.innerError['statusCode'] === statusCode);
96
+ return [400, 403, 404].some((statusCode) => error.innerError['statusCode'] === statusCode);
93
97
  });
94
98
  };
95
99
  const botContactMRIPrefix = '28:';
96
- const isErrorDueToBotContact = (error) => error.innerError['statusCode'] === 400 && error.innerError.message.includes(`Identifier format is not supported (${botContactMRIPrefix}`);
100
+ const isErrorDueToBotContact = (error) => error.innerError['statusCode'] === 400 &&
101
+ error.innerError.message.includes(`Identifier format is not supported (${botContactMRIPrefix}`);
97
102
  const latestActiveErrorSatisfying = (errors, activeErrorType, predicate) => {
98
103
  const activeErrorMessages = [];
99
104
  for (const target of accessErrorTargets) {
100
105
  const error = errors[target];
101
106
  if (predicate(error)) {
102
- activeErrorMessages.push({
103
- type: activeErrorType,
104
- timestamp: error.timestamp
105
- });
107
+ activeErrorMessages.push({ type: activeErrorType, timestamp: error.timestamp });
106
108
  }
107
109
  }
108
110
  if (activeErrorMessages.length === 0) {
109
111
  return undefined;
110
- } // We're actually sure that both timestamps will always exist, because we set them above.
112
+ }
113
+ // We're actually sure that both timestamps will always exist, because we set them above.
111
114
  activeErrorMessages.sort((a, b) => { var _a, _b, _c, _d; return ((_b = (_a = a.timestamp) === null || _a === void 0 ? void 0 : _a.getTime()) !== null && _b !== void 0 ? _b : 0) - ((_d = (_c = b.timestamp) === null || _c === void 0 ? void 0 : _c.getTime()) !== null && _d !== void 0 ? _d : 0); });
112
115
  return activeErrorMessages[activeErrorMessages.length - 1];
113
116
  };
@@ -1 +1 @@
1
- {"version":3,"file":"errorBarSelector.js","sourceRoot":"","sources":["../../../../preprocess-dist/chat-component-bindings/src/errorBarSelector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errorBarSelector.js","sourceRoot":"","sources":["../../../../../chat-component-bindings/src/errorBarSelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { ChatBaseSelectorProps, getLatestErrors } from './baseSelectors';\nimport { ActiveErrorMessage, ErrorType } from '@internal/react-components';\nimport { createSelector } from 'reselect';\nimport { ChatClientState, ChatError, ChatErrors, ChatErrorTarget } from '@internal/chat-stateful-client';\n\n/**\n * Selector type for {@link ErrorBar} component.\n *\n * @public\n */\nexport type ErrorBarSelector = (\n state: ChatClientState,\n props: ChatBaseSelectorProps\n) => {\n activeErrorMessages: ActiveErrorMessage[];\n};\n\n/**\n * Select the first fiew active errors from the state for the {@link ErrorBar} component.\n *\n * In case there are many errors, only a few top errors are returned to avoid\n * filling up the UI with too many errors.\n *\n * Invariants:\n * - {@link ErrorType} is never repeated in the returned errors.\n * - Errors are returned in a fixed order by {@link ErrorType}.\n *\n * @public\n */\nexport const errorBarSelector: ErrorBarSelector = createSelector(\n [getLatestErrors],\n (latestErrors): { activeErrorMessages: ActiveErrorMessage[] } => {\n // The order in which the errors are returned is significant: The `ErrorBar` shows errors on the UI in that order.\n // There are several options for the ordering:\n // - Sorted by when the errors happened (latest first / oldest first).\n // - Stable sort by error type.\n //\n // We chose to stable sort by error type: We intend to show only a small number of errors on the UI and we do not\n // have timestamps for errors.\n const activeErrorMessages: ActiveErrorMessage[] = [];\n let specificSendMessageErrorSeen = false;\n {\n const error = latestUnableToReachChatServiceError(latestErrors);\n if (error !== undefined) {\n activeErrorMessages.push(error);\n }\n }\n {\n const error = latestAccessDeniedError(latestErrors);\n if (error !== undefined) {\n activeErrorMessages.push(error);\n }\n }\n\n const sendMessageError = latestErrors['ChatThreadClient.sendMessage'];\n {\n const error = latestNotInThisThreadError(latestErrors);\n if (error !== undefined) {\n if (sendMessageError !== undefined) {\n activeErrorMessages.push({\n type: 'sendMessageNotInChatThread',\n // Set the latest timestamp of all the errors that translated to an active error.\n timestamp:\n sendMessageError.timestamp > (error.timestamp ?? 0) ? sendMessageError.timestamp : error.timestamp\n });\n specificSendMessageErrorSeen = true;\n } else {\n activeErrorMessages.push(error);\n }\n }\n }\n\n if (!specificSendMessageErrorSeen && sendMessageError !== undefined) {\n activeErrorMessages.push({ type: 'sendMessageGeneric', timestamp: sendMessageError.timestamp });\n }\n\n // We only return the first few errors to avoid filling up the UI with too many `MessageBar`s.\n activeErrorMessages.splice(maxErrorCount);\n return { activeErrorMessages: activeErrorMessages };\n }\n);\n\nconst maxErrorCount = 3;\n\nconst accessErrorTargets: ChatErrorTarget[] = [\n 'ChatThreadClient.getProperties',\n 'ChatThreadClient.listMessages',\n 'ChatThreadClient.listParticipants',\n 'ChatThreadClient.sendMessage',\n 'ChatThreadClient.sendTypingNotification'\n];\n\nconst latestUnableToReachChatServiceError = (latestErrors: ChatErrors): ActiveErrorMessage | undefined => {\n return latestActiveErrorSatisfying(latestErrors, 'unableToReachChatService', (error: ChatError): boolean => {\n return !!error && !!error.innerError && error.innerError['code'] === 'REQUEST_SEND_ERROR';\n });\n};\n\nconst latestAccessDeniedError = (latestErrors: ChatErrors): ActiveErrorMessage | undefined => {\n return latestActiveErrorSatisfying(latestErrors, 'accessDenied', (error: ChatError): boolean => {\n return !!error && !!error.innerError && error.innerError['statusCode'] === 401;\n });\n};\n\nconst latestNotInThisThreadError = (latestErrors: ChatErrors): ActiveErrorMessage | undefined => {\n return latestActiveErrorSatisfying(latestErrors, 'userNotInChatThread', (error: ChatError): boolean => {\n if (!error || !error.innerError) {\n return false;\n }\n\n // Explicitly ignore 400 REST error when listParticipants() is called and a BotContact MRI is found in the participants.\n // This check should be removed when the chat SDK has handled this issue. Note: The this does not stop the error being logged to the console.\n // To the best of our ability we have confirmed this to have no impact on the participantList returned (all valid participants are still returned), nor\n // does it have an impact on the participant list updating on other participants joining/leaving or on individual participant actions like removeParticipant.\n if (isErrorDueToBotContact(error)) {\n return false;\n }\n\n // Chat service returns 403 if a user has been removed from a thread.\n // Chat service returns either 400 or 404 if the thread ID is malformed, depending on how the thread ID is malformed.\n return [400, 403, 404].some((statusCode) => error.innerError['statusCode'] === statusCode);\n });\n};\n\nconst botContactMRIPrefix = '28:';\nconst isErrorDueToBotContact = (error: ChatError): boolean =>\n error.innerError['statusCode'] === 400 &&\n error.innerError.message.includes(`Identifier format is not supported (${botContactMRIPrefix}`);\n\nconst latestActiveErrorSatisfying = (\n errors: ChatErrors,\n activeErrorType: ErrorType,\n predicate: (error: ChatError) => boolean\n): ActiveErrorMessage | undefined => {\n const activeErrorMessages: ActiveErrorMessage[] = [];\n for (const target of accessErrorTargets) {\n const error = errors[target];\n if (predicate(error)) {\n activeErrorMessages.push({ type: activeErrorType, timestamp: error.timestamp });\n }\n }\n\n if (activeErrorMessages.length === 0) {\n return undefined;\n }\n // We're actually sure that both timestamps will always exist, because we set them above.\n activeErrorMessages.sort(\n (a: ActiveErrorMessage, b: ActiveErrorMessage) => (a.timestamp?.getTime() ?? 0) - (b.timestamp?.getTime() ?? 0)\n );\n return activeErrorMessages[activeErrorMessages.length - 1];\n};\n\"../../react-components/src\"\"../../chat-stateful-client/src\""]}
@@ -2,6 +2,7 @@ import { ReactElement } from 'react';
2
2
  import { Common } from "../../../acs-ui-common/src";
3
3
  import { StatefulChatClient } from "../../../chat-stateful-client/src";
4
4
  import { ChatThreadClient, SendMessageOptions } from '@azure/communication-chat';
5
+ import { FileMetadata } from "../../../react-components/src";
5
6
  /**
6
7
  * Object containing all the handlers required for chat components.
7
8
  *
@@ -17,7 +18,9 @@ export declare type ChatHandlers = {
17
18
  onRemoveParticipant: (userId: string) => Promise<void>;
18
19
  updateThreadTopicName: (topicName: string) => Promise<void>;
19
20
  onLoadPreviousChatMessages: (messagesToLoad: number) => Promise<boolean>;
20
- onUpdateMessage: (messageId: string, content: string) => Promise<void>;
21
+ onUpdateMessage: (messageId: string, content: string, metadata?: Record<string, string>, options?: {
22
+ attachedFilesMetadata?: FileMetadata[];
23
+ }) => Promise<void>;
21
24
  onDeleteMessage: (messageId: string) => Promise<void>;
22
25
  };
23
26
  /**