@azure/communication-react 1.25.0-alpha-202502270016 → 1.25.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 (1120) hide show
  1. package/dist/communication-react.d.ts +30 -56
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-D-c4G2X8.js → ChatMessageComponentAsRichTextEditBox-DDbI_4qb.js} +41 -115
  3. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-DDbI_4qb.js.map +1 -0
  4. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-DZ0B-aeu.js → RichTextSendBoxWrapper-DmoSn5h1.js} +2 -4
  5. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-DmoSn5h1.js.map +1 -0
  6. package/dist/dist-cjs/communication-react/{index-BJy8rF6U.js → index-CYhCyRf_.js} +5582 -7282
  7. package/dist/dist-cjs/communication-react/index-CYhCyRf_.js.map +1 -0
  8. package/dist/dist-cjs/communication-react/index.js +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/constants.js +0 -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 +0 -1
  17. package/dist/dist-esm/acs-ui-common/src/dataConversion.js.map +1 -1
  18. package/dist/dist-esm/acs-ui-common/src/identifier.js +1 -4
  19. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  20. package/dist/dist-esm/acs-ui-common/src/index.js +0 -3
  21. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  22. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  23. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  24. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  25. package/dist/dist-esm/acs-ui-common/src/removeImageTags.js +1 -1
  26. package/dist/dist-esm/acs-ui-common/src/removeImageTags.js.map +1 -1
  27. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  28. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  29. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  30. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  31. package/dist/dist-esm/acs-ui-javascript-loaders/src/callCompositeLoader.js +4 -1
  32. package/dist/dist-esm/acs-ui-javascript-loaders/src/callCompositeLoader.js.map +1 -1
  33. package/dist/dist-esm/acs-ui-javascript-loaders/src/callWithChatCompositeLoader.js +4 -1
  34. package/dist/dist-esm/acs-ui-javascript-loaders/src/callWithChatCompositeLoader.js.map +1 -1
  35. package/dist/dist-esm/acs-ui-javascript-loaders/src/chatCompositeLoader.js +4 -1
  36. package/dist/dist-esm/acs-ui-javascript-loaders/src/chatCompositeLoader.js.map +1 -1
  37. package/dist/dist-esm/acs-ui-javascript-loaders/src/index.js.map +1 -1
  38. package/dist/dist-esm/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.js +7 -6
  39. package/dist/dist-esm/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.js.map +1 -1
  40. package/dist/dist-esm/acs-ui-javascript-loaders/src/utils.js +1 -1
  41. package/dist/dist-esm/acs-ui-javascript-loaders/src/utils.js.map +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +0 -5
  43. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  44. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +8 -18
  45. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  46. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +14 -55
  47. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
  48. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +55 -20
  49. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  50. package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js.map +1 -1
  52. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +81 -88
  53. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  54. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +2 -2
  55. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  56. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +5 -1
  57. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  58. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +10 -12
  59. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  60. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  61. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  62. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  63. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  64. package/dist/dist-esm/calling-component-bindings/src/incomingCallStackSelector.js +2 -8
  65. package/dist/dist-esm/calling-component-bindings/src/incomingCallStackSelector.js.map +1 -1
  66. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  67. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +61 -44
  68. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
  69. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +9 -30
  70. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  71. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  72. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  73. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +3 -6
  74. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  75. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  76. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  77. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  78. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +7 -18
  79. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  80. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +9 -11
  81. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  82. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +1 -1
  83. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +12 -22
  84. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  85. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +7 -37
  86. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  87. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  88. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js +8 -16
  89. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js.map +1 -1
  90. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  91. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +74 -65
  92. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  93. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +3 -24
  94. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  95. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +40 -71
  96. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  97. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +8 -7
  98. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +108 -99
  100. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  101. package/dist/dist-esm/calling-stateful-client/src/CallFeatureStreamUtils.js +13 -16
  102. package/dist/dist-esm/calling-stateful-client/src/CallFeatureStreamUtils.js.map +1 -1
  103. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  104. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  105. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +9 -27
  106. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  107. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js +2 -6
  108. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -1
  109. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  110. package/dist/dist-esm/calling-stateful-client/src/Converter.js +27 -18
  111. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  112. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +73 -58
  113. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  114. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +16 -14
  115. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  116. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  117. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +22 -16
  118. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  119. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +0 -3
  120. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +1 -1
  121. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js.map +1 -1
  122. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  123. package/dist/dist-esm/calling-stateful-client/src/MediaAccessSubscriber.js.map +1 -1
  124. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js +3 -1
  125. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js.map +1 -1
  126. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js.map +1 -1
  127. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  128. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js.map +1 -1
  129. package/dist/dist-esm/calling-stateful-client/src/ReactionSubscriber.js.map +1 -1
  130. package/dist/dist-esm/calling-stateful-client/src/RealTimeTextSubscriber.js +0 -3
  131. package/dist/dist-esm/calling-stateful-client/src/RealTimeTextSubscriber.js.map +1 -1
  132. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +1 -6
  133. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  134. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  135. package/dist/dist-esm/calling-stateful-client/src/SpotlightSubscriber.js.map +1 -1
  136. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +2 -2
  137. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +64 -64
  138. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  139. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +24 -34
  140. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  141. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js +11 -8
  142. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js.map +1 -1
  143. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
  144. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +8 -8
  145. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  146. package/dist/dist-esm/calling-stateful-client/src/TeamsIncomingCallDeclarative.js +16 -14
  147. package/dist/dist-esm/calling-stateful-client/src/TeamsIncomingCallDeclarative.js.map +1 -1
  148. package/dist/dist-esm/calling-stateful-client/src/TogetherModeSubscriber.js +4 -15
  149. package/dist/dist-esm/calling-stateful-client/src/TogetherModeSubscriber.js.map +1 -1
  150. package/dist/dist-esm/calling-stateful-client/src/TogetherModeVideoStreamSubscriber.js +0 -3
  151. package/dist/dist-esm/calling-stateful-client/src/TogetherModeVideoStreamSubscriber.js.map +1 -1
  152. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  153. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  154. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.d.ts +0 -1
  155. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +3 -34
  156. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  157. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js +7 -6
  158. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -1
  159. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +0 -1
  160. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  161. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  162. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +4 -4
  163. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  164. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +2 -2
  165. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  166. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +15 -15
  167. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  168. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +1 -1
  169. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +10 -28
  170. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  171. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  172. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js +0 -1
  173. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  174. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  175. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  176. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +16 -43
  177. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  178. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  179. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  180. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  181. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  182. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +7 -3
  183. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  184. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +1 -3
  185. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  186. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  187. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js +1 -4
  188. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js.map +1 -1
  189. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -10
  190. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  191. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -1
  192. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  193. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +22 -16
  194. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  195. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +11 -9
  196. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  197. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  198. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js +16 -4
  199. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js.map +1 -1
  200. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +67 -57
  201. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  202. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +128 -114
  203. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  204. package/dist/dist-esm/chat-stateful-client/src/constants.js.map +1 -1
  205. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  206. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  207. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  208. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  209. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  210. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  211. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  212. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  213. package/dist/dist-esm/communication-react/src/api-summary.js.map +1 -1
  214. package/dist/dist-esm/communication-react/src/index.js +0 -9
  215. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  216. package/dist/dist-esm/communication-react/src/javascript-loaders.js.map +1 -1
  217. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  218. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js +6 -3
  219. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js.map +1 -1
  220. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.js.map +1 -1
  221. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js.map +1 -1
  222. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js +10 -4
  223. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js.map +1 -1
  224. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js +1 -1
  225. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js.map +1 -1
  226. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js +1 -1
  227. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js.map +1 -1
  228. package/dist/dist-esm/react-components/src/components/Announcer.js +1 -1
  229. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  230. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js +11 -11
  231. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js.map +1 -1
  232. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCardGroup.js +1 -1
  233. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCardGroup.js.map +1 -1
  234. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js +6 -14
  235. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js.map +1 -1
  236. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentUploadCards.js +18 -21
  237. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentUploadCards.js.map +1 -1
  238. package/dist/dist-esm/react-components/src/components/CameraButton.js +20 -13
  239. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  240. package/dist/dist-esm/react-components/src/components/Caption.js +2 -2
  241. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
  242. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +28 -58
  243. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  244. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js +20 -38
  245. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -1
  246. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +5 -2
  247. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  248. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +22 -38
  249. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  250. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +1 -1
  251. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +25 -25
  252. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  253. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +29 -35
  254. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  255. package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.js +5 -9
  256. package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.js.map +1 -1
  257. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +1 -1
  258. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +1 -1
  259. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +1 -1
  260. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +9 -35
  261. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  262. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.d.ts +1 -1
  263. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +12 -47
  264. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
  265. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +37 -42
  266. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
  267. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +0 -7
  268. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +2 -13
  269. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
  270. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +39 -121
  271. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -1
  272. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +1 -1
  273. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +11 -44
  274. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  275. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +1 -1
  276. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +16 -57
  277. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  278. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +15 -80
  279. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  280. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  281. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  282. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +4 -7
  283. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  284. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +2 -2
  285. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  286. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  287. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  288. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  289. package/dist/dist-esm/react-components/src/components/ControlBar.js +14 -10
  290. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  291. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +4 -14
  292. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  293. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +16 -5
  294. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  295. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +10 -11
  296. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -1
  297. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +31 -22
  298. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -1
  299. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js +14 -15
  300. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
  301. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +6 -41
  302. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -1
  303. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +20 -12
  304. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +1 -1
  305. package/dist/dist-esm/react-components/src/components/DevicesButton.js +27 -19
  306. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  307. package/dist/dist-esm/react-components/src/components/Dialpad/DTMFToneGenerator.js +48 -12
  308. package/dist/dist-esm/react-components/src/components/Dialpad/DTMFToneGenerator.js.map +1 -1
  309. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +51 -45
  310. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  311. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js +4 -4
  312. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  313. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +6 -2
  314. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  315. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +9 -11
  316. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  317. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +23 -11
  318. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  319. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +4 -6
  320. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  321. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.js +5 -11
  322. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.js.map +1 -1
  323. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  324. package/dist/dist-esm/react-components/src/components/EndCallButton.js +13 -12
  325. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  326. package/dist/dist-esm/react-components/src/components/ErrorBar.js +5 -9
  327. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  328. package/dist/dist-esm/react-components/src/components/ErrorBoundary.js +6 -2
  329. package/dist/dist-esm/react-components/src/components/ErrorBoundary.js.map +1 -1
  330. package/dist/dist-esm/react-components/src/components/GridLayout.js +37 -37
  331. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  332. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +2 -2
  333. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  334. package/dist/dist-esm/react-components/src/components/HoldButton.js +1 -1
  335. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -1
  336. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +9 -7
  337. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  338. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +14 -11
  339. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
  340. package/dist/dist-esm/react-components/src/components/IncomingCallNotification.js +39 -26
  341. package/dist/dist-esm/react-components/src/components/IncomingCallNotification.js.map +1 -1
  342. package/dist/dist-esm/react-components/src/components/IncomingCallStack.js +7 -5
  343. package/dist/dist-esm/react-components/src/components/IncomingCallStack.js.map +1 -1
  344. package/dist/dist-esm/react-components/src/components/InputBoxButton.js +10 -3
  345. package/dist/dist-esm/react-components/src/components/InputBoxButton.js.map +1 -1
  346. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +7 -8
  347. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  348. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +5 -3
  349. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  350. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +22 -40
  351. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  352. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js +23 -15
  353. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js.map +1 -1
  354. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js +15 -11
  355. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js.map +1 -1
  356. package/dist/dist-esm/react-components/src/components/MentionPopover.js +13 -20
  357. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -1
  358. package/dist/dist-esm/react-components/src/components/MessageStatusIcon.js +2 -2
  359. package/dist/dist-esm/react-components/src/components/MessageStatusIcon.js.map +1 -1
  360. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  361. package/dist/dist-esm/react-components/src/components/MessageStatusIndicatorInternal.js +33 -20
  362. package/dist/dist-esm/react-components/src/components/MessageStatusIndicatorInternal.js.map +1 -1
  363. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +2 -2
  364. package/dist/dist-esm/react-components/src/components/MessageThread.js +49 -106
  365. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  366. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +17 -16
  367. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  368. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +102 -95
  369. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  370. package/dist/dist-esm/react-components/src/components/Notification.js +14 -6
  371. package/dist/dist-esm/react-components/src/components/Notification.js.map +1 -1
  372. package/dist/dist-esm/react-components/src/components/NotificationStack.js +9 -13
  373. package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
  374. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +22 -21
  375. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  376. package/dist/dist-esm/react-components/src/components/ParticipantList.js +52 -59
  377. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  378. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +32 -46
  379. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  380. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  381. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  382. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  383. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  384. package/dist/dist-esm/react-components/src/components/RTTDisclosureBanner.js +4 -7
  385. package/dist/dist-esm/react-components/src/components/RTTDisclosureBanner.js.map +1 -1
  386. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js +12 -6
  387. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js.map +1 -1
  388. package/dist/dist-esm/react-components/src/components/ReactionButton.js +23 -24
  389. package/dist/dist-esm/react-components/src/components/ReactionButton.js.map +1 -1
  390. package/dist/dist-esm/react-components/src/components/RealTimeText.js +2 -7
  391. package/dist/dist-esm/react-components/src/components/RealTimeText.js.map +1 -1
  392. package/dist/dist-esm/react-components/src/components/RealTimeTextModal.js +7 -9
  393. package/dist/dist-esm/react-components/src/components/RealTimeTextModal.js.map +1 -1
  394. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +16 -25
  395. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  396. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +2 -2
  397. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  398. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js +2 -2
  399. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +1 -1
  400. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js.map +1 -1
  401. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +11 -25
  402. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +1 -1
  403. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js +3 -1
  404. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js.map +1 -1
  405. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js.map +1 -1
  406. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js +2 -4
  407. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js.map +1 -1
  408. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js.map +1 -1
  409. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js +3 -17
  410. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js.map +1 -1
  411. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js +7 -4
  412. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js.map +1 -1
  413. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +29 -76
  414. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -1
  415. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +11 -33
  416. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -1
  417. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +32 -136
  418. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -1
  419. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +16 -18
  420. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +1 -1
  421. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js +26 -37
  422. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js.map +1 -1
  423. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js +10 -8
  424. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js.map +1 -1
  425. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js +3 -6
  426. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js.map +1 -1
  427. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js +2 -2
  428. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js.map +1 -1
  429. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +14 -6
  430. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  431. package/dist/dist-esm/react-components/src/components/SendBox.js +30 -70
  432. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  433. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +1 -17
  434. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  435. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +1 -3
  436. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  437. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js +4 -2
  438. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -1
  439. package/dist/dist-esm/react-components/src/components/StartRealTimeTextButton.js +1 -6
  440. package/dist/dist-esm/react-components/src/components/StartRealTimeTextButton.js.map +1 -1
  441. package/dist/dist-esm/react-components/src/components/StreamMedia.js +3 -14
  442. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  443. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.js +3 -10
  444. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.js.map +1 -1
  445. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.styles.js.map +1 -1
  446. package/dist/dist-esm/react-components/src/components/Survey/SurveyTypes.js.map +1 -1
  447. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.js +23 -23
  448. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.js.map +1 -1
  449. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.styles.js.map +1 -1
  450. package/dist/dist-esm/react-components/src/components/SystemMessage.js +4 -2
  451. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  452. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +22 -67
  453. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +1 -1
  454. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +48 -50
  455. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +1 -1
  456. package/dist/dist-esm/react-components/src/components/TogetherModeOverlay.js +25 -41
  457. package/dist/dist-esm/react-components/src/components/TogetherModeOverlay.js.map +1 -1
  458. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +10 -10
  459. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  460. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +6 -9
  461. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  462. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +1 -2
  463. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  464. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +1 -2
  465. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  466. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +8 -9
  467. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  468. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +1 -2
  469. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  470. package/dist/dist-esm/react-components/src/components/VerticalGallery.js +39 -19
  471. package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
  472. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js +1 -3
  473. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js.map +1 -1
  474. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +13 -9
  475. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  476. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js +22 -8
  477. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
  478. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +2 -6
  479. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -1
  480. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +8 -19
  481. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  482. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +13 -15
  483. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  484. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +16 -40
  485. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  486. package/dist/dist-esm/react-components/src/components/VideoGallery/FocusContentLayout.js +2 -2
  487. package/dist/dist-esm/react-components/src/components/VideoGallery/FocusContentLayout.js.map +1 -1
  488. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  489. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +2 -4
  490. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  491. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +4 -6
  492. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
  493. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js +11 -17
  494. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js.map +1 -1
  495. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js +24 -29
  496. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js.map +1 -1
  497. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +6 -8
  498. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  499. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +4 -2
  500. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -1
  501. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js +10 -34
  502. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -1
  503. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeLayout.js +0 -3
  504. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeLayout.js.map +1 -1
  505. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeStream.js +2 -8
  506. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeStream.js.map +1 -1
  507. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js +6 -1
  508. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js.map +1 -1
  509. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +34 -9
  510. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  511. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js +11 -2
  512. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js.map +1 -1
  513. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js.map +1 -1
  514. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  515. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteVideoTile.styles.js.map +1 -1
  516. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +3 -1
  517. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -1
  518. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +11 -10
  519. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
  520. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js +28 -22
  521. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -1
  522. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +5 -12
  523. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  524. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +73 -57
  525. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  526. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js.map +1 -1
  527. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/reactionUtils.js.map +1 -1
  528. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +31 -39
  529. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  530. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +1 -1
  531. package/dist/dist-esm/react-components/src/components/VideoGallery.js +31 -168
  532. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  533. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +0 -2
  534. package/dist/dist-esm/react-components/src/components/VideoTile.js +77 -60
  535. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  536. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js +2 -2
  537. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js.map +1 -1
  538. package/dist/dist-esm/react-components/src/components/index.js +0 -10
  539. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  540. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js.map +1 -1
  541. package/dist/dist-esm/react-components/src/components/styles/AttachmentCardGroup.styles.js.map +1 -1
  542. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -1
  543. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js +3 -8
  544. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  545. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -1
  546. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +10 -3
  547. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  548. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -1
  549. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  550. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  551. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  552. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  553. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  554. package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.js +5 -2
  555. package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.js.map +1 -1
  556. package/dist/dist-esm/react-components/src/components/styles/InputBoxButton.style.js.map +1 -1
  557. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +5 -2
  558. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  559. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +1 -1
  560. package/dist/dist-esm/react-components/src/components/styles/MessageBarLink.styles.js.map +1 -1
  561. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  562. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +10 -5
  563. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  564. package/dist/dist-esm/react-components/src/components/styles/Notification.styles.js.map +1 -1
  565. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +4 -6
  566. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  567. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  568. package/dist/dist-esm/react-components/src/components/styles/RTTDisclosureBanner.styles.js +0 -4
  569. package/dist/dist-esm/react-components/src/components/styles/RTTDisclosureBanner.styles.js.map +1 -1
  570. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js +3 -1
  571. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js.map +1 -1
  572. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js +2 -2
  573. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js.map +1 -1
  574. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +34 -9
  575. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +1 -1
  576. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js +12 -8
  577. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js.map +1 -1
  578. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +10 -2
  579. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  580. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +1 -1
  581. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +1 -1
  582. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +6 -3
  583. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  584. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  585. package/dist/dist-esm/react-components/src/components/styles/TeamsMeetingConferenceInfo.js.map +1 -1
  586. package/dist/dist-esm/react-components/src/components/styles/TogetherMode.styles.js +7 -28
  587. package/dist/dist-esm/react-components/src/components/styles/TogetherMode.styles.js.map +1 -1
  588. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +2 -1
  589. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  590. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  591. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +1 -1
  592. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js +2 -1
  593. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js.map +1 -1
  594. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +19 -5
  595. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  596. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +1 -1
  597. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  598. package/dist/dist-esm/react-components/src/components/styles/v8StyleShim.js.map +1 -1
  599. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +4 -15
  600. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  601. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +2 -2
  602. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +10 -26
  603. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  604. package/dist/dist-esm/react-components/src/components/utils/Datetime.js +4 -1
  605. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  606. package/dist/dist-esm/react-components/src/components/utils/Logger.js.map +1 -1
  607. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +8 -16
  608. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +1 -1
  609. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js +18 -26
  610. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js.map +1 -1
  611. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +12 -28
  612. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  613. package/dist/dist-esm/react-components/src/components/utils/common.js +0 -2
  614. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  615. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  616. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  617. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +1 -1
  618. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +5 -2
  619. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  620. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  621. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -1
  622. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js.map +1 -1
  623. package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
  624. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  625. package/dist/dist-esm/react-components/src/components/utils/sortCaptionsAndRealTimeTexts.js +3 -11
  626. package/dist/dist-esm/react-components/src/components/utils/sortCaptionsAndRealTimeTexts.js.map +1 -1
  627. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js +1 -10
  628. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  629. package/dist/dist-esm/react-components/src/components/utils.js +27 -41
  630. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  631. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +6 -8
  632. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  633. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  634. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +0 -2
  635. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  636. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  637. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  638. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  639. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  640. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/ComponentLocale.js.map +1 -1
  641. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/ComponentLocale.js.map +1 -1
  642. package/dist/dist-esm/react-components/src/localization/locales/cy-GB/ComponentLocale.js.map +1 -1
  643. package/dist/dist-esm/react-components/src/localization/locales/de-DE/ComponentLocale.js.map +1 -1
  644. package/dist/dist-esm/react-components/src/localization/locales/en-GB/ComponentLocale.js.map +1 -1
  645. package/dist/dist-esm/react-components/src/localization/locales/es-ES/ComponentLocale.js.map +1 -1
  646. package/dist/dist-esm/react-components/src/localization/locales/es-MX/ComponentLocale.js.map +1 -1
  647. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/ComponentLocale.js.map +1 -1
  648. package/dist/dist-esm/react-components/src/localization/locales/fr-CA/ComponentLocale.js.map +1 -1
  649. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/ComponentLocale.js.map +1 -1
  650. package/dist/dist-esm/react-components/src/localization/locales/he-IL/ComponentLocale.js.map +1 -1
  651. package/dist/dist-esm/react-components/src/localization/locales/index.js +3 -1
  652. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  653. package/dist/dist-esm/react-components/src/localization/locales/it-IT/ComponentLocale.js.map +1 -1
  654. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/ComponentLocale.js.map +1 -1
  655. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/ComponentLocale.js.map +1 -1
  656. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/ComponentLocale.js.map +1 -1
  657. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/ComponentLocale.js.map +1 -1
  658. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/ComponentLocale.js.map +1 -1
  659. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/ComponentLocale.js.map +1 -1
  660. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/ComponentLocale.js.map +1 -1
  661. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/ComponentLocale.js.map +1 -1
  662. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/ComponentLocale.js.map +1 -1
  663. package/dist/dist-esm/react-components/src/localization/locales/utils.js +1 -1
  664. package/dist/dist-esm/react-components/src/localization/locales/utils.js.map +1 -1
  665. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/ComponentLocale.js.map +1 -1
  666. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/ComponentLocale.js.map +1 -1
  667. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +5 -3
  668. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  669. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js +2 -2
  670. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js.map +1 -1
  671. package/dist/dist-esm/react-components/src/theming/generateTheme.js +1 -15
  672. package/dist/dist-esm/react-components/src/theming/generateTheme.js.map +1 -1
  673. package/dist/dist-esm/react-components/src/theming/icons.js +30 -73
  674. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  675. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -1
  676. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  677. package/dist/dist-esm/react-components/src/theming/themeDuplicates.js.map +1 -1
  678. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  679. package/dist/dist-esm/react-components/src/theming/themes.js +0 -1
  680. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  681. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js +7 -1
  682. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js.map +1 -1
  683. package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
  684. package/dist/dist-esm/react-components/src/types/CallSurveyImprovementSuggestions.js.map +1 -1
  685. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js.map +1 -1
  686. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -1
  687. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  688. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  689. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.js.map +1 -1
  690. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  691. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  692. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  693. package/dist/dist-esm/react-components/src/types/ReactionTypes.js.map +1 -1
  694. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  695. package/dist/dist-esm/react-components/src/types/SurveyIssues.js.map +1 -1
  696. package/dist/dist-esm/react-components/src/types/SurveyIssuesHeadingStrings.js.map +1 -1
  697. package/dist/dist-esm/react-components/src/types/TogetherModeTypes.js +0 -2
  698. package/dist/dist-esm/react-components/src/types/TogetherModeTypes.js.map +1 -1
  699. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +0 -2
  700. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  701. package/dist/dist-esm/react-components/src/types/index.js +0 -1
  702. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  703. package/dist/dist-esm/react-composites/src/Logger.js.map +1 -1
  704. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +51 -70
  705. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  706. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  707. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +5 -5
  708. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +64 -149
  709. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  710. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +1 -1
  711. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -7
  712. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  713. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  714. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js +3 -8
  715. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js.map +1 -1
  716. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  717. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js +3 -1
  718. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -1
  719. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  720. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +2 -2
  721. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  722. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  723. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js +3 -3
  724. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js.map +1 -1
  725. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js +11 -18
  726. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js.map +1 -1
  727. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +41 -106
  728. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  729. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +60 -36
  730. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  731. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +135 -152
  732. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -1
  733. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js +18 -10
  734. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js.map +1 -1
  735. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +7 -9
  736. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  737. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +4 -14
  738. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  739. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +7 -9
  740. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  741. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +4 -5
  742. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  743. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +4 -4
  744. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -1
  745. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +4 -4
  746. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  747. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +22 -33
  748. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  749. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +23 -39
  750. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  751. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +30 -26
  752. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  753. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +41 -68
  754. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  755. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  756. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  757. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +12 -12
  758. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  759. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js +32 -10
  760. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js.map +1 -1
  761. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +11 -29
  762. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
  763. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.js.map +1 -1
  764. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js +1 -1
  765. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js.map +1 -1
  766. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +191 -226
  767. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  768. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +4 -4
  769. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -1
  770. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  771. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  772. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js +5 -3
  773. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js.map +1 -1
  774. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +1 -3
  775. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  776. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +7 -10
  777. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  778. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +15 -31
  779. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  780. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +1 -3
  781. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  782. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +2 -5
  783. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  784. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +1 -1
  785. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -1
  786. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js +1 -1
  787. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js.map +1 -1
  788. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.js +1 -1
  789. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.js.map +1 -1
  790. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +1 -1
  791. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  792. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +7 -4
  793. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  794. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js +1 -8
  795. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js.map +1 -1
  796. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +37 -71
  797. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  798. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  799. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  800. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  801. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  802. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +24 -24
  803. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  804. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +22 -87
  805. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  806. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js +13 -5
  807. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js.map +1 -1
  808. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +6 -14
  809. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  810. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +7 -17
  811. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  812. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +3 -3
  813. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  814. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/SurveyPage.js +2 -2
  815. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/SurveyPage.js.map +1 -1
  816. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ThankYouForFeedbackPage.js +2 -2
  817. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ThankYouForFeedbackPage.js.map +1 -1
  818. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +21 -20
  819. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  820. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +3 -16
  821. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -1
  822. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  823. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  824. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  825. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js +1 -2
  826. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +1 -1
  827. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +0 -8
  828. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  829. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  830. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  831. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.d.ts +1 -1
  832. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js +4 -1
  833. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js.map +1 -1
  834. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.d.ts +1 -1
  835. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.js +1 -1
  836. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.js.map +1 -1
  837. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  838. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  839. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.d.ts +1 -1
  840. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.js.map +1 -1
  841. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  842. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  843. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  844. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +1 -1
  845. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +1 -3
  846. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  847. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.d.ts +1 -1
  848. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.js +4 -10
  849. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.js.map +1 -1
  850. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +4 -4
  851. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +1 -1
  852. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  853. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +10 -10
  854. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +2 -10
  855. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  856. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  857. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -4
  858. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  859. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  860. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  861. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  862. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +5 -5
  863. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +4 -4
  864. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  865. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  866. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  867. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  868. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +5 -5
  869. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  870. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  871. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  872. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +6 -2
  873. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  874. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +29 -41
  875. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  876. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  877. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +2 -1
  878. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  879. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/DtmfDialpadPage.styles.js.map +1 -1
  880. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +5 -2
  881. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  882. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -1
  883. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +9 -2
  884. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  885. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  886. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +4 -2
  887. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  888. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  889. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  890. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +2 -1
  891. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  892. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js +24 -6
  893. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js.map +1 -1
  894. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  895. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CapabilityChangedNotificationTracking.js.map +1 -1
  896. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  897. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +12 -10
  898. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  899. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js +7 -19
  900. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js.map +1 -1
  901. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js +2 -4
  902. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  903. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +30 -48
  904. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  905. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  906. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js +5 -15
  907. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js.map +1 -1
  908. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.js +2 -2
  909. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.js.map +1 -1
  910. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/useConsoleErrors.js.map +1 -1
  911. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +23 -98
  912. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  913. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js +1 -1
  914. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js.map +1 -1
  915. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js +7 -9
  916. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  917. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js +9 -6
  918. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js.map +1 -1
  919. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js +2 -2
  920. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js.map +1 -1
  921. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  922. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +2 -2
  923. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +39 -103
  924. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  925. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +3 -3
  926. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  927. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +0 -8
  928. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  929. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +1 -1
  930. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +2 -8
  931. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  932. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  933. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  934. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +1 -1
  935. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  936. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +1 -4
  937. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  938. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js +0 -1
  939. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  940. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js +5 -3
  941. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js.map +1 -1
  942. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +2 -9
  943. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  944. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +5 -3
  945. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  946. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +90 -183
  947. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  948. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +1 -1
  949. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -1
  950. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js +7 -11
  951. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js.map +1 -1
  952. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js +22 -30
  953. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js.map +1 -1
  954. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  955. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -2
  956. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +37 -47
  957. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  958. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -2
  959. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  960. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  961. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js +7 -12
  962. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +1 -1
  963. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +6 -21
  964. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +1 -1
  965. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  966. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +3 -1
  967. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  968. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +4 -17
  969. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  970. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  971. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +1 -1
  972. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -1
  973. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  974. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +0 -2
  975. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -1
  976. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +6 -2
  977. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  978. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +17 -9
  979. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  980. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +25 -24
  981. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  982. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -1
  983. package/dist/dist-esm/react-composites/src/composites/common/AudioProvider.js.map +1 -1
  984. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +3 -7
  985. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  986. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +14 -5
  987. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  988. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsBanner.js +15 -25
  989. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsBanner.js.map +1 -1
  990. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsSettingsModal.js +1 -1
  991. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsSettingsModal.js.map +1 -1
  992. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +23 -9
  993. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  994. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -1
  995. package/dist/dist-esm/react-composites/src/composites/common/CallingRealTimeTextModal.js +1 -5
  996. package/dist/dist-esm/react-composites/src/composites/common/CallingRealTimeTextModal.js.map +1 -1
  997. package/dist/dist-esm/react-composites/src/composites/common/CalloutWithIcon.js +5 -3
  998. package/dist/dist-esm/react-composites/src/composites/common/CalloutWithIcon.js.map +1 -1
  999. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js +16 -12
  1000. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -1
  1001. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +5 -1
  1002. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  1003. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +48 -98
  1004. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  1005. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js +37 -39
  1006. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  1007. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +92 -125
  1008. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  1009. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js +1 -1
  1010. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js.map +1 -1
  1011. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js +1 -1
  1012. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -1
  1013. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js +4 -2
  1014. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js.map +1 -1
  1015. package/dist/dist-esm/react-composites/src/composites/common/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  1016. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.js +7 -5
  1017. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.js.map +1 -1
  1018. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +145 -118
  1019. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  1020. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +1 -1
  1021. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  1022. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.js +7 -5
  1023. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.js.map +1 -1
  1024. package/dist/dist-esm/react-composites/src/composites/common/Drawer/captionSettingsDrawer.styles.js.map +1 -1
  1025. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.js +1 -1
  1026. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.js.map +1 -1
  1027. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js +9 -11
  1028. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js.map +1 -1
  1029. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +12 -23
  1030. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  1031. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  1032. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  1033. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +16 -15
  1034. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  1035. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +10 -14
  1036. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  1037. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js +0 -4
  1038. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js.map +1 -1
  1039. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +0 -7
  1040. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +8 -26
  1041. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
  1042. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +16 -8
  1043. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  1044. package/dist/dist-esm/react-composites/src/composites/common/StarSurvey.js.map +1 -1
  1045. package/dist/dist-esm/react-composites/src/composites/common/Survey.js +34 -19
  1046. package/dist/dist-esm/react-composites/src/composites/common/Survey.js.map +1 -1
  1047. package/dist/dist-esm/react-composites/src/composites/common/SurveyContent.js +2 -2
  1048. package/dist/dist-esm/react-composites/src/composites/common/SurveyContent.js.map +1 -1
  1049. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +8 -11
  1050. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  1051. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js +1 -1
  1052. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js.map +1 -1
  1053. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +13 -18
  1054. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
  1055. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  1056. package/dist/dist-esm/react-composites/src/composites/common/constants.js +0 -1
  1057. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  1058. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +7 -1
  1059. package/dist/dist-esm/react-composites/src/composites/common/icons.js +3 -7
  1060. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  1061. package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependency.js +3 -1
  1062. package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependency.js.map +1 -1
  1063. package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependencyLazy.js +3 -1
  1064. package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependencyLazy.js.map +1 -1
  1065. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.js.map +1 -1
  1066. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.js.map +1 -1
  1067. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.js.map +1 -1
  1068. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  1069. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +10 -4
  1070. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  1071. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +44 -11
  1072. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  1073. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +29 -6
  1074. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  1075. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +22 -4
  1076. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  1077. package/dist/dist-esm/react-composites/src/composites/common/styles/Survey.styles.js +13 -15
  1078. package/dist/dist-esm/react-composites/src/composites/common/styles/Survey.styles.js.map +1 -1
  1079. package/dist/dist-esm/react-composites/src/composites/common/styles/TeamsMeetingConferenceInfo.style.js.map +1 -1
  1080. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  1081. package/dist/dist-esm/react-composites/src/composites/common/utils.js +14 -20
  1082. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  1083. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  1084. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  1085. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  1086. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  1087. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/CompositeLocale.js.map +1 -1
  1088. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/CompositeLocale.js.map +1 -1
  1089. package/dist/dist-esm/react-composites/src/composites/localization/locales/cy-GB/CompositeLocale.js.map +1 -1
  1090. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/CompositeLocale.js.map +1 -1
  1091. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/CompositeLocale.js.map +1 -1
  1092. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/CompositeLocale.js.map +1 -1
  1093. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-MX/CompositeLocale.js.map +1 -1
  1094. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/CompositeLocale.js.map +1 -1
  1095. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-CA/CompositeLocale.js.map +1 -1
  1096. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/CompositeLocale.js.map +1 -1
  1097. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/CompositeLocale.js.map +1 -1
  1098. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  1099. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/CompositeLocale.js.map +1 -1
  1100. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/CompositeLocale.js.map +1 -1
  1101. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/CompositeLocale.js.map +1 -1
  1102. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/CompositeLocale.js.map +1 -1
  1103. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/CompositeLocale.js.map +1 -1
  1104. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/CompositeLocale.js.map +1 -1
  1105. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/CompositeLocale.js.map +1 -1
  1106. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/CompositeLocale.js.map +1 -1
  1107. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/CompositeLocale.js.map +1 -1
  1108. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/CompositeLocale.js.map +1 -1
  1109. package/dist/dist-esm/react-composites/src/composites/localization/locales/utils.js +1 -1
  1110. package/dist/dist-esm/react-composites/src/composites/localization/locales/utils.js.map +1 -1
  1111. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/CompositeLocale.js.map +1 -1
  1112. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/CompositeLocale.js.map +1 -1
  1113. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  1114. package/package.json +1 -1
  1115. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-D-c4G2X8.js.map +0 -1
  1116. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-DZ0B-aeu.js.map +0 -1
  1117. package/dist/dist-cjs/communication-react/index-BJy8rF6U.js.map +0 -1
  1118. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.d.ts +0 -17
  1119. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js +0 -99
  1120. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js.map +0 -1
@@ -11,10 +11,10 @@ export const useTrackedCapabilityChangedNotifications = (capabilitiesChangedAndR
11
11
  const activeNotifications = useRef({});
12
12
  useEffect(() => {
13
13
  activeNotifications.current = updateLatestCapabilityChangedNotificationMap(capabilitiesChangedAndRoleInfo, activeNotifications.current);
14
- setTrackedCapabilityChangedNotifications((prev) => updateTrackedCapabilityChangedNotificationsWithActiveNotifications(prev, Object.values(activeNotifications.current)));
14
+ setTrackedCapabilityChangedNotifications(prev => updateTrackedCapabilityChangedNotificationsWithActiveNotifications(prev, Object.values(activeNotifications.current)));
15
15
  }, [capabilitiesChangedAndRoleInfo]);
16
16
  const onDismissCapabilityChangedNotification = useCallback((notification) => {
17
- setTrackedCapabilityChangedNotifications((prev) => trackCapabilityChangedNotificationAsDismissed(notification.capabilityName, prev));
17
+ setTrackedCapabilityChangedNotifications(prev => trackCapabilityChangedNotificationAsDismissed(notification.capabilityName, prev));
18
18
  }, []);
19
19
  const latestCapabilityChangedNotifications = useMemo(() => filterLatestCapabilityChangedNotifications(Object.values(activeNotifications.current), trackedCapabilityChangedNotifications), [trackedCapabilityChangedNotifications]);
20
20
  return {
@@ -28,11 +28,9 @@ export const useTrackedCapabilityChangedNotifications = (capabilitiesChangedAndR
28
28
  * @private
29
29
  */
30
30
  export const filterLatestCapabilityChangedNotifications = (activeNotifications, trackedNotifications) => {
31
- const filteredNotifications = activeNotifications.filter((activeNotification) => {
31
+ const filteredNotifications = activeNotifications.filter(activeNotification => {
32
32
  const trackedNotification = trackedNotifications[activeNotification.capabilityName];
33
- return (!trackedNotification ||
34
- !trackedNotification.lastDismissedAt ||
35
- trackedNotification.lastDismissedAt < trackedNotification.mostRecentlyActive);
33
+ return !trackedNotification || !trackedNotification.lastDismissedAt || trackedNotification.lastDismissedAt < trackedNotification.mostRecentlyActive;
36
34
  });
37
35
  return filteredNotifications;
38
36
  };
@@ -76,28 +74,18 @@ const updateLatestCapabilityChangedNotificationMap = (capabilitiesChangedInfoAnd
76
74
  const capabilityName = capabilityKey;
77
75
  // If the active notification for a capability has the same `isPresent` value and the same reason as the new
78
76
  // capability value from the SDK then we will not create a new notification to avoid redundancy
79
- if (activeNotifications[capabilityName] &&
80
- newCapabilityValue.isPresent === ((_a = activeNotifications[capabilityName]) === null || _a === void 0 ? void 0 : _a.isPresent) &&
81
- capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.reason ===
82
- ((_b = activeNotifications[capabilityName]) === null || _b === void 0 ? void 0 : _b.changedReason)) {
77
+ if (activeNotifications[capabilityName] && newCapabilityValue.isPresent === ((_a = activeNotifications[capabilityName]) === null || _a === void 0 ? void 0 : _a.isPresent) && capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.reason === ((_b = activeNotifications[capabilityName]) === null || _b === void 0 ? void 0 : _b.changedReason)) {
83
78
  continue;
84
79
  }
85
80
  // All initial values of capabilities are not present with reason 'FeatureNotSupported'. So we should not show a
86
81
  // notification for them when they initially become present at the start of the call
87
82
  const oldCapabilityValue = capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.oldValue[capabilityName];
88
- if (newCapabilityValue.isPresent === true &&
89
- (oldCapabilityValue === null || oldCapabilityValue === void 0 ? void 0 : oldCapabilityValue.isPresent) === false &&
90
- (oldCapabilityValue === null || oldCapabilityValue === void 0 ? void 0 : oldCapabilityValue.reason) === 'FeatureNotSupported' &&
91
- capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.reason === 'MeetingOptionOrOrganizerPolicyChanged') {
83
+ if (newCapabilityValue.isPresent === true && (oldCapabilityValue === null || oldCapabilityValue === void 0 ? void 0 : oldCapabilityValue.isPresent) === false && (oldCapabilityValue === null || oldCapabilityValue === void 0 ? void 0 : oldCapabilityValue.reason) === 'FeatureNotSupported' && capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.reason === 'MeetingOptionOrOrganizerPolicyChanged') {
92
84
  continue;
93
85
  }
94
86
  // Do not show the first time the screenshare capability is present when the user's role is resolved to mirror
95
87
  // Teams behaviour
96
- if (capabilityName === 'shareScreen' &&
97
- activeNotifications['shareScreen'] === undefined &&
98
- newCapabilityValue.isPresent === true &&
99
- (oldCapabilityValue === null || oldCapabilityValue === void 0 ? void 0 : oldCapabilityValue.isPresent) === false &&
100
- capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.reason === 'RoleChanged') {
88
+ if (capabilityName === 'shareScreen' && activeNotifications['shareScreen'] === undefined && newCapabilityValue.isPresent === true && (oldCapabilityValue === null || oldCapabilityValue === void 0 ? void 0 : oldCapabilityValue.isPresent) === false && capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.reason === 'RoleChanged') {
101
89
  continue;
102
90
  }
103
91
  const newCapabilityChangeNotification = {
@@ -1 +1 @@
1
- {"version":3,"file":"TrackCapabilityChangedNotifications.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { CapabilitiesChangeInfo, ParticipantCapabilityName, ParticipantRole } from '@azure/communication-calling';\n\nimport {\n CapabalityChangedNotification,\n CapabilitiesChangeNotificationBarProps\n} from '../components/CapabilitiesChangedNotificationBar';\n\nimport { TrackedCapabilityChangedNotifications } from '../types/CapabilityChangedNotificationTracking';\n\n/**\n * Create a record for when the notification was most recently dismissed for tracking dismissed notifications.\n *\n * @private\n */\nexport const useTrackedCapabilityChangedNotifications = (\n capabilitiesChangedAndRoleInfo: CapabilitiesChangedInfoAndRole\n): CapabilitiesChangeNotificationBarProps => {\n const [trackedCapabilityChangedNotifications, setTrackedCapabilityChangedNotifications] =\n useState<TrackedCapabilityChangedNotifications>({});\n\n const activeNotifications = useRef<LatestCapabilityChangedNotificationRecord>({});\n\n useEffect(() => {\n activeNotifications.current = updateLatestCapabilityChangedNotificationMap(\n capabilitiesChangedAndRoleInfo,\n activeNotifications.current\n );\n setTrackedCapabilityChangedNotifications((prev) =>\n updateTrackedCapabilityChangedNotificationsWithActiveNotifications(\n prev,\n Object.values(activeNotifications.current)\n )\n );\n }, [capabilitiesChangedAndRoleInfo]);\n\n const onDismissCapabilityChangedNotification = useCallback((notification: CapabalityChangedNotification) => {\n setTrackedCapabilityChangedNotifications((prev) =>\n trackCapabilityChangedNotificationAsDismissed(notification.capabilityName, prev)\n );\n }, []);\n\n const latestCapabilityChangedNotifications = useMemo(\n () =>\n filterLatestCapabilityChangedNotifications(\n Object.values(activeNotifications.current),\n trackedCapabilityChangedNotifications\n ),\n [trackedCapabilityChangedNotifications]\n );\n\n return {\n capabilitiesChangedNotifications: latestCapabilityChangedNotifications,\n onDismissNotification: onDismissCapabilityChangedNotification\n };\n};\n\n/**\n * Take the set of active notifications, and filter to only those that are newer than previously dismissed notifications or have never been dismissed.\n *\n * @private\n */\nexport const filterLatestCapabilityChangedNotifications = (\n activeNotifications: CapabalityChangedNotification[],\n trackedNotifications: TrackedCapabilityChangedNotifications\n): CapabalityChangedNotification[] => {\n const filteredNotifications = activeNotifications.filter((activeNotification) => {\n const trackedNotification = trackedNotifications[activeNotification.capabilityName];\n return (\n !trackedNotification ||\n !trackedNotification.lastDismissedAt ||\n trackedNotification.lastDismissedAt < trackedNotification.mostRecentlyActive\n );\n });\n return filteredNotifications;\n};\n\n/**\n * Maintain a record of the most recently active notification for each capability name.\n *\n * @private\n */\nexport const updateTrackedCapabilityChangedNotificationsWithActiveNotifications = (\n existingTrackedNotifications: TrackedCapabilityChangedNotifications,\n activeNotifications: CapabalityChangedNotification[]\n): TrackedCapabilityChangedNotifications => {\n const trackedNotifications: TrackedCapabilityChangedNotifications = {};\n\n // Only care about active notifications. If notifications are no longer active we do not track that they have been previously dismissed.\n for (const activeNotification of activeNotifications) {\n const existingTrackedNotification = existingTrackedNotifications[activeNotification.capabilityName];\n trackedNotifications[activeNotification.capabilityName] = {\n mostRecentlyActive:\n activeNotification.timestamp ?? existingTrackedNotification?.mostRecentlyActive ?? new Date(Date.now()),\n lastDismissedAt: existingTrackedNotification?.lastDismissedAt\n };\n }\n\n return trackedNotifications;\n};\n\n/**\n * Create a record for when the notification was most recently dismissed for tracking dismissed notifications.\n *\n * @private\n */\nexport const trackCapabilityChangedNotificationAsDismissed = (\n capabilityName: ParticipantCapabilityName,\n trackedNotifications: TrackedCapabilityChangedNotifications\n): TrackedCapabilityChangedNotifications => {\n const now = new Date(Date.now());\n const existingNotification = trackedNotifications[capabilityName];\n\n return {\n ...trackedNotifications,\n [capabilityName]: {\n ...(existingNotification || {}),\n lastDismissedAt: now\n }\n };\n};\n\ninterface CapabilitiesChangedInfoAndRole {\n capabilitiesChangeInfo?: CapabilitiesChangeInfo;\n participantRole?: ParticipantRole;\n}\n\ntype LatestCapabilityChangedNotificationRecord = Partial<\n Record<ParticipantCapabilityName, CapabalityChangedNotification>\n>;\n\nconst updateLatestCapabilityChangedNotificationMap = (\n capabilitiesChangedInfoAndRole: CapabilitiesChangedInfoAndRole,\n activeNotifications: LatestCapabilityChangedNotificationRecord\n): LatestCapabilityChangedNotificationRecord => {\n if (!capabilitiesChangedInfoAndRole.capabilitiesChangeInfo) {\n return activeNotifications;\n }\n\n for (const [capabilityKey, newCapabilityValue] of Object.entries(\n capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.newValue\n )) {\n // Cast is safe because we are iterating over the enum keys on the object.entries where\n // newCapabilityValue typing is correctly returned. Object.entries limitations\n // always returns string for the key\n const capabilityName = capabilityKey as ParticipantCapabilityName;\n // If the active notification for a capability has the same `isPresent` value and the same reason as the new\n // capability value from the SDK then we will not create a new notification to avoid redundancy\n if (\n activeNotifications[capabilityName] &&\n newCapabilityValue.isPresent === activeNotifications[capabilityName]?.isPresent &&\n capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.reason ===\n activeNotifications[capabilityName]?.changedReason\n ) {\n continue;\n }\n\n // All initial values of capabilities are not present with reason 'FeatureNotSupported'. So we should not show a\n // notification for them when they initially become present at the start of the call\n const oldCapabilityValue = capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.oldValue[capabilityName];\n if (\n newCapabilityValue.isPresent === true &&\n oldCapabilityValue?.isPresent === false &&\n oldCapabilityValue?.reason === 'FeatureNotSupported' &&\n capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.reason === 'MeetingOptionOrOrganizerPolicyChanged'\n ) {\n continue;\n }\n\n // Do not show the first time the screenshare capability is present when the user's role is resolved to mirror\n // Teams behaviour\n if (\n capabilityName === 'shareScreen' &&\n activeNotifications['shareScreen'] === undefined &&\n newCapabilityValue.isPresent === true &&\n oldCapabilityValue?.isPresent === false &&\n capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.reason === 'RoleChanged'\n ) {\n continue;\n }\n\n const newCapabilityChangeNotification: CapabalityChangedNotification = {\n capabilityName: capabilityName,\n isPresent: newCapabilityValue.isPresent,\n changedReason: capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.reason,\n role: capabilitiesChangedInfoAndRole.participantRole,\n timestamp: new Date(Date.now())\n };\n activeNotifications[capabilityName] = newCapabilityChangeNotification;\n }\n return activeNotifications;\n};\n"]}
1
+ {"version":3,"file":"TrackCapabilityChangedNotifications.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { CapabilitiesChangeInfo, ParticipantCapabilityName, ParticipantRole } from '@azure/communication-calling';\nimport { CapabalityChangedNotification, CapabilitiesChangeNotificationBarProps } from '../components/CapabilitiesChangedNotificationBar';\nimport { TrackedCapabilityChangedNotifications } from '../types/CapabilityChangedNotificationTracking';\n\n/**\n * Create a record for when the notification was most recently dismissed for tracking dismissed notifications.\n *\n * @private\n */\nexport const useTrackedCapabilityChangedNotifications = (capabilitiesChangedAndRoleInfo: CapabilitiesChangedInfoAndRole): CapabilitiesChangeNotificationBarProps => {\n const [trackedCapabilityChangedNotifications, setTrackedCapabilityChangedNotifications] = useState<TrackedCapabilityChangedNotifications>({});\n const activeNotifications = useRef<LatestCapabilityChangedNotificationRecord>({});\n useEffect(() => {\n activeNotifications.current = updateLatestCapabilityChangedNotificationMap(capabilitiesChangedAndRoleInfo, activeNotifications.current);\n setTrackedCapabilityChangedNotifications(prev => updateTrackedCapabilityChangedNotificationsWithActiveNotifications(prev, Object.values(activeNotifications.current)));\n }, [capabilitiesChangedAndRoleInfo]);\n const onDismissCapabilityChangedNotification = useCallback((notification: CapabalityChangedNotification) => {\n setTrackedCapabilityChangedNotifications(prev => trackCapabilityChangedNotificationAsDismissed(notification.capabilityName, prev));\n }, []);\n const latestCapabilityChangedNotifications = useMemo(() => filterLatestCapabilityChangedNotifications(Object.values(activeNotifications.current), trackedCapabilityChangedNotifications), [trackedCapabilityChangedNotifications]);\n return {\n capabilitiesChangedNotifications: latestCapabilityChangedNotifications,\n onDismissNotification: onDismissCapabilityChangedNotification\n };\n};\n\n/**\n * Take the set of active notifications, and filter to only those that are newer than previously dismissed notifications or have never been dismissed.\n *\n * @private\n */\nexport const filterLatestCapabilityChangedNotifications = (activeNotifications: CapabalityChangedNotification[], trackedNotifications: TrackedCapabilityChangedNotifications): CapabalityChangedNotification[] => {\n const filteredNotifications = activeNotifications.filter(activeNotification => {\n const trackedNotification = trackedNotifications[activeNotification.capabilityName];\n return !trackedNotification || !trackedNotification.lastDismissedAt || trackedNotification.lastDismissedAt < trackedNotification.mostRecentlyActive;\n });\n return filteredNotifications;\n};\n\n/**\n * Maintain a record of the most recently active notification for each capability name.\n *\n * @private\n */\nexport const updateTrackedCapabilityChangedNotificationsWithActiveNotifications = (existingTrackedNotifications: TrackedCapabilityChangedNotifications, activeNotifications: CapabalityChangedNotification[]): TrackedCapabilityChangedNotifications => {\n const trackedNotifications: TrackedCapabilityChangedNotifications = {};\n\n // Only care about active notifications. If notifications are no longer active we do not track that they have been previously dismissed.\n for (const activeNotification of activeNotifications) {\n const existingTrackedNotification = existingTrackedNotifications[activeNotification.capabilityName];\n trackedNotifications[activeNotification.capabilityName] = {\n mostRecentlyActive: activeNotification.timestamp ?? existingTrackedNotification?.mostRecentlyActive ?? new Date(Date.now()),\n lastDismissedAt: existingTrackedNotification?.lastDismissedAt\n };\n }\n return trackedNotifications;\n};\n\n/**\n * Create a record for when the notification was most recently dismissed for tracking dismissed notifications.\n *\n * @private\n */\nexport const trackCapabilityChangedNotificationAsDismissed = (capabilityName: ParticipantCapabilityName, trackedNotifications: TrackedCapabilityChangedNotifications): TrackedCapabilityChangedNotifications => {\n const now = new Date(Date.now());\n const existingNotification = trackedNotifications[capabilityName];\n return {\n ...trackedNotifications,\n [capabilityName]: {\n ...(existingNotification || {}),\n lastDismissedAt: now\n }\n };\n};\ninterface CapabilitiesChangedInfoAndRole {\n capabilitiesChangeInfo?: CapabilitiesChangeInfo;\n participantRole?: ParticipantRole;\n}\ntype LatestCapabilityChangedNotificationRecord = Partial<Record<ParticipantCapabilityName, CapabalityChangedNotification>>;\nconst updateLatestCapabilityChangedNotificationMap = (capabilitiesChangedInfoAndRole: CapabilitiesChangedInfoAndRole, activeNotifications: LatestCapabilityChangedNotificationRecord): LatestCapabilityChangedNotificationRecord => {\n if (!capabilitiesChangedInfoAndRole.capabilitiesChangeInfo) {\n return activeNotifications;\n }\n for (const [capabilityKey, newCapabilityValue] of Object.entries(capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.newValue)) {\n // Cast is safe because we are iterating over the enum keys on the object.entries where\n // newCapabilityValue typing is correctly returned. Object.entries limitations\n // always returns string for the key\n const capabilityName = capabilityKey as ParticipantCapabilityName;\n // If the active notification for a capability has the same `isPresent` value and the same reason as the new\n // capability value from the SDK then we will not create a new notification to avoid redundancy\n if (activeNotifications[capabilityName] && newCapabilityValue.isPresent === activeNotifications[capabilityName]?.isPresent && capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.reason === activeNotifications[capabilityName]?.changedReason) {\n continue;\n }\n\n // All initial values of capabilities are not present with reason 'FeatureNotSupported'. So we should not show a\n // notification for them when they initially become present at the start of the call\n const oldCapabilityValue = capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.oldValue[capabilityName];\n if (newCapabilityValue.isPresent === true && oldCapabilityValue?.isPresent === false && oldCapabilityValue?.reason === 'FeatureNotSupported' && capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.reason === 'MeetingOptionOrOrganizerPolicyChanged') {\n continue;\n }\n\n // Do not show the first time the screenshare capability is present when the user's role is resolved to mirror\n // Teams behaviour\n if (capabilityName === 'shareScreen' && activeNotifications['shareScreen'] === undefined && newCapabilityValue.isPresent === true && oldCapabilityValue?.isPresent === false && capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.reason === 'RoleChanged') {\n continue;\n }\n const newCapabilityChangeNotification: CapabalityChangedNotification = {\n capabilityName: capabilityName,\n isPresent: newCapabilityValue.isPresent,\n changedReason: capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.reason,\n role: capabilitiesChangedInfoAndRole.participantRole,\n timestamp: new Date(Date.now())\n };\n activeNotifications[capabilityName] = newCapabilityChangeNotification;\n }\n return activeNotifications;\n};"]}
@@ -6,11 +6,9 @@
6
6
  * @private
7
7
  */
8
8
  export const filterLatestNotifications = (activeNotifications, trackedNotifications) => {
9
- const filteredNotifications = activeNotifications.filter((activeNotification) => {
9
+ const filteredNotifications = activeNotifications.filter(activeNotification => {
10
10
  const trackedNotification = trackedNotifications[activeNotification.type];
11
- return (!trackedNotification ||
12
- !trackedNotification.lastDismissedAt ||
13
- trackedNotification.lastDismissedAt < trackedNotification.mostRecentlyActive);
11
+ return !trackedNotification || !trackedNotification.lastDismissedAt || trackedNotification.lastDismissedAt < trackedNotification.mostRecentlyActive;
14
12
  });
15
13
  return filteredNotifications;
16
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TrackErrors.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/utils/TrackErrors.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAOlC;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,mBAAgE,EAChE,oBAA0C,EACG,EAAE;IAC/C,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,kBAAkB,EAAE,EAAE;QAC9E,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC1E,OAAO,CACL,CAAC,mBAAmB;YACpB,CAAC,mBAAmB,CAAC,eAAe;YACpC,mBAAmB,CAAC,eAAe,GAAG,mBAAmB,CAAC,kBAAkB,CAC7E,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,qBAAoE,CAAC;AAC9E,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iDAAiD,GAAG,CAC/D,4BAAkD,EAClD,mBAAgE,EAC1C,EAAE;;IACxB,MAAM,oBAAoB,GAAyB,EAAE,CAAC;IAEtD,wIAAwI;IACxI,KAAK,MAAM,kBAAkB,IAAI,mBAAmB,EAAE,CAAC;QACrD,MAAM,2BAA2B,GAAG,4BAA4B,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC1F,oBAAoB,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG;YAC9C,kBAAkB,EAChB,MAAA,MAAA,kBAAkB,CAAC,SAAS,mCAAI,2BAA2B,aAA3B,2BAA2B,uBAA3B,2BAA2B,CAAE,kBAAkB,mCAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACzG,eAAe,EAAE,2BAA2B,aAA3B,2BAA2B,uBAA3B,2BAA2B,CAAE,eAAe;SAC9D,CAAC;IACJ,CAAC;IAED,OAAO,oBAAoB,CAAC;AAC9B,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,gBAA8C,EAC9C,oBAA0C,EACpB,EAAE;IACxB,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACjC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAEpE,uCACK,oBAAoB,KACvB,CAAC,gBAAgB,CAAC,kCACb,CAAC,oBAAoB,IAAI,EAAE,CAAC,KAC/B,eAAe,EAAE,GAAG,OAEtB;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ActiveErrorMessage, ErrorType } from '@internal/react-components';\nimport { TrackedNotifications } from '../types/ErrorTracking';\n\nimport { NotificationType, ActiveNotification } from '@internal/react-components';\n\n/**\n * Take the set of active notifications, and filter to only those that are newer than previously dismissed notifications or have never been dismissed.\n *\n * @private\n */\nexport const filterLatestNotifications = (\n activeNotifications: ActiveErrorMessage[] | ActiveNotification[],\n trackedNotifications: TrackedNotifications\n): ActiveErrorMessage[] | ActiveNotification[] => {\n const filteredNotifications = activeNotifications.filter((activeNotification) => {\n const trackedNotification = trackedNotifications[activeNotification.type];\n return (\n !trackedNotification ||\n !trackedNotification.lastDismissedAt ||\n trackedNotification.lastDismissedAt < trackedNotification.mostRecentlyActive\n );\n });\n return filteredNotifications as ActiveErrorMessage[] | ActiveNotification[];\n};\n\n/**\n * Maintain a record of the most recently active notification for each notification type.\n *\n * @private\n */\nexport const updateTrackedNotificationsWithActiveNotifications = (\n existingTrackedNotifications: TrackedNotifications,\n activeNotifications: ActiveErrorMessage[] | ActiveNotification[]\n): TrackedNotifications => {\n const trackedNotifications: TrackedNotifications = {};\n\n // Only care about active notifications. If notifications are no longer active we do not track that they have been previously dismissed.\n for (const activeNotification of activeNotifications) {\n const existingTrackedNotification = existingTrackedNotifications[activeNotification.type];\n trackedNotifications[activeNotification.type] = {\n mostRecentlyActive:\n activeNotification.timestamp ?? existingTrackedNotification?.mostRecentlyActive ?? new Date(Date.now()),\n lastDismissedAt: existingTrackedNotification?.lastDismissedAt\n };\n }\n\n return trackedNotifications;\n};\n\n/**\n * Create a record for when the notification was most recently dismissed for tracking dismissed notifications.\n *\n * @private\n */\nexport const trackNotificationAsDismissed = (\n notificationType: ErrorType | NotificationType,\n trackedNotifications: TrackedNotifications\n): TrackedNotifications => {\n const now = new Date(Date.now());\n const existingNotification = trackedNotifications[notificationType];\n\n return {\n ...trackedNotifications,\n [notificationType]: {\n ...(existingNotification || {}),\n lastDismissedAt: now\n }\n };\n};\n"]}
1
+ {"version":3,"file":"TrackErrors.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/utils/TrackErrors.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAMlC;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,mBAAgE,EAAE,oBAA0C,EAA+C,EAAE;IACrM,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE;QAC5E,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC1E,OAAO,CAAC,mBAAmB,IAAI,CAAC,mBAAmB,CAAC,eAAe,IAAI,mBAAmB,CAAC,eAAe,GAAG,mBAAmB,CAAC,kBAAkB,CAAC;IACtJ,CAAC,CAAC,CAAC;IACH,OAAO,qBAAoE,CAAC;AAC9E,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iDAAiD,GAAG,CAAC,4BAAkD,EAAE,mBAAgE,EAAwB,EAAE;;IAC9M,MAAM,oBAAoB,GAAyB,EAAE,CAAC;IAEtD,wIAAwI;IACxI,KAAK,MAAM,kBAAkB,IAAI,mBAAmB,EAAE,CAAC;QACrD,MAAM,2BAA2B,GAAG,4BAA4B,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC1F,oBAAoB,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG;YAC9C,kBAAkB,EAAE,MAAA,MAAA,kBAAkB,CAAC,SAAS,mCAAI,2BAA2B,aAA3B,2BAA2B,uBAA3B,2BAA2B,CAAE,kBAAkB,mCAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3H,eAAe,EAAE,2BAA2B,aAA3B,2BAA2B,uBAA3B,2BAA2B,CAAE,eAAe;SAC9D,CAAC;IACJ,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,gBAA8C,EAAE,oBAA0C,EAAwB,EAAE;IAC/J,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACjC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACpE,uCACK,oBAAoB,KACvB,CAAC,gBAAgB,CAAC,kCACb,CAAC,oBAAoB,IAAI,EAAE,CAAC,KAC/B,eAAe,EAAE,GAAG,OAEtB;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ActiveErrorMessage, ErrorType } from '@internal/react-components';\nimport { TrackedNotifications } from '../types/ErrorTracking';\nimport { NotificationType, ActiveNotification } from '@internal/react-components';\n\n/**\n * Take the set of active notifications, and filter to only those that are newer than previously dismissed notifications or have never been dismissed.\n *\n * @private\n */\nexport const filterLatestNotifications = (activeNotifications: ActiveErrorMessage[] | ActiveNotification[], trackedNotifications: TrackedNotifications): ActiveErrorMessage[] | ActiveNotification[] => {\n const filteredNotifications = activeNotifications.filter(activeNotification => {\n const trackedNotification = trackedNotifications[activeNotification.type];\n return !trackedNotification || !trackedNotification.lastDismissedAt || trackedNotification.lastDismissedAt < trackedNotification.mostRecentlyActive;\n });\n return filteredNotifications as ActiveErrorMessage[] | ActiveNotification[];\n};\n\n/**\n * Maintain a record of the most recently active notification for each notification type.\n *\n * @private\n */\nexport const updateTrackedNotificationsWithActiveNotifications = (existingTrackedNotifications: TrackedNotifications, activeNotifications: ActiveErrorMessage[] | ActiveNotification[]): TrackedNotifications => {\n const trackedNotifications: TrackedNotifications = {};\n\n // Only care about active notifications. If notifications are no longer active we do not track that they have been previously dismissed.\n for (const activeNotification of activeNotifications) {\n const existingTrackedNotification = existingTrackedNotifications[activeNotification.type];\n trackedNotifications[activeNotification.type] = {\n mostRecentlyActive: activeNotification.timestamp ?? existingTrackedNotification?.mostRecentlyActive ?? new Date(Date.now()),\n lastDismissedAt: existingTrackedNotification?.lastDismissedAt\n };\n }\n return trackedNotifications;\n};\n\n/**\n * Create a record for when the notification was most recently dismissed for tracking dismissed notifications.\n *\n * @private\n */\nexport const trackNotificationAsDismissed = (notificationType: ErrorType | NotificationType, trackedNotifications: TrackedNotifications): TrackedNotifications => {\n const now = new Date(Date.now());\n const existingNotification = trackedNotifications[notificationType];\n return {\n ...trackedNotifications,\n [notificationType]: {\n ...(existingNotification || {}),\n lastDismissedAt: now\n }\n };\n};"]}
@@ -38,7 +38,7 @@ export const BOT_TIMEOUT_SUB_CODE = 10321;
38
38
  */
39
39
  export const isCameraOn = (state) => {
40
40
  if (state.call) {
41
- const stream = state.call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video');
41
+ const stream = state.call.localVideoStreams.find(stream => stream.mediaStreamType === 'Video');
42
42
  return !!stream;
43
43
  }
44
44
  else {
@@ -87,9 +87,7 @@ const getCallEndReason = (call) => {
87
87
  * If yes, the caller was kicked out of the call, but we need to show them that they left the call.
88
88
  * Note: This check will only work for 1:1 PSTN Calls. The subcode is different for 1:N PSTN calls, and we do not need to handle that case.
89
89
  */
90
- if (remoteParticipantsEndedArray[0] &&
91
- isPhoneNumberIdentifier(remoteParticipantsEndedArray[0].identifier) &&
92
- ((_a = call.callEndReason) === null || _a === void 0 ? void 0 : _a.subCode) !== REMOTE_PSTN_USER_HUNG_UP) {
90
+ if (remoteParticipantsEndedArray[0] && isPhoneNumberIdentifier(remoteParticipantsEndedArray[0].identifier) && ((_a = call.callEndReason) === null || _a === void 0 ? void 0 : _a.subCode) !== REMOTE_PSTN_USER_HUNG_UP) {
93
91
  return CallEndReasons.LEFT_CALL;
94
92
  }
95
93
  if (((_b = call.callEndReason) === null || _b === void 0 ? void 0 : _b.subCode) && call.callEndReason.subCode === ACCESS_DENIED_TEAMS_MEETING_SUB_CODE) {
@@ -226,7 +224,12 @@ export const getEndedCallPageProps = (locale, endedCall) => {
226
224
  }
227
225
  break;
228
226
  }
229
- return { title, moreDetails, disableStartCallButton, iconName };
227
+ return {
228
+ title,
229
+ moreDetails,
230
+ disableStartCallButton,
231
+ iconName
232
+ };
230
233
  };
231
234
  /**
232
235
  * Get the current call composite page based on the current call composite state
@@ -242,14 +245,12 @@ export const getEndedCallPageProps = (locale, endedCall) => {
242
245
  * @private
243
246
  */
244
247
  export const getCallCompositePage = (call, previousCall, transferCall, isReturningFromBreakoutRoom, unsupportedBrowserInfo) => {
245
- /* @conditional-compile-remove(unsupported-browser) */
246
248
  if (isUnsupportedEnvironment(unsupportedBrowserInfo === null || unsupportedBrowserInfo === void 0 ? void 0 : unsupportedBrowserInfo.environmentInfo, unsupportedBrowserInfo === null || unsupportedBrowserInfo === void 0 ? void 0 : unsupportedBrowserInfo.unsupportedBrowserVersionOptedIn)) {
247
249
  return 'unsupportedEnvironment';
248
250
  }
249
251
  if (transferCall !== undefined) {
250
252
  return 'transferring';
251
253
  }
252
- /* @conditional-compile-remove(breakout-rooms) */
253
254
  if (isReturningFromBreakoutRoom) {
254
255
  return 'returningFromBreakoutRoom';
255
256
  }
@@ -300,16 +301,7 @@ export const getCallCompositePage = (call, previousCall, transferCall, isReturni
300
301
  return 'configuration';
301
302
  };
302
303
  /** @private */
303
- export const IsCallEndedPage = (
304
- /**
305
- * Explicitly listing the pages of this function intentionally.
306
- * This protects against adding a new composite page that should be marked as an callEndedPage.
307
- * EndCallPages are used to trigger onCallEnded events so this could easily be missed.
308
- * When you add a new composite page this will throw a compiler error. If this new page is an
309
- * EndCallPage ensure you update the END_CALL_PAGES. Afterwards update the `page` parameter
310
- * type below to allow your new page, i.e. add `| <your new page>
311
- */
312
- page) => END_CALL_PAGES.includes(page);
304
+ export const IsCallEndedPage = (page) => END_CALL_PAGES.includes(page);
313
305
  /**
314
306
  * Creates a new call control options object and sets the correct values for disabling
315
307
  * the buttons provided in the `disabledControls` array.
@@ -332,18 +324,22 @@ export const disableCallControls = (callControlOptions, disabledControls) => {
332
324
  // @ts-expect-error TODO: fix noImplicitAny error here
333
325
  // Not solveable at this time due to typescript limitations. The typing is too complex for typescript to
334
326
  // understand. Will need to revisit when either typescript or the calling component bindings are updated.
335
- acc[key] = { disabled: true };
327
+ acc[key] = {
328
+ disabled: true
329
+ };
336
330
  return acc;
337
331
  }, {});
338
332
  }
339
333
  else {
340
- disabledControls.forEach((key) => {
334
+ disabledControls.forEach(key => {
341
335
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
342
336
  // @ts-expect-error refer to above comment
343
337
  if (newOptions[key] !== false) {
344
338
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
345
339
  // @ts-expect-error refer to above comment
346
- newOptions[key] = { disabled: true };
340
+ newOptions[key] = {
341
+ disabled: true
342
+ };
347
343
  }
348
344
  });
349
345
  }
@@ -363,33 +359,34 @@ export const isDisabled = (option) => {
363
359
  }
364
360
  return option.disabled;
365
361
  };
366
- /* @conditional-compile-remove(call-readiness) */
367
362
  /**
368
363
  * @returns Permissions state for the camera.
369
364
  */
370
365
  const queryCameraPermissionFromPermissionsAPI = () => __awaiter(void 0, void 0, void 0, function* () {
371
366
  try {
372
- return (yield navigator.permissions.query({ name: 'camera' })).state;
367
+ return (yield navigator.permissions.query({
368
+ name: 'camera'
369
+ })).state;
373
370
  }
374
371
  catch (e) {
375
372
  console.info('permissions API is not supported by browser', e);
376
373
  return 'unsupported';
377
374
  }
378
375
  });
379
- /* @conditional-compile-remove(call-readiness) */
380
376
  /**
381
377
  * @returns Permissions state for the microphone.
382
378
  */
383
379
  const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter(void 0, void 0, void 0, function* () {
384
380
  try {
385
- return (yield navigator.permissions.query({ name: 'microphone' })).state;
381
+ return (yield navigator.permissions.query({
382
+ name: 'microphone'
383
+ })).state;
386
384
  }
387
385
  catch (e) {
388
386
  console.info('permissions API is not supported by browser', e);
389
387
  return 'unsupported';
390
388
  }
391
389
  });
392
- /* @conditional-compile-remove(call-readiness) */
393
390
  /**
394
391
  *
395
392
  * This function uses permission API to determine if device permission state is granted, prompt or denied
@@ -398,18 +395,12 @@ const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter(void 0, void
398
395
  * @private
399
396
  */
400
397
  export const getDevicePermissionState = (setVideoState, setAudioState) => __awaiter(void 0, void 0, void 0, function* () {
401
- const [cameraResult, microphoneResult] = yield Promise.all([
402
- queryCameraPermissionFromPermissionsAPI(),
403
- queryMicrophonePermissionFromPermissionsAPI()
404
- ]);
398
+ const [cameraResult, microphoneResult] = yield Promise.all([queryCameraPermissionFromPermissionsAPI(), queryMicrophonePermissionFromPermissionsAPI()]);
405
399
  setVideoState(cameraResult);
406
400
  setAudioState(microphoneResult);
407
401
  });
408
- /* @conditional-compile-remove(unsupported-browser) */
409
402
  const isUnsupportedEnvironment = (environmentInfo, unsupportedBrowserVersionOptedIn) => {
410
- return !!((environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.isSupportedBrowser) === false ||
411
- ((environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.isSupportedBrowserVersion) === false && !unsupportedBrowserVersionOptedIn) ||
412
- (environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.isSupportedPlatform) === false);
403
+ return !!((environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.isSupportedBrowser) === false || (environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.isSupportedBrowserVersion) === false && !unsupportedBrowserVersionOptedIn || (environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.isSupportedPlatform) === false);
413
404
  };
414
405
  /**
415
406
  * Check if we are using safari browser
@@ -457,18 +448,13 @@ export const createParticipantModifier = (createModifiedParticipant) => {
457
448
  }
458
449
  previousParticipantState = (_d = state.call) === null || _d === void 0 ? void 0 : _d.remoteParticipants;
459
450
  }
460
- return Object.assign(Object.assign({}, state), { call: state.call
461
- ? Object.assign(Object.assign({}, state.call), { remoteParticipants: modifiedParticipants }) : undefined });
451
+ return Object.assign(Object.assign({}, state), { call: state.call ? Object.assign(Object.assign({}, state.call), { remoteParticipants: modifiedParticipants }) : undefined });
462
452
  };
463
453
  };
464
454
  /** @private */
465
- export const getBackgroundEffectFromSelectedEffect = (selectedEffect, VideoBackgroundEffectsDependency) => (selectedEffect === null || selectedEffect === void 0 ? void 0 : selectedEffect.effectName) === 'blur'
466
- ? VideoBackgroundEffectsDependency.createBackgroundBlurEffect()
467
- : (selectedEffect === null || selectedEffect === void 0 ? void 0 : selectedEffect.effectName) === 'replacement'
468
- ? VideoBackgroundEffectsDependency.createBackgroundReplacementEffect({
469
- backgroundImageUrl: selectedEffect.backgroundImageUrl
470
- })
471
- : undefined;
455
+ export const getBackgroundEffectFromSelectedEffect = (selectedEffect, VideoBackgroundEffectsDependency) => (selectedEffect === null || selectedEffect === void 0 ? void 0 : selectedEffect.effectName) === 'blur' ? VideoBackgroundEffectsDependency.createBackgroundBlurEffect() : (selectedEffect === null || selectedEffect === void 0 ? void 0 : selectedEffect.effectName) === 'replacement' ? VideoBackgroundEffectsDependency.createBackgroundReplacementEffect({
456
+ backgroundImageUrl: selectedEffect.backgroundImageUrl
457
+ }) : undefined;
472
458
  /**
473
459
  * @remarks this logic should mimic the onToggleCamera in the common call handlers.
474
460
  * @private
@@ -554,8 +540,7 @@ const ComplianceNotificationOffDebounceTimeMs = 2000;
554
540
  export function computeComplianceNotification(complianceProps, cachedProps) {
555
541
  // Only update cached props and variant if there is _some_ change in the latest props.
556
542
  // This ensures that state machine is only updated if there is an actual change in the props.
557
- const shouldUpdateCached = complianceProps.callRecordState !== cachedProps.current.latestBooleanState.callRecordState ||
558
- complianceProps.callTranscribeState !== cachedProps.current.latestBooleanState.callTranscribeState;
543
+ const shouldUpdateCached = complianceProps.callRecordState !== cachedProps.current.latestBooleanState.callRecordState || complianceProps.callTranscribeState !== cachedProps.current.latestBooleanState.callTranscribeState;
559
544
  // The following three operations must be performed in this exact order:
560
545
  // [1]: Update cached state to transition the state machine.
561
546
  if (shouldUpdateCached) {
@@ -570,10 +555,7 @@ export function computeComplianceNotification(complianceProps, cachedProps) {
570
555
  }
571
556
  // [2]: If the callRecordState and callTranscribeState are both stopped for a predetermined amount of time, mark both states as off.
572
557
  // NOTE: this can be removed once lastStoppedRecording in the calling stateful client is GA.
573
- if (shouldUpdateCached &&
574
- cachedProps.current.latestStringState.callRecordState === 'stopped' &&
575
- cachedProps.current.latestStringState.callTranscribeState === 'stopped' &&
576
- Date.now() - cachedProps.current.lastUpdated > ComplianceNotificationOffDebounceTimeMs) {
558
+ if (shouldUpdateCached && cachedProps.current.latestStringState.callRecordState === 'stopped' && cachedProps.current.latestStringState.callTranscribeState === 'stopped' && Date.now() - cachedProps.current.lastUpdated > ComplianceNotificationOffDebounceTimeMs) {
577
559
  // When both states are stopped, after displaying message "RECORDING_AND_TRANSCRIPTION_STOPPED", change both states to off (going back to the default state).
578
560
  cachedProps.current.latestStringState.callRecordState = 'off';
579
561
  cachedProps.current.latestStringState.callTranscribeState = 'off';
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/utils/Utils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CallAdapterState, CallCompositePage, END_CALL_PAGES, StartCallIdentifier } from '../adapter/CallAdapter';\nimport { _isInCall, _isPreviewOn, _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport { CallControlOptions } from '../types/CallControlOptions';\nimport { CallState, RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { isPhoneNumberIdentifier } from '@azure/communication-common';\nimport { AdapterStateModifier, CallAdapterLocator } from '../adapter/AzureCommunicationCallAdapter';\n\nimport { VideoBackgroundEffectsDependency } from '@internal/calling-component-bindings';\n\nimport { VideoBackgroundEffect } from '../adapter/CallAdapter';\nimport { EnvironmentInfo, VideoDeviceInfo } from '@azure/communication-calling';\n\nimport { VideoEffectProcessor } from '@azure/communication-calling';\nimport { CompositeLocale } from '../../localization';\nimport { CallCompositeIcons } from '../../common/icons';\n\nimport { ActiveNotification } from '@internal/react-components';\n\nconst ACCESS_DENIED_TEAMS_MEETING_SUB_CODE = 5854;\nconst REMOTE_PSTN_USER_HUNG_UP = 560000;\nconst REMOVED_FROM_CALL_SUB_CODES = [5000, 5300, REMOTE_PSTN_USER_HUNG_UP];\nconst CALL_REJECTED_CODE = 603;\nconst INVALID_MEETING_IDENTIFIER = 5751;\n/** @private */\nexport const ROOM_NOT_FOUND_SUB_CODE = 5732;\n/** @private */\nexport const ROOM_NOT_VALID_SUB_CODE = 5829;\n/** @private */\nexport const NOT_INVITED_TO_ROOM_SUB_CODE = 5828;\n/** @private */\nexport const INVITE_TO_ROOM_REMOVED_SUB_CODE = 5317;\n/** @private */\nexport const CALL_TIMEOUT_SUB_CODE = 10004;\n/** @private */\nexport const CALL_TIMEOUT_CODE = 487;\n/** @private */\nexport const BOT_TIMEOUT_CODE = 486;\n/** @private */\nexport const BOT_TIMEOUT_SUB_CODE = 10321;\n\n/**\n * @private\n */\nexport const isCameraOn = (state: CallAdapterState): boolean => {\n if (state.call) {\n const stream = state.call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video');\n return !!stream;\n } else {\n if (state.devices.selectedCamera) {\n const previewOn = _isPreviewOn(state.devices);\n return previewOn;\n }\n }\n return false;\n};\n\n/**\n * Reduce the set of call controls visible on mobile.\n * For example do not show screenshare button.\n *\n * @private\n */\nexport const reduceCallControlsForMobile = (\n callControlOptions: CallControlOptions | boolean | undefined\n): CallControlOptions | false => {\n if (callControlOptions === false) {\n return false;\n }\n\n // Ensure call controls a valid object.\n const reduceCallControlOptions = callControlOptions === true ? {} : callControlOptions || {};\n\n // Set to compressed mode when composite is optimized for mobile\n reduceCallControlOptions.displayType = 'compact';\n\n // Do not show screen share button when composite is optimized for mobile unless the developer\n // has explicitly opted in.\n if (reduceCallControlOptions.screenShareButton !== true) {\n reduceCallControlOptions.screenShareButton = false;\n }\n\n return reduceCallControlOptions;\n};\n\nenum CallEndReasons {\n LEFT_CALL,\n ACCESS_DENIED,\n REMOVED_FROM_CALL,\n BAD_REQUEST\n}\n\nconst getCallEndReason = (call: CallState): CallEndReasons => {\n const remoteParticipantsEndedArray = Array.from(Object.values(call.remoteParticipantsEnded));\n /**\n * Handle the special case in a PSTN call where removing the last user kicks the caller out of the call.\n * The code and subcode is the same as when a user is removed from a teams interop call.\n * Hence, we look at the last remote participant removed to determine if the last participant removed was a phone number.\n * If yes, the caller was kicked out of the call, but we need to show them that they left the call.\n * Note: This check will only work for 1:1 PSTN Calls. The subcode is different for 1:N PSTN calls, and we do not need to handle that case.\n */\n if (\n remoteParticipantsEndedArray[0] &&\n isPhoneNumberIdentifier(remoteParticipantsEndedArray[0].identifier) &&\n call.callEndReason?.subCode !== REMOTE_PSTN_USER_HUNG_UP\n ) {\n return CallEndReasons.LEFT_CALL;\n }\n\n if (call.callEndReason?.subCode && call.callEndReason.subCode === ACCESS_DENIED_TEAMS_MEETING_SUB_CODE) {\n return CallEndReasons.ACCESS_DENIED;\n }\n\n if (call.callEndReason?.subCode && REMOVED_FROM_CALL_SUB_CODES.includes(call.callEndReason.subCode)) {\n return CallEndReasons.REMOVED_FROM_CALL;\n }\n\n // If the call end reason code is 400, the call is ended due to a bad request. Keep this line at the bottom right before returning normal left call to catch the scenarios not including the ones above.\n if (call.callEndReason?.code === 400) {\n return CallEndReasons.BAD_REQUEST;\n }\n\n if (call.callEndReason) {\n // No error codes match, assume the user simply left the call regularly\n return CallEndReasons.LEFT_CALL;\n }\n\n throw new Error('No matching call end reason');\n};\n\n/**\n * Helper function for determine strings and icons for end call page\n * @private\n */\nexport const getEndedCallPageProps = (\n locale: CompositeLocale,\n endedCall?: CallState\n): { title: string; moreDetails?: string; disableStartCallButton: boolean; iconName: keyof CallCompositeIcons } => {\n let title = locale.strings.call.leftCallTitle;\n let moreDetails = locale.strings.call.leftCallMoreDetails;\n let disableStartCallButton = false;\n let iconName: keyof CallCompositeIcons = 'NoticePageLeftCall';\n switch (endedCall?.callEndReason?.subCode) {\n case ROOM_NOT_FOUND_SUB_CODE:\n if (locale.strings.call.roomNotFoundTitle) {\n title = locale.strings.call.roomNotFoundTitle;\n moreDetails = locale.strings.call.roomNotFoundDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageRoomNotFound';\n }\n break;\n case ROOM_NOT_VALID_SUB_CODE:\n if (locale.strings.call.roomNotValidTitle) {\n title = locale.strings.call.roomNotValidTitle;\n moreDetails = locale.strings.call.roomNotValidDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageRoomNotValid';\n }\n break;\n case NOT_INVITED_TO_ROOM_SUB_CODE:\n if (locale.strings.call.notInvitedToRoomTitle) {\n title = locale.strings.call.notInvitedToRoomTitle;\n moreDetails = locale.strings.call.notInvitedToRoomDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageNotInvitedToRoom';\n }\n break;\n case INVITE_TO_ROOM_REMOVED_SUB_CODE:\n if (locale.strings.call.inviteToRoomRemovedTitle) {\n title = locale.strings.call.inviteToRoomRemovedTitle;\n moreDetails = locale.strings.call.inviteToRoomRemovedDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageInviteToRoomRemoved';\n }\n break;\n case CALL_TIMEOUT_SUB_CODE:\n if (endedCall?.callEndReason?.code === CALL_TIMEOUT_CODE && locale.strings.call.callTimeoutTitle) {\n title = locale.strings.call.callTimeoutTitle;\n moreDetails = locale.strings.call.callTimeoutDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageCallTimeout';\n }\n break;\n case BOT_TIMEOUT_SUB_CODE:\n if (endedCall?.callEndReason?.code === BOT_TIMEOUT_CODE && locale.strings.call.callTimeoutBotTitle) {\n title = locale.strings.call.callTimeoutBotTitle;\n moreDetails = locale.strings.call.callTimeoutBotDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageCallTimeout';\n }\n break;\n }\n switch (endedCall?.callEndReason?.code) {\n case CALL_REJECTED_CODE:\n if (locale.strings.call.callRejectedTitle) {\n title = locale.strings.call.callRejectedTitle;\n moreDetails = locale.strings.call.callRejectedMoreDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageCallRejected';\n }\n break;\n }\n switch (endedCall?.callEndReason?.subCode) {\n case 10037:\n if (locale.strings.call.participantCouldNotBeReachedTitle) {\n title = locale.strings.call.participantCouldNotBeReachedTitle;\n moreDetails = locale.strings.call.participantCouldNotBeReachedMoreDetails;\n disableStartCallButton = true;\n }\n break;\n case 10124:\n if (locale.strings.call.permissionToReachTargetParticipantNotAllowedTitle) {\n title = locale.strings.call.permissionToReachTargetParticipantNotAllowedTitle;\n moreDetails = locale.strings.call.permissionToReachTargetParticipantNotAllowedMoreDetails;\n disableStartCallButton = true;\n }\n break;\n case 10119:\n if (locale.strings.call.unableToResolveTenantTitle) {\n title = locale.strings.call.unableToResolveTenantTitle;\n moreDetails = locale.strings.call.unableToResolveTenantMoreDetails;\n disableStartCallButton = true;\n }\n break;\n case 10044:\n if (locale.strings.call.participantIdIsMalformedTitle) {\n title = locale.strings.call.participantIdIsMalformedTitle;\n moreDetails = locale.strings.call.participantIdIsMalformedMoreDetails;\n disableStartCallButton = true;\n }\n break;\n }\n switch (endedCall?.callEndReason?.subCode) {\n case INVALID_MEETING_IDENTIFIER:\n if (locale.strings.call.callRejectedTitle) {\n title = locale.strings.call.callRejectedTitle;\n moreDetails = locale.strings.call.invalidMeetingIdentifier;\n disableStartCallButton = true;\n }\n break;\n }\n // keep this at the bottom to catch the scenarios not including the ones above.\n switch (endedCall?.callEndReason?.code) {\n case 400:\n if (locale.strings.call.callRejectedTitle) {\n title = locale.strings.call.callRejectedTitle;\n disableStartCallButton = true;\n }\n break;\n }\n return { title, moreDetails, disableStartCallButton, iconName };\n};\n\n/**\n * type definition for conditional-compilation\n */\ntype GetCallCompositePageFunction = ((\n call: CallState | undefined,\n previousCall: CallState | undefined\n) => CallCompositePage) &\n ((\n call: CallState | undefined,\n previousCall: CallState | undefined,\n transferCall?: CallState,\n isReturningFromBreakoutRoom?: boolean,\n /* @conditional-compile-remove(unsupported-browser) */ unsupportedBrowserInfo?: {\n environmentInfo?: EnvironmentInfo;\n unsupportedBrowserVersionOptedIn?: boolean;\n }\n ) => CallCompositePage);\n/**\n * Get the current call composite page based on the current call composite state\n *\n * @param Call - The current call state\n * @param previousCall - The state of the most recent previous call that has ended.\n *\n * @remarks - The previousCall state is needed to determine if the call has ended.\n * When the call ends a new call object is created, and so we must lookback at the\n * previous call state to understand how the call has ended. If there is no previous\n * call we know that this is a fresh call and can display the configuration page.\n *\n * @private\n */\nexport const getCallCompositePage: GetCallCompositePageFunction = (\n call,\n previousCall?,\n transferCall?: CallState,\n isReturningFromBreakoutRoom?: boolean,\n unsupportedBrowserInfo?: {\n /* @conditional-compile-remove(unsupported-browser) */\n environmentInfo?: EnvironmentInfo;\n unsupportedBrowserVersionOptedIn?: boolean;\n }\n): CallCompositePage => {\n /* @conditional-compile-remove(unsupported-browser) */\n if (\n isUnsupportedEnvironment(\n unsupportedBrowserInfo?.environmentInfo,\n unsupportedBrowserInfo?.unsupportedBrowserVersionOptedIn\n )\n ) {\n return 'unsupportedEnvironment';\n }\n\n if (transferCall !== undefined) {\n return 'transferring';\n }\n\n /* @conditional-compile-remove(breakout-rooms) */\n if (isReturningFromBreakoutRoom) {\n return 'returningFromBreakoutRoom';\n }\n\n if (call) {\n // Must check for ongoing call *before* looking at any previous calls.\n // If the composite completes one call and joins another, the previous calls\n // will be populated, but not relevant for determining the page.\n\n // `_isInLobbyOrConnecting` needs to be checked first because `_isInCall` also returns true when call is in lobby.\n if (_isInLobbyOrConnecting(call?.state)) {\n return 'lobby';\n // `LocalHold` needs to be checked before `isInCall` since it is also a state that's considered in call.\n } else if (call?.state === 'LocalHold') {\n return 'hold';\n } else if (call?.state === 'Disconnecting') {\n return 'leaving';\n } else if (_isInCall(call?.state)) {\n return 'call';\n } else {\n // When the call object has been constructed after clicking , but before 'connecting' has been\n // set on the call object, we continue to show the configuration screen.\n // The call object does not correctly reflect local device state until `call.state` moves to `connecting`.\n // Moving to the 'lobby' page too soon leads to components that depend on the `call` object to show incorrect\n // transitional state.\n return 'configuration';\n }\n }\n\n if (previousCall) {\n const reason = getCallEndReason(previousCall);\n switch (reason) {\n case CallEndReasons.ACCESS_DENIED:\n return 'accessDeniedTeamsMeeting';\n case CallEndReasons.REMOVED_FROM_CALL:\n return 'removedFromCall';\n case CallEndReasons.BAD_REQUEST:\n return 'badRequest';\n case CallEndReasons.LEFT_CALL:\n if (previousCall.diagnostics.network.latest.noNetwork) {\n return 'joinCallFailedDueToNoNetwork';\n }\n return 'leftCall';\n }\n }\n\n // No call state - show starting page (configuration)\n return 'configuration';\n};\n\n/** @private */\nexport const IsCallEndedPage = (\n /**\n * Explicitly listing the pages of this function intentionally.\n * This protects against adding a new composite page that should be marked as an callEndedPage.\n * EndCallPages are used to trigger onCallEnded events so this could easily be missed.\n * When you add a new composite page this will throw a compiler error. If this new page is an\n * EndCallPage ensure you update the END_CALL_PAGES. Afterwards update the `page` parameter\n * type below to allow your new page, i.e. add `| <your new page>\n */\n page: CallCompositePage\n): boolean => END_CALL_PAGES.includes(page);\n\n/**\n * Creates a new call control options object and sets the correct values for disabling\n * the buttons provided in the `disabledControls` array.\n * Returns a new object without changing the original object.\n * @param callControlOptions options for the call control component that need to be modified.\n * @param disabledControls An array of controls to disable.\n * @returns a copy of callControlOptions with disabledControls disabled\n * @private\n */\nexport const disableCallControls = (\n callControlOptions: CallControlOptions | boolean | undefined,\n disabledControls: (keyof CallControlOptions)[]\n): CallControlOptions | boolean | undefined => {\n if (callControlOptions === false) {\n return false;\n }\n // Ensure we clone the prop if it is an object to ensure we do not mutate the original prop.\n let newOptions: CallControlOptions | boolean | undefined =\n (callControlOptions instanceof Object ? ({ ...callControlOptions } as CallControlOptions) : callControlOptions) ??\n ({} as Partial<CallControlOptions>);\n if (newOptions === true || newOptions === undefined) {\n newOptions = disabledControls.reduce((acc, key) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n // @ts-expect-error TODO: fix noImplicitAny error here\n // Not solveable at this time due to typescript limitations. The typing is too complex for typescript to\n // understand. Will need to revisit when either typescript or the calling component bindings are updated.\n acc[key] = { disabled: true };\n return acc;\n }, {} as Partial<CallControlOptions>);\n } else {\n disabledControls.forEach((key) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n // @ts-expect-error refer to above comment\n if (newOptions[key] !== false) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n // @ts-expect-error refer to above comment\n newOptions[key] = { disabled: true };\n }\n });\n }\n return newOptions;\n};\n\n/**\n * Check if a disabled object is provided for a button and returns if the button is disabled.\n * A button is only disabled if is explicitly set to disabled.\n *\n * @param option\n * @returns whether a button is disabled\n * @private\n */\nexport const isDisabled = (option: boolean | { disabled: boolean } | undefined): boolean => {\n if (option === undefined || typeof option === 'boolean') {\n return false;\n }\n\n return option.disabled;\n};\n\n/* @conditional-compile-remove(call-readiness) */\n/**\n * @returns Permissions state for the camera.\n */\nconst queryCameraPermissionFromPermissionsAPI = async (): Promise<PermissionState | 'unsupported'> => {\n try {\n return (await navigator.permissions.query({ name: 'camera' as PermissionName })).state;\n } catch (e) {\n console.info('permissions API is not supported by browser', e);\n return 'unsupported';\n }\n};\n\n/* @conditional-compile-remove(call-readiness) */\n/**\n * @returns Permissions state for the microphone.\n */\nconst queryMicrophonePermissionFromPermissionsAPI = async (): Promise<PermissionState | 'unsupported'> => {\n try {\n return (await navigator.permissions.query({ name: 'microphone' as PermissionName })).state;\n } catch (e) {\n console.info('permissions API is not supported by browser', e);\n return 'unsupported';\n }\n};\n\n/* @conditional-compile-remove(call-readiness) */\n/**\n *\n * This function uses permission API to determine if device permission state is granted, prompt or denied\n * @returns whether device permission state is granted, prompt or denied\n * If permission API is not supported on this browser, permission state is set to unsupported.\n * @private\n */\nexport const getDevicePermissionState = async (\n setVideoState: (state: PermissionState | 'unsupported') => void,\n setAudioState: (state: PermissionState | 'unsupported') => void\n): Promise<void> => {\n const [cameraResult, microphoneResult] = await Promise.all([\n queryCameraPermissionFromPermissionsAPI(),\n queryMicrophonePermissionFromPermissionsAPI()\n ]);\n setVideoState(cameraResult);\n setAudioState(microphoneResult);\n};\n/* @conditional-compile-remove(unsupported-browser) */\nconst isUnsupportedEnvironment = (\n environmentInfo?: EnvironmentInfo,\n unsupportedBrowserVersionOptedIn?: boolean\n): boolean => {\n return !!(\n environmentInfo?.isSupportedBrowser === false ||\n (environmentInfo?.isSupportedBrowserVersion === false && !unsupportedBrowserVersionOptedIn) ||\n environmentInfo?.isSupportedPlatform === false\n );\n};\n\n/**\n * Check if we are using safari browser\n * @private\n */\nexport const _isSafari = (environmentInfo: undefined | EnvironmentInfo): boolean => {\n return environmentInfo?.environment.browser.toLowerCase() === 'safari';\n};\n\n/**\n * @private\n * This is the util function to create a participant modifier for remote participantList\n * It memoize previous original participant items and only update the changed participant\n * It takes in one modifier function to generate one single participant object, it returns undefined if the object keeps unmodified\n */\nexport const createParticipantModifier = (\n createModifiedParticipant: (id: string, participant: RemoteParticipantState) => RemoteParticipantState | undefined\n): AdapterStateModifier => {\n let previousParticipantState:\n | {\n [keys: string]: RemoteParticipantState;\n }\n | undefined = undefined;\n let modifiedParticipants: {\n [keys: string]: RemoteParticipantState;\n } = {};\n const memoizedParticipants: {\n [id: string]: { originalRef: RemoteParticipantState; newParticipant: RemoteParticipantState };\n } = {};\n\n return (state: CallAdapterState) => {\n // if root state is the same, we don't need to update the participants\n if (state.call?.remoteParticipants !== previousParticipantState) {\n modifiedParticipants = {};\n const originalParticipants = Object.entries(state.call?.remoteParticipants || {});\n for (const [key, originalParticipant] of originalParticipants) {\n const modifiedParticipant = createModifiedParticipant(key, originalParticipant);\n if (modifiedParticipant === undefined) {\n modifiedParticipants[key] = originalParticipant;\n continue;\n }\n // Generate the new item if original cached item has been changed\n if (memoizedParticipants[key]?.originalRef !== originalParticipant) {\n memoizedParticipants[key] = {\n newParticipant: modifiedParticipant,\n originalRef: originalParticipant\n };\n }\n\n // the modified participant is always coming from the memoized cache, whether is was refreshed\n // from the previous closure or not\n const memoizedParticipant = memoizedParticipants[key];\n if (!memoizedParticipant) {\n throw new Error('Participant modifier encountered an unhandled exception.');\n }\n\n modifiedParticipants[key] = memoizedParticipant.newParticipant;\n }\n\n previousParticipantState = state.call?.remoteParticipants;\n }\n return {\n ...state,\n call: state.call\n ? {\n ...state.call,\n remoteParticipants: modifiedParticipants\n }\n : undefined\n };\n };\n};\n\n/** @private */\nexport const getBackgroundEffectFromSelectedEffect = (\n selectedEffect: VideoBackgroundEffect | undefined,\n VideoBackgroundEffectsDependency: VideoBackgroundEffectsDependency\n): VideoEffectProcessor | undefined =>\n selectedEffect?.effectName === 'blur'\n ? VideoBackgroundEffectsDependency.createBackgroundBlurEffect()\n : selectedEffect?.effectName === 'replacement'\n ? VideoBackgroundEffectsDependency.createBackgroundReplacementEffect({\n backgroundImageUrl: selectedEffect.backgroundImageUrl\n })\n : undefined;\n\n/**\n * @remarks this logic should mimic the onToggleCamera in the common call handlers.\n * @private\n */\nexport const getSelectedCameraFromAdapterState = (state: CallAdapterState): VideoDeviceInfo | undefined =>\n state.devices.selectedCamera || state.devices.cameras[0];\n\n/**\n * Helper to determine if the adapter has a locator or targetCallees\n * @param locatorOrTargetCallees\n * @returns boolean to determine if the adapter has a locator or targetCallees, true is locator, false is targetCallees\n * @private\n */\nexport const getLocatorOrTargetCallees = (\n locatorOrTargetCallees: CallAdapterLocator | StartCallIdentifier[]\n): locatorOrTargetCallees is StartCallIdentifier[] => {\n return !!Array.isArray(locatorOrTargetCallees);\n};\n\n/**\n * @private\n */\nexport type ComplianceState = 'on' | 'off' | 'stopped';\n\n/**\n * Return different conditions based on the current and previous state of recording and transcribing\n *\n * @param callRecordState - The current call record state: on, off, stopped\n * @param callTranscribeState - The current call transcribe state: on, off, stopped\n *\n * @remarks - The stopped state means: previously on but currently off\n *\n * @private\n */\nexport const computeVariant = (\n callRecordState: ComplianceState,\n callTranscribeState: ComplianceState\n): ComplianceNotificationVariant => {\n if (callRecordState === 'on' && callTranscribeState === 'on') {\n return 'recordingAndTranscriptionStarted';\n } else if (callRecordState === 'on' && callTranscribeState === 'off') {\n return 'recordingStarted';\n } else if (callRecordState === 'off' && callTranscribeState === 'on') {\n return 'transcriptionStarted';\n } else if (callRecordState === 'on' && callTranscribeState === 'stopped') {\n return 'transcriptionStoppedStillRecording';\n } else if (callRecordState === 'stopped' && callTranscribeState === 'on') {\n return 'recordingStoppedStillTranscribing';\n } else if (callRecordState === 'off' && callTranscribeState === 'stopped') {\n return 'transcriptionStopped';\n } else if (callRecordState === 'stopped' && callTranscribeState === 'off') {\n return 'recordingStopped';\n } else if (callRecordState === 'stopped' && callTranscribeState === 'stopped') {\n return 'recordingAndTranscriptionStopped';\n } else {\n return 'noState';\n }\n};\n\n/**\n * @private\n */\nexport type ComplianceNotificationVariant =\n | 'noState'\n | 'recordingStarted'\n | 'transcriptionStarted'\n | 'recordingStopped'\n | 'transcriptionStopped'\n | 'recordingAndTranscriptionStarted'\n | 'recordingAndTranscriptionStopped'\n | 'recordingStoppedStillTranscribing'\n | 'transcriptionStoppedStillRecording';\n\n/**\n * @private\n */\nexport type CachedComplianceNotificationProps = {\n latestBooleanState: {\n callTranscribeState?: boolean;\n callRecordState?: boolean;\n };\n latestStringState: {\n callTranscribeState: ComplianceState;\n callRecordState: ComplianceState;\n };\n // Timestamp for the last time cached state was updated.\n // Represented as milliseconds since epoch (i.e., the value returned by Date.now()).\n lastUpdated: number;\n};\n\n/**\n * @private\n */\nexport function determineStates(previous: ComplianceState, current: boolean | undefined): ComplianceState {\n // if current state is on, then return on\n if (current) {\n return 'on';\n }\n // if current state is off\n else {\n // if previous state is on and current state is off, return stopped (on -> off)\n if (previous === 'on') {\n return 'stopped';\n }\n // otherwise remain previous state unchanged\n else {\n return previous;\n }\n }\n}\n\n// The debounce time for the stopped state to be shown after both states are stopped.\n// This is to prevent stopped messages from being lost by transitioning to \"Off\" too\n// quickly if the states are toggled in quick succession.\n// This also prevents React strict mode from transitioning to \"Off\" too quickly.\nconst ComplianceNotificationOffDebounceTimeMs = 2000;\n\n/**\n * Compute compliance notification based on latest compliance state and cached props.\n * @private\n */\nexport function computeComplianceNotification(\n complianceProps: {\n callTranscribeState: boolean;\n callRecordState: boolean;\n },\n cachedProps: React.MutableRefObject<CachedComplianceNotificationProps>\n): ActiveNotification | undefined {\n // Only update cached props and variant if there is _some_ change in the latest props.\n // This ensures that state machine is only updated if there is an actual change in the props.\n const shouldUpdateCached =\n complianceProps.callRecordState !== cachedProps.current.latestBooleanState.callRecordState ||\n complianceProps.callTranscribeState !== cachedProps.current.latestBooleanState.callTranscribeState;\n\n // The following three operations must be performed in this exact order:\n\n // [1]: Update cached state to transition the state machine.\n if (shouldUpdateCached) {\n cachedProps.current = {\n latestBooleanState: complianceProps,\n latestStringState: {\n callRecordState: determineStates(\n cachedProps.current.latestStringState.callRecordState,\n complianceProps.callRecordState\n ),\n callTranscribeState: determineStates(\n cachedProps.current.latestStringState.callTranscribeState,\n complianceProps.callTranscribeState\n )\n },\n lastUpdated: Date.now()\n };\n }\n\n // [2]: If the callRecordState and callTranscribeState are both stopped for a predetermined amount of time, mark both states as off.\n // NOTE: this can be removed once lastStoppedRecording in the calling stateful client is GA.\n if (\n shouldUpdateCached &&\n cachedProps.current.latestStringState.callRecordState === 'stopped' &&\n cachedProps.current.latestStringState.callTranscribeState === 'stopped' &&\n Date.now() - cachedProps.current.lastUpdated > ComplianceNotificationOffDebounceTimeMs\n ) {\n // When both states are stopped, after displaying message \"RECORDING_AND_TRANSCRIPTION_STOPPED\", change both states to off (going back to the default state).\n cachedProps.current.latestStringState.callRecordState = 'off';\n cachedProps.current.latestStringState.callTranscribeState = 'off';\n }\n\n // [3]: Compute the variant, using the transitioned state machine.\n const variant = computeVariant(\n cachedProps.current.latestStringState.callRecordState,\n cachedProps.current.latestStringState.callTranscribeState\n );\n\n // If the variant is not 'noState', then show the notification.\n if (variant !== 'noState') {\n return {\n type: variant,\n timestamp: new Date(Date.now())\n };\n } else {\n return undefined;\n }\n}\n"]}
1
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/utils/Utils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CallAdapterState, CallCompositePage, END_CALL_PAGES, StartCallIdentifier } from '../adapter/CallAdapter';\nimport { _isInCall, _isPreviewOn, _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport { CallControlOptions } from '../types/CallControlOptions';\nimport { CallState, RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { isPhoneNumberIdentifier } from '@azure/communication-common';\nimport { AdapterStateModifier, CallAdapterLocator } from '../adapter/AzureCommunicationCallAdapter';\nimport { VideoBackgroundEffectsDependency } from '@internal/calling-component-bindings';\nimport { VideoBackgroundEffect } from '../adapter/CallAdapter';\nimport { EnvironmentInfo, VideoDeviceInfo } from '@azure/communication-calling';\nimport { VideoEffectProcessor } from '@azure/communication-calling';\nimport { CompositeLocale } from '../../localization';\nimport { CallCompositeIcons } from '../../common/icons';\nimport { ActiveNotification } from '@internal/react-components';\nconst ACCESS_DENIED_TEAMS_MEETING_SUB_CODE = 5854;\nconst REMOTE_PSTN_USER_HUNG_UP = 560000;\nconst REMOVED_FROM_CALL_SUB_CODES = [5000, 5300, REMOTE_PSTN_USER_HUNG_UP];\nconst CALL_REJECTED_CODE = 603;\nconst INVALID_MEETING_IDENTIFIER = 5751;\n/** @private */\nexport const ROOM_NOT_FOUND_SUB_CODE = 5732;\n/** @private */\nexport const ROOM_NOT_VALID_SUB_CODE = 5829;\n/** @private */\nexport const NOT_INVITED_TO_ROOM_SUB_CODE = 5828;\n/** @private */\nexport const INVITE_TO_ROOM_REMOVED_SUB_CODE = 5317;\n/** @private */\nexport const CALL_TIMEOUT_SUB_CODE = 10004;\n/** @private */\nexport const CALL_TIMEOUT_CODE = 487;\n/** @private */\nexport const BOT_TIMEOUT_CODE = 486;\n/** @private */\nexport const BOT_TIMEOUT_SUB_CODE = 10321;\n\n/**\n * @private\n */\nexport const isCameraOn = (state: CallAdapterState): boolean => {\n if (state.call) {\n const stream = state.call.localVideoStreams.find(stream => stream.mediaStreamType === 'Video');\n return !!stream;\n } else {\n if (state.devices.selectedCamera) {\n const previewOn = _isPreviewOn(state.devices);\n return previewOn;\n }\n }\n return false;\n};\n\n/**\n * Reduce the set of call controls visible on mobile.\n * For example do not show screenshare button.\n *\n * @private\n */\nexport const reduceCallControlsForMobile = (callControlOptions: CallControlOptions | boolean | undefined): CallControlOptions | false => {\n if (callControlOptions === false) {\n return false;\n }\n\n // Ensure call controls a valid object.\n const reduceCallControlOptions = callControlOptions === true ? {} : callControlOptions || {};\n\n // Set to compressed mode when composite is optimized for mobile\n reduceCallControlOptions.displayType = 'compact';\n\n // Do not show screen share button when composite is optimized for mobile unless the developer\n // has explicitly opted in.\n if (reduceCallControlOptions.screenShareButton !== true) {\n reduceCallControlOptions.screenShareButton = false;\n }\n return reduceCallControlOptions;\n};\nenum CallEndReasons {\n LEFT_CALL,\n ACCESS_DENIED,\n REMOVED_FROM_CALL,\n BAD_REQUEST,\n}\nconst getCallEndReason = (call: CallState): CallEndReasons => {\n const remoteParticipantsEndedArray = Array.from(Object.values(call.remoteParticipantsEnded));\n /**\n * Handle the special case in a PSTN call where removing the last user kicks the caller out of the call.\n * The code and subcode is the same as when a user is removed from a teams interop call.\n * Hence, we look at the last remote participant removed to determine if the last participant removed was a phone number.\n * If yes, the caller was kicked out of the call, but we need to show them that they left the call.\n * Note: This check will only work for 1:1 PSTN Calls. The subcode is different for 1:N PSTN calls, and we do not need to handle that case.\n */\n if (remoteParticipantsEndedArray[0] && isPhoneNumberIdentifier(remoteParticipantsEndedArray[0].identifier) && call.callEndReason?.subCode !== REMOTE_PSTN_USER_HUNG_UP) {\n return CallEndReasons.LEFT_CALL;\n }\n if (call.callEndReason?.subCode && call.callEndReason.subCode === ACCESS_DENIED_TEAMS_MEETING_SUB_CODE) {\n return CallEndReasons.ACCESS_DENIED;\n }\n if (call.callEndReason?.subCode && REMOVED_FROM_CALL_SUB_CODES.includes(call.callEndReason.subCode)) {\n return CallEndReasons.REMOVED_FROM_CALL;\n }\n\n // If the call end reason code is 400, the call is ended due to a bad request. Keep this line at the bottom right before returning normal left call to catch the scenarios not including the ones above.\n if (call.callEndReason?.code === 400) {\n return CallEndReasons.BAD_REQUEST;\n }\n if (call.callEndReason) {\n // No error codes match, assume the user simply left the call regularly\n return CallEndReasons.LEFT_CALL;\n }\n throw new Error('No matching call end reason');\n};\n\n/**\n * Helper function for determine strings and icons for end call page\n * @private\n */\nexport const getEndedCallPageProps = (locale: CompositeLocale, endedCall?: CallState): {\n title: string;\n moreDetails?: string;\n disableStartCallButton: boolean;\n iconName: keyof CallCompositeIcons;\n} => {\n let title = locale.strings.call.leftCallTitle;\n let moreDetails = locale.strings.call.leftCallMoreDetails;\n let disableStartCallButton = false;\n let iconName: keyof CallCompositeIcons = 'NoticePageLeftCall';\n switch (endedCall?.callEndReason?.subCode) {\n case ROOM_NOT_FOUND_SUB_CODE:\n if (locale.strings.call.roomNotFoundTitle) {\n title = locale.strings.call.roomNotFoundTitle;\n moreDetails = locale.strings.call.roomNotFoundDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageRoomNotFound';\n }\n break;\n case ROOM_NOT_VALID_SUB_CODE:\n if (locale.strings.call.roomNotValidTitle) {\n title = locale.strings.call.roomNotValidTitle;\n moreDetails = locale.strings.call.roomNotValidDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageRoomNotValid';\n }\n break;\n case NOT_INVITED_TO_ROOM_SUB_CODE:\n if (locale.strings.call.notInvitedToRoomTitle) {\n title = locale.strings.call.notInvitedToRoomTitle;\n moreDetails = locale.strings.call.notInvitedToRoomDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageNotInvitedToRoom';\n }\n break;\n case INVITE_TO_ROOM_REMOVED_SUB_CODE:\n if (locale.strings.call.inviteToRoomRemovedTitle) {\n title = locale.strings.call.inviteToRoomRemovedTitle;\n moreDetails = locale.strings.call.inviteToRoomRemovedDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageInviteToRoomRemoved';\n }\n break;\n case CALL_TIMEOUT_SUB_CODE:\n if (endedCall?.callEndReason?.code === CALL_TIMEOUT_CODE && locale.strings.call.callTimeoutTitle) {\n title = locale.strings.call.callTimeoutTitle;\n moreDetails = locale.strings.call.callTimeoutDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageCallTimeout';\n }\n break;\n case BOT_TIMEOUT_SUB_CODE:\n if (endedCall?.callEndReason?.code === BOT_TIMEOUT_CODE && locale.strings.call.callTimeoutBotTitle) {\n title = locale.strings.call.callTimeoutBotTitle;\n moreDetails = locale.strings.call.callTimeoutBotDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageCallTimeout';\n }\n break;\n }\n switch (endedCall?.callEndReason?.code) {\n case CALL_REJECTED_CODE:\n if (locale.strings.call.callRejectedTitle) {\n title = locale.strings.call.callRejectedTitle;\n moreDetails = locale.strings.call.callRejectedMoreDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageCallRejected';\n }\n break;\n }\n switch (endedCall?.callEndReason?.subCode) {\n case 10037:\n if (locale.strings.call.participantCouldNotBeReachedTitle) {\n title = locale.strings.call.participantCouldNotBeReachedTitle;\n moreDetails = locale.strings.call.participantCouldNotBeReachedMoreDetails;\n disableStartCallButton = true;\n }\n break;\n case 10124:\n if (locale.strings.call.permissionToReachTargetParticipantNotAllowedTitle) {\n title = locale.strings.call.permissionToReachTargetParticipantNotAllowedTitle;\n moreDetails = locale.strings.call.permissionToReachTargetParticipantNotAllowedMoreDetails;\n disableStartCallButton = true;\n }\n break;\n case 10119:\n if (locale.strings.call.unableToResolveTenantTitle) {\n title = locale.strings.call.unableToResolveTenantTitle;\n moreDetails = locale.strings.call.unableToResolveTenantMoreDetails;\n disableStartCallButton = true;\n }\n break;\n case 10044:\n if (locale.strings.call.participantIdIsMalformedTitle) {\n title = locale.strings.call.participantIdIsMalformedTitle;\n moreDetails = locale.strings.call.participantIdIsMalformedMoreDetails;\n disableStartCallButton = true;\n }\n break;\n }\n switch (endedCall?.callEndReason?.subCode) {\n case INVALID_MEETING_IDENTIFIER:\n if (locale.strings.call.callRejectedTitle) {\n title = locale.strings.call.callRejectedTitle;\n moreDetails = locale.strings.call.invalidMeetingIdentifier;\n disableStartCallButton = true;\n }\n break;\n }\n // keep this at the bottom to catch the scenarios not including the ones above.\n switch (endedCall?.callEndReason?.code) {\n case 400:\n if (locale.strings.call.callRejectedTitle) {\n title = locale.strings.call.callRejectedTitle;\n disableStartCallButton = true;\n }\n break;\n }\n return {\n title,\n moreDetails,\n disableStartCallButton,\n iconName\n };\n};\n\n/**\n * type definition for conditional-compilation\n */\ntype GetCallCompositePageFunction = ((call: CallState | undefined, previousCall: CallState | undefined) => CallCompositePage) & ((call: CallState | undefined, previousCall: CallState | undefined, transferCall?: CallState, isReturningFromBreakoutRoom?: boolean, unsupportedBrowserInfo?: {\n environmentInfo?: EnvironmentInfo;\n unsupportedBrowserVersionOptedIn?: boolean;\n}) => CallCompositePage);\n/**\n * Get the current call composite page based on the current call composite state\n *\n * @param Call - The current call state\n * @param previousCall - The state of the most recent previous call that has ended.\n *\n * @remarks - The previousCall state is needed to determine if the call has ended.\n * When the call ends a new call object is created, and so we must lookback at the\n * previous call state to understand how the call has ended. If there is no previous\n * call we know that this is a fresh call and can display the configuration page.\n *\n * @private\n */\nexport const getCallCompositePage: GetCallCompositePageFunction = (call, previousCall?, transferCall?: CallState, isReturningFromBreakoutRoom?: boolean, unsupportedBrowserInfo?: {\n environmentInfo?: EnvironmentInfo;\n unsupportedBrowserVersionOptedIn?: boolean;\n}): CallCompositePage => {\n if (isUnsupportedEnvironment(unsupportedBrowserInfo?.environmentInfo, unsupportedBrowserInfo?.unsupportedBrowserVersionOptedIn)) {\n return 'unsupportedEnvironment';\n }\n if (transferCall !== undefined) {\n return 'transferring';\n }\n if (isReturningFromBreakoutRoom) {\n return 'returningFromBreakoutRoom';\n }\n if (call) {\n // Must check for ongoing call *before* looking at any previous calls.\n // If the composite completes one call and joins another, the previous calls\n // will be populated, but not relevant for determining the page.\n\n // `_isInLobbyOrConnecting` needs to be checked first because `_isInCall` also returns true when call is in lobby.\n if (_isInLobbyOrConnecting(call?.state)) {\n return 'lobby';\n // `LocalHold` needs to be checked before `isInCall` since it is also a state that's considered in call.\n } else if (call?.state === 'LocalHold') {\n return 'hold';\n } else if (call?.state === 'Disconnecting') {\n return 'leaving';\n } else if (_isInCall(call?.state)) {\n return 'call';\n } else {\n // When the call object has been constructed after clicking , but before 'connecting' has been\n // set on the call object, we continue to show the configuration screen.\n // The call object does not correctly reflect local device state until `call.state` moves to `connecting`.\n // Moving to the 'lobby' page too soon leads to components that depend on the `call` object to show incorrect\n // transitional state.\n return 'configuration';\n }\n }\n if (previousCall) {\n const reason = getCallEndReason(previousCall);\n switch (reason) {\n case CallEndReasons.ACCESS_DENIED:\n return 'accessDeniedTeamsMeeting';\n case CallEndReasons.REMOVED_FROM_CALL:\n return 'removedFromCall';\n case CallEndReasons.BAD_REQUEST:\n return 'badRequest';\n case CallEndReasons.LEFT_CALL:\n if (previousCall.diagnostics.network.latest.noNetwork) {\n return 'joinCallFailedDueToNoNetwork';\n }\n return 'leftCall';\n }\n }\n\n // No call state - show starting page (configuration)\n return 'configuration';\n};\n\n/** @private */\nexport const IsCallEndedPage = (page: CallCompositePage): boolean => END_CALL_PAGES.includes(page);\n\n/**\n * Creates a new call control options object and sets the correct values for disabling\n * the buttons provided in the `disabledControls` array.\n * Returns a new object without changing the original object.\n * @param callControlOptions options for the call control component that need to be modified.\n * @param disabledControls An array of controls to disable.\n * @returns a copy of callControlOptions with disabledControls disabled\n * @private\n */\nexport const disableCallControls = (callControlOptions: CallControlOptions | boolean | undefined, disabledControls: (keyof CallControlOptions)[]): CallControlOptions | boolean | undefined => {\n if (callControlOptions === false) {\n return false;\n }\n // Ensure we clone the prop if it is an object to ensure we do not mutate the original prop.\n let newOptions: CallControlOptions | boolean | undefined = (callControlOptions instanceof Object ? {\n ...callControlOptions\n } as CallControlOptions : callControlOptions) ?? {} as Partial<CallControlOptions>;\n if (newOptions === true || newOptions === undefined) {\n newOptions = disabledControls.reduce((acc, key) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n // @ts-expect-error TODO: fix noImplicitAny error here\n // Not solveable at this time due to typescript limitations. The typing is too complex for typescript to\n // understand. Will need to revisit when either typescript or the calling component bindings are updated.\n acc[key] = {\n disabled: true\n };\n return acc;\n }, {} as Partial<CallControlOptions>);\n } else {\n disabledControls.forEach(key => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n // @ts-expect-error refer to above comment\n if (newOptions[key] !== false) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n // @ts-expect-error refer to above comment\n newOptions[key] = {\n disabled: true\n };\n }\n });\n }\n return newOptions;\n};\n\n/**\n * Check if a disabled object is provided for a button and returns if the button is disabled.\n * A button is only disabled if is explicitly set to disabled.\n *\n * @param option\n * @returns whether a button is disabled\n * @private\n */\nexport const isDisabled = (option: boolean | {\n disabled: boolean;\n} | undefined): boolean => {\n if (option === undefined || typeof option === 'boolean') {\n return false;\n }\n return option.disabled;\n};\n/**\n * @returns Permissions state for the camera.\n */\nconst queryCameraPermissionFromPermissionsAPI = async (): Promise<PermissionState | 'unsupported'> => {\n try {\n return (await navigator.permissions.query({\n name: 'camera' as PermissionName\n })).state;\n } catch (e) {\n console.info('permissions API is not supported by browser', e);\n return 'unsupported';\n }\n};\n/**\n * @returns Permissions state for the microphone.\n */\nconst queryMicrophonePermissionFromPermissionsAPI = async (): Promise<PermissionState | 'unsupported'> => {\n try {\n return (await navigator.permissions.query({\n name: 'microphone' as PermissionName\n })).state;\n } catch (e) {\n console.info('permissions API is not supported by browser', e);\n return 'unsupported';\n }\n};\n/**\n *\n * This function uses permission API to determine if device permission state is granted, prompt or denied\n * @returns whether device permission state is granted, prompt or denied\n * If permission API is not supported on this browser, permission state is set to unsupported.\n * @private\n */\nexport const getDevicePermissionState = async (setVideoState: (state: PermissionState | 'unsupported') => void, setAudioState: (state: PermissionState | 'unsupported') => void): Promise<void> => {\n const [cameraResult, microphoneResult] = await Promise.all([queryCameraPermissionFromPermissionsAPI(), queryMicrophonePermissionFromPermissionsAPI()]);\n setVideoState(cameraResult);\n setAudioState(microphoneResult);\n};\nconst isUnsupportedEnvironment = (environmentInfo?: EnvironmentInfo, unsupportedBrowserVersionOptedIn?: boolean): boolean => {\n return !!(environmentInfo?.isSupportedBrowser === false || environmentInfo?.isSupportedBrowserVersion === false && !unsupportedBrowserVersionOptedIn || environmentInfo?.isSupportedPlatform === false);\n};\n\n/**\n * Check if we are using safari browser\n * @private\n */\nexport const _isSafari = (environmentInfo: undefined | EnvironmentInfo): boolean => {\n return environmentInfo?.environment.browser.toLowerCase() === 'safari';\n};\n\n/**\n * @private\n * This is the util function to create a participant modifier for remote participantList\n * It memoize previous original participant items and only update the changed participant\n * It takes in one modifier function to generate one single participant object, it returns undefined if the object keeps unmodified\n */\nexport const createParticipantModifier = (createModifiedParticipant: (id: string, participant: RemoteParticipantState) => RemoteParticipantState | undefined): AdapterStateModifier => {\n let previousParticipantState: {\n [keys: string]: RemoteParticipantState;\n } | undefined = undefined;\n let modifiedParticipants: {\n [keys: string]: RemoteParticipantState;\n } = {};\n const memoizedParticipants: {\n [id: string]: {\n originalRef: RemoteParticipantState;\n newParticipant: RemoteParticipantState;\n };\n } = {};\n return (state: CallAdapterState) => {\n // if root state is the same, we don't need to update the participants\n if (state.call?.remoteParticipants !== previousParticipantState) {\n modifiedParticipants = {};\n const originalParticipants = Object.entries(state.call?.remoteParticipants || {});\n for (const [key, originalParticipant] of originalParticipants) {\n const modifiedParticipant = createModifiedParticipant(key, originalParticipant);\n if (modifiedParticipant === undefined) {\n modifiedParticipants[key] = originalParticipant;\n continue;\n }\n // Generate the new item if original cached item has been changed\n if (memoizedParticipants[key]?.originalRef !== originalParticipant) {\n memoizedParticipants[key] = {\n newParticipant: modifiedParticipant,\n originalRef: originalParticipant\n };\n }\n\n // the modified participant is always coming from the memoized cache, whether is was refreshed\n // from the previous closure or not\n const memoizedParticipant = memoizedParticipants[key];\n if (!memoizedParticipant) {\n throw new Error('Participant modifier encountered an unhandled exception.');\n }\n modifiedParticipants[key] = memoizedParticipant.newParticipant;\n }\n previousParticipantState = state.call?.remoteParticipants;\n }\n return {\n ...state,\n call: state.call ? {\n ...state.call,\n remoteParticipants: modifiedParticipants\n } : undefined\n };\n };\n};\n\n/** @private */\nexport const getBackgroundEffectFromSelectedEffect = (selectedEffect: VideoBackgroundEffect | undefined, VideoBackgroundEffectsDependency: VideoBackgroundEffectsDependency): VideoEffectProcessor | undefined => selectedEffect?.effectName === 'blur' ? VideoBackgroundEffectsDependency.createBackgroundBlurEffect() : selectedEffect?.effectName === 'replacement' ? VideoBackgroundEffectsDependency.createBackgroundReplacementEffect({\n backgroundImageUrl: selectedEffect.backgroundImageUrl\n}) : undefined;\n\n/**\n * @remarks this logic should mimic the onToggleCamera in the common call handlers.\n * @private\n */\nexport const getSelectedCameraFromAdapterState = (state: CallAdapterState): VideoDeviceInfo | undefined => state.devices.selectedCamera || state.devices.cameras[0];\n\n/**\n * Helper to determine if the adapter has a locator or targetCallees\n * @param locatorOrTargetCallees\n * @returns boolean to determine if the adapter has a locator or targetCallees, true is locator, false is targetCallees\n * @private\n */\nexport const getLocatorOrTargetCallees = (locatorOrTargetCallees: CallAdapterLocator | StartCallIdentifier[]): locatorOrTargetCallees is StartCallIdentifier[] => {\n return !!Array.isArray(locatorOrTargetCallees);\n};\n\n/**\n * @private\n */\nexport type ComplianceState = 'on' | 'off' | 'stopped';\n\n/**\n * Return different conditions based on the current and previous state of recording and transcribing\n *\n * @param callRecordState - The current call record state: on, off, stopped\n * @param callTranscribeState - The current call transcribe state: on, off, stopped\n *\n * @remarks - The stopped state means: previously on but currently off\n *\n * @private\n */\nexport const computeVariant = (callRecordState: ComplianceState, callTranscribeState: ComplianceState): ComplianceNotificationVariant => {\n if (callRecordState === 'on' && callTranscribeState === 'on') {\n return 'recordingAndTranscriptionStarted';\n } else if (callRecordState === 'on' && callTranscribeState === 'off') {\n return 'recordingStarted';\n } else if (callRecordState === 'off' && callTranscribeState === 'on') {\n return 'transcriptionStarted';\n } else if (callRecordState === 'on' && callTranscribeState === 'stopped') {\n return 'transcriptionStoppedStillRecording';\n } else if (callRecordState === 'stopped' && callTranscribeState === 'on') {\n return 'recordingStoppedStillTranscribing';\n } else if (callRecordState === 'off' && callTranscribeState === 'stopped') {\n return 'transcriptionStopped';\n } else if (callRecordState === 'stopped' && callTranscribeState === 'off') {\n return 'recordingStopped';\n } else if (callRecordState === 'stopped' && callTranscribeState === 'stopped') {\n return 'recordingAndTranscriptionStopped';\n } else {\n return 'noState';\n }\n};\n\n/**\n * @private\n */\nexport type ComplianceNotificationVariant = 'noState' | 'recordingStarted' | 'transcriptionStarted' | 'recordingStopped' | 'transcriptionStopped' | 'recordingAndTranscriptionStarted' | 'recordingAndTranscriptionStopped' | 'recordingStoppedStillTranscribing' | 'transcriptionStoppedStillRecording';\n\n/**\n * @private\n */\nexport type CachedComplianceNotificationProps = {\n latestBooleanState: {\n callTranscribeState?: boolean;\n callRecordState?: boolean;\n };\n latestStringState: {\n callTranscribeState: ComplianceState;\n callRecordState: ComplianceState;\n };\n // Timestamp for the last time cached state was updated.\n // Represented as milliseconds since epoch (i.e., the value returned by Date.now()).\n lastUpdated: number;\n};\n\n/**\n * @private\n */\nexport function determineStates(previous: ComplianceState, current: boolean | undefined): ComplianceState {\n // if current state is on, then return on\n if (current) {\n return 'on';\n }\n // if current state is off\n else {\n // if previous state is on and current state is off, return stopped (on -> off)\n if (previous === 'on') {\n return 'stopped';\n }\n // otherwise remain previous state unchanged\n else {\n return previous;\n }\n }\n}\n\n// The debounce time for the stopped state to be shown after both states are stopped.\n// This is to prevent stopped messages from being lost by transitioning to \"Off\" too\n// quickly if the states are toggled in quick succession.\n// This also prevents React strict mode from transitioning to \"Off\" too quickly.\nconst ComplianceNotificationOffDebounceTimeMs = 2000;\n\n/**\n * Compute compliance notification based on latest compliance state and cached props.\n * @private\n */\nexport function computeComplianceNotification(complianceProps: {\n callTranscribeState: boolean;\n callRecordState: boolean;\n}, cachedProps: React.MutableRefObject<CachedComplianceNotificationProps>): ActiveNotification | undefined {\n // Only update cached props and variant if there is _some_ change in the latest props.\n // This ensures that state machine is only updated if there is an actual change in the props.\n const shouldUpdateCached = complianceProps.callRecordState !== cachedProps.current.latestBooleanState.callRecordState || complianceProps.callTranscribeState !== cachedProps.current.latestBooleanState.callTranscribeState;\n\n // The following three operations must be performed in this exact order:\n\n // [1]: Update cached state to transition the state machine.\n if (shouldUpdateCached) {\n cachedProps.current = {\n latestBooleanState: complianceProps,\n latestStringState: {\n callRecordState: determineStates(cachedProps.current.latestStringState.callRecordState, complianceProps.callRecordState),\n callTranscribeState: determineStates(cachedProps.current.latestStringState.callTranscribeState, complianceProps.callTranscribeState)\n },\n lastUpdated: Date.now()\n };\n }\n\n // [2]: If the callRecordState and callTranscribeState are both stopped for a predetermined amount of time, mark both states as off.\n // NOTE: this can be removed once lastStoppedRecording in the calling stateful client is GA.\n if (shouldUpdateCached && cachedProps.current.latestStringState.callRecordState === 'stopped' && cachedProps.current.latestStringState.callTranscribeState === 'stopped' && Date.now() - cachedProps.current.lastUpdated > ComplianceNotificationOffDebounceTimeMs) {\n // When both states are stopped, after displaying message \"RECORDING_AND_TRANSCRIPTION_STOPPED\", change both states to off (going back to the default state).\n cachedProps.current.latestStringState.callRecordState = 'off';\n cachedProps.current.latestStringState.callTranscribeState = 'off';\n }\n\n // [3]: Compute the variant, using the transitioned state machine.\n const variant = computeVariant(cachedProps.current.latestStringState.callRecordState, cachedProps.current.latestStringState.callTranscribeState);\n\n // If the variant is not 'noState', then show the notification.\n if (variant !== 'noState') {\n return {\n type: variant,\n timestamp: new Date(Date.now())\n };\n } else {\n return undefined;\n }\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/utils/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport * from './TrackErrors';\nexport * from './Utils';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/utils/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport * from './TrackErrors';\nexport * from './Utils';"]}