@azure/communication-react 1.19.0-alpha-202408070015 → 1.19.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1070) hide show
  1. package/dist/communication-react.d.ts +10 -120
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-BMVUY7HX.js → ChatMessageComponentAsRichTextEditBox-BwDfn2HU.js} +49 -86
  3. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-BwDfn2HU.js.map +1 -0
  4. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-UkjXSVQH.js → RichTextSendBoxWrapper-NoJpTHbL.js} +8 -9
  5. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-NoJpTHbL.js.map +1 -0
  6. package/dist/dist-cjs/communication-react/{index-D46R0M5v.js → index-MlVvToaE.js} +27993 -28950
  7. package/dist/dist-cjs/communication-react/index-MlVvToaE.js.map +1 -0
  8. package/dist/dist-cjs/communication-react/index.js +7 -12
  9. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/dataConversion.js.map +1 -1
  17. package/dist/dist-esm/acs-ui-common/src/identifier.js +1 -4
  18. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  19. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  20. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  21. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  22. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  23. package/dist/dist-esm/acs-ui-common/src/removeImageTags.js +1 -1
  24. package/dist/dist-esm/acs-ui-common/src/removeImageTags.js.map +1 -1
  25. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  26. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  27. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  28. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  29. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  30. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +7 -13
  31. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  32. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +1 -7
  33. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
  34. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +55 -20
  35. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  36. package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js +1 -1
  37. package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js.map +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +61 -63
  39. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  40. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +2 -2
  41. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +5 -1
  43. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  44. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +8 -2
  45. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  46. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  47. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  48. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  49. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  50. package/dist/dist-esm/calling-component-bindings/src/incomingCallStackSelector.js +2 -8
  51. package/dist/dist-esm/calling-component-bindings/src/incomingCallStackSelector.js.map +1 -1
  52. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  53. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +66 -31
  54. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
  55. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +10 -30
  56. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  57. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  58. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  59. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +3 -6
  60. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  61. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  62. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  63. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  64. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +7 -11
  65. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  66. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +9 -11
  67. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  68. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +1 -1
  69. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +10 -16
  70. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  71. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +8 -34
  72. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  73. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  74. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -1
  75. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  76. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +75 -65
  77. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  78. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +0 -15
  79. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  80. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +1 -5
  81. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +33 -59
  82. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  83. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +8 -7
  84. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  85. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +109 -100
  86. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  87. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  88. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  89. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +0 -1
  90. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +8 -12
  91. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  92. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -1
  93. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  94. package/dist/dist-esm/calling-stateful-client/src/Converter.js +22 -12
  95. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  96. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +73 -58
  97. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  98. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +16 -14
  99. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  100. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  101. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +15 -3
  102. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  103. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +1 -1
  104. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js.map +1 -1
  105. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  106. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js +3 -1
  107. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js.map +1 -1
  108. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js.map +1 -1
  109. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  110. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js.map +1 -1
  111. package/dist/dist-esm/calling-stateful-client/src/ReactionSubscriber.js.map +1 -1
  112. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  113. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  114. package/dist/dist-esm/calling-stateful-client/src/SpotlightSubscriber.js.map +1 -1
  115. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +67 -65
  116. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  117. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +24 -32
  118. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  119. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js +11 -8
  120. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js.map +1 -1
  121. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +1 -1
  122. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
  123. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +8 -7
  124. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  125. package/dist/dist-esm/calling-stateful-client/src/TeamsIncomingCallDeclarative.js +16 -14
  126. package/dist/dist-esm/calling-stateful-client/src/TeamsIncomingCallDeclarative.js.map +1 -1
  127. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  128. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  129. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +3 -3
  130. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  131. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js +7 -6
  132. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -1
  133. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +0 -1
  134. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  135. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  136. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +4 -4
  137. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  138. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +3 -3
  139. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  140. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +15 -15
  141. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  142. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +1 -1
  143. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +9 -13
  144. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  145. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  146. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  147. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  148. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  149. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +16 -39
  150. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  151. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  152. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  153. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  154. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  155. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +7 -3
  156. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  157. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +1 -3
  158. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  159. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  160. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js +1 -1
  161. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js.map +1 -1
  162. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -10
  163. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  164. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  165. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +22 -16
  166. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  167. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  168. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +11 -8
  169. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  170. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  171. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js +16 -4
  172. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js.map +1 -1
  173. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +67 -57
  174. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  175. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +128 -114
  176. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  177. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  178. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  179. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  180. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  181. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  182. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  183. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  184. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  185. package/dist/dist-esm/communication-react/src/index.d.ts +0 -2
  186. package/dist/dist-esm/communication-react/src/index.js +0 -2
  187. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  188. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  189. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js +6 -3
  190. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js.map +1 -1
  191. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.js.map +1 -1
  192. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js.map +1 -1
  193. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js +10 -4
  194. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js.map +1 -1
  195. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js +1 -1
  196. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js.map +1 -1
  197. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js +1 -1
  198. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js.map +1 -1
  199. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  200. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js +11 -11
  201. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js.map +1 -1
  202. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCardGroup.js +1 -1
  203. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCardGroup.js.map +1 -1
  204. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js +6 -13
  205. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js.map +1 -1
  206. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentUploadCards.js +18 -21
  207. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentUploadCards.js.map +1 -1
  208. package/dist/dist-esm/react-components/src/components/CameraButton.js +19 -8
  209. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  210. package/dist/dist-esm/react-components/src/components/Caption.js +2 -2
  211. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
  212. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +8 -9
  213. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  214. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js +19 -36
  215. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -1
  216. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +5 -2
  217. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  218. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +22 -37
  219. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  220. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +24 -22
  221. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  222. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +32 -31
  223. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  224. package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.js +5 -9
  225. package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.js.map +1 -1
  226. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +1 -1
  227. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +1 -1
  228. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +7 -33
  229. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  230. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +17 -44
  231. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
  232. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.d.ts +1 -1
  233. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +36 -32
  234. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
  235. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +1 -1
  236. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +2 -2
  237. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
  238. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +1 -1
  239. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +41 -77
  240. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -1
  241. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +1 -1
  242. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +22 -43
  243. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  244. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +10 -43
  245. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  246. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +33 -75
  247. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  248. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  249. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  250. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +4 -7
  251. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  252. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +2 -2
  253. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  254. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  255. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  256. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  257. package/dist/dist-esm/react-components/src/components/ControlBar.js +14 -10
  258. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  259. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +4 -14
  260. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  261. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +14 -3
  262. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  263. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +10 -4
  264. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -1
  265. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +31 -14
  266. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -1
  267. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js +8 -5
  268. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
  269. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +6 -24
  270. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -1
  271. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +20 -12
  272. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +1 -1
  273. package/dist/dist-esm/react-components/src/components/DevicesButton.js +27 -19
  274. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  275. package/dist/dist-esm/react-components/src/components/Dialpad/DTMFToneGenerator.js +48 -12
  276. package/dist/dist-esm/react-components/src/components/Dialpad/DTMFToneGenerator.js.map +1 -1
  277. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +51 -45
  278. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  279. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js +4 -4
  280. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  281. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +6 -2
  282. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  283. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +9 -11
  284. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  285. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +23 -11
  286. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  287. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +4 -6
  288. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  289. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.js +5 -11
  290. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.js.map +1 -1
  291. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  292. package/dist/dist-esm/react-components/src/components/EndCallButton.js +16 -16
  293. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  294. package/dist/dist-esm/react-components/src/components/ErrorBar.js +5 -9
  295. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  296. package/dist/dist-esm/react-components/src/components/ErrorBoundary.js +6 -2
  297. package/dist/dist-esm/react-components/src/components/ErrorBoundary.js.map +1 -1
  298. package/dist/dist-esm/react-components/src/components/GridLayout.js +37 -37
  299. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  300. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +2 -2
  301. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  302. package/dist/dist-esm/react-components/src/components/HoldButton.js +1 -1
  303. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -1
  304. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +9 -7
  305. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  306. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +14 -9
  307. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
  308. package/dist/dist-esm/react-components/src/components/IncomingCallNotification.js +46 -39
  309. package/dist/dist-esm/react-components/src/components/IncomingCallNotification.js.map +1 -1
  310. package/dist/dist-esm/react-components/src/components/IncomingCallStack.js +7 -6
  311. package/dist/dist-esm/react-components/src/components/IncomingCallStack.js.map +1 -1
  312. package/dist/dist-esm/react-components/src/components/InputBoxButton.js +10 -3
  313. package/dist/dist-esm/react-components/src/components/InputBoxButton.js.map +1 -1
  314. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +7 -5
  315. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  316. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +5 -3
  317. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  318. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +19 -32
  319. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  320. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js +23 -15
  321. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js.map +1 -1
  322. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js +12 -4
  323. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js.map +1 -1
  324. package/dist/dist-esm/react-components/src/components/MentionPopover.js +14 -17
  325. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -1
  326. package/dist/dist-esm/react-components/src/components/MessageStatusIcon.js +2 -2
  327. package/dist/dist-esm/react-components/src/components/MessageStatusIcon.js.map +1 -1
  328. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  329. package/dist/dist-esm/react-components/src/components/MessageStatusIndicatorInternal.js +33 -20
  330. package/dist/dist-esm/react-components/src/components/MessageStatusIndicatorInternal.js.map +1 -1
  331. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +3 -3
  332. package/dist/dist-esm/react-components/src/components/MessageThread.js +53 -92
  333. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  334. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +14 -17
  335. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  336. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +101 -94
  337. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  338. package/dist/dist-esm/react-components/src/components/Notification.js +8 -4
  339. package/dist/dist-esm/react-components/src/components/Notification.js.map +1 -1
  340. package/dist/dist-esm/react-components/src/components/NotificationStack.js +8 -9
  341. package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
  342. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +22 -15
  343. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  344. package/dist/dist-esm/react-components/src/components/ParticipantList.js +46 -45
  345. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  346. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +32 -46
  347. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  348. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  349. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  350. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  351. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  352. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js +12 -6
  353. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js.map +1 -1
  354. package/dist/dist-esm/react-components/src/components/ReactionButton.js +28 -27
  355. package/dist/dist-esm/react-components/src/components/ReactionButton.js.map +1 -1
  356. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +16 -25
  357. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  358. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +2 -2
  359. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  360. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js +2 -2
  361. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +1 -1
  362. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js.map +1 -1
  363. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +9 -9
  364. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +1 -1
  365. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js.map +1 -1
  366. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js.map +1 -1
  367. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js +2 -4
  368. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js.map +1 -1
  369. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js.map +1 -1
  370. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js +3 -8
  371. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js.map +1 -1
  372. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js +4 -3
  373. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js.map +1 -1
  374. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.d.ts +1 -1
  375. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +23 -48
  376. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -1
  377. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +1 -1
  378. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +11 -25
  379. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -1
  380. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +1 -1
  381. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +38 -83
  382. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -1
  383. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +15 -10
  384. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +1 -1
  385. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js +26 -37
  386. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js.map +1 -1
  387. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js +10 -8
  388. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js.map +1 -1
  389. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js +3 -6
  390. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js.map +1 -1
  391. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js +2 -2
  392. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js.map +1 -1
  393. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +14 -6
  394. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  395. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +1 -1
  396. package/dist/dist-esm/react-components/src/components/SendBox.js +33 -58
  397. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  398. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +6 -11
  399. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  400. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +1 -3
  401. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  402. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js +4 -2
  403. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -1
  404. package/dist/dist-esm/react-components/src/components/StreamMedia.js +3 -3
  405. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  406. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.js +3 -10
  407. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.js.map +1 -1
  408. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.styles.js.map +1 -1
  409. package/dist/dist-esm/react-components/src/components/Survey/SurveyTypes.js.map +1 -1
  410. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.js +23 -23
  411. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.js.map +1 -1
  412. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.styles.js.map +1 -1
  413. package/dist/dist-esm/react-components/src/components/SystemMessage.js +4 -2
  414. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  415. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +22 -67
  416. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +1 -1
  417. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +49 -55
  418. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +1 -1
  419. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +10 -10
  420. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  421. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +6 -9
  422. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  423. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +1 -1
  424. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  425. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +1 -1
  426. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  427. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +8 -4
  428. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  429. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +1 -1
  430. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  431. package/dist/dist-esm/react-components/src/components/VerticalGallery.js +31 -13
  432. package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
  433. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js +1 -3
  434. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js.map +1 -1
  435. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +12 -8
  436. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  437. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js +11 -7
  438. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
  439. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +2 -6
  440. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -1
  441. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +11 -26
  442. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  443. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +10 -14
  444. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  445. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +19 -50
  446. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  447. package/dist/dist-esm/react-components/src/components/VideoGallery/FocusContentLayout.js +2 -2
  448. package/dist/dist-esm/react-components/src/components/VideoGallery/FocusContentLayout.js.map +1 -1
  449. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  450. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +2 -4
  451. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  452. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +4 -6
  453. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
  454. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js +11 -17
  455. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js.map +1 -1
  456. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js +24 -29
  457. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js.map +1 -1
  458. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +7 -9
  459. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  460. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +4 -2
  461. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -1
  462. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js +13 -44
  463. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -1
  464. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js +6 -1
  465. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js.map +1 -1
  466. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +34 -9
  467. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  468. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js +11 -2
  469. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js.map +1 -1
  470. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js.map +1 -1
  471. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  472. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteVideoTile.styles.js.map +1 -1
  473. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +3 -1
  474. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -1
  475. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +11 -10
  476. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
  477. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js +28 -22
  478. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -1
  479. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +6 -11
  480. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  481. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +50 -38
  482. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  483. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js.map +1 -1
  484. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/reactionUtils.js.map +1 -1
  485. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +22 -40
  486. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  487. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +1 -1
  488. package/dist/dist-esm/react-components/src/components/VideoGallery.js +28 -118
  489. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  490. package/dist/dist-esm/react-components/src/components/VideoTile.js +60 -35
  491. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  492. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js +2 -2
  493. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js.map +1 -1
  494. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  495. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js.map +1 -1
  496. package/dist/dist-esm/react-components/src/components/styles/AttachmentCardGroup.styles.js.map +1 -1
  497. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -1
  498. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  499. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -1
  500. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +10 -3
  501. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  502. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -1
  503. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  504. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  505. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  506. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  507. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  508. package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.js +5 -2
  509. package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.js.map +1 -1
  510. package/dist/dist-esm/react-components/src/components/styles/InputBoxButton.style.js.map +1 -1
  511. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +5 -2
  512. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  513. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +1 -1
  514. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  515. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +10 -4
  516. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  517. package/dist/dist-esm/react-components/src/components/styles/Notification.styles.js.map +1 -1
  518. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +4 -6
  519. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  520. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  521. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js.map +1 -1
  522. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js +8 -14
  523. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js.map +1 -1
  524. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +34 -9
  525. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +1 -1
  526. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js +12 -8
  527. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js.map +1 -1
  528. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +10 -2
  529. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  530. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +1 -1
  531. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +1 -1
  532. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +6 -3
  533. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  534. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  535. package/dist/dist-esm/react-components/src/components/styles/TeamsMeetingConferenceInfo.js.map +1 -1
  536. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +2 -1
  537. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  538. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  539. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +1 -1
  540. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js +2 -1
  541. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js.map +1 -1
  542. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +19 -5
  543. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  544. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  545. package/dist/dist-esm/react-components/src/components/styles/v8StyleShim.js.map +1 -1
  546. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +1 -1
  547. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +4 -11
  548. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  549. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +2 -2
  550. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +14 -32
  551. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  552. package/dist/dist-esm/react-components/src/components/utils/Datetime.js +4 -1
  553. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  554. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +8 -8
  555. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +1 -1
  556. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js +18 -26
  557. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js.map +1 -1
  558. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +10 -14
  559. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  560. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  561. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  562. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  563. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +7 -4
  564. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  565. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  566. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -1
  567. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js.map +1 -1
  568. package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
  569. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  570. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js +1 -10
  571. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  572. package/dist/dist-esm/react-components/src/components/utils.js +17 -19
  573. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  574. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +6 -8
  575. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  576. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  577. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  578. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  579. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  580. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  581. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  582. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/ComponentLocale.js.map +1 -1
  583. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +6 -2
  584. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/ComponentLocale.js.map +1 -1
  585. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +6 -2
  586. package/dist/dist-esm/react-components/src/localization/locales/de-DE/ComponentLocale.js.map +1 -1
  587. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +6 -2
  588. package/dist/dist-esm/react-components/src/localization/locales/en-GB/ComponentLocale.js.map +1 -1
  589. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +6 -2
  590. package/dist/dist-esm/react-components/src/localization/locales/es-ES/ComponentLocale.js.map +1 -1
  591. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +6 -2
  592. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/ComponentLocale.js.map +1 -1
  593. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +6 -2
  594. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/ComponentLocale.js.map +1 -1
  595. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +6 -2
  596. package/dist/dist-esm/react-components/src/localization/locales/he-IL/ComponentLocale.js.map +1 -1
  597. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +6 -2
  598. package/dist/dist-esm/react-components/src/localization/locales/index.js +3 -1
  599. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  600. package/dist/dist-esm/react-components/src/localization/locales/it-IT/ComponentLocale.js.map +1 -1
  601. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +6 -2
  602. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/ComponentLocale.js.map +1 -1
  603. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +6 -2
  604. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/ComponentLocale.js.map +1 -1
  605. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +6 -2
  606. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/ComponentLocale.js.map +1 -1
  607. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +6 -2
  608. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/ComponentLocale.js.map +1 -1
  609. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +6 -2
  610. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/ComponentLocale.js.map +1 -1
  611. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +6 -2
  612. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/ComponentLocale.js.map +1 -1
  613. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +6 -2
  614. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/ComponentLocale.js.map +1 -1
  615. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +6 -2
  616. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/ComponentLocale.js.map +1 -1
  617. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +6 -2
  618. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/ComponentLocale.js.map +1 -1
  619. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +6 -2
  620. package/dist/dist-esm/react-components/src/localization/locales/utils.js +1 -1
  621. package/dist/dist-esm/react-components/src/localization/locales/utils.js.map +1 -1
  622. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/ComponentLocale.js.map +1 -1
  623. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +6 -2
  624. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/ComponentLocale.js.map +1 -1
  625. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +6 -2
  626. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +5 -3
  627. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  628. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js +2 -2
  629. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js.map +1 -1
  630. package/dist/dist-esm/react-components/src/theming/generateTheme.js +1 -15
  631. package/dist/dist-esm/react-components/src/theming/generateTheme.js.map +1 -1
  632. package/dist/dist-esm/react-components/src/theming/icons.js +30 -21
  633. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  634. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -1
  635. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  636. package/dist/dist-esm/react-components/src/theming/themeDuplicates.js.map +1 -1
  637. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  638. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  639. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js +7 -1
  640. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js.map +1 -1
  641. package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
  642. package/dist/dist-esm/react-components/src/types/CallSurveyImprovementSuggestions.js.map +1 -1
  643. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js.map +1 -1
  644. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  645. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  646. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.js.map +1 -1
  647. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  648. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  649. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  650. package/dist/dist-esm/react-components/src/types/ReactionTypes.js.map +1 -1
  651. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  652. package/dist/dist-esm/react-components/src/types/SurveyIssues.js.map +1 -1
  653. package/dist/dist-esm/react-components/src/types/SurveyIssuesHeadingStrings.js.map +1 -1
  654. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  655. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  656. package/dist/dist-esm/react-composites/src/Logger.js.map +1 -1
  657. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +56 -75
  658. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  659. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  660. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +0 -7
  661. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +58 -160
  662. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  663. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +0 -13
  664. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -7
  665. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  666. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  667. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js +3 -8
  668. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js.map +1 -1
  669. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  670. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js +3 -1
  671. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -1
  672. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  673. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +2 -2
  674. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  675. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  676. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +50 -99
  677. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  678. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +60 -37
  679. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  680. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +141 -133
  681. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -1
  682. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js +20 -16
  683. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js.map +1 -1
  684. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +7 -1
  685. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  686. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +1 -1
  687. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  688. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +7 -1
  689. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  690. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +4 -5
  691. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  692. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +4 -4
  693. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -1
  694. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +4 -4
  695. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  696. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +22 -33
  697. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  698. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +25 -35
  699. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  700. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +30 -26
  701. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  702. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +37 -67
  703. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  704. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  705. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  706. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +13 -15
  707. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  708. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js +32 -10
  709. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js.map +1 -1
  710. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +11 -29
  711. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
  712. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.js.map +1 -1
  713. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js +1 -1
  714. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js.map +1 -1
  715. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +71 -100
  716. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  717. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +4 -4
  718. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -1
  719. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  720. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  721. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js +5 -3
  722. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js.map +1 -1
  723. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +1 -3
  724. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  725. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +7 -10
  726. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  727. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +13 -23
  728. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  729. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +1 -3
  730. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  731. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +2 -5
  732. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  733. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +1 -1
  734. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -1
  735. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js +1 -1
  736. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js.map +1 -1
  737. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.js +1 -1
  738. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.js.map +1 -1
  739. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +1 -1
  740. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  741. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +7 -7
  742. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  743. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +13 -25
  744. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  745. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  746. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  747. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  748. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  749. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +10 -13
  750. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  751. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +24 -56
  752. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  753. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js +13 -5
  754. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js.map +1 -1
  755. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +9 -18
  756. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  757. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +10 -21
  758. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  759. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +3 -3
  760. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  761. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/SurveyPage.js +2 -2
  762. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/SurveyPage.js.map +1 -1
  763. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ThankYouForFeedbackPage.js +2 -2
  764. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ThankYouForFeedbackPage.js.map +1 -1
  765. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +24 -24
  766. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  767. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +3 -3
  768. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -1
  769. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  770. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  771. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  772. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js +1 -2
  773. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +1 -1
  774. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  775. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  776. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  777. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.d.ts +1 -1
  778. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js +4 -1
  779. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js.map +1 -1
  780. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.d.ts +1 -1
  781. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.js +1 -1
  782. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.js.map +1 -1
  783. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  784. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  785. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.d.ts +1 -1
  786. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.js.map +1 -1
  787. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  788. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  789. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  790. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +1 -1
  791. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +1 -3
  792. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  793. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.d.ts +1 -1
  794. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.js +4 -10
  795. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.js.map +1 -1
  796. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +4 -4
  797. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +1 -1
  798. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  799. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +3 -3
  800. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +2 -10
  801. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  802. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  803. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -4
  804. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  805. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  806. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  807. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  808. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +5 -5
  809. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +4 -4
  810. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  811. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  812. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  813. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  814. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +5 -5
  815. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  816. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  817. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  818. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +6 -2
  819. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  820. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +29 -41
  821. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  822. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  823. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +2 -1
  824. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  825. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/DtmfDialpadPage.styles.js.map +1 -1
  826. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +4 -1
  827. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  828. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -1
  829. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +9 -2
  830. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  831. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  832. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +4 -2
  833. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  834. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  835. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  836. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +2 -1
  837. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  838. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js +24 -6
  839. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js.map +1 -1
  840. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  841. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CapabilityChangedNotificationTracking.js.map +1 -1
  842. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  843. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +13 -11
  844. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  845. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js +7 -19
  846. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js.map +1 -1
  847. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js +2 -4
  848. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  849. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +1 -1
  850. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +30 -41
  851. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  852. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  853. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js +5 -15
  854. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js.map +1 -1
  855. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.js +2 -2
  856. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.js.map +1 -1
  857. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/useConsoleErrors.js.map +1 -1
  858. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +25 -69
  859. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  860. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js +1 -1
  861. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js.map +1 -1
  862. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js +7 -9
  863. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  864. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js +9 -6
  865. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js.map +1 -1
  866. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js +2 -2
  867. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js.map +1 -1
  868. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  869. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +1 -5
  870. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +36 -74
  871. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  872. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +1 -8
  873. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  874. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +0 -1
  875. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +0 -6
  876. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  877. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +1 -3
  878. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  879. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js +1 -1
  880. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  881. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  882. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  883. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +1 -1
  884. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  885. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  886. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  887. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js +5 -3
  888. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js.map +1 -1
  889. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +4 -7
  890. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  891. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +5 -3
  892. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  893. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +106 -122
  894. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  895. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +1 -1
  896. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -1
  897. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js +7 -9
  898. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js.map +1 -1
  899. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js +20 -9
  900. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js.map +1 -1
  901. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  902. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +37 -36
  903. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  904. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  905. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  906. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js +7 -9
  907. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +1 -1
  908. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +6 -11
  909. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +1 -1
  910. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  911. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +3 -1
  912. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  913. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +4 -13
  914. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  915. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  916. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  917. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +6 -2
  918. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  919. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +17 -9
  920. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  921. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +25 -24
  922. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  923. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -1
  924. package/dist/dist-esm/react-composites/src/composites/common/AudioProvider.js.map +1 -1
  925. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +3 -8
  926. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  927. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +14 -5
  928. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  929. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +23 -9
  930. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  931. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -1
  932. package/dist/dist-esm/react-composites/src/composites/common/CalloutWithIcon.js +5 -3
  933. package/dist/dist-esm/react-composites/src/composites/common/CalloutWithIcon.js.map +1 -1
  934. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +7 -5
  935. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -1
  936. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js +16 -12
  937. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -1
  938. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js +1 -1
  939. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js.map +1 -1
  940. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +5 -1
  941. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  942. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +45 -68
  943. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  944. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js +37 -39
  945. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  946. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +71 -106
  947. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  948. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js +1 -1
  949. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js.map +1 -1
  950. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js +1 -1
  951. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -1
  952. package/dist/dist-esm/react-composites/src/composites/common/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  953. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.js +7 -5
  954. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.js.map +1 -1
  955. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +124 -91
  956. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  957. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +1 -1
  958. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  959. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.js +7 -5
  960. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.js.map +1 -1
  961. package/dist/dist-esm/react-composites/src/composites/common/Drawer/captionSettingsDrawer.styles.js.map +1 -1
  962. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.js +1 -1
  963. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.js.map +1 -1
  964. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js +1 -1
  965. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js.map +1 -1
  966. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js +9 -11
  967. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js.map +1 -1
  968. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +11 -18
  969. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  970. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  971. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  972. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +16 -14
  973. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  974. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +13 -21
  975. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  976. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js.map +1 -1
  977. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +1 -1
  978. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +11 -11
  979. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
  980. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +15 -7
  981. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  982. package/dist/dist-esm/react-composites/src/composites/common/StarSurvey.js.map +1 -1
  983. package/dist/dist-esm/react-composites/src/composites/common/Survey.js +34 -19
  984. package/dist/dist-esm/react-composites/src/composites/common/Survey.js.map +1 -1
  985. package/dist/dist-esm/react-composites/src/composites/common/SurveyContent.js +2 -2
  986. package/dist/dist-esm/react-composites/src/composites/common/SurveyContent.js.map +1 -1
  987. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +8 -11
  988. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  989. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js +1 -1
  990. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js.map +1 -1
  991. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +12 -11
  992. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
  993. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  994. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  995. package/dist/dist-esm/react-composites/src/composites/common/icons.js +3 -3
  996. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  997. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.js.map +1 -1
  998. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.js.map +1 -1
  999. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.js.map +1 -1
  1000. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  1001. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +10 -4
  1002. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  1003. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +44 -11
  1004. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  1005. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +29 -6
  1006. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  1007. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +22 -4
  1008. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  1009. package/dist/dist-esm/react-composites/src/composites/common/styles/Survey.styles.js +13 -15
  1010. package/dist/dist-esm/react-composites/src/composites/common/styles/Survey.styles.js.map +1 -1
  1011. package/dist/dist-esm/react-composites/src/composites/common/styles/TeamsMeetingConferenceInfo.style.js.map +1 -1
  1012. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  1013. package/dist/dist-esm/react-composites/src/composites/common/utils.js +12 -17
  1014. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  1015. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  1016. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  1017. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  1018. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  1019. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/CompositeLocale.js.map +1 -1
  1020. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/CompositeLocale.js.map +1 -1
  1021. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/CompositeLocale.js.map +1 -1
  1022. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/CompositeLocale.js.map +1 -1
  1023. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/CompositeLocale.js.map +1 -1
  1024. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/CompositeLocale.js.map +1 -1
  1025. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/CompositeLocale.js.map +1 -1
  1026. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/CompositeLocale.js.map +1 -1
  1027. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  1028. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/CompositeLocale.js.map +1 -1
  1029. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/CompositeLocale.js.map +1 -1
  1030. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/CompositeLocale.js.map +1 -1
  1031. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/CompositeLocale.js.map +1 -1
  1032. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/CompositeLocale.js.map +1 -1
  1033. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/CompositeLocale.js.map +1 -1
  1034. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/CompositeLocale.js.map +1 -1
  1035. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/CompositeLocale.js.map +1 -1
  1036. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/CompositeLocale.js.map +1 -1
  1037. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/CompositeLocale.js.map +1 -1
  1038. package/dist/dist-esm/react-composites/src/composites/localization/locales/utils.js +1 -1
  1039. package/dist/dist-esm/react-composites/src/composites/localization/locales/utils.js.map +1 -1
  1040. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/CompositeLocale.js.map +1 -1
  1041. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/CompositeLocale.js.map +1 -1
  1042. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  1043. package/package.json +1 -1
  1044. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-BMVUY7HX.js.map +0 -1
  1045. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-UkjXSVQH.js.map +0 -1
  1046. package/dist/dist-cjs/communication-react/index-D46R0M5v.js.map +0 -1
  1047. package/dist/dist-esm/acs-ui-javascript-loaders/src/callCompositeLoader.d.ts +0 -19
  1048. package/dist/dist-esm/acs-ui-javascript-loaders/src/callCompositeLoader.js +0 -44
  1049. package/dist/dist-esm/acs-ui-javascript-loaders/src/callCompositeLoader.js.map +0 -1
  1050. package/dist/dist-esm/acs-ui-javascript-loaders/src/callWithChatCompositeLoader.d.ts +0 -18
  1051. package/dist/dist-esm/acs-ui-javascript-loaders/src/callWithChatCompositeLoader.js +0 -43
  1052. package/dist/dist-esm/acs-ui-javascript-loaders/src/callWithChatCompositeLoader.js.map +0 -1
  1053. package/dist/dist-esm/acs-ui-javascript-loaders/src/chatCompositeLoader.d.ts +0 -18
  1054. package/dist/dist-esm/acs-ui-javascript-loaders/src/chatCompositeLoader.js +0 -43
  1055. package/dist/dist-esm/acs-ui-javascript-loaders/src/chatCompositeLoader.js.map +0 -1
  1056. package/dist/dist-esm/acs-ui-javascript-loaders/src/index.d.ts +0 -9
  1057. package/dist/dist-esm/acs-ui-javascript-loaders/src/index.js +0 -7
  1058. package/dist/dist-esm/acs-ui-javascript-loaders/src/index.js.map +0 -1
  1059. package/dist/dist-esm/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.d.ts +0 -19
  1060. package/dist/dist-esm/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.js +0 -50
  1061. package/dist/dist-esm/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.js.map +0 -1
  1062. package/dist/dist-esm/acs-ui-javascript-loaders/src/utils.d.ts +0 -7
  1063. package/dist/dist-esm/acs-ui-javascript-loaders/src/utils.js +0 -17
  1064. package/dist/dist-esm/acs-ui-javascript-loaders/src/utils.js.map +0 -1
  1065. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.d.ts +0 -19
  1066. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js +0 -42
  1067. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js.map +0 -1
  1068. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.d.ts +0 -17
  1069. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js +0 -111
  1070. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js.map +0 -1
@@ -38,8 +38,7 @@ export const REACTION_ANIMATION_TIME_MS = 4133;
38
38
  * @private
39
39
  */
40
40
  export class CallContext {
41
- constructor(userId, maxListeners = 50,
42
- /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId) {
41
+ constructor(userId, maxListeners = 50, /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId) {
43
42
  this._callIdHistory = new CallIdHistory();
44
43
  this._timeOutId = {};
45
44
  /**
@@ -246,13 +245,13 @@ export class CallContext {
246
245
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
247
246
  if (call) {
248
247
  for (const removedStream of streamsRemoved) {
249
- const index = call.localVideoStreams.findIndex((i) => i.mediaStreamType === removedStream.mediaStreamType);
248
+ const index = call.localVideoStreams.findIndex(i => i.mediaStreamType === removedStream.mediaStreamType);
250
249
  if (index > -1) {
251
250
  call.localVideoStreams.splice(index, 1);
252
251
  }
253
252
  }
254
253
  for (const addedStream of streamsAdded) {
255
- const index = call.localVideoStreams.findIndex((i) => i.mediaStreamType === addedStream.mediaStreamType);
254
+ const index = call.localVideoStreams.findIndex(i => i.mediaStreamType === addedStream.mediaStreamType);
256
255
  if (index > -1) {
257
256
  call.localVideoStreams[index] = addedStream;
258
257
  }
@@ -268,7 +267,7 @@ export class CallContext {
268
267
  var _a;
269
268
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
270
269
  if (call) {
271
- const stream = (_a = call.localVideoStreams) === null || _a === void 0 ? void 0 : _a.find((i) => i.mediaStreamType === 'Video');
270
+ const stream = (_a = call.localVideoStreams) === null || _a === void 0 ? void 0 : _a.find(i => i.mediaStreamType === 'Video');
272
271
  if (stream) {
273
272
  stream.videoEffects = videoEffects;
274
273
  }
@@ -369,10 +368,10 @@ export class CallContext {
369
368
  this.modifyState((draft) => {
370
369
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
371
370
  if (call) {
372
- call.raiseHand.raisedHands = raisedHands.map((raisedHand) => {
371
+ call.raiseHand.raisedHands = raisedHands.map(raisedHand => {
373
372
  return convertFromSDKToRaisedHandState(raisedHand);
374
373
  });
375
- const raisedHand = raisedHands.find((raisedHand) => toFlatCommunicationIdentifier(raisedHand.identifier) === toFlatCommunicationIdentifier(this._state.userId));
374
+ const raisedHand = raisedHands.find(raisedHand => toFlatCommunicationIdentifier(raisedHand.identifier) === toFlatCommunicationIdentifier(this._state.userId));
376
375
  if (raisedHand) {
377
376
  call.raiseHand.localParticipantRaisedHand = convertFromSDKToRaisedHandState(raisedHand);
378
377
  }
@@ -401,9 +400,10 @@ export class CallContext {
401
400
  }
402
401
  clearTimeout(this._timeOutId[participantKey]);
403
402
  const participant = call.remoteParticipants[participantKey];
404
- const newReactionState = reactionMessage
405
- ? { reactionMessage: reactionMessage, receivedOn: new Date() }
406
- : undefined;
403
+ const newReactionState = reactionMessage ? {
404
+ reactionMessage: reactionMessage,
405
+ receivedOn: new Date()
406
+ } : undefined;
407
407
  if (participantKey === toFlatCommunicationIdentifier(this._state.userId)) {
408
408
  call.localParticipantReaction = newReactionState;
409
409
  }
@@ -429,7 +429,10 @@ export class CallContext {
429
429
  this.modifyState((draft) => {
430
430
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
431
431
  if (call) {
432
- call.capabilitiesFeature = { capabilities, latestCapabilitiesChangeInfo: capabilitiesChangeInfo };
432
+ call.capabilitiesFeature = {
433
+ capabilities,
434
+ latestCapabilitiesChangeInfo: capabilitiesChangeInfo
435
+ };
433
436
  }
434
437
  });
435
438
  }
@@ -439,10 +442,7 @@ export class CallContext {
439
442
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
440
443
  if (capabilitiesChangeInfo.oldValue.viewAttendeeNames !== capabilitiesChangeInfo.newValue.viewAttendeeNames) {
441
444
  const viewAttendeeNames = capabilitiesChangeInfo.newValue.viewAttendeeNames;
442
- if (call &&
443
- viewAttendeeNames &&
444
- !viewAttendeeNames.isPresent &&
445
- viewAttendeeNames.reason === 'MeetingRestricted') {
445
+ if (call && viewAttendeeNames && !viewAttendeeNames.isPresent && viewAttendeeNames.reason === 'MeetingRestricted') {
446
446
  call.hideAttendeeNames = true;
447
447
  }
448
448
  else {
@@ -455,7 +455,8 @@ export class CallContext {
455
455
  this.modifyState((draft) => {
456
456
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
457
457
  if (call) {
458
- call.spotlight = Object.assign(Object.assign({}, call.spotlight), { spotlightedParticipants, maxParticipantsToSpotlight });
458
+ call.spotlight = Object.assign(Object.assign({}, call.spotlight), { spotlightedParticipants,
459
+ maxParticipantsToSpotlight });
459
460
  }
460
461
  });
461
462
  }
@@ -464,7 +465,9 @@ export class CallContext {
464
465
  this.modifyState((draft) => {
465
466
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
466
467
  if (call) {
467
- call.meetingConference = { conferencePhones: convertConferencePhoneInfo(teamsMeetingConferenceDetails) };
468
+ call.meetingConference = {
469
+ conferencePhones: convertConferencePhoneInfo(teamsMeetingConferenceDetails)
470
+ };
468
471
  }
469
472
  });
470
473
  }
@@ -474,12 +477,14 @@ export class CallContext {
474
477
  if (call) {
475
478
  const participant = call.remoteParticipants[toFlatCommunicationIdentifier(spotlightedParticipant.identifier)];
476
479
  if (participant) {
477
- participant.spotlight = { spotlightedOrderPosition: spotlightedParticipant.order };
480
+ participant.spotlight = {
481
+ spotlightedOrderPosition: spotlightedParticipant.order
482
+ };
478
483
  }
479
- else if (call.spotlight &&
480
- toFlatCommunicationIdentifier(draft.userId) ===
481
- toFlatCommunicationIdentifier(spotlightedParticipant.identifier)) {
482
- call.spotlight.localParticipantSpotlight = { spotlightedOrderPosition: spotlightedParticipant.order };
484
+ else if (call.spotlight && toFlatCommunicationIdentifier(draft.userId) === toFlatCommunicationIdentifier(spotlightedParticipant.identifier)) {
485
+ call.spotlight.localParticipantSpotlight = {
486
+ spotlightedOrderPosition: spotlightedParticipant.order
487
+ };
483
488
  }
484
489
  }
485
490
  });
@@ -492,41 +497,12 @@ export class CallContext {
492
497
  if (participant) {
493
498
  participant.spotlight = undefined;
494
499
  }
495
- else if (call.spotlight &&
496
- toFlatCommunicationIdentifier(draft.userId) ===
497
- toFlatCommunicationIdentifier(spotlightedParticipant.identifier)) {
500
+ else if (call.spotlight && toFlatCommunicationIdentifier(draft.userId) === toFlatCommunicationIdentifier(spotlightedParticipant.identifier)) {
498
501
  call.spotlight.localParticipantSpotlight = undefined;
499
502
  }
500
503
  }
501
504
  });
502
505
  }
503
- /* @conditional-compile-remove(breakout-rooms) */
504
- setAssignedBreakoutRoom(callId, breakoutRoom) {
505
- this.modifyState((draft) => {
506
- const call = draft.calls[this._callIdHistory.latestCallId(callId)];
507
- if (call) {
508
- call.breakoutRooms = Object.assign(Object.assign({}, call.breakoutRooms), { assignedBreakoutRoom: breakoutRoom });
509
- }
510
- });
511
- }
512
- /* @conditional-compile-remove(breakout-rooms) */
513
- setBreakoutRoomOriginCallId(callId, breakoutRoomCallId) {
514
- this.modifyState((draft) => {
515
- const call = draft.calls[this._callIdHistory.latestCallId(breakoutRoomCallId)];
516
- if (call) {
517
- call.breakoutRooms = Object.assign(Object.assign({}, call.breakoutRooms), { breakoutRoomOriginCallId: callId });
518
- }
519
- });
520
- }
521
- /* @conditional-compile-remove(breakout-rooms) */
522
- setBreakoutRoomSettings(callId, breakoutRoomSettings) {
523
- this.modifyState((draft) => {
524
- const call = draft.calls[this._callIdHistory.latestCallId(callId)];
525
- if (call) {
526
- call.breakoutRooms = Object.assign(Object.assign({}, call.breakoutRooms), { breakoutRoomSettings: breakoutRoomSettings });
527
- }
528
- });
529
- }
530
506
  setCallScreenShareParticipant(callId, participantKey) {
531
507
  this.modifyState((draft) => {
532
508
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
@@ -539,7 +515,7 @@ export class CallContext {
539
515
  this.modifyState((draft) => {
540
516
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
541
517
  if (call) {
542
- const localVideoStream = call.localVideoStreams.find((localVideoStream) => localVideoStream.mediaStreamType === localVideoMediaStreamType);
518
+ const localVideoStream = call.localVideoStreams.find(localVideoStream => localVideoStream.mediaStreamType === localVideoMediaStreamType);
543
519
  if (localVideoStream) {
544
520
  localVideoStream.view = view;
545
521
  }
@@ -788,7 +764,7 @@ export class CallContext {
788
764
  * camera permissions are granted. So selectedCamera will have this value before the actual cameras are obtained. Therefore we should reset
789
765
  * selectedCamera to the first camera when there are cameras AND when current selectedCamera does not exist in the new array of cameras *
790
766
  */
791
- if (cameras.length > 0 && !cameras.some((camera) => { var _a; return camera.id === ((_a = draft.deviceManager.selectedCamera) === null || _a === void 0 ? void 0 : _a.id); })) {
767
+ if (cameras.length > 0 && !cameras.some(camera => { var _a; return camera.id === ((_a = draft.deviceManager.selectedCamera) === null || _a === void 0 ? void 0 : _a.id); })) {
792
768
  draft.deviceManager.selectedCamera = cameras[0];
793
769
  }
794
770
  draft.deviceManager.cameras = cameras;
@@ -820,7 +796,7 @@ export class CallContext {
820
796
  }
821
797
  deleteDeviceManagerUnparentedView(localVideoStream) {
822
798
  this.modifyState((draft) => {
823
- const foundIndex = draft.deviceManager.unparentedViews.findIndex((stream) => stream.mediaStreamType === localVideoStream.mediaStreamType);
799
+ const foundIndex = draft.deviceManager.unparentedViews.findIndex(stream => stream.mediaStreamType === localVideoStream.mediaStreamType);
824
800
  if (foundIndex !== -1) {
825
801
  draft.deviceManager.unparentedViews.splice(foundIndex, 1);
826
802
  }
@@ -828,7 +804,7 @@ export class CallContext {
828
804
  }
829
805
  setDeviceManagerUnparentedViewVideoEffects(localVideoStream, videoEffects) {
830
806
  this.modifyState((draft) => {
831
- const foundIndex = draft.deviceManager.unparentedViews.findIndex((stream) => stream.mediaStreamType === localVideoStream.mediaStreamType);
807
+ const foundIndex = draft.deviceManager.unparentedViews.findIndex(stream => stream.mediaStreamType === localVideoStream.mediaStreamType);
832
808
  if (foundIndex !== -1) {
833
809
  draft.deviceManager.unparentedViews[foundIndex].videoEffects = videoEffects;
834
810
  }
@@ -874,9 +850,7 @@ export class CallContext {
874
850
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
875
851
  if (call) {
876
852
  const currentCaptionLanguage = call.captionsFeature.currentCaptionLanguage;
877
- if (caption.captionLanguage.toUpperCase() === currentCaptionLanguage.toUpperCase() ||
878
- currentCaptionLanguage === '' ||
879
- currentCaptionLanguage === undefined) {
853
+ if (caption.captionLanguage.toUpperCase() === currentCaptionLanguage.toUpperCase() || currentCaptionLanguage === '' || currentCaptionLanguage === undefined) {
880
854
  this.processNewCaption(call.captionsFeature.captions, convertFromTeamsSDKToCaptionInfoState(caption));
881
855
  }
882
856
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CallContext.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/CallContext.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CommunicationIdentifierKind } from '@azure/communication-common';\nimport {\n AudioDeviceInfo,\n DeviceAccess,\n DominantSpeakersInfo,\n ParticipantRole,\n ScalingMode,\n VideoDeviceInfo\n} from '@azure/communication-calling';\nimport { RaisedHand } from '@azure/communication-calling';\n/* @conditional-compile-remove(breakout-rooms) */\nimport { BreakoutRoom, BreakoutRoomsSettings } from '@azure/communication-calling';\n\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { TeamsMeetingAudioConferencingDetails } from '@azure/communication-calling';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { convertConferencePhoneInfo } from './Converter';\n\nimport { CapabilitiesChangeInfo, ParticipantCapabilities } from '@azure/communication-calling';\nimport { TeamsCaptionsInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(acs-close-captions) */\nimport { CaptionsKind, CaptionsInfo as AcsCaptionsInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { EnvironmentInfo } from '@azure/communication-calling';\nimport { AzureLogger, createClientLogger, getLogLevel } from '@azure/logger';\nimport EventEmitter from 'events';\nimport { enableMapSet, enablePatches, Patch, produce } from 'immer';\nimport {\n CallEndReason,\n CallState as CallStatus,\n RemoteParticipantState as RemoteParticipantStatus\n} from '@azure/communication-calling';\nimport { _safeJSONStringify, toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport {\n CallState,\n CallClientState,\n LocalVideoStreamState,\n RemoteParticipantState,\n RemoteVideoStreamState,\n IncomingCallState,\n VideoStreamRendererViewState,\n CallAgentState,\n CallErrors,\n CallErrorTarget,\n CallError\n} from './CallClientState';\n/* @conditional-compile-remove(one-to-n-calling) */\nimport { TeamsIncomingCallState } from './CallClientState';\nimport { CaptionsInfo } from './CallClientState';\nimport { ReactionState } from './CallClientState';\nimport { AcceptedTransfer } from './CallClientState';\nimport { callingStatefulLogger } from './Logger';\nimport { CallIdHistory } from './CallIdHistory';\nimport { LocalVideoStreamVideoEffectsState } from './CallClientState';\nimport { convertFromTeamsSDKToCaptionInfoState } from './Converter';\n/* @conditional-compile-remove(acs-close-captions) */\nimport { convertFromSDKToCaptionInfoState } from './Converter';\nimport { convertFromSDKToRaisedHandState } from './Converter';\nimport { ReactionMessage } from '@azure/communication-calling';\nimport { SpotlightedParticipant } from '@azure/communication-calling';\n/* @conditional-compile-remove(local-recording-notification) */\nimport { LocalRecordingInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(local-recording-notification) */\nimport { RecordingInfo } from '@azure/communication-calling';\n\nenableMapSet();\n// Needed to generate state diff for verbose logging.\nenablePatches();\n\n// TODO: How can we make this configurable?\n/**\n * @private\n */\nexport const MAX_CALL_HISTORY_LENGTH = 10;\n/**\n * @private\n */\nexport const REACTION_ANIMATION_TIME_MS = 4133;\n\n/**\n * @private\n */\nexport class CallContext {\n private _logger: AzureLogger;\n private _state: CallClientState;\n private _emitter: EventEmitter;\n private _atomicId: number;\n private _callIdHistory: CallIdHistory = new CallIdHistory();\n private _timeOutId: { [key: string]: NodeJS.Timeout } = {};\n\n constructor(\n userId: CommunicationIdentifierKind,\n maxListeners = 50,\n /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId?: string\n ) {\n this._logger = createClientLogger('communication-react:calling-context');\n this._state = {\n calls: {},\n callsEnded: {},\n incomingCalls: {},\n incomingCallsEnded: {},\n deviceManager: {\n isSpeakerSelectionAvailable: false,\n cameras: [],\n microphones: [],\n speakers: [],\n unparentedViews: []\n },\n callAgent: undefined,\n userId: userId,\n /* @conditional-compile-remove(unsupported-browser) */ environmentInfo: undefined,\n /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId: alternateCallerId,\n latestErrors: {} as CallErrors\n };\n this._emitter = new EventEmitter();\n this._emitter.setMaxListeners(maxListeners);\n this._atomicId = 0;\n }\n\n public getState(): CallClientState {\n return this._state;\n }\n\n public modifyState(modifier: (draft: CallClientState) => void): void {\n const priorState = this._state;\n this._state = produce(this._state, modifier, (patches: Patch[]) => {\n if (getLogLevel() === 'verbose') {\n // Log to `info` because AzureLogger.verbose() doesn't show up in console.\n this._logger.info(`State change: ${_safeJSONStringify(patches)}`);\n }\n });\n if (this._state !== priorState) {\n this._emitter.emit('stateChanged', this._state);\n }\n }\n\n public onStateChange(handler: (state: CallClientState) => void): void {\n this._emitter.on('stateChanged', handler);\n }\n\n public offStateChange(handler: (state: CallClientState) => void): void {\n this._emitter.off('stateChanged', handler);\n }\n\n // Disposing of the CallAgentDeclarative will not clear the state. If we create a new CallAgentDeclarative, we should\n // make sure the state is clean because any left over state (if previous CallAgentDeclarative was disposed) may be\n // invalid.\n public clearCallRelatedState(): void {\n this.modifyState((draft: CallClientState) => {\n draft.calls = {};\n draft.incomingCalls = {};\n draft.callsEnded = {};\n draft.incomingCallsEnded = {};\n });\n }\n\n public setCallAgent(callAgent: CallAgentState): void {\n this.modifyState((draft: CallClientState) => {\n draft.callAgent = callAgent;\n });\n }\n\n public setCall(call: CallState): void {\n this.modifyState((draft: CallClientState) => {\n const latestCallId = this._callIdHistory.latestCallId(call.id);\n const existingCall = draft.calls[latestCallId];\n if (existingCall) {\n existingCall.callerInfo = call.callerInfo;\n existingCall.state = call.state;\n existingCall.callEndReason = call.callEndReason;\n existingCall.direction = call.direction;\n existingCall.isMuted = call.isMuted;\n existingCall.isScreenSharingOn = call.isScreenSharingOn;\n existingCall.localVideoStreams = call.localVideoStreams;\n existingCall.remoteParticipants = call.remoteParticipants;\n existingCall.transcription.isTranscriptionActive = call.transcription.isTranscriptionActive;\n existingCall.optimalVideoCount.maxRemoteVideoStreams = call.optimalVideoCount.maxRemoteVideoStreams;\n existingCall.recording.isRecordingActive = call.recording.isRecordingActive;\n existingCall.raiseHand.raisedHands = call.raiseHand.raisedHands;\n existingCall.pptLive.isActive = call.pptLive.isActive;\n existingCall.raiseHand.localParticipantRaisedHand = call.raiseHand.localParticipantRaisedHand;\n existingCall.role = call.role;\n /* @conditional-compile-remove(total-participant-count) */\n existingCall.totalParticipantCount = call.totalParticipantCount;\n // We don't update the startTime and endTime if we are updating an existing active call\n existingCall.captionsFeature.currentSpokenLanguage = call.captionsFeature.currentSpokenLanguage;\n existingCall.captionsFeature.currentCaptionLanguage = call.captionsFeature.currentCaptionLanguage;\n existingCall.info = call.info;\n /* @conditional-compile-remove(teams-meeting-conference) */\n existingCall.meetingConference = call.meetingConference;\n } else {\n draft.calls[latestCallId] = call;\n }\n });\n /**\n * Remove the incoming call that matches the call if there is one\n */\n if (this._state.incomingCalls[call.id]) {\n this.removeIncomingCall(call.id);\n }\n }\n\n public removeCall(callId: string): void {\n this.modifyState((draft: CallClientState) => {\n delete draft.calls[this._callIdHistory.latestCallId(callId)];\n });\n }\n\n public setCallEnded(callId: string, callEndReason: CallEndReason | undefined): void {\n const latestCallId = this._callIdHistory.latestCallId(callId);\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[latestCallId];\n if (call) {\n call.endTime = new Date();\n call.callEndReason = callEndReason;\n delete draft.calls[latestCallId];\n // Performance note: This loop should run only once because the number of entries\n // is never allowed to exceed MAX_CALL_HISTORY_LENGTH. A loop is used for correctness.\n while (Object.keys(draft.callsEnded).length >= MAX_CALL_HISTORY_LENGTH) {\n delete draft.callsEnded[findOldestCallEnded(draft.callsEnded)];\n }\n draft.callsEnded[latestCallId] = call;\n }\n });\n }\n\n public setCallState(callId: string, state: CallStatus): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.state = state;\n }\n });\n }\n\n public setCallId(newCallId: string, oldCallId: string): void {\n this._callIdHistory.updateCallIdHistory(newCallId, oldCallId);\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[oldCallId];\n if (call) {\n call.id = newCallId;\n delete draft.calls[oldCallId];\n draft.calls[newCallId] = call;\n }\n });\n }\n\n /* @conditional-compile-remove(unsupported-browser) */\n public setEnvironmentInfo(envInfo: EnvironmentInfo): void {\n this.modifyState((draft: CallClientState) => {\n draft.environmentInfo = envInfo;\n });\n }\n\n public setCallIsScreenSharingOn(callId: string, isScreenSharingOn: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.isScreenSharingOn = isScreenSharingOn;\n }\n });\n }\n\n public setCallRemoteParticipants(\n callId: string,\n addRemoteParticipant: RemoteParticipantState[],\n removeRemoteParticipant: string[]\n ): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n removeRemoteParticipant.forEach((id: string) => {\n delete call.remoteParticipants[id];\n });\n addRemoteParticipant.forEach((participant: RemoteParticipantState) => {\n call.remoteParticipants[toFlatCommunicationIdentifier(participant.identifier)] = participant;\n });\n // TODO: need to remove after contentSharingRole avaible in WebCalling SDK.\n if (!call.contentSharingRemoteParticipant) {\n call.contentSharingRemoteParticipant = toFlatCommunicationIdentifier(addRemoteParticipant[0].identifier);\n }\n }\n });\n }\n\n public setCallRemoteParticipantsEnded(\n callId: string,\n addRemoteParticipant: RemoteParticipantState[],\n removeRemoteParticipant: string[]\n ): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n removeRemoteParticipant.forEach((id: string) => {\n delete call.remoteParticipantsEnded[id];\n });\n addRemoteParticipant.forEach((participant: RemoteParticipantState) => {\n call.remoteParticipantsEnded[toFlatCommunicationIdentifier(participant.identifier)] = participant;\n });\n }\n });\n }\n\n public setCallLocalVideoStream(\n callId: string,\n streamsAdded: LocalVideoStreamState[],\n streamsRemoved: LocalVideoStreamState[]\n ): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n for (const removedStream of streamsRemoved) {\n const index = call.localVideoStreams.findIndex((i) => i.mediaStreamType === removedStream.mediaStreamType);\n if (index > -1) {\n call.localVideoStreams.splice(index, 1);\n }\n }\n\n for (const addedStream of streamsAdded) {\n const index = call.localVideoStreams.findIndex((i) => i.mediaStreamType === addedStream.mediaStreamType);\n if (index > -1) {\n call.localVideoStreams[index] = addedStream;\n } else {\n call.localVideoStreams.push(addedStream);\n }\n }\n }\n });\n }\n\n public setCallLocalVideoStreamVideoEffects(callId: string, videoEffects: LocalVideoStreamVideoEffectsState): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const stream = call.localVideoStreams?.find((i) => i.mediaStreamType === 'Video');\n if (stream) {\n stream.videoEffects = videoEffects;\n }\n }\n });\n }\n\n public setCallIsMicrophoneMuted(callId: string, isMicrophoneMuted: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.isMuted = isMicrophoneMuted;\n }\n });\n }\n\n public setRole(callId: string, role: ParticipantRole): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.role = role;\n }\n });\n }\n\n /* @conditional-compile-remove(total-participant-count) */\n public setTotalParticipantCount(callId: string, totalParticipantCount: number): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.totalParticipantCount = totalParticipantCount;\n }\n });\n }\n\n public setCallDominantSpeakers(callId: string, dominantSpeakers: DominantSpeakersInfo): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.dominantSpeakers = dominantSpeakers;\n }\n });\n }\n\n public setCallRecordingActive(callId: string, isRecordingActive: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.recording.isRecordingActive = isRecordingActive;\n }\n });\n }\n\n /* @conditional-compile-remove(local-recording-notification) */\n public setCallRecordingInfos(\n callId: string,\n recordingInfosAdded: RecordingInfo[],\n lastStoppedRecording: RecordingInfo[]\n ): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.recording.activeRecordings = recordingInfosAdded;\n call.recording.lastStoppedRecording = lastStoppedRecording;\n }\n });\n }\n\n /* @conditional-compile-remove(local-recording-notification) */\n public setCallLocalRecordingActive(callId: string, isRecordingActive: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.localRecording.isLocalRecordingActive = isRecordingActive;\n }\n });\n }\n\n /* @conditional-compile-remove(local-recording-notification) */\n public setCallLocalRecordingInfos(\n callId: string,\n localRecordingInfosAdded: LocalRecordingInfo[],\n lastStoppedRecording: LocalRecordingInfo[]\n ): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.localRecording.activeLocalRecordings = localRecordingInfosAdded;\n call.localRecording.lastStoppedLocalRecording = lastStoppedRecording;\n }\n });\n }\n\n public setCallPPTLiveActive(callId: string, isActive: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.pptLive.isActive = isActive;\n }\n });\n }\n\n public setCallParticipantPPTLive(callId: string, target: HTMLElement | undefined): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n const participantKey = call.contentSharingRemoteParticipant;\n if (call && participantKey) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n participant.contentSharingStream = target;\n }\n }\n });\n }\n\n public setCallRaisedHands(callId: string, raisedHands: RaisedHand[]): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.raiseHand.raisedHands = raisedHands.map((raisedHand) => {\n return convertFromSDKToRaisedHandState(raisedHand);\n });\n const raisedHand = raisedHands.find(\n (raisedHand) =>\n toFlatCommunicationIdentifier(raisedHand.identifier) === toFlatCommunicationIdentifier(this._state.userId)\n );\n if (raisedHand) {\n call.raiseHand.localParticipantRaisedHand = convertFromSDKToRaisedHandState(raisedHand);\n } else {\n call.raiseHand.localParticipantRaisedHand = undefined;\n }\n }\n });\n }\n\n public setParticipantIsRaisedHand(callId: string, participantKey: string, raisedHand: RaisedHand | undefined): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n participant.raisedHand = raisedHand ? convertFromSDKToRaisedHandState(raisedHand) : raisedHand;\n }\n }\n });\n }\n\n public setReceivedReactionFromParticipant(\n callId: string,\n participantKey: string,\n reactionMessage: ReactionMessage | null\n ): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n\n if (!call) {\n return;\n }\n\n clearTimeout(this._timeOutId[participantKey]);\n\n const participant = call.remoteParticipants[participantKey];\n const newReactionState: ReactionState | undefined = reactionMessage\n ? { reactionMessage: reactionMessage, receivedOn: new Date() }\n : undefined;\n\n if (participantKey === toFlatCommunicationIdentifier(this._state.userId)) {\n call.localParticipantReaction = newReactionState;\n } else {\n participant.reactionState = newReactionState;\n }\n\n if (reactionMessage) {\n this._timeOutId[participantKey] = setTimeout(() => {\n clearParticipantReactionState(this, callId, participantKey);\n }, REACTION_ANIMATION_TIME_MS);\n }\n });\n }\n\n public setCallTranscriptionActive(callId: string, isTranscriptionActive: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.transcription.isTranscriptionActive = isTranscriptionActive;\n }\n });\n }\n\n public setCapabilities(\n callId: string,\n capabilities: ParticipantCapabilities,\n capabilitiesChangeInfo: CapabilitiesChangeInfo\n ): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.capabilitiesFeature = { capabilities, latestCapabilitiesChangeInfo: capabilitiesChangeInfo };\n }\n });\n }\n\n /* @conditional-compile-remove(hide-attendee-name) */\n public setHideAttendeeNames(callId: string, capabilitiesChangeInfo: CapabilitiesChangeInfo): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (capabilitiesChangeInfo.oldValue.viewAttendeeNames !== capabilitiesChangeInfo.newValue.viewAttendeeNames) {\n const viewAttendeeNames = capabilitiesChangeInfo.newValue.viewAttendeeNames;\n if (\n call &&\n viewAttendeeNames &&\n !viewAttendeeNames.isPresent &&\n viewAttendeeNames.reason === 'MeetingRestricted'\n ) {\n call.hideAttendeeNames = true;\n } else {\n call.hideAttendeeNames = false;\n }\n }\n });\n }\n\n public setSpotlight(\n callId: string,\n spotlightedParticipants: SpotlightedParticipant[],\n maxParticipantsToSpotlight: number\n ): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.spotlight = { ...call.spotlight, spotlightedParticipants, maxParticipantsToSpotlight };\n }\n });\n }\n\n /* @conditional-compile-remove(teams-meeting-conference) */\n public setTeamsMeetingConference(\n callId: string,\n teamsMeetingConferenceDetails: TeamsMeetingAudioConferencingDetails\n ): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.meetingConference = { conferencePhones: convertConferencePhoneInfo(teamsMeetingConferenceDetails) };\n }\n });\n }\n\n public setParticipantSpotlighted(callId: string, spotlightedParticipant: SpotlightedParticipant): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[toFlatCommunicationIdentifier(spotlightedParticipant.identifier)];\n if (participant) {\n participant.spotlight = { spotlightedOrderPosition: spotlightedParticipant.order };\n } else if (\n call.spotlight &&\n toFlatCommunicationIdentifier(draft.userId) ===\n toFlatCommunicationIdentifier(spotlightedParticipant.identifier)\n ) {\n call.spotlight.localParticipantSpotlight = { spotlightedOrderPosition: spotlightedParticipant.order };\n }\n }\n });\n }\n\n public setParticipantNotSpotlighted(callId: string, spotlightedParticipant: SpotlightedParticipant): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[toFlatCommunicationIdentifier(spotlightedParticipant.identifier)];\n if (participant) {\n participant.spotlight = undefined;\n } else if (\n call.spotlight &&\n toFlatCommunicationIdentifier(draft.userId) ===\n toFlatCommunicationIdentifier(spotlightedParticipant.identifier)\n ) {\n call.spotlight.localParticipantSpotlight = undefined;\n }\n }\n });\n }\n\n /* @conditional-compile-remove(breakout-rooms) */\n public setAssignedBreakoutRoom(callId: string, breakoutRoom: BreakoutRoom): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.breakoutRooms = { ...call.breakoutRooms, assignedBreakoutRoom: breakoutRoom };\n }\n });\n }\n\n /* @conditional-compile-remove(breakout-rooms) */\n public setBreakoutRoomOriginCallId(callId: string, breakoutRoomCallId: string): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(breakoutRoomCallId)];\n if (call) {\n call.breakoutRooms = { ...call.breakoutRooms, breakoutRoomOriginCallId: callId };\n }\n });\n }\n\n /* @conditional-compile-remove(breakout-rooms) */\n public setBreakoutRoomSettings(callId: string, breakoutRoomSettings: BreakoutRoomsSettings): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.breakoutRooms = { ...call.breakoutRooms, breakoutRoomSettings: breakoutRoomSettings };\n }\n });\n }\n\n public setCallScreenShareParticipant(callId: string, participantKey: string | undefined): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.screenShareRemoteParticipant = participantKey;\n }\n });\n }\n\n public setLocalVideoStreamRendererView(\n callId: string,\n localVideoMediaStreamType: string,\n view: VideoStreamRendererViewState | undefined\n ): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const localVideoStream = call.localVideoStreams.find(\n (localVideoStream) => localVideoStream.mediaStreamType === localVideoMediaStreamType\n );\n if (localVideoStream) {\n localVideoStream.view = view;\n }\n }\n });\n }\n\n public setParticipantState(callId: string, participantKey: string, state: RemoteParticipantStatus): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n participant.state = state;\n }\n }\n });\n }\n\n public setParticipantIsMuted(callId: string, participantKey: string, muted: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n participant.isMuted = muted;\n }\n }\n });\n }\n\n public setOptimalVideoCount(callId: string, optimalVideoCount: number): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.optimalVideoCount.maxRemoteVideoStreams = optimalVideoCount;\n }\n });\n }\n\n public setParticipantRole(callId: string, participantKey: string, role: ParticipantRole): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n participant.role = role;\n }\n }\n });\n }\n\n public setParticipantDisplayName(callId: string, participantKey: string, displayName: string): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n participant.displayName = displayName;\n }\n }\n });\n }\n\n public setParticipantIsSpeaking(callId: string, participantKey: string, isSpeaking: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n participant.isSpeaking = isSpeaking;\n }\n }\n });\n }\n\n public setParticipantVideoStream(callId: string, participantKey: string, stream: RemoteVideoStreamState): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n // Set is called by subscriber will not modify any rendered stream so if there is existing stream only\n // modify the values that subscriber has access to.\n const existingStream = participant.videoStreams[stream.id];\n if (existingStream) {\n existingStream.isAvailable = stream.isAvailable;\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n existingStream.isReceiving = stream.isReceiving;\n existingStream.mediaStreamType = stream.mediaStreamType;\n } else {\n participant.videoStreams[stream.id] = stream;\n }\n }\n }\n });\n }\n\n public setRemoteVideoStreamIsAvailable(\n callId: string,\n participantKey: string,\n streamId: number,\n isAvailable: boolean\n ): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n const stream = participant.videoStreams[streamId];\n if (stream) {\n stream.isAvailable = isAvailable;\n }\n }\n }\n });\n }\n\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n public setRemoteVideoStreamIsReceiving(\n callId: string,\n participantKey: string,\n streamId: number,\n isReceiving: boolean\n ): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n const stream = participant.videoStreams[streamId];\n if (stream) {\n stream.isReceiving = isReceiving;\n }\n }\n }\n });\n }\n\n public setRemoteVideoStreamSize(\n callId: string,\n participantKey: string,\n streamId: number,\n size: { width: number; height: number }\n ): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n const stream = participant.videoStreams[streamId];\n if (stream) {\n stream.streamSize = size;\n }\n }\n }\n });\n }\n\n public setRemoteVideoStreams(\n callId: string,\n participantKey: string,\n addRemoteVideoStream: RemoteVideoStreamState[],\n removeRemoteVideoStream: number[]\n ): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n for (const id of removeRemoteVideoStream) {\n delete participant.videoStreams[id];\n }\n\n for (const newStream of addRemoteVideoStream) {\n // This should only be called by the subscriber and some properties are add by other components so if the\n // stream already exists, only update the values that subscriber knows about.\n const stream = participant.videoStreams[newStream.id];\n if (stream) {\n stream.mediaStreamType = newStream.mediaStreamType;\n stream.isAvailable = newStream.isAvailable;\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n stream.isReceiving = newStream.isReceiving;\n } else {\n participant.videoStreams[newStream.id] = newStream;\n }\n }\n }\n }\n });\n }\n\n public setRemoteVideoStreamRendererView(\n callId: string,\n participantKey: string,\n streamId: number,\n view: VideoStreamRendererViewState | undefined\n ): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n const stream = participant.videoStreams[streamId];\n if (stream) {\n stream.view = view;\n }\n }\n }\n });\n }\n\n public setRemoteVideoStreamViewScalingMode(\n callId: string,\n participantKey: string,\n streamId: number,\n scalingMode: ScalingMode\n ): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n const stream = participant.videoStreams[streamId];\n if (stream && stream.view) {\n stream.view.scalingMode = scalingMode;\n }\n }\n }\n });\n }\n\n public setIncomingCall(\n call: IncomingCallState | /* @conditional-compile-remove(one-to-n-calling) */ TeamsIncomingCallState\n ): void {\n this.modifyState((draft: CallClientState) => {\n const existingCall = draft.incomingCalls[call.id];\n if (existingCall) {\n existingCall.callerInfo = call.callerInfo;\n } else {\n draft.incomingCalls[call.id] = call;\n }\n });\n }\n\n public removeIncomingCall(callId: string): void {\n this.modifyState((draft: CallClientState) => {\n delete draft.incomingCalls[callId];\n });\n }\n\n public setIncomingCallEnded(callId: string, callEndReason: CallEndReason | undefined): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.incomingCalls[callId];\n if (call) {\n call.endTime = new Date();\n call.callEndReason = callEndReason;\n delete draft.incomingCalls[callId];\n // Performance note: This loop should run only once because the number of entries\n // is never allowed to exceed MAX_CALL_HISTORY_LENGTH. A loop is used for correctness.\n while (Object.keys(draft.incomingCallsEnded).length >= MAX_CALL_HISTORY_LENGTH) {\n delete draft.incomingCallsEnded[findOldestCallEnded(draft.incomingCallsEnded)];\n }\n draft.incomingCallsEnded[callId] = call;\n }\n });\n }\n\n public setDeviceManagerIsSpeakerSelectionAvailable(isSpeakerSelectionAvailable: boolean): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.isSpeakerSelectionAvailable = isSpeakerSelectionAvailable;\n });\n }\n\n public setDeviceManagerSelectedMicrophone(selectedMicrophone?: AudioDeviceInfo): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.selectedMicrophone = selectedMicrophone;\n });\n }\n\n public setDeviceManagerSelectedSpeaker(selectedSpeaker?: AudioDeviceInfo): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.selectedSpeaker = selectedSpeaker;\n });\n }\n\n public setDeviceManagerSelectedCamera(selectedCamera?: VideoDeviceInfo): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.selectedCamera = selectedCamera;\n });\n }\n\n public setDeviceManagerCameras(cameras: VideoDeviceInfo[]): void {\n this.modifyState((draft: CallClientState) => {\n /**\n * SDK initializes cameras with one dummy camera with value { id: 'camera:id', name: '', deviceType: 'USBCamera' } immediately after\n * camera permissions are granted. So selectedCamera will have this value before the actual cameras are obtained. Therefore we should reset\n * selectedCamera to the first camera when there are cameras AND when current selectedCamera does not exist in the new array of cameras *\n */\n if (cameras.length > 0 && !cameras.some((camera) => camera.id === draft.deviceManager.selectedCamera?.id)) {\n draft.deviceManager.selectedCamera = cameras[0];\n }\n draft.deviceManager.cameras = cameras;\n });\n }\n\n public setDeviceManagerMicrophones(microphones: AudioDeviceInfo[]): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.microphones = microphones;\n });\n }\n\n public setDeviceManagerSpeakers(speakers: AudioDeviceInfo[]): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.speakers = speakers;\n });\n }\n\n public setDeviceManagerDeviceAccess(deviceAccess: DeviceAccess): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.deviceAccess = deviceAccess;\n });\n }\n\n public setDeviceManagerUnparentedView(\n localVideoStream: LocalVideoStreamState,\n view: VideoStreamRendererViewState | undefined\n ): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.unparentedViews.push({\n source: localVideoStream.source,\n mediaStreamType: localVideoStream.mediaStreamType,\n view: view\n });\n });\n }\n\n public deleteDeviceManagerUnparentedView(localVideoStream: LocalVideoStreamState): void {\n this.modifyState((draft: CallClientState) => {\n const foundIndex = draft.deviceManager.unparentedViews.findIndex(\n (stream) => stream.mediaStreamType === localVideoStream.mediaStreamType\n );\n if (foundIndex !== -1) {\n draft.deviceManager.unparentedViews.splice(foundIndex, 1);\n }\n });\n }\n\n public setDeviceManagerUnparentedViewVideoEffects(\n localVideoStream: LocalVideoStreamState,\n videoEffects: LocalVideoStreamVideoEffectsState\n ): void {\n this.modifyState((draft: CallClientState) => {\n const foundIndex = draft.deviceManager.unparentedViews.findIndex(\n (stream) => stream.mediaStreamType === localVideoStream.mediaStreamType\n );\n if (foundIndex !== -1) {\n draft.deviceManager.unparentedViews[foundIndex].videoEffects = videoEffects;\n }\n });\n }\n\n public getAndIncrementAtomicId(): number {\n const id = this._atomicId;\n this._atomicId++;\n return id;\n }\n\n private processNewCaption(captions: CaptionsInfo[], newCaption: CaptionsInfo): void {\n // time stamp when new caption comes in\n newCaption.timestamp = new Date();\n // if this is the first caption, push it in\n if (captions.length === 0) {\n captions.push(newCaption);\n }\n // if the last caption is final, then push the new one in\n else if (captions[captions.length - 1].resultType === 'Final') {\n captions.push(newCaption);\n }\n // if the last caption is Partial, then check if the speaker is the same as the new caption, if so, update the last caption\n else {\n if (\n toFlatCommunicationIdentifier(\n captions[captions.length - 1].speaker.identifier as CommunicationIdentifierKind\n ) === toFlatCommunicationIdentifier(newCaption.speaker.identifier as CommunicationIdentifierKind)\n ) {\n captions[captions.length - 1] = newCaption;\n }\n // if different speaker, ignore the interjector until the current speaker finishes\n // edge case: if we dont receive the final caption from the current speaker for 5 secs, we turn the current speaker caption to final and push in the new interjector\n else {\n if (Date.now() - captions[captions.length - 1].timestamp.getTime() > 5000) {\n captions[captions.length - 1].resultType = 'Final';\n captions.push(newCaption);\n }\n }\n }\n\n // If the array length exceeds 50, remove the oldest caption\n if (captions.length > 50) {\n captions.shift();\n }\n }\n\n public addTeamsCaption(callId: string, caption: TeamsCaptionsInfo): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const currentCaptionLanguage = call.captionsFeature.currentCaptionLanguage;\n if (\n caption.captionLanguage.toUpperCase() === currentCaptionLanguage.toUpperCase() ||\n currentCaptionLanguage === '' ||\n currentCaptionLanguage === undefined\n ) {\n this.processNewCaption(call.captionsFeature.captions, convertFromTeamsSDKToCaptionInfoState(caption));\n }\n }\n });\n }\n\n /* @conditional-compile-remove(acs-close-captions) */\n public addCaption(callId: string, caption: AcsCaptionsInfo): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n this.processNewCaption(call.captionsFeature.captions, convertFromSDKToCaptionInfoState(caption));\n }\n });\n }\n\n /* @conditional-compile-remove(acs-close-captions) */\n public setCaptionsKind(callId: string, kind: CaptionsKind): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.captionsFeature.captionsKind = kind;\n }\n });\n }\n\n public clearCaptions(callId: string): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.captionsFeature.captions = [];\n }\n });\n }\n\n setIsCaptionActive(callId: string, isCaptionsActive: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.captionsFeature.isCaptionsFeatureActive = isCaptionsActive;\n }\n });\n }\n\n setStartCaptionsInProgress(callId: string, startCaptionsInProgress: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.captionsFeature.startCaptionsInProgress = startCaptionsInProgress;\n }\n });\n }\n\n setSelectedSpokenLanguage(callId: string, spokenLanguage: string): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.captionsFeature.currentSpokenLanguage = spokenLanguage;\n }\n });\n }\n\n setSelectedCaptionLanguage(callId: string, captionLanguage: string): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.captionsFeature.currentCaptionLanguage = captionLanguage;\n }\n });\n }\n\n setAvailableCaptionLanguages(callId: string, captionLanguages: string[]): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.captionsFeature.supportedCaptionLanguages = captionLanguages;\n }\n });\n }\n\n setAvailableSpokenLanguages(callId: string, spokenLanguages: string[]): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.captionsFeature.supportedSpokenLanguages = spokenLanguages;\n }\n });\n }\n\n setAcceptedTransfer(callId: string, acceptedTransfer: AcceptedTransfer): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.transfer.acceptedTransfers[acceptedTransfer.callId] = acceptedTransfer;\n }\n });\n }\n\n /**\n * Tees any errors encountered in an async function to the state.\n *\n * @param action Async function to execute.\n * @param target The error target to tee error to.\n * @returns Result of calling `f`. Also re-raises any exceptions thrown from `f`.\n * @throws CallError. Exceptions thrown from `f` are tagged with the failed `target.\n */\n public withAsyncErrorTeedToState<Args extends unknown[], R>(\n action: (...args: Args) => Promise<R>,\n target: CallErrorTarget\n ): (...args: Args) => Promise<R> {\n return async (...args: Args): Promise<R> => {\n try {\n return await action(...args);\n } catch (error) {\n const callError = toCallError(target, error);\n this.setLatestError(target, callError);\n throw callError;\n }\n };\n }\n\n /**\n * Tees any errors encountered in an function to the state.\n *\n * @param action Function to execute.\n * @param target The error target to tee error to.\n * @returns Result of calling `f`. Also re-raises any exceptions thrown from `f`.\n * @throws CallError. Exceptions thrown from `f` are tagged with the failed `target.\n */\n public withErrorTeedToState<Args extends unknown[], R>(\n action: (...args: Args) => R,\n target: CallErrorTarget\n ): (...args: Args) => R {\n return (...args: Args): R => {\n try {\n callingStatefulLogger.info(`Calling stateful client target function called: ${target}`);\n return action(...args);\n } catch (error) {\n const callError = toCallError(target, error);\n this.setLatestError(target, callError);\n throw callError;\n }\n };\n }\n\n /**\n * Tees direct errors to state.\n * @remarks\n * This is typically used for errors that are caught and intended to be shown to the user.\n *\n * @param error The raw error to report.\n * @param target The error target to tee error to.\n *\n * @private\n */\n public teeErrorToState = (error: Error, target: CallErrorTarget): void => {\n const callError = toCallError(target, error);\n this.setLatestError(target, callError);\n };\n\n private setLatestError(target: CallErrorTarget, error: CallError): void {\n this.modifyState((draft: CallClientState) => {\n draft.latestErrors[target] = error;\n });\n }\n}\n\nconst toCallError = (target: CallErrorTarget, error: unknown): CallError => {\n if (error instanceof Error) {\n return new CallError(target, error);\n }\n return new CallError(target, new Error(error as string));\n};\n\nconst findOldestCallEnded = (calls: { [key: string]: { endTime?: Date } }): string => {\n const callEntries = Object.entries(calls);\n let [oldestCallId, oldestCall] = callEntries[0];\n if (oldestCall.endTime === undefined) {\n return oldestCallId;\n }\n for (const [callId, call] of callEntries.slice(1)) {\n if (call.endTime === undefined) {\n return callId;\n }\n if ((call.endTime?.getTime() ?? 0) < (oldestCall.endTime?.getTime() ?? 0)) {\n [oldestCallId, oldestCall] = [callId, call];\n }\n }\n return oldestCallId;\n};\n\nfunction clearParticipantReactionState(callContext: CallContext, callId: string, participantKey: string): void {\n callContext.setReceivedReactionFromParticipant(callId, participantKey, null);\n}\n"]}
1
+ {"version":3,"file":"CallContext.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/CallContext.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CommunicationIdentifierKind } from '@azure/communication-common';\nimport { AudioDeviceInfo, DeviceAccess, DominantSpeakersInfo, ParticipantRole, ScalingMode, VideoDeviceInfo } from '@azure/communication-calling';\nimport { RaisedHand } from '@azure/communication-calling';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { TeamsMeetingAudioConferencingDetails } from '@azure/communication-calling';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { convertConferencePhoneInfo } from './Converter';\nimport { CapabilitiesChangeInfo, ParticipantCapabilities } from '@azure/communication-calling';\nimport { TeamsCaptionsInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(acs-close-captions) */\nimport { CaptionsKind, CaptionsInfo as AcsCaptionsInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { EnvironmentInfo } from '@azure/communication-calling';\nimport { AzureLogger, createClientLogger, getLogLevel } from '@azure/logger';\nimport EventEmitter from 'events';\nimport { enableMapSet, enablePatches, Patch, produce } from 'immer';\nimport { CallEndReason, CallState as CallStatus, RemoteParticipantState as RemoteParticipantStatus } from '@azure/communication-calling';\nimport { _safeJSONStringify, toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { CallState, CallClientState, LocalVideoStreamState, RemoteParticipantState, RemoteVideoStreamState, IncomingCallState, VideoStreamRendererViewState, CallAgentState, CallErrors, CallErrorTarget, CallError } from './CallClientState';\n/* @conditional-compile-remove(one-to-n-calling) */\nimport { TeamsIncomingCallState } from './CallClientState';\nimport { CaptionsInfo } from './CallClientState';\nimport { ReactionState } from './CallClientState';\nimport { AcceptedTransfer } from './CallClientState';\nimport { callingStatefulLogger } from './Logger';\nimport { CallIdHistory } from './CallIdHistory';\nimport { LocalVideoStreamVideoEffectsState } from './CallClientState';\nimport { convertFromTeamsSDKToCaptionInfoState } from './Converter';\n/* @conditional-compile-remove(acs-close-captions) */\nimport { convertFromSDKToCaptionInfoState } from './Converter';\nimport { convertFromSDKToRaisedHandState } from './Converter';\nimport { ReactionMessage } from '@azure/communication-calling';\nimport { SpotlightedParticipant } from '@azure/communication-calling';\n/* @conditional-compile-remove(local-recording-notification) */\nimport { LocalRecordingInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(local-recording-notification) */\nimport { RecordingInfo } from '@azure/communication-calling';\nenableMapSet();\n// Needed to generate state diff for verbose logging.\nenablePatches();\n\n// TODO: How can we make this configurable?\n/**\n * @private\n */\nexport const MAX_CALL_HISTORY_LENGTH = 10;\n/**\n * @private\n */\nexport const REACTION_ANIMATION_TIME_MS = 4133;\n\n/**\n * @private\n */\nexport class CallContext {\n private _logger: AzureLogger;\n private _state: CallClientState;\n private _emitter: EventEmitter;\n private _atomicId: number;\n private _callIdHistory: CallIdHistory = new CallIdHistory();\n private _timeOutId: {\n [key: string]: NodeJS.Timeout;\n } = {};\n constructor(userId: CommunicationIdentifierKind, maxListeners = 50, /* @conditional-compile-remove(PSTN-calls) */alternateCallerId?: string) {\n this._logger = createClientLogger('communication-react:calling-context');\n this._state = {\n calls: {},\n callsEnded: {},\n incomingCalls: {},\n incomingCallsEnded: {},\n deviceManager: {\n isSpeakerSelectionAvailable: false,\n cameras: [],\n microphones: [],\n speakers: [],\n unparentedViews: []\n },\n callAgent: undefined,\n userId: userId,\n /* @conditional-compile-remove(unsupported-browser) */environmentInfo: undefined,\n /* @conditional-compile-remove(PSTN-calls) */alternateCallerId: alternateCallerId,\n latestErrors: {} as CallErrors\n };\n this._emitter = new EventEmitter();\n this._emitter.setMaxListeners(maxListeners);\n this._atomicId = 0;\n }\n public getState(): CallClientState {\n return this._state;\n }\n public modifyState(modifier: (draft: CallClientState) => void): void {\n const priorState = this._state;\n this._state = produce(this._state, modifier, (patches: Patch[]) => {\n if (getLogLevel() === 'verbose') {\n // Log to `info` because AzureLogger.verbose() doesn't show up in console.\n this._logger.info(`State change: ${_safeJSONStringify(patches)}`);\n }\n });\n if (this._state !== priorState) {\n this._emitter.emit('stateChanged', this._state);\n }\n }\n public onStateChange(handler: (state: CallClientState) => void): void {\n this._emitter.on('stateChanged', handler);\n }\n public offStateChange(handler: (state: CallClientState) => void): void {\n this._emitter.off('stateChanged', handler);\n }\n\n // Disposing of the CallAgentDeclarative will not clear the state. If we create a new CallAgentDeclarative, we should\n // make sure the state is clean because any left over state (if previous CallAgentDeclarative was disposed) may be\n // invalid.\n public clearCallRelatedState(): void {\n this.modifyState((draft: CallClientState) => {\n draft.calls = {};\n draft.incomingCalls = {};\n draft.callsEnded = {};\n draft.incomingCallsEnded = {};\n });\n }\n public setCallAgent(callAgent: CallAgentState): void {\n this.modifyState((draft: CallClientState) => {\n draft.callAgent = callAgent;\n });\n }\n public setCall(call: CallState): void {\n this.modifyState((draft: CallClientState) => {\n const latestCallId = this._callIdHistory.latestCallId(call.id);\n const existingCall = draft.calls[latestCallId];\n if (existingCall) {\n existingCall.callerInfo = call.callerInfo;\n existingCall.state = call.state;\n existingCall.callEndReason = call.callEndReason;\n existingCall.direction = call.direction;\n existingCall.isMuted = call.isMuted;\n existingCall.isScreenSharingOn = call.isScreenSharingOn;\n existingCall.localVideoStreams = call.localVideoStreams;\n existingCall.remoteParticipants = call.remoteParticipants;\n existingCall.transcription.isTranscriptionActive = call.transcription.isTranscriptionActive;\n existingCall.optimalVideoCount.maxRemoteVideoStreams = call.optimalVideoCount.maxRemoteVideoStreams;\n existingCall.recording.isRecordingActive = call.recording.isRecordingActive;\n existingCall.raiseHand.raisedHands = call.raiseHand.raisedHands;\n existingCall.pptLive.isActive = call.pptLive.isActive;\n existingCall.raiseHand.localParticipantRaisedHand = call.raiseHand.localParticipantRaisedHand;\n existingCall.role = call.role;\n /* @conditional-compile-remove(total-participant-count) */\n existingCall.totalParticipantCount = call.totalParticipantCount;\n // We don't update the startTime and endTime if we are updating an existing active call\n existingCall.captionsFeature.currentSpokenLanguage = call.captionsFeature.currentSpokenLanguage;\n existingCall.captionsFeature.currentCaptionLanguage = call.captionsFeature.currentCaptionLanguage;\n existingCall.info = call.info;\n /* @conditional-compile-remove(teams-meeting-conference) */\n existingCall.meetingConference = call.meetingConference;\n } else {\n draft.calls[latestCallId] = call;\n }\n });\n /**\n * Remove the incoming call that matches the call if there is one\n */\n if (this._state.incomingCalls[call.id]) {\n this.removeIncomingCall(call.id);\n }\n }\n public removeCall(callId: string): void {\n this.modifyState((draft: CallClientState) => {\n delete draft.calls[this._callIdHistory.latestCallId(callId)];\n });\n }\n public setCallEnded(callId: string, callEndReason: CallEndReason | undefined): void {\n const latestCallId = this._callIdHistory.latestCallId(callId);\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[latestCallId];\n if (call) {\n call.endTime = new Date();\n call.callEndReason = callEndReason;\n delete draft.calls[latestCallId];\n // Performance note: This loop should run only once because the number of entries\n // is never allowed to exceed MAX_CALL_HISTORY_LENGTH. A loop is used for correctness.\n while (Object.keys(draft.callsEnded).length >= MAX_CALL_HISTORY_LENGTH) {\n delete draft.callsEnded[findOldestCallEnded(draft.callsEnded)];\n }\n draft.callsEnded[latestCallId] = call;\n }\n });\n }\n public setCallState(callId: string, state: CallStatus): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.state = state;\n }\n });\n }\n public setCallId(newCallId: string, oldCallId: string): void {\n this._callIdHistory.updateCallIdHistory(newCallId, oldCallId);\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[oldCallId];\n if (call) {\n call.id = newCallId;\n delete draft.calls[oldCallId];\n draft.calls[newCallId] = call;\n }\n });\n }\n\n /* @conditional-compile-remove(unsupported-browser) */\n public setEnvironmentInfo(envInfo: EnvironmentInfo): void {\n this.modifyState((draft: CallClientState) => {\n draft.environmentInfo = envInfo;\n });\n }\n public setCallIsScreenSharingOn(callId: string, isScreenSharingOn: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.isScreenSharingOn = isScreenSharingOn;\n }\n });\n }\n public setCallRemoteParticipants(callId: string, addRemoteParticipant: RemoteParticipantState[], removeRemoteParticipant: string[]): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n removeRemoteParticipant.forEach((id: string) => {\n delete call.remoteParticipants[id];\n });\n addRemoteParticipant.forEach((participant: RemoteParticipantState) => {\n call.remoteParticipants[toFlatCommunicationIdentifier(participant.identifier)] = participant;\n });\n // TODO: need to remove after contentSharingRole avaible in WebCalling SDK.\n if (!call.contentSharingRemoteParticipant) {\n call.contentSharingRemoteParticipant = toFlatCommunicationIdentifier(addRemoteParticipant[0].identifier);\n }\n }\n });\n }\n public setCallRemoteParticipantsEnded(callId: string, addRemoteParticipant: RemoteParticipantState[], removeRemoteParticipant: string[]): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n removeRemoteParticipant.forEach((id: string) => {\n delete call.remoteParticipantsEnded[id];\n });\n addRemoteParticipant.forEach((participant: RemoteParticipantState) => {\n call.remoteParticipantsEnded[toFlatCommunicationIdentifier(participant.identifier)] = participant;\n });\n }\n });\n }\n public setCallLocalVideoStream(callId: string, streamsAdded: LocalVideoStreamState[], streamsRemoved: LocalVideoStreamState[]): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n for (const removedStream of streamsRemoved) {\n const index = call.localVideoStreams.findIndex(i => i.mediaStreamType === removedStream.mediaStreamType);\n if (index > -1) {\n call.localVideoStreams.splice(index, 1);\n }\n }\n for (const addedStream of streamsAdded) {\n const index = call.localVideoStreams.findIndex(i => i.mediaStreamType === addedStream.mediaStreamType);\n if (index > -1) {\n call.localVideoStreams[index] = addedStream;\n } else {\n call.localVideoStreams.push(addedStream);\n }\n }\n }\n });\n }\n public setCallLocalVideoStreamVideoEffects(callId: string, videoEffects: LocalVideoStreamVideoEffectsState): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const stream = call.localVideoStreams?.find(i => i.mediaStreamType === 'Video');\n if (stream) {\n stream.videoEffects = videoEffects;\n }\n }\n });\n }\n public setCallIsMicrophoneMuted(callId: string, isMicrophoneMuted: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.isMuted = isMicrophoneMuted;\n }\n });\n }\n public setRole(callId: string, role: ParticipantRole): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.role = role;\n }\n });\n }\n\n /* @conditional-compile-remove(total-participant-count) */\n public setTotalParticipantCount(callId: string, totalParticipantCount: number): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.totalParticipantCount = totalParticipantCount;\n }\n });\n }\n public setCallDominantSpeakers(callId: string, dominantSpeakers: DominantSpeakersInfo): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.dominantSpeakers = dominantSpeakers;\n }\n });\n }\n public setCallRecordingActive(callId: string, isRecordingActive: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.recording.isRecordingActive = isRecordingActive;\n }\n });\n }\n\n /* @conditional-compile-remove(local-recording-notification) */\n public setCallRecordingInfos(callId: string, recordingInfosAdded: RecordingInfo[], lastStoppedRecording: RecordingInfo[]): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.recording.activeRecordings = recordingInfosAdded;\n call.recording.lastStoppedRecording = lastStoppedRecording;\n }\n });\n }\n\n /* @conditional-compile-remove(local-recording-notification) */\n public setCallLocalRecordingActive(callId: string, isRecordingActive: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.localRecording.isLocalRecordingActive = isRecordingActive;\n }\n });\n }\n\n /* @conditional-compile-remove(local-recording-notification) */\n public setCallLocalRecordingInfos(callId: string, localRecordingInfosAdded: LocalRecordingInfo[], lastStoppedRecording: LocalRecordingInfo[]): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.localRecording.activeLocalRecordings = localRecordingInfosAdded;\n call.localRecording.lastStoppedLocalRecording = lastStoppedRecording;\n }\n });\n }\n public setCallPPTLiveActive(callId: string, isActive: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.pptLive.isActive = isActive;\n }\n });\n }\n public setCallParticipantPPTLive(callId: string, target: HTMLElement | undefined): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n const participantKey = call.contentSharingRemoteParticipant;\n if (call && participantKey) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n participant.contentSharingStream = target;\n }\n }\n });\n }\n public setCallRaisedHands(callId: string, raisedHands: RaisedHand[]): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.raiseHand.raisedHands = raisedHands.map(raisedHand => {\n return convertFromSDKToRaisedHandState(raisedHand);\n });\n const raisedHand = raisedHands.find(raisedHand => toFlatCommunicationIdentifier(raisedHand.identifier) === toFlatCommunicationIdentifier(this._state.userId));\n if (raisedHand) {\n call.raiseHand.localParticipantRaisedHand = convertFromSDKToRaisedHandState(raisedHand);\n } else {\n call.raiseHand.localParticipantRaisedHand = undefined;\n }\n }\n });\n }\n public setParticipantIsRaisedHand(callId: string, participantKey: string, raisedHand: RaisedHand | undefined): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n participant.raisedHand = raisedHand ? convertFromSDKToRaisedHandState(raisedHand) : raisedHand;\n }\n }\n });\n }\n public setReceivedReactionFromParticipant(callId: string, participantKey: string, reactionMessage: ReactionMessage | null): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (!call) {\n return;\n }\n clearTimeout(this._timeOutId[participantKey]);\n const participant = call.remoteParticipants[participantKey];\n const newReactionState: ReactionState | undefined = reactionMessage ? {\n reactionMessage: reactionMessage,\n receivedOn: new Date()\n } : undefined;\n if (participantKey === toFlatCommunicationIdentifier(this._state.userId)) {\n call.localParticipantReaction = newReactionState;\n } else {\n participant.reactionState = newReactionState;\n }\n if (reactionMessage) {\n this._timeOutId[participantKey] = setTimeout(() => {\n clearParticipantReactionState(this, callId, participantKey);\n }, REACTION_ANIMATION_TIME_MS);\n }\n });\n }\n public setCallTranscriptionActive(callId: string, isTranscriptionActive: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.transcription.isTranscriptionActive = isTranscriptionActive;\n }\n });\n }\n public setCapabilities(callId: string, capabilities: ParticipantCapabilities, capabilitiesChangeInfo: CapabilitiesChangeInfo): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.capabilitiesFeature = {\n capabilities,\n latestCapabilitiesChangeInfo: capabilitiesChangeInfo\n };\n }\n });\n }\n\n /* @conditional-compile-remove(hide-attendee-name) */\n public setHideAttendeeNames(callId: string, capabilitiesChangeInfo: CapabilitiesChangeInfo): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (capabilitiesChangeInfo.oldValue.viewAttendeeNames !== capabilitiesChangeInfo.newValue.viewAttendeeNames) {\n const viewAttendeeNames = capabilitiesChangeInfo.newValue.viewAttendeeNames;\n if (call && viewAttendeeNames && !viewAttendeeNames.isPresent && viewAttendeeNames.reason === 'MeetingRestricted') {\n call.hideAttendeeNames = true;\n } else {\n call.hideAttendeeNames = false;\n }\n }\n });\n }\n public setSpotlight(callId: string, spotlightedParticipants: SpotlightedParticipant[], maxParticipantsToSpotlight: number): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.spotlight = {\n ...call.spotlight,\n spotlightedParticipants,\n maxParticipantsToSpotlight\n };\n }\n });\n }\n\n /* @conditional-compile-remove(teams-meeting-conference) */\n public setTeamsMeetingConference(callId: string, teamsMeetingConferenceDetails: TeamsMeetingAudioConferencingDetails): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.meetingConference = {\n conferencePhones: convertConferencePhoneInfo(teamsMeetingConferenceDetails)\n };\n }\n });\n }\n public setParticipantSpotlighted(callId: string, spotlightedParticipant: SpotlightedParticipant): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[toFlatCommunicationIdentifier(spotlightedParticipant.identifier)];\n if (participant) {\n participant.spotlight = {\n spotlightedOrderPosition: spotlightedParticipant.order\n };\n } else if (call.spotlight && toFlatCommunicationIdentifier(draft.userId) === toFlatCommunicationIdentifier(spotlightedParticipant.identifier)) {\n call.spotlight.localParticipantSpotlight = {\n spotlightedOrderPosition: spotlightedParticipant.order\n };\n }\n }\n });\n }\n public setParticipantNotSpotlighted(callId: string, spotlightedParticipant: SpotlightedParticipant): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[toFlatCommunicationIdentifier(spotlightedParticipant.identifier)];\n if (participant) {\n participant.spotlight = undefined;\n } else if (call.spotlight && toFlatCommunicationIdentifier(draft.userId) === toFlatCommunicationIdentifier(spotlightedParticipant.identifier)) {\n call.spotlight.localParticipantSpotlight = undefined;\n }\n }\n });\n }\n public setCallScreenShareParticipant(callId: string, participantKey: string | undefined): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.screenShareRemoteParticipant = participantKey;\n }\n });\n }\n public setLocalVideoStreamRendererView(callId: string, localVideoMediaStreamType: string, view: VideoStreamRendererViewState | undefined): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const localVideoStream = call.localVideoStreams.find(localVideoStream => localVideoStream.mediaStreamType === localVideoMediaStreamType);\n if (localVideoStream) {\n localVideoStream.view = view;\n }\n }\n });\n }\n public setParticipantState(callId: string, participantKey: string, state: RemoteParticipantStatus): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n participant.state = state;\n }\n }\n });\n }\n public setParticipantIsMuted(callId: string, participantKey: string, muted: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n participant.isMuted = muted;\n }\n }\n });\n }\n public setOptimalVideoCount(callId: string, optimalVideoCount: number): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.optimalVideoCount.maxRemoteVideoStreams = optimalVideoCount;\n }\n });\n }\n public setParticipantRole(callId: string, participantKey: string, role: ParticipantRole): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n participant.role = role;\n }\n }\n });\n }\n public setParticipantDisplayName(callId: string, participantKey: string, displayName: string): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n participant.displayName = displayName;\n }\n }\n });\n }\n public setParticipantIsSpeaking(callId: string, participantKey: string, isSpeaking: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n participant.isSpeaking = isSpeaking;\n }\n }\n });\n }\n public setParticipantVideoStream(callId: string, participantKey: string, stream: RemoteVideoStreamState): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n // Set is called by subscriber will not modify any rendered stream so if there is existing stream only\n // modify the values that subscriber has access to.\n const existingStream = participant.videoStreams[stream.id];\n if (existingStream) {\n existingStream.isAvailable = stream.isAvailable;\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n existingStream.isReceiving = stream.isReceiving;\n existingStream.mediaStreamType = stream.mediaStreamType;\n } else {\n participant.videoStreams[stream.id] = stream;\n }\n }\n }\n });\n }\n public setRemoteVideoStreamIsAvailable(callId: string, participantKey: string, streamId: number, isAvailable: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n const stream = participant.videoStreams[streamId];\n if (stream) {\n stream.isAvailable = isAvailable;\n }\n }\n }\n });\n }\n\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n public setRemoteVideoStreamIsReceiving(callId: string, participantKey: string, streamId: number, isReceiving: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n const stream = participant.videoStreams[streamId];\n if (stream) {\n stream.isReceiving = isReceiving;\n }\n }\n }\n });\n }\n public setRemoteVideoStreamSize(callId: string, participantKey: string, streamId: number, size: {\n width: number;\n height: number;\n }): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n const stream = participant.videoStreams[streamId];\n if (stream) {\n stream.streamSize = size;\n }\n }\n }\n });\n }\n public setRemoteVideoStreams(callId: string, participantKey: string, addRemoteVideoStream: RemoteVideoStreamState[], removeRemoteVideoStream: number[]): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n for (const id of removeRemoteVideoStream) {\n delete participant.videoStreams[id];\n }\n for (const newStream of addRemoteVideoStream) {\n // This should only be called by the subscriber and some properties are add by other components so if the\n // stream already exists, only update the values that subscriber knows about.\n const stream = participant.videoStreams[newStream.id];\n if (stream) {\n stream.mediaStreamType = newStream.mediaStreamType;\n stream.isAvailable = newStream.isAvailable;\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n stream.isReceiving = newStream.isReceiving;\n } else {\n participant.videoStreams[newStream.id] = newStream;\n }\n }\n }\n }\n });\n }\n public setRemoteVideoStreamRendererView(callId: string, participantKey: string, streamId: number, view: VideoStreamRendererViewState | undefined): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n const stream = participant.videoStreams[streamId];\n if (stream) {\n stream.view = view;\n }\n }\n }\n });\n }\n public setRemoteVideoStreamViewScalingMode(callId: string, participantKey: string, streamId: number, scalingMode: ScalingMode): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n const stream = participant.videoStreams[streamId];\n if (stream && stream.view) {\n stream.view.scalingMode = scalingMode;\n }\n }\n }\n });\n }\n public setIncomingCall(call: IncomingCallState | /* @conditional-compile-remove(one-to-n-calling) */TeamsIncomingCallState): void {\n this.modifyState((draft: CallClientState) => {\n const existingCall = draft.incomingCalls[call.id];\n if (existingCall) {\n existingCall.callerInfo = call.callerInfo;\n } else {\n draft.incomingCalls[call.id] = call;\n }\n });\n }\n public removeIncomingCall(callId: string): void {\n this.modifyState((draft: CallClientState) => {\n delete draft.incomingCalls[callId];\n });\n }\n public setIncomingCallEnded(callId: string, callEndReason: CallEndReason | undefined): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.incomingCalls[callId];\n if (call) {\n call.endTime = new Date();\n call.callEndReason = callEndReason;\n delete draft.incomingCalls[callId];\n // Performance note: This loop should run only once because the number of entries\n // is never allowed to exceed MAX_CALL_HISTORY_LENGTH. A loop is used for correctness.\n while (Object.keys(draft.incomingCallsEnded).length >= MAX_CALL_HISTORY_LENGTH) {\n delete draft.incomingCallsEnded[findOldestCallEnded(draft.incomingCallsEnded)];\n }\n draft.incomingCallsEnded[callId] = call;\n }\n });\n }\n public setDeviceManagerIsSpeakerSelectionAvailable(isSpeakerSelectionAvailable: boolean): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.isSpeakerSelectionAvailable = isSpeakerSelectionAvailable;\n });\n }\n public setDeviceManagerSelectedMicrophone(selectedMicrophone?: AudioDeviceInfo): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.selectedMicrophone = selectedMicrophone;\n });\n }\n public setDeviceManagerSelectedSpeaker(selectedSpeaker?: AudioDeviceInfo): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.selectedSpeaker = selectedSpeaker;\n });\n }\n public setDeviceManagerSelectedCamera(selectedCamera?: VideoDeviceInfo): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.selectedCamera = selectedCamera;\n });\n }\n public setDeviceManagerCameras(cameras: VideoDeviceInfo[]): void {\n this.modifyState((draft: CallClientState) => {\n /**\n * SDK initializes cameras with one dummy camera with value { id: 'camera:id', name: '', deviceType: 'USBCamera' } immediately after\n * camera permissions are granted. So selectedCamera will have this value before the actual cameras are obtained. Therefore we should reset\n * selectedCamera to the first camera when there are cameras AND when current selectedCamera does not exist in the new array of cameras *\n */\n if (cameras.length > 0 && !cameras.some(camera => camera.id === draft.deviceManager.selectedCamera?.id)) {\n draft.deviceManager.selectedCamera = cameras[0];\n }\n draft.deviceManager.cameras = cameras;\n });\n }\n public setDeviceManagerMicrophones(microphones: AudioDeviceInfo[]): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.microphones = microphones;\n });\n }\n public setDeviceManagerSpeakers(speakers: AudioDeviceInfo[]): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.speakers = speakers;\n });\n }\n public setDeviceManagerDeviceAccess(deviceAccess: DeviceAccess): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.deviceAccess = deviceAccess;\n });\n }\n public setDeviceManagerUnparentedView(localVideoStream: LocalVideoStreamState, view: VideoStreamRendererViewState | undefined): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.unparentedViews.push({\n source: localVideoStream.source,\n mediaStreamType: localVideoStream.mediaStreamType,\n view: view\n });\n });\n }\n public deleteDeviceManagerUnparentedView(localVideoStream: LocalVideoStreamState): void {\n this.modifyState((draft: CallClientState) => {\n const foundIndex = draft.deviceManager.unparentedViews.findIndex(stream => stream.mediaStreamType === localVideoStream.mediaStreamType);\n if (foundIndex !== -1) {\n draft.deviceManager.unparentedViews.splice(foundIndex, 1);\n }\n });\n }\n public setDeviceManagerUnparentedViewVideoEffects(localVideoStream: LocalVideoStreamState, videoEffects: LocalVideoStreamVideoEffectsState): void {\n this.modifyState((draft: CallClientState) => {\n const foundIndex = draft.deviceManager.unparentedViews.findIndex(stream => stream.mediaStreamType === localVideoStream.mediaStreamType);\n if (foundIndex !== -1) {\n draft.deviceManager.unparentedViews[foundIndex].videoEffects = videoEffects;\n }\n });\n }\n public getAndIncrementAtomicId(): number {\n const id = this._atomicId;\n this._atomicId++;\n return id;\n }\n private processNewCaption(captions: CaptionsInfo[], newCaption: CaptionsInfo): void {\n // time stamp when new caption comes in\n newCaption.timestamp = new Date();\n // if this is the first caption, push it in\n if (captions.length === 0) {\n captions.push(newCaption);\n }\n // if the last caption is final, then push the new one in\n else if (captions[captions.length - 1].resultType === 'Final') {\n captions.push(newCaption);\n }\n // if the last caption is Partial, then check if the speaker is the same as the new caption, if so, update the last caption\n else {\n if (toFlatCommunicationIdentifier(captions[captions.length - 1].speaker.identifier as CommunicationIdentifierKind) === toFlatCommunicationIdentifier(newCaption.speaker.identifier as CommunicationIdentifierKind)) {\n captions[captions.length - 1] = newCaption;\n }\n // if different speaker, ignore the interjector until the current speaker finishes\n // edge case: if we dont receive the final caption from the current speaker for 5 secs, we turn the current speaker caption to final and push in the new interjector\n else {\n if (Date.now() - captions[captions.length - 1].timestamp.getTime() > 5000) {\n captions[captions.length - 1].resultType = 'Final';\n captions.push(newCaption);\n }\n }\n }\n\n // If the array length exceeds 50, remove the oldest caption\n if (captions.length > 50) {\n captions.shift();\n }\n }\n public addTeamsCaption(callId: string, caption: TeamsCaptionsInfo): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const currentCaptionLanguage = call.captionsFeature.currentCaptionLanguage;\n if (caption.captionLanguage.toUpperCase() === currentCaptionLanguage.toUpperCase() || currentCaptionLanguage === '' || currentCaptionLanguage === undefined) {\n this.processNewCaption(call.captionsFeature.captions, convertFromTeamsSDKToCaptionInfoState(caption));\n }\n }\n });\n }\n\n /* @conditional-compile-remove(acs-close-captions) */\n public addCaption(callId: string, caption: AcsCaptionsInfo): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n this.processNewCaption(call.captionsFeature.captions, convertFromSDKToCaptionInfoState(caption));\n }\n });\n }\n\n /* @conditional-compile-remove(acs-close-captions) */\n public setCaptionsKind(callId: string, kind: CaptionsKind): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.captionsFeature.captionsKind = kind;\n }\n });\n }\n public clearCaptions(callId: string): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.captionsFeature.captions = [];\n }\n });\n }\n setIsCaptionActive(callId: string, isCaptionsActive: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.captionsFeature.isCaptionsFeatureActive = isCaptionsActive;\n }\n });\n }\n setStartCaptionsInProgress(callId: string, startCaptionsInProgress: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.captionsFeature.startCaptionsInProgress = startCaptionsInProgress;\n }\n });\n }\n setSelectedSpokenLanguage(callId: string, spokenLanguage: string): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.captionsFeature.currentSpokenLanguage = spokenLanguage;\n }\n });\n }\n setSelectedCaptionLanguage(callId: string, captionLanguage: string): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.captionsFeature.currentCaptionLanguage = captionLanguage;\n }\n });\n }\n setAvailableCaptionLanguages(callId: string, captionLanguages: string[]): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.captionsFeature.supportedCaptionLanguages = captionLanguages;\n }\n });\n }\n setAvailableSpokenLanguages(callId: string, spokenLanguages: string[]): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.captionsFeature.supportedSpokenLanguages = spokenLanguages;\n }\n });\n }\n setAcceptedTransfer(callId: string, acceptedTransfer: AcceptedTransfer): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.transfer.acceptedTransfers[acceptedTransfer.callId] = acceptedTransfer;\n }\n });\n }\n\n /**\n * Tees any errors encountered in an async function to the state.\n *\n * @param action Async function to execute.\n * @param target The error target to tee error to.\n * @returns Result of calling `f`. Also re-raises any exceptions thrown from `f`.\n * @throws CallError. Exceptions thrown from `f` are tagged with the failed `target.\n */\n public withAsyncErrorTeedToState<Args extends unknown[], R>(action: (...args: Args) => Promise<R>, target: CallErrorTarget): (...args: Args) => Promise<R> {\n return async (...args: Args): Promise<R> => {\n try {\n return await action(...args);\n } catch (error) {\n const callError = toCallError(target, error);\n this.setLatestError(target, callError);\n throw callError;\n }\n };\n }\n\n /**\n * Tees any errors encountered in an function to the state.\n *\n * @param action Function to execute.\n * @param target The error target to tee error to.\n * @returns Result of calling `f`. Also re-raises any exceptions thrown from `f`.\n * @throws CallError. Exceptions thrown from `f` are tagged with the failed `target.\n */\n public withErrorTeedToState<Args extends unknown[], R>(action: (...args: Args) => R, target: CallErrorTarget): (...args: Args) => R {\n return (...args: Args): R => {\n try {\n callingStatefulLogger.info(`Calling stateful client target function called: ${target}`);\n return action(...args);\n } catch (error) {\n const callError = toCallError(target, error);\n this.setLatestError(target, callError);\n throw callError;\n }\n };\n }\n\n /**\n * Tees direct errors to state.\n * @remarks\n * This is typically used for errors that are caught and intended to be shown to the user.\n *\n * @param error The raw error to report.\n * @param target The error target to tee error to.\n *\n * @private\n */\n public teeErrorToState = (error: Error, target: CallErrorTarget): void => {\n const callError = toCallError(target, error);\n this.setLatestError(target, callError);\n };\n private setLatestError(target: CallErrorTarget, error: CallError): void {\n this.modifyState((draft: CallClientState) => {\n draft.latestErrors[target] = error;\n });\n }\n}\nconst toCallError = (target: CallErrorTarget, error: unknown): CallError => {\n if (error instanceof Error) {\n return new CallError(target, error);\n }\n return new CallError(target, new Error(error as string));\n};\nconst findOldestCallEnded = (calls: {\n [key: string]: {\n endTime?: Date;\n };\n}): string => {\n const callEntries = Object.entries(calls);\n let [oldestCallId, oldestCall] = callEntries[0];\n if (oldestCall.endTime === undefined) {\n return oldestCallId;\n }\n for (const [callId, call] of callEntries.slice(1)) {\n if (call.endTime === undefined) {\n return callId;\n }\n if ((call.endTime?.getTime() ?? 0) < (oldestCall.endTime?.getTime() ?? 0)) {\n [oldestCallId, oldestCall] = [callId, call];\n }\n }\n return oldestCallId;\n};\nfunction clearParticipantReactionState(callContext: CallContext, callId: string, participantKey: string): void {\n callContext.setReceivedReactionFromParticipant(callId, participantKey, null);\n}"]}