@azure/communication-react 1.7.0-beta.2 → 1.7.1-alpha-202308172328

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 (901) hide show
  1. package/dist/communication-react.d.ts +466 -47
  2. package/dist/dist-cjs/communication-react/index.js +6121 -4397
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  6. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/identifier.js +4 -1
  11. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  17. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  18. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  19. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  20. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +10 -0
  21. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +19 -2
  22. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  23. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +15 -0
  24. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +71 -12
  25. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  26. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +5 -4
  27. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
  28. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +20 -55
  29. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  30. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +16 -3
  31. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +74 -45
  32. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  33. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +2 -2
  34. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +15 -1
  36. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +5 -2
  37. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +4 -2
  39. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +4 -8
  40. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  41. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  43. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +13 -1
  44. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  45. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  46. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +3 -1
  47. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  48. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +1 -0
  49. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +53 -14
  50. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  52. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  53. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +6 -3
  54. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  55. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  56. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  57. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  58. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +9 -6
  59. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  60. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.d.ts +7 -3
  61. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +21 -8
  62. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  63. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +4 -2
  64. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +38 -15
  65. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  66. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +41 -7
  67. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  68. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  69. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -1
  70. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  71. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +65 -75
  72. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  73. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +48 -0
  74. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  75. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +6 -1
  76. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +57 -6
  77. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  78. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +7 -8
  79. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  80. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +74 -83
  81. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  82. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  83. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  84. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +2 -0
  85. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +22 -4
  86. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  87. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.d.ts +16 -0
  88. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js +24 -0
  89. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -0
  90. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  91. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +6 -0
  92. package/dist/dist-esm/calling-stateful-client/src/Converter.js +18 -8
  93. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  94. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +51 -57
  95. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  96. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +14 -16
  97. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  98. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +3 -15
  100. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  101. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js.map +1 -1
  102. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  103. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js +1 -3
  104. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js.map +1 -1
  105. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  106. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.d.ts +17 -0
  107. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js +35 -0
  108. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js.map +1 -0
  109. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  110. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  111. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +2 -0
  112. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +65 -67
  113. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  114. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +33 -31
  115. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  116. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js +8 -11
  117. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js.map +1 -1
  118. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +1 -1
  119. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
  120. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +7 -8
  121. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  122. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  123. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +1 -1
  124. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  125. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +3 -3
  126. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  127. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js +6 -7
  128. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -1
  129. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +3 -0
  130. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  131. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  132. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +4 -4
  133. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  134. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +3 -3
  135. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  136. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +13 -14
  137. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  138. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +1 -1
  139. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +3 -10
  140. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  141. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  142. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  143. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  144. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  145. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +33 -15
  146. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  147. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  148. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  149. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  150. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  151. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +3 -7
  152. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  153. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +3 -1
  154. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  155. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  156. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +10 -3
  157. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  158. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  159. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +5 -9
  160. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  161. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  162. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +7 -10
  163. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  164. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  165. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +57 -67
  166. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  167. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +114 -127
  168. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  169. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +3 -1
  170. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  171. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  172. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  173. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  174. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  175. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  176. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  177. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  178. package/dist/dist-esm/communication-react/src/index.d.ts +8 -2
  179. package/dist/dist-esm/communication-react/src/index.js +4 -0
  180. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  181. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  182. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js +3 -6
  183. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js.map +1 -1
  184. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.js.map +1 -1
  185. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js.map +1 -1
  186. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js +4 -10
  187. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js.map +1 -1
  188. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js +1 -1
  189. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js.map +1 -1
  190. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js +1 -1
  191. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js.map +1 -1
  192. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  193. package/dist/dist-esm/react-components/src/components/CameraButton.js +8 -19
  194. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  195. package/dist/dist-esm/react-components/src/components/Caption.js +2 -2
  196. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
  197. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +11 -10
  198. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  199. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js +16 -14
  200. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -1
  201. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +7 -8
  202. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  203. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +36 -17
  204. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  205. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.d.ts +6 -0
  206. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +18 -9
  207. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  208. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +27 -35
  209. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  210. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.d.ts +6 -0
  211. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +92 -35
  212. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  213. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +1 -0
  214. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +44 -28
  215. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  216. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +1 -1
  217. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  218. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  219. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +7 -4
  220. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  221. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +2 -2
  222. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  223. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  224. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  225. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  226. package/dist/dist-esm/react-components/src/components/ControlBar.js +10 -14
  227. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  228. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +14 -4
  229. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  230. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +3 -14
  231. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  232. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +4 -10
  233. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -1
  234. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +14 -31
  235. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -1
  236. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js +5 -8
  237. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
  238. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +24 -6
  239. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -1
  240. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +12 -20
  241. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +1 -1
  242. package/dist/dist-esm/react-components/src/components/DevicesButton.js +19 -27
  243. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  244. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +36 -44
  245. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  246. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js +4 -4
  247. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  248. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +2 -6
  249. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  250. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +6 -6
  251. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  252. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +11 -23
  253. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  254. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +6 -4
  255. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  256. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  257. package/dist/dist-esm/react-components/src/components/EndCallButton.js +3 -7
  258. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  259. package/dist/dist-esm/react-components/src/components/ErrorBar.js +9 -5
  260. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  261. package/dist/dist-esm/react-components/src/components/FileCard.js +2 -3
  262. package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
  263. package/dist/dist-esm/react-components/src/components/FileCardGroup.js +1 -1
  264. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
  265. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +17 -16
  266. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  267. package/dist/dist-esm/react-components/src/components/FileUploadCards.js +8 -7
  268. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
  269. package/dist/dist-esm/react-components/src/components/GridLayout.js +37 -37
  270. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  271. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +2 -2
  272. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  273. package/dist/dist-esm/react-components/src/components/HoldButton.js +1 -1
  274. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -1
  275. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +7 -9
  276. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  277. package/dist/dist-esm/react-components/src/components/ImageGallery.d.ts +52 -0
  278. package/dist/dist-esm/react-components/src/components/ImageGallery.js +56 -0
  279. package/dist/dist-esm/react-components/src/components/ImageGallery.js.map +1 -0
  280. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +8 -15
  281. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  282. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +3 -5
  283. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  284. package/dist/dist-esm/react-components/src/components/LocalVideoTile.d.ts +2 -0
  285. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +32 -10
  286. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  287. package/dist/dist-esm/react-components/src/components/MentionPopover.js +19 -11
  288. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -1
  289. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js +23 -36
  290. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  291. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +7 -1
  292. package/dist/dist-esm/react-components/src/components/MessageThread.js +165 -92
  293. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  294. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +17 -14
  295. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  296. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +94 -101
  297. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  298. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +15 -17
  299. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  300. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +15 -0
  301. package/dist/dist-esm/react-components/src/components/ParticipantList.js +97 -20
  302. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  303. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +46 -32
  304. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  305. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  306. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  307. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  308. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  309. package/dist/dist-esm/react-components/src/components/RaiseHandButton.d.ts +43 -0
  310. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js +45 -0
  311. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js.map +1 -0
  312. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +32 -15
  313. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  314. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +2 -2
  315. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  316. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js +2 -2
  317. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +1 -1
  318. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +6 -14
  319. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  320. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +1 -1
  321. package/dist/dist-esm/react-components/src/components/SendBox.js +17 -19
  322. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  323. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +2 -2
  324. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  325. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  326. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js +2 -4
  327. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -1
  328. package/dist/dist-esm/react-components/src/components/StreamMedia.js +3 -3
  329. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  330. package/dist/dist-esm/react-components/src/components/SystemMessage.js +2 -4
  331. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  332. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +70 -32
  333. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +1 -1
  334. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +52 -46
  335. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +1 -1
  336. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +10 -10
  337. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  338. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +9 -6
  339. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  340. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +1 -1
  341. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  342. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +1 -1
  343. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  344. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +4 -8
  345. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  346. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +1 -1
  347. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  348. package/dist/dist-esm/react-components/src/components/VerticalGallery.js +19 -34
  349. package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
  350. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js +3 -1
  351. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js.map +1 -1
  352. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +9 -13
  353. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  354. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js +13 -15
  355. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
  356. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +6 -3
  357. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -1
  358. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +43 -16
  359. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  360. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +10 -10
  361. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  362. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +69 -25
  363. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  364. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  365. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +7 -7
  366. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  367. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +16 -5
  368. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
  369. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +8 -6
  370. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  371. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +2 -4
  372. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -1
  373. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.d.ts +28 -0
  374. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js +145 -0
  375. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -0
  376. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js +1 -6
  377. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js.map +1 -1
  378. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.d.ts +1 -1
  379. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +10 -34
  380. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  381. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js +2 -11
  382. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js.map +1 -1
  383. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js.map +1 -1
  384. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +1 -1
  385. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  386. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteVideoTile.styles.js.map +1 -1
  387. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +1 -3
  388. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -1
  389. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +10 -11
  390. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
  391. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js +22 -28
  392. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -1
  393. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +10 -5
  394. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  395. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +18 -32
  396. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  397. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js.map +1 -1
  398. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.d.ts +2 -0
  399. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +58 -25
  400. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  401. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +2 -2
  402. package/dist/dist-esm/react-components/src/components/VideoGallery.js +112 -36
  403. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  404. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +3 -0
  405. package/dist/dist-esm/react-components/src/components/VideoTile.js +58 -54
  406. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  407. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.d.ts +7 -0
  408. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js +224 -0
  409. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js.map +1 -0
  410. package/dist/dist-esm/react-components/src/components/index.d.ts +5 -0
  411. package/dist/dist-esm/react-components/src/components/index.js +4 -0
  412. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  413. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -1
  414. package/dist/dist-esm/react-components/src/components/styles/Captions.style.d.ts +2 -2
  415. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js +9 -5
  416. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  417. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -1
  418. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +3 -12
  419. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  420. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -1
  421. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  422. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  423. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js +1 -3
  424. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  425. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  426. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  427. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js.map +1 -1
  428. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.d.ts +70 -0
  429. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.js +219 -0
  430. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.js.map +1 -0
  431. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +1 -4
  432. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  433. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +1 -1
  434. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  435. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +2 -8
  436. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  437. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +0 -1
  438. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  439. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  440. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +2 -10
  441. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  442. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +1 -1
  443. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +0 -3
  444. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  445. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  446. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +0 -1
  447. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  448. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  449. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +1 -1
  450. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js +0 -1
  451. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js.map +1 -1
  452. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +3 -17
  453. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  454. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  455. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  456. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  457. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  458. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  459. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +4 -7
  460. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  461. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  462. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -1
  463. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js.map +1 -1
  464. package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
  465. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  466. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js +10 -1
  467. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  468. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js +1 -3
  469. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js.map +1 -1
  470. package/dist/dist-esm/react-components/src/components/utils.js +13 -10
  471. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  472. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.d.ts +7 -0
  473. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +13 -7
  474. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  475. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  476. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  477. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  478. package/dist/dist-esm/react-components/src/index.d.ts +1 -2
  479. package/dist/dist-esm/react-components/src/index.js +0 -2
  480. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  481. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +6 -0
  482. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  483. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  484. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +10 -0
  485. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +11 -1
  486. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +10 -0
  487. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +10 -0
  488. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +10 -0
  489. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +10 -0
  490. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +10 -0
  491. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +10 -0
  492. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +10 -0
  493. package/dist/dist-esm/react-components/src/localization/locales/index.js +21 -63
  494. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  495. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +10 -0
  496. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +10 -0
  497. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +10 -0
  498. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +10 -0
  499. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +10 -0
  500. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +10 -0
  501. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +10 -0
  502. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +10 -0
  503. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +10 -0
  504. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +10 -0
  505. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +10 -0
  506. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +10 -0
  507. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +3 -6
  508. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  509. package/dist/dist-esm/react-components/src/theming/icons.d.ts +4 -0
  510. package/dist/dist-esm/react-components/src/theming/icons.js +30 -26
  511. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  512. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -1
  513. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  514. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  515. package/dist/dist-esm/react-components/src/theming/themes.d.ts +1 -0
  516. package/dist/dist-esm/react-components/src/theming/themes.js +6 -2
  517. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  518. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js.map +1 -1
  519. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  520. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  521. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.js.map +1 -1
  522. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  523. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  524. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.d.ts +10 -3
  525. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  526. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  527. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +7 -1
  528. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  529. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  530. package/dist/dist-esm/react-composites/src/Logger.js.map +1 -1
  531. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +10 -0
  532. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +59 -64
  533. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  534. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +20 -0
  535. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  536. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +13 -14
  537. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +180 -82
  538. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  539. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +94 -12
  540. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +9 -1
  541. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  542. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  543. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  544. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js +1 -3
  545. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -1
  546. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  547. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +4 -1
  548. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +12 -6
  549. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  550. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +1 -1
  551. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  552. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +4 -0
  553. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +68 -35
  554. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  555. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +2 -1
  556. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +56 -62
  557. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  558. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +133 -141
  559. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -1
  560. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +1 -7
  561. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  562. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +1 -1
  563. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  564. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +1 -7
  565. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  566. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +5 -4
  567. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  568. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +4 -4
  569. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -1
  570. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +2 -2
  571. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  572. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.d.ts +2 -0
  573. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +37 -23
  574. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  575. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +43 -32
  576. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  577. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +25 -34
  578. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  579. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts +3 -0
  580. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +81 -41
  581. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  582. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  583. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  584. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +2 -2
  585. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  586. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +35 -19
  587. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
  588. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.js.map +1 -1
  589. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.d.ts +3 -0
  590. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +7 -9
  591. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  592. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.d.ts +3 -1
  593. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +17 -10
  594. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -1
  595. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  596. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  597. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.d.ts +3 -0
  598. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +12 -2
  599. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  600. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.d.ts +6 -2
  601. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +7 -4
  602. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +1 -1
  603. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +29 -18
  604. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  605. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +5 -2
  606. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  607. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +17 -6
  608. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  609. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +5 -2
  610. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  611. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +1 -1
  612. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -1
  613. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.d.ts +12 -0
  614. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js +26 -0
  615. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js.map +1 -0
  616. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +13 -3
  617. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  618. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +8 -8
  619. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  620. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +25 -6
  621. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  622. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  623. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  624. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  625. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +1 -1
  626. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  627. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +2 -0
  628. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +26 -5
  629. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  630. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +68 -37
  631. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  632. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +13 -7
  633. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  634. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +15 -7
  635. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  636. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +3 -3
  637. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  638. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +23 -23
  639. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  640. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +3 -3
  641. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -1
  642. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  643. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  644. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  645. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js +2 -1
  646. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +1 -1
  647. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +14 -0
  648. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +13 -0
  649. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  650. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  651. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  652. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  653. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  654. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.d.ts +11 -0
  655. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.js +14 -0
  656. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.js.map +1 -0
  657. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  658. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  659. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  660. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +2 -2
  661. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +7 -5
  662. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  663. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +4 -4
  664. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +1 -1
  665. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  666. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +10 -8
  667. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +12 -2
  668. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  669. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  670. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -4
  671. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  672. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  673. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  674. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  675. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +5 -5
  676. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +4 -4
  677. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  678. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  679. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  680. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  681. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +5 -5
  682. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  683. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +6 -2
  684. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  685. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +2 -6
  686. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  687. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +2 -7
  688. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  689. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  690. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  691. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +1 -4
  692. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  693. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -1
  694. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +1 -4
  695. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  696. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  697. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +0 -1
  698. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  699. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  700. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  701. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +0 -1
  702. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  703. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js +6 -24
  704. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js.map +1 -1
  705. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +2 -2
  706. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  707. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  708. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +9 -11
  709. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  710. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js +2 -2
  711. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  712. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +4 -3
  713. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +35 -24
  714. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  715. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  716. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +10 -0
  717. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +67 -24
  718. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  719. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js +1 -1
  720. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js.map +1 -1
  721. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js +9 -7
  722. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  723. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js +3 -6
  724. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js.map +1 -1
  725. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js.map +1 -1
  726. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  727. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +7 -1
  728. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +69 -12
  729. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  730. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +25 -1
  731. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  732. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +4 -1
  733. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +15 -2
  734. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  735. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  736. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js +1 -1
  737. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  738. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  739. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  740. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +1 -1
  741. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  742. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +5 -0
  743. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +6 -0
  744. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  745. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  746. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +2 -2
  747. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  748. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +3 -5
  749. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  750. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +70 -19
  751. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  752. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +1 -1
  753. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -1
  754. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +3 -5
  755. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +1 -1
  756. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  757. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -2
  758. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +39 -38
  759. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  760. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +15 -20
  761. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  762. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -2
  763. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  764. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  765. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
  766. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +11 -6
  767. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  768. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js.map +1 -1
  769. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  770. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +3 -5
  771. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  772. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +3 -1
  773. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  774. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  775. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +1 -1
  776. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -1
  777. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  778. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -1
  779. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +6 -6
  780. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +3 -5
  781. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +1 -1
  782. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +2 -6
  783. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  784. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +9 -9
  785. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  786. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +23 -25
  787. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  788. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -1
  789. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +8 -3
  790. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  791. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +5 -14
  792. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  793. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +9 -23
  794. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  795. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -1
  796. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +6 -8
  797. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -1
  798. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js +12 -16
  799. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -1
  800. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js +1 -1
  801. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js.map +1 -1
  802. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +1 -5
  803. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  804. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +8 -1
  805. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +55 -45
  806. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  807. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js +32 -25
  808. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  809. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.d.ts +4 -0
  810. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +131 -50
  811. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  812. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js +1 -1
  813. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -1
  814. package/dist/dist-esm/react-composites/src/composites/common/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  815. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +52 -61
  816. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  817. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +1 -1
  818. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  819. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.js +10 -7
  820. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.js.map +1 -1
  821. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.styles.js.map +1 -1
  822. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js +1 -1
  823. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js.map +1 -1
  824. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +15 -13
  825. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  826. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  827. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  828. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +17 -9
  829. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  830. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +23 -13
  831. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  832. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +7 -15
  833. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +1 -1
  834. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +1 -1
  835. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +7 -15
  836. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  837. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +10 -8
  838. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  839. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +16 -11
  840. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
  841. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  842. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  843. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +20 -2
  844. package/dist/dist-esm/react-composites/src/composites/common/icons.js +19 -5
  845. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  846. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.d.ts +8 -0
  847. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.js +33 -0
  848. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.js.map +1 -0
  849. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.d.ts +8 -0
  850. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.js +32 -0
  851. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.js.map +1 -0
  852. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.js.map +1 -1
  853. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  854. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +5 -16
  855. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  856. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +12 -51
  857. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  858. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +6 -29
  859. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  860. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +4 -22
  861. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  862. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +7 -0
  863. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  864. package/dist/dist-esm/react-composites/src/composites/common/utils.js +17 -12
  865. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  866. package/dist/dist-esm/react-composites/src/composites/index.d.ts +2 -0
  867. package/dist/dist-esm/react-composites/src/composites/index.js +4 -0
  868. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  869. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  870. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  871. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  872. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +4 -2
  873. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +6 -4
  874. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +4 -2
  875. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +4 -2
  876. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +7 -2
  877. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +4 -2
  878. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +4 -2
  879. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +4 -2
  880. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +4 -2
  881. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  882. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +4 -2
  883. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +4 -2
  884. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +4 -2
  885. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +4 -2
  886. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +4 -2
  887. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +4 -2
  888. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +4 -2
  889. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +4 -2
  890. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +4 -2
  891. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +4 -2
  892. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +4 -2
  893. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +4 -2
  894. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  895. package/package.json +8 -8
  896. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.d.ts +0 -61
  897. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js +0 -74
  898. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js.map +0 -1
  899. package/dist/dist-esm/react-components/src/permissions/index.d.ts +0 -2
  900. package/dist/dist-esm/react-components/src/permissions/index.js +0 -4
  901. package/dist/dist-esm/react-components/src/permissions/index.js.map +0 -1
@@ -5,6 +5,8 @@ import { useId } from '@fluentui/react-hooks';
5
5
  import { _isInCall } from "../../../../../calling-component-bindings/src";
6
6
  import { ErrorBar } from "../../../../../react-components/src";
7
7
  import React from 'react';
8
+ /* @conditional-compile-remove(gallery-layouts) */
9
+ import { useState } from 'react';
8
10
  import { useLocale } from '../../localization';
9
11
  import { CallArrangement } from '../components/CallArrangement';
10
12
  import { MediaGallery } from '../components/MediaGallery';
@@ -22,7 +24,9 @@ import { reduceCallControlsForMobile } from '../utils';
22
24
  * @private
23
25
  */
24
26
  export const CallPage = (props) => {
25
- const { callInvitationURL, onRenderAvatar, onFetchAvatarPersonaData, onFetchParticipantMenuItems, options, mobileView } = props;
27
+ const { callInvitationURL, onRenderAvatar, onFetchAvatarPersonaData, onFetchParticipantMenuItems, options, mobileView,
28
+ /* @conditional-compile-remove(gallery-layouts) */
29
+ galleryLayout = 'floatingLocalVideo' } = props;
26
30
  // To use useProps to get these states, we need to create another file wrapping Call,
27
31
  // It seems unnecessary in this case, so we get the updated states using this approach.
28
32
  const { callStatus } = useSelector(callStatusSelector);
@@ -36,15 +40,32 @@ export const CallPage = (props) => {
36
40
  // Reduce the controls shown when mobile view is enabled.
37
41
  const callControlOptions = mobileView ? reduceCallControlsForMobile(options === null || options === void 0 ? void 0 : options.callControls) : options === null || options === void 0 ? void 0 : options.callControls;
38
42
  const drawerMenuHostId = useId('drawerMenuHost');
39
- return React.createElement(CallArrangement, { id: drawerMenuHostId, complianceBannerProps: Object.assign(Object.assign({}, complianceBannerProps), { strings }), errorBarProps: (options === null || options === void 0 ? void 0 : options.errorBar) !== false && errorBarProps, mutedNotificationProps: mutedNotificationProps, callControlProps: {
43
+ /* @conditional-compile-remove(gallery-layouts) */
44
+ const [userSetOverflowGalleryPosition, setUserSetOverflowGalleryPosition] = useState('Responsive');
45
+ /* @conditional-compile-remove(gallery-layouts) */
46
+ const [userSetGalleryLayout, setUserSetGalleryLayout] = useState(galleryLayout);
47
+ return (React.createElement(CallArrangement, { id: drawerMenuHostId, complianceBannerProps: Object.assign(Object.assign({}, complianceBannerProps), { strings }), errorBarProps: (options === null || options === void 0 ? void 0 : options.errorBar) !== false && errorBarProps, mutedNotificationProps: mutedNotificationProps, callControlProps: {
40
48
  callInvitationURL: callInvitationURL,
41
49
  onFetchParticipantMenuItems: onFetchParticipantMenuItems,
42
50
  options: callControlOptions,
43
51
  increaseFlyoutItemSize: mobileView
44
52
  },
45
- /* @conditional-compile-remove(one-to-n-calling) */ onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? React.createElement(MediaGallery, Object.assign({ isMobile: mobileView }, mediaGalleryProps, mediaGalleryHandlers, { onRenderAvatar: onRenderAvatar, onFetchAvatarPersonaData: onFetchAvatarPersonaData,
46
- /* @conditional-compile-remove(pinned-participants) */ remoteVideoTileMenuOptions: options === null || options === void 0 ? void 0 : options.remoteVideoTileMenu, drawerMenuHostId: drawerMenuHostId,
47
- /* @conditional-compile-remove(click-to-call) */ localVideoTileOptions: options === null || options === void 0 ? void 0 : options.localVideoTile })) : React.createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps)) : React.createElement(React.Fragment, null), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, dataUiId: 'call-page', latestErrors: props.latestErrors, onDismissError: props.onDismissError });
53
+ /* @conditional-compile-remove(one-to-n-calling) */
54
+ onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? (isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (React.createElement(MediaGallery, Object.assign({ isMobile: mobileView }, mediaGalleryProps, mediaGalleryHandlers, { onRenderAvatar: onRenderAvatar, onFetchAvatarPersonaData: onFetchAvatarPersonaData,
55
+ /* @conditional-compile-remove(pinned-participants) */
56
+ remoteVideoTileMenuOptions: options === null || options === void 0 ? void 0 : options.remoteVideoTileMenu, drawerMenuHostId: drawerMenuHostId,
57
+ /* @conditional-compile-remove(click-to-call) */
58
+ localVideoTileOptions: options === null || options === void 0 ? void 0 : options.localVideoTile,
59
+ /* @conditional-compile-remove(gallery-layouts) */
60
+ userSetOverflowGalleryPosition: userSetOverflowGalleryPosition,
61
+ /* @conditional-compile-remove(gallery-layouts) */
62
+ userSetGalleryLayout: userSetGalleryLayout }))) : (React.createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps)))) : (React.createElement(React.Fragment, null)), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, dataUiId: 'call-page', latestErrors: props.latestErrors, onDismissError: props.onDismissError,
63
+ /* @conditional-compile-remove(gallery-layouts) */
64
+ onUserSetOverflowGalleryPositionChange: setUserSetOverflowGalleryPosition,
65
+ /* @conditional-compile-remove(gallery-layouts) */
66
+ onUserSetGalleryLayoutChange: setUserSetGalleryLayout,
67
+ /* @conditional-compile-remove(gallery-layouts) */
68
+ userSetGalleryLayout: userSetGalleryLayout }));
48
69
  };
49
70
  /**
50
71
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"CallPage.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/pages/CallPage.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { DiagnosticQuality } from '@azure/communication-calling';\nimport { useId } from '@fluentui/react-hooks';\nimport { _isInCall } from '@internal/calling-component-bindings';\nimport { ActiveErrorMessage, ErrorBar, OnRenderAvatarCallback, ParticipantMenuItemsCallback } from '@internal/react-components';\nimport React from 'react';\nimport { AvatarPersonaDataCallback } from '../../common/AvatarPersona';\nimport { useLocale } from '../../localization';\nimport { CallCompositeOptions } from '../CallComposite';\nimport { CallArrangement } from '../components/CallArrangement';\nimport { MediaGallery } from '../components/MediaGallery';\nimport { NetworkReconnectTile } from '../components/NetworkReconnectTile';\nimport { useHandlers } from '../hooks/useHandlers';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { useSelector } from '../hooks/useSelector';\nimport { callStatusSelector } from '../selectors/callStatusSelector';\nimport { complianceBannerSelector } from '../selectors/complianceBannerSelector';\nimport { mediaGallerySelector } from '../selectors/mediaGallerySelector';\nimport { mutedNotificationSelector } from '../selectors/mutedNotificationSelector';\nimport { networkReconnectTileSelector } from '../selectors/networkReconnectTileSelector';\nimport { reduceCallControlsForMobile } from '../utils';\nimport { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';\nimport { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';\n\n/**\n * @private\n */\nexport interface CallPageProps {\n mobileView: boolean;\n modalLayerHostId: string;\n callInvitationURL?: string;\n onRenderAvatar?: OnRenderAvatarCallback;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n options?: CallCompositeOptions;\n latestErrors: ActiveErrorMessage[];\n onDismissError: (error: ActiveErrorMessage) => void;\n}\n\n/**\n * @private\n */\nexport const CallPage = (props: CallPageProps): JSX.Element => {\n const {\n callInvitationURL,\n onRenderAvatar,\n onFetchAvatarPersonaData,\n onFetchParticipantMenuItems,\n options,\n mobileView\n } = props;\n\n // To use useProps to get these states, we need to create another file wrapping Call,\n // It seems unnecessary in this case, so we get the updated states using this approach.\n const {\n callStatus\n } = useSelector(callStatusSelector);\n const mediaGalleryProps = useSelector(mediaGallerySelector);\n const mediaGalleryHandlers = useHandlers(MediaGallery);\n const complianceBannerProps = useSelector(complianceBannerSelector);\n const errorBarProps = usePropsFor(ErrorBar);\n const mutedNotificationProps = useSelector(mutedNotificationSelector);\n const networkReconnectTileProps = useSelector(networkReconnectTileSelector);\n const strings = useLocale().strings.call;\n\n // Reduce the controls shown when mobile view is enabled.\n const callControlOptions = mobileView ? reduceCallControlsForMobile(options?.callControls) : options?.callControls;\n const drawerMenuHostId = useId('drawerMenuHost');\n return <CallArrangement id={drawerMenuHostId} complianceBannerProps={{\n ...complianceBannerProps,\n strings\n }} errorBarProps={options?.errorBar !== false && errorBarProps} mutedNotificationProps={mutedNotificationProps} callControlProps={{\n callInvitationURL: callInvitationURL,\n onFetchParticipantMenuItems: onFetchParticipantMenuItems,\n options: callControlOptions,\n increaseFlyoutItemSize: mobileView\n }}\n /* @conditional-compile-remove(one-to-n-calling) */ onFetchAvatarPersonaData={onFetchAvatarPersonaData} mobileView={mobileView} modalLayerHostId={props.modalLayerHostId} onRenderGalleryContent={() => _isInCall(callStatus) ? isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? <MediaGallery isMobile={mobileView} {...mediaGalleryProps} {...mediaGalleryHandlers} onRenderAvatar={onRenderAvatar} onFetchAvatarPersonaData={onFetchAvatarPersonaData}\n /* @conditional-compile-remove(pinned-participants) */ remoteVideoTileMenuOptions={options?.remoteVideoTileMenu} drawerMenuHostId={drawerMenuHostId}\n /* @conditional-compile-remove(click-to-call) */ localVideoTileOptions={options?.localVideoTile} /> : <NetworkReconnectTile {...networkReconnectTileProps} /> : <></>} updateSidePaneRenderer={props.updateSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} dataUiId={'call-page'} latestErrors={props.latestErrors} onDismissError={props.onDismissError} />;\n};\n\n/**\n * @private\n */\nexport const isNetworkHealthy = (value: DiagnosticQuality | boolean | undefined): boolean => {\n // We know that the value is actually of type DiagnosticQuality for this diagnostic.\n // We ignore any boolen values, considering the network to still be healthy.\n // Thus, only DiagnosticQuality.Poor or .Bad indicate network problems.\n return value === true || value === false || value === undefined || value === DiagnosticQuality.Good;\n};\"../../../../../calling-component-bindings/src\"\"../../../../../react-components/src\""]}
1
+ {"version":3,"file":"CallPage.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/pages/CallPage.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { DiagnosticQuality } from '@azure/communication-calling';\nimport { useId } from '@fluentui/react-hooks';\nimport { _isInCall } from '@internal/calling-component-bindings';\nimport {\n ActiveErrorMessage,\n ErrorBar,\n OnRenderAvatarCallback,\n ParticipantMenuItemsCallback\n} from '@internal/react-components';\n/* @conditional-compile-remove(gallery-layouts) */\nimport { VideoGalleryLayout } from '@internal/react-components';\nimport React from 'react';\n/* @conditional-compile-remove(gallery-layouts) */\nimport { useState } from 'react';\nimport { AvatarPersonaDataCallback } from '../../common/AvatarPersona';\nimport { useLocale } from '../../localization';\nimport { CallCompositeOptions } from '../CallComposite';\nimport { CallArrangement } from '../components/CallArrangement';\nimport { MediaGallery } from '../components/MediaGallery';\nimport { NetworkReconnectTile } from '../components/NetworkReconnectTile';\nimport { useHandlers } from '../hooks/useHandlers';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { useSelector } from '../hooks/useSelector';\nimport { callStatusSelector } from '../selectors/callStatusSelector';\nimport { complianceBannerSelector } from '../selectors/complianceBannerSelector';\nimport { mediaGallerySelector } from '../selectors/mediaGallerySelector';\nimport { mutedNotificationSelector } from '../selectors/mutedNotificationSelector';\nimport { networkReconnectTileSelector } from '../selectors/networkReconnectTileSelector';\nimport { reduceCallControlsForMobile } from '../utils';\nimport { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';\nimport { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';\n\n/**\n * @private\n */\nexport interface CallPageProps {\n mobileView: boolean;\n modalLayerHostId: string;\n callInvitationURL?: string;\n onRenderAvatar?: OnRenderAvatarCallback;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n options?: CallCompositeOptions;\n latestErrors: ActiveErrorMessage[];\n onDismissError: (error: ActiveErrorMessage) => void;\n /* @conditional-compile-remove(gallery-layouts) */\n galleryLayout: VideoGalleryLayout;\n}\n\n/**\n * @private\n */\nexport const CallPage = (props: CallPageProps): JSX.Element => {\n const {\n callInvitationURL,\n onRenderAvatar,\n onFetchAvatarPersonaData,\n onFetchParticipantMenuItems,\n options,\n mobileView,\n /* @conditional-compile-remove(gallery-layouts) */\n galleryLayout = 'floatingLocalVideo'\n } = props;\n\n // To use useProps to get these states, we need to create another file wrapping Call,\n // It seems unnecessary in this case, so we get the updated states using this approach.\n const { callStatus } = useSelector(callStatusSelector);\n const mediaGalleryProps = useSelector(mediaGallerySelector);\n const mediaGalleryHandlers = useHandlers(MediaGallery);\n const complianceBannerProps = useSelector(complianceBannerSelector);\n const errorBarProps = usePropsFor(ErrorBar);\n const mutedNotificationProps = useSelector(mutedNotificationSelector);\n const networkReconnectTileProps = useSelector(networkReconnectTileSelector);\n\n const strings = useLocale().strings.call;\n\n // Reduce the controls shown when mobile view is enabled.\n const callControlOptions = mobileView ? reduceCallControlsForMobile(options?.callControls) : options?.callControls;\n\n const drawerMenuHostId = useId('drawerMenuHost');\n\n /* @conditional-compile-remove(gallery-layouts) */\n const [userSetOverflowGalleryPosition, setUserSetOverflowGalleryPosition] = useState<'Responsive' | 'HorizontalTop'>(\n 'Responsive'\n );\n /* @conditional-compile-remove(gallery-layouts) */\n const [userSetGalleryLayout, setUserSetGalleryLayout] = useState<VideoGalleryLayout>(galleryLayout);\n\n return (\n <CallArrangement\n id={drawerMenuHostId}\n complianceBannerProps={{ ...complianceBannerProps, strings }}\n errorBarProps={options?.errorBar !== false && errorBarProps}\n mutedNotificationProps={mutedNotificationProps}\n callControlProps={{\n callInvitationURL: callInvitationURL,\n onFetchParticipantMenuItems: onFetchParticipantMenuItems,\n options: callControlOptions,\n increaseFlyoutItemSize: mobileView\n }}\n /* @conditional-compile-remove(one-to-n-calling) */\n onFetchAvatarPersonaData={onFetchAvatarPersonaData}\n mobileView={mobileView}\n modalLayerHostId={props.modalLayerHostId}\n onRenderGalleryContent={() =>\n _isInCall(callStatus) ? (\n isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (\n <MediaGallery\n isMobile={mobileView}\n {...mediaGalleryProps}\n {...mediaGalleryHandlers}\n onRenderAvatar={onRenderAvatar}\n onFetchAvatarPersonaData={onFetchAvatarPersonaData}\n /* @conditional-compile-remove(pinned-participants) */\n remoteVideoTileMenuOptions={options?.remoteVideoTileMenu}\n drawerMenuHostId={drawerMenuHostId}\n /* @conditional-compile-remove(click-to-call) */\n localVideoTileOptions={options?.localVideoTile}\n /* @conditional-compile-remove(gallery-layouts) */\n userSetOverflowGalleryPosition={userSetOverflowGalleryPosition}\n /* @conditional-compile-remove(gallery-layouts) */\n userSetGalleryLayout={userSetGalleryLayout}\n />\n ) : (\n <NetworkReconnectTile {...networkReconnectTileProps} />\n )\n ) : (\n <></>\n )\n }\n updateSidePaneRenderer={props.updateSidePaneRenderer}\n mobileChatTabHeader={props.mobileChatTabHeader}\n dataUiId={'call-page'}\n latestErrors={props.latestErrors}\n onDismissError={props.onDismissError}\n /* @conditional-compile-remove(gallery-layouts) */\n onUserSetOverflowGalleryPositionChange={setUserSetOverflowGalleryPosition}\n /* @conditional-compile-remove(gallery-layouts) */\n onUserSetGalleryLayoutChange={setUserSetGalleryLayout}\n /* @conditional-compile-remove(gallery-layouts) */\n userSetGalleryLayout={userSetGalleryLayout}\n />\n );\n};\n\n/**\n * @private\n */\nexport const isNetworkHealthy = (value: DiagnosticQuality | boolean | undefined): boolean => {\n // We know that the value is actually of type DiagnosticQuality for this diagnostic.\n // We ignore any boolen values, considering the network to still be healthy.\n // Thus, only DiagnosticQuality.Poor or .Bad indicate network problems.\n return value === true || value === false || value === undefined || value === DiagnosticQuality.Good;\n};\n\"../../../../../calling-component-bindings/src\"\"../../../../../react-components/src\""]}
@@ -19,8 +19,6 @@ import { StartCallButton } from '../components/StartCallButton';
19
19
  import { devicePermissionSelector } from '../selectors/devicePermissionSelector';
20
20
  import { useSelector } from '../hooks/useSelector';
21
21
  import { DevicesButton, ErrorBar } from "../../../../../react-components/src";
22
- /* @conditional-compile-remove(rooms) */
23
- import { _usePermissions } from "../../../../../react-components/src";
24
22
  import { getCallingSelector } from "../../../../../calling-component-bindings/src";
25
23
  import { Panel, PanelType, Stack } from '@fluentui/react';
26
24
  import { fillWidth, panelFocusProps, panelStyles } from '../styles/CallConfiguration.styles';
@@ -46,7 +44,7 @@ import { localVideoSelector } from '../../CallComposite/selectors/localVideoStre
46
44
  * @private
47
45
  */
48
46
  export const ConfigurationPage = (props) => {
49
- var _a, _b;
47
+ var _a, _b, _c;
50
48
  const { startCallHandler, mobileView, modalLayerHostId,
51
49
  /* @conditional-compile-remove(call-readiness) */ deviceChecks,
52
50
  /* @conditional-compile-remove(call-readiness) */ onPermissionsTroubleshootingClick,
@@ -68,21 +66,21 @@ export const ConfigurationPage = (props) => {
68
66
  const environmentInfo = adapter.getState().environmentInfo;
69
67
  let disableStartCallButton = !microphonePermissionGranted || ((_a = deviceState.microphones) === null || _a === void 0 ? void 0 : _a.length) === 0;
70
68
  /* @conditional-compile-remove(rooms) */
71
- const rolePermissions = _usePermissions();
69
+ const role = (_b = adapter.getState().call) === null || _b === void 0 ? void 0 : _b.role;
72
70
  /* @conditional-compile-remove(video-background-effects) */
73
71
  const isCameraOn = useSelector(localVideoSelector).isAvailable;
74
72
  let filteredLatestErrors = props.latestErrors;
75
73
  /* @conditional-compile-remove(rooms) */
76
74
  // TODO: move this logic to the error bar selector once role is plumbed from the headless SDK
77
- if (!rolePermissions.cameraButton) {
78
- filteredLatestErrors = filteredLatestErrors.filter(e => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari');
75
+ if (role !== 'Consumer') {
76
+ filteredLatestErrors = filteredLatestErrors.filter((e) => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari');
79
77
  }
80
78
  /* @conditional-compile-remove(video-background-effects) */
81
79
  if ((useIsParticularSidePaneOpen('videoeffects') || !isCameraOn) && errorBarProps) {
82
- filteredLatestErrors = filteredLatestErrors.filter(e => e.type !== 'unableToStartVideoEffect');
80
+ filteredLatestErrors = filteredLatestErrors.filter((e) => e.type !== 'unableToStartVideoEffect');
83
81
  }
84
82
  /* @conditional-compile-remove(rooms) */
85
- if (!rolePermissions.microphoneButton) {
83
+ if (role === 'Consumer') {
86
84
  // If user's role permissions do not allow access to the microphone button then DO NOT disable the start call button
87
85
  // because microphone device permission is not needed for the user's role
88
86
  disableStartCallButton = false;
@@ -90,27 +88,44 @@ export const ConfigurationPage = (props) => {
90
88
  /* @conditional-compile-remove(call-readiness) */
91
89
  // Overrides role permissions if CallCompositeOptions deviceChecks are set
92
90
  if (deviceChecks) {
93
- if (['doNotPrompt', 'optional'].includes(deviceChecks.camera) && ['doNotPrompt', 'optional'].includes(deviceChecks.microphone)) {
91
+ if (['doNotPrompt', 'optional'].includes(deviceChecks.camera) &&
92
+ ['doNotPrompt', 'optional'].includes(deviceChecks.microphone)) {
94
93
  disableStartCallButton = false;
95
94
  }
96
95
  else if (deviceChecks.camera === 'required') {
97
- disableStartCallButton = !cameraPermissionGranted || ((_b = deviceState.cameras) === null || _b === void 0 ? void 0 : _b.length) === 0;
96
+ disableStartCallButton = !cameraPermissionGranted || ((_c = deviceState.cameras) === null || _c === void 0 ? void 0 : _c.length) === 0;
98
97
  }
99
98
  }
100
99
  const locale = useLocale();
101
- const title = React.createElement(Stack.Item, { className: mobileView ? titleContainerStyleMobile : titleContainerStyleDesktop, role: "heading", "aria-level": 1 }, locale.strings.call.configurationPageTitle);
102
- const callDescription = locale.strings.call.configurationPageCallDetails && React.createElement(Stack.Item, { className: mobileView ? callDetailsStyleMobile : callDetailsStyleDesktop }, locale.strings.call.configurationPageCallDetails);
100
+ const title = (React.createElement(Stack.Item, { className: mobileView ? titleContainerStyleMobile : titleContainerStyleDesktop, role: "heading", "aria-level": 1 }, locale.strings.call.configurationPageTitle));
101
+ const callDescription = locale.strings.call.configurationPageCallDetails && (React.createElement(Stack.Item, { className: mobileView ? callDetailsStyleMobile : callDetailsStyleDesktop }, locale.strings.call.configurationPageCallDetails));
103
102
  let mobileWithPreview = mobileView;
104
103
  /* @conditional-compile-remove(rooms) */
105
- mobileWithPreview = mobileWithPreview && rolePermissions.cameraButton;
104
+ mobileWithPreview = mobileWithPreview && role !== 'Consumer';
106
105
  /* @conditional-compile-remove(call-readiness) */
107
106
  const permissionsState = {
108
107
  // fall back to using cameraPermissionGranted and microphonePermissionGranted if permission API is not supported
109
- camera: videoState && videoState !== 'unsupported' ? cameraPermissionGranted !== false ? videoState : 'denied' : cameraPermissionGranted !== false ? cameraPermissionGranted ? 'granted' : 'prompt' : 'denied',
110
- microphone: audioState && audioState !== 'unsupported' ? microphonePermissionGranted !== false ? audioState : 'denied' : microphonePermissionGranted !== false ? microphonePermissionGranted ? 'granted' : 'prompt' : 'denied'
108
+ camera: videoState && videoState !== 'unsupported'
109
+ ? cameraPermissionGranted !== false
110
+ ? videoState
111
+ : 'denied'
112
+ : cameraPermissionGranted !== false
113
+ ? cameraPermissionGranted
114
+ ? 'granted'
115
+ : 'prompt'
116
+ : 'denied',
117
+ microphone: audioState && audioState !== 'unsupported'
118
+ ? microphonePermissionGranted !== false
119
+ ? audioState
120
+ : 'denied'
121
+ : microphonePermissionGranted !== false
122
+ ? microphonePermissionGranted
123
+ ? 'granted'
124
+ : 'prompt'
125
+ : 'denied'
111
126
  };
112
127
  /* @conditional-compile-remove(call-readiness) */
113
- const networkErrors = errorBarProps.activeErrorMessages.filter(message => message.type === 'callNetworkQualityLow');
128
+ const networkErrors = errorBarProps.activeErrorMessages.filter((message) => message.type === 'callNetworkQualityLow');
114
129
  /* @conditional-compile-remove(call-readiness) */
115
130
  const [isPermissionsModalDismissed, setIsPermissionsModalDismissed] = useState(true);
116
131
  // When permission API is not available, we want to show screen saying checking for access (disappears on its own)
@@ -134,7 +149,7 @@ export const ConfigurationPage = (props) => {
134
149
  hostId: modalLayerHostId
135
150
  }), [modalLayerHostId]);
136
151
  const filteredErrorBarProps = useMemo(() => (Object.assign(Object.assign({}, errorBarProps), { activeErrorMessages: filteredLatestErrors })), [errorBarProps, filteredLatestErrors]);
137
- return React.createElement(Stack, { className: mobileView ? configurationContainerStyleMobile : configurationContainerStyleDesktop },
152
+ return (React.createElement(Stack, { className: mobileView ? configurationContainerStyleMobile : configurationContainerStyleDesktop },
138
153
  React.createElement(Stack, { styles: bannerNotificationStyles },
139
154
  React.createElement(ConfigurationPageErrorBar
140
155
  /* @conditional-compile-remove(call-readiness) */
@@ -143,40 +158,56 @@ export const ConfigurationPage = (props) => {
143
158
  /* @conditional-compile-remove(call-readiness) */
144
159
  // show trouble shooting error bar when encountering network error/ permission error
145
160
  showTroubleShootingErrorBar: !cameraPermissionGranted || !microphonePermissionGranted || networkErrors.length > 0,
146
- /* @conditional-compile-remove(call-readiness) */ permissionsState: permissionsState,
147
- /* @conditional-compile-remove(call-readiness) */ onNetworkingTroubleShootingClick: onNetworkingTroubleShootingClick,
148
- /* @conditional-compile-remove(call-readiness) */ onPermissionsTroubleshootingClick: onPermissionsTroubleshootingClick, errorBarProps: filteredErrorBarProps, onDismissError: props.onDismissError })),
161
+ /* @conditional-compile-remove(call-readiness) */
162
+ permissionsState: permissionsState,
163
+ /* @conditional-compile-remove(call-readiness) */
164
+ onNetworkingTroubleShootingClick: onNetworkingTroubleShootingClick,
165
+ /* @conditional-compile-remove(call-readiness) */
166
+ onPermissionsTroubleshootingClick: onPermissionsTroubleshootingClick, errorBarProps: filteredErrorBarProps, onDismissError: props.onDismissError })),
167
+ /* @conditional-compile-remove(call-readiness) */
149
168
  // show the following screen if permission API is availible (not unsupported) and videoState, audioState is assigned values
150
- videoState && videoState !== 'unsupported' && audioState && audioState !== 'unsupported' && React.createElement(CallReadinessModal, { modalLayerHostId: modalLayerHostId, mobileView: mobileView,
151
- /* @conditional-compile-remove(unsupported-browser) */ environmentInfo: environmentInfo, permissionsState: permissionsState, isPermissionsModalDismissed: isPermissionsModalDismissed, setIsPermissionsModalDismissed: setIsPermissionsModalDismissed, onPermissionsTroubleshootingClick: onPermissionsTroubleshootingClick }),
169
+ videoState && videoState !== 'unsupported' && audioState && audioState !== 'unsupported' && (React.createElement(CallReadinessModal, { modalLayerHostId: modalLayerHostId, mobileView: mobileView,
170
+ /* @conditional-compile-remove(unsupported-browser) */
171
+ environmentInfo: environmentInfo, permissionsState: permissionsState, isPermissionsModalDismissed: isPermissionsModalDismissed, setIsPermissionsModalDismissed: setIsPermissionsModalDismissed, onPermissionsTroubleshootingClick: onPermissionsTroubleshootingClick })),
172
+ /* @conditional-compile-remove(call-readiness) */
152
173
  // show the following screen if permission API is not availible (unsupported) and videoState, audioState is assigned values
153
- videoState && audioState && (videoState === 'unsupported' || audioState === 'unsupported') && React.createElement(CallReadinessModalFallBack
154
- /* @conditional-compile-remove(call-readiness) */ , {
155
- /* @conditional-compile-remove(call-readiness) */ modalLayerHostId: modalLayerHostId, mobileView: mobileView, checkPermissionModalShowing: forceShowingCheckPermissions, permissionsState: permissionsState, isPermissionsModalDismissed: isPermissionsModalDismissed,
156
- /* @conditional-compile-remove(unsupported-browser) */ environmentInfo: environmentInfo, setIsPermissionsModalDismissed: setIsPermissionsModalDismissed, onPermissionsTroubleshootingClick: onPermissionsTroubleshootingClick }),
174
+ videoState && audioState && (videoState === 'unsupported' || audioState === 'unsupported') && (React.createElement(CallReadinessModalFallBack
175
+ /* @conditional-compile-remove(call-readiness) */
176
+ , {
177
+ /* @conditional-compile-remove(call-readiness) */
178
+ modalLayerHostId: modalLayerHostId, mobileView: mobileView, checkPermissionModalShowing: forceShowingCheckPermissions, permissionsState: permissionsState, isPermissionsModalDismissed: isPermissionsModalDismissed,
179
+ /* @conditional-compile-remove(unsupported-browser) */
180
+ environmentInfo: environmentInfo, setIsPermissionsModalDismissed: setIsPermissionsModalDismissed, onPermissionsTroubleshootingClick: onPermissionsTroubleshootingClick })),
157
181
  React.createElement(Stack, { verticalFill: true, grow: true, horizontal: true, className: fillWidth },
158
182
  React.createElement(Stack, { className: fillWidth, horizontal: !mobileWithPreview, horizontalAlign: mobileWithPreview ? 'stretch' : 'center', verticalAlign: "center", tokens: mobileWithPreview ? configurationStackTokensMobile : configurationStackTokensDesktop },
159
- mobileWithPreview && React.createElement(Stack.Item, null,
183
+ mobileWithPreview && (React.createElement(Stack.Item, null,
160
184
  title,
161
- callDescription),
162
- localPreviewTrampoline(mobileWithPreview, /* @conditional-compile-remove(rooms) */ !rolePermissions.cameraButton),
185
+ callDescription)),
186
+ localPreviewTrampoline(mobileWithPreview, /* @conditional-compile-remove(rooms) */ !!(role === 'Consumer')),
163
187
  React.createElement(Stack, { className: mobileView ? undefined : selectionContainerStyle },
164
- !mobileWithPreview && React.createElement(React.Fragment, null,
188
+ !mobileWithPreview && (React.createElement(React.Fragment, null,
165
189
  React.createElement(Stack.Item, { styles: callDetailsContainerStylesDesktop },
166
190
  title,
167
191
  callDescription),
168
- React.createElement(LocalDeviceSettings, Object.assign({}, options, localDeviceSettingsHandlers, { cameraPermissionGranted: cameraPermissionGrantedTrampoline(cameraPermissionGranted, /* @conditional-compile-remove(call-readiness) */ videoState), microphonePermissionGranted: micPermissionGrantedTrampoline(microphonePermissionGranted, /* @conditional-compile-remove(call-readiness) */ audioState),
169
- /* @conditional-compile-remove(call-readiness) */ onClickEnableDevicePermission: () => {
192
+ React.createElement(LocalDeviceSettings, Object.assign({}, options, localDeviceSettingsHandlers, { cameraPermissionGranted: cameraPermissionGrantedTrampoline(cameraPermissionGranted,
193
+ /* @conditional-compile-remove(call-readiness) */ videoState), microphonePermissionGranted: micPermissionGrantedTrampoline(microphonePermissionGranted,
194
+ /* @conditional-compile-remove(call-readiness) */ audioState),
195
+ /* @conditional-compile-remove(call-readiness) */
196
+ onClickEnableDevicePermission: () => {
170
197
  setIsPermissionsModalDismissed(true);
171
198
  },
172
- /* @conditional-compile-remove(video-background-effects) */ onVideoEffectsClick: toggleVideoEffectsPane }))),
199
+ /* @conditional-compile-remove(video-background-effects) */
200
+ onVideoEffectsClick: toggleVideoEffectsPane })))),
173
201
  React.createElement(Stack, { styles: mobileWithPreview ? startCallButtonContainerStyleMobile : startCallButtonContainerStyleDesktop },
174
202
  React.createElement(StartCallButton, { className: mobileWithPreview ? startCallButtonStyleMobile : undefined, onClick: startCall, disabled: disableStartCallButton })))),
175
203
  React.createElement(Panel
176
- /* @conditional-compile-remove(video-background-effects) */ , {
177
- /* @conditional-compile-remove(video-background-effects) */ isOpen: isVideoEffectsPaneOpen, hasCloseButton: false, isBlocking: false, isHiddenOnDismiss: false, styles: panelStyles, focusTrapZoneProps: panelFocusProps, layerProps: panelLayerProps, type: PanelType.custom,
178
- /* @conditional-compile-remove(video-background-effects) */ customWidth: `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` },
179
- React.createElement(SidePane, { mobileView: props.mobileView, updateSidePaneRenderer: props.updateSidePaneRenderer }))));
204
+ /* @conditional-compile-remove(video-background-effects) */
205
+ , {
206
+ /* @conditional-compile-remove(video-background-effects) */
207
+ isOpen: isVideoEffectsPaneOpen, hasCloseButton: false, isBlocking: false, isHiddenOnDismiss: false, styles: panelStyles, focusTrapZoneProps: panelFocusProps, layerProps: panelLayerProps, type: PanelType.custom,
208
+ /* @conditional-compile-remove(video-background-effects) */
209
+ customWidth: `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` },
210
+ React.createElement(SidePane, { mobileView: props.mobileView, updateSidePaneRenderer: props.updateSidePaneRenderer })))));
180
211
  };
181
212
  const localPreviewTrampoline = (mobileView, doNotShow) => {
182
213
  /* @conditional-compile-remove(rooms) */
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigurationPage.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/pages/ConfigurationPage.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport React, { useCallback, useMemo } from 'react';\n/* @conditional-compile-remove(call-readiness) */\nimport { useState } from 'react';\nimport { useAdaptedSelector } from '../hooks/useAdaptedSelector';\nimport { useHandlers } from '../hooks/useHandlers';\nimport { LocalDeviceSettings } from '../components/LocalDeviceSettings';\nimport { StartCallButton } from '../components/StartCallButton';\nimport { devicePermissionSelector } from '../selectors/devicePermissionSelector';\nimport { useSelector } from '../hooks/useSelector';\nimport { ActiveErrorMessage, DevicesButton, ErrorBar } from '@internal/react-components';\n/* @conditional-compile-remove(rooms) */\nimport { _usePermissions, _Permissions } from '@internal/react-components';\nimport { getCallingSelector } from '@internal/calling-component-bindings';\nimport { Panel, PanelType, Stack } from '@fluentui/react';\nimport { fillWidth, panelFocusProps, panelStyles } from '../styles/CallConfiguration.styles';\nimport { LocalPreview } from '../components/LocalPreview';\nimport { callDetailsStyleDesktop, callDetailsStyleMobile, configurationStackTokensDesktop, configurationStackTokensMobile, configurationContainerStyleDesktop, configurationContainerStyleMobile, selectionContainerStyle, startCallButtonContainerStyleDesktop, startCallButtonContainerStyleMobile, startCallButtonStyleMobile, titleContainerStyleDesktop, titleContainerStyleMobile, callDetailsContainerStylesDesktop } from '../styles/CallConfiguration.styles';\nimport { useLocale } from '../../localization';\nimport { bannerNotificationStyles } from '../styles/CallPage.styles';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\n/* @conditional-compile-remove(call-readiness) */\nimport { DeviceCheckOptions } from '../CallComposite';\nimport { ConfigurationPageErrorBar } from '../components/ConfigurationPageErrorBar';\n/* @conditional-compile-remove(call-readiness) */\nimport { getDevicePermissionState } from '../utils';\n/* @conditional-compile-remove(call-readiness) */\nimport { CallReadinessModal, CallReadinessModalFallBack } from '../components/CallReadinessModal';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM, useVideoEffectsPane } from '../components/SidePane/useVideoEffectsPane';\nimport { SidePane } from '../components/SidePane/SidePane';\nimport { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';\n/* @conditional-compile-remove(video-background-effects) */\nimport { useIsParticularSidePaneOpen } from '../components/SidePane/SidePaneProvider';\n/* @conditional-compile-remove(video-background-effects) */\nimport { localVideoSelector } from '../../CallComposite/selectors/localVideoStreamSelector';\n\n/**\n * @private\n */\nexport interface ConfigurationPageProps {\n mobileView: boolean;\n startCallHandler(): void;\n updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n latestErrors: ActiveErrorMessage[];\n onDismissError: (error: ActiveErrorMessage) => void;\n modalLayerHostId: string;\n /* @conditional-compile-remove(call-readiness) */\n deviceChecks?: DeviceCheckOptions;\n /* @conditional-compile-remove(call-readiness) */\n onPermissionsTroubleshootingClick?: (permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n }) => void;\n /* @conditional-compile-remove(call-readiness) */\n onNetworkingTroubleShootingClick?: () => void;\n}\n\n/**\n * @private\n */\nexport const ConfigurationPage = (props: ConfigurationPageProps): JSX.Element => {\n const {\n startCallHandler,\n mobileView,\n modalLayerHostId,\n /* @conditional-compile-remove(call-readiness) */deviceChecks,\n /* @conditional-compile-remove(call-readiness) */onPermissionsTroubleshootingClick,\n /* @conditional-compile-remove(call-readiness) */onNetworkingTroubleShootingClick\n } = props;\n const options = useAdaptedSelector(getCallingSelector(DevicesButton));\n const localDeviceSettingsHandlers = useHandlers(LocalDeviceSettings);\n const {\n video: cameraPermissionGranted,\n audio: microphonePermissionGranted\n } = useSelector(devicePermissionSelector);\n /* @conditional-compile-remove(call-readiness) */\n // use permission API to get video and audio permission state\n const [videoState, setVideoState] = useState<PermissionState | 'unsupported' | undefined>(undefined);\n /* @conditional-compile-remove(call-readiness) */\n const [audioState, setAudioState] = useState<PermissionState | 'unsupported' | undefined>(undefined);\n /* @conditional-compile-remove(call-readiness) */\n getDevicePermissionState(setVideoState, setAudioState);\n const errorBarProps = usePropsFor(ErrorBar);\n const adapter = useAdapter();\n const deviceState = adapter.getState().devices;\n /* @conditional-compile-remove(unsupported-browser) */\n const environmentInfo = adapter.getState().environmentInfo;\n let disableStartCallButton = !microphonePermissionGranted || deviceState.microphones?.length === 0;\n /* @conditional-compile-remove(rooms) */\n const rolePermissions = _usePermissions();\n\n /* @conditional-compile-remove(video-background-effects) */\n const isCameraOn = useSelector(localVideoSelector).isAvailable;\n let filteredLatestErrors: ActiveErrorMessage[] = props.latestErrors;\n\n /* @conditional-compile-remove(rooms) */\n // TODO: move this logic to the error bar selector once role is plumbed from the headless SDK\n if (!rolePermissions.cameraButton) {\n filteredLatestErrors = filteredLatestErrors.filter(e => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari');\n }\n\n /* @conditional-compile-remove(video-background-effects) */\n if ((useIsParticularSidePaneOpen('videoeffects') || !isCameraOn) && errorBarProps) {\n filteredLatestErrors = filteredLatestErrors.filter(e => e.type !== 'unableToStartVideoEffect');\n }\n\n /* @conditional-compile-remove(rooms) */\n if (!rolePermissions.microphoneButton) {\n // If user's role permissions do not allow access to the microphone button then DO NOT disable the start call button\n // because microphone device permission is not needed for the user's role\n disableStartCallButton = false;\n }\n\n /* @conditional-compile-remove(call-readiness) */\n // Overrides role permissions if CallCompositeOptions deviceChecks are set\n if (deviceChecks) {\n if (['doNotPrompt', 'optional'].includes(deviceChecks.camera) && ['doNotPrompt', 'optional'].includes(deviceChecks.microphone)) {\n disableStartCallButton = false;\n } else if (deviceChecks.camera === 'required') {\n disableStartCallButton = !cameraPermissionGranted || deviceState.cameras?.length === 0;\n }\n }\n const locale = useLocale();\n const title = <Stack.Item className={mobileView ? titleContainerStyleMobile : titleContainerStyleDesktop} role=\"heading\" aria-level={1}>\n {locale.strings.call.configurationPageTitle}\n </Stack.Item>;\n const callDescription = locale.strings.call.configurationPageCallDetails && <Stack.Item className={mobileView ? callDetailsStyleMobile : callDetailsStyleDesktop}>\n {locale.strings.call.configurationPageCallDetails}\n </Stack.Item>;\n let mobileWithPreview = mobileView;\n /* @conditional-compile-remove(rooms) */\n mobileWithPreview = mobileWithPreview && rolePermissions.cameraButton;\n\n /* @conditional-compile-remove(call-readiness) */\n const permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n } = {\n // fall back to using cameraPermissionGranted and microphonePermissionGranted if permission API is not supported\n camera: videoState && videoState !== 'unsupported' ? cameraPermissionGranted !== false ? videoState : 'denied' : cameraPermissionGranted !== false ? cameraPermissionGranted ? 'granted' : 'prompt' : 'denied',\n microphone: audioState && audioState !== 'unsupported' ? microphonePermissionGranted !== false ? audioState : 'denied' : microphonePermissionGranted !== false ? microphonePermissionGranted ? 'granted' : 'prompt' : 'denied'\n };\n /* @conditional-compile-remove(call-readiness) */\n const networkErrors = errorBarProps.activeErrorMessages.filter(message => message.type === 'callNetworkQualityLow');\n\n /* @conditional-compile-remove(call-readiness) */\n const [isPermissionsModalDismissed, setIsPermissionsModalDismissed] = useState(true);\n\n // When permission API is not available, we want to show screen saying checking for access (disappears on its own)\n // then based on permission setting, we show permission denied or nothing\n /* @conditional-compile-remove(call-readiness) */\n const [minimumFallbackTimerElapsed, setMinimumFallbackTimerElapsed] = useState(false);\n /* @conditional-compile-remove(call-readiness) */\n setTimeout(() => {\n setMinimumFallbackTimerElapsed(true);\n }, 2000);\n /* @conditional-compile-remove(call-readiness) */\n const forceShowingCheckPermissions = !minimumFallbackTimerElapsed;\n\n /* @conditional-compile-remove(video-background-effects) */\n const {\n toggleVideoEffectsPane,\n closeVideoEffectsPane,\n isVideoEffectsPaneOpen\n } = useVideoEffectsPane(props.updateSidePaneRenderer, mobileView, props.latestErrors, props.onDismissError);\n const startCall = useCallback(async () => {\n /* @conditional-compile-remove(video-background-effects) */\n closeVideoEffectsPane();\n startCallHandler();\n }, [startCallHandler, /* @conditional-compile-remove(video-background-effects) */closeVideoEffectsPane]);\n const panelLayerProps = useMemo(() => ({\n hostId: modalLayerHostId\n }), [modalLayerHostId]);\n const filteredErrorBarProps = useMemo(() => ({\n ...errorBarProps,\n activeErrorMessages: filteredLatestErrors\n }), [errorBarProps, filteredLatestErrors]);\n return <Stack className={mobileView ? configurationContainerStyleMobile : configurationContainerStyleDesktop}>\n <Stack styles={bannerNotificationStyles}>\n <ConfigurationPageErrorBar\n /* @conditional-compile-remove(call-readiness) */\n // show trouble shooting error bar when encountering network error/ permission error\n showTroubleShootingErrorBar={!cameraPermissionGranted || !microphonePermissionGranted || networkErrors.length > 0}\n /* @conditional-compile-remove(call-readiness) */ permissionsState={permissionsState}\n /* @conditional-compile-remove(call-readiness) */ onNetworkingTroubleShootingClick={onNetworkingTroubleShootingClick}\n /* @conditional-compile-remove(call-readiness) */ onPermissionsTroubleshootingClick={onPermissionsTroubleshootingClick} errorBarProps={filteredErrorBarProps} onDismissError={props.onDismissError} />\n </Stack>\n {/* @conditional-compile-remove(call-readiness) */\n // show the following screen if permission API is availible (not unsupported) and videoState, audioState is assigned values\n videoState && videoState !== 'unsupported' && audioState && audioState !== 'unsupported' && <CallReadinessModal modalLayerHostId={modalLayerHostId} mobileView={mobileView}\n /* @conditional-compile-remove(unsupported-browser) */ environmentInfo={environmentInfo} permissionsState={permissionsState} isPermissionsModalDismissed={isPermissionsModalDismissed} setIsPermissionsModalDismissed={setIsPermissionsModalDismissed} onPermissionsTroubleshootingClick={onPermissionsTroubleshootingClick} />}\n\n {/* @conditional-compile-remove(call-readiness) */\n // show the following screen if permission API is not availible (unsupported) and videoState, audioState is assigned values\n videoState && audioState && (videoState === 'unsupported' || audioState === 'unsupported') && <CallReadinessModalFallBack\n /* @conditional-compile-remove(call-readiness) */ modalLayerHostId={modalLayerHostId} mobileView={mobileView} checkPermissionModalShowing={forceShowingCheckPermissions} permissionsState={permissionsState} isPermissionsModalDismissed={isPermissionsModalDismissed}\n /* @conditional-compile-remove(unsupported-browser) */ environmentInfo={environmentInfo} setIsPermissionsModalDismissed={setIsPermissionsModalDismissed} onPermissionsTroubleshootingClick={onPermissionsTroubleshootingClick} />}\n\n <Stack verticalFill grow horizontal className={fillWidth}>\n <Stack className={fillWidth} horizontal={!mobileWithPreview} horizontalAlign={mobileWithPreview ? 'stretch' : 'center'} verticalAlign=\"center\" tokens={mobileWithPreview ? configurationStackTokensMobile : configurationStackTokensDesktop}>\n {mobileWithPreview && <Stack.Item>\n {title}\n {callDescription}\n </Stack.Item>}\n {localPreviewTrampoline(mobileWithPreview, /* @conditional-compile-remove(rooms) */!rolePermissions.cameraButton)}\n <Stack className={mobileView ? undefined : selectionContainerStyle}>\n {!mobileWithPreview && <>\n <Stack.Item styles={callDetailsContainerStylesDesktop}>\n {title}\n {callDescription}\n </Stack.Item>\n <LocalDeviceSettings {...options} {...localDeviceSettingsHandlers} cameraPermissionGranted={cameraPermissionGrantedTrampoline(cameraPermissionGranted, /* @conditional-compile-remove(call-readiness) */videoState)} microphonePermissionGranted={micPermissionGrantedTrampoline(microphonePermissionGranted, /* @conditional-compile-remove(call-readiness) */audioState)}\n /* @conditional-compile-remove(call-readiness) */ onClickEnableDevicePermission={() => {\n setIsPermissionsModalDismissed(true);\n }}\n /* @conditional-compile-remove(video-background-effects) */ onVideoEffectsClick={toggleVideoEffectsPane} />\n </>}\n <Stack styles={mobileWithPreview ? startCallButtonContainerStyleMobile : startCallButtonContainerStyleDesktop}>\n <StartCallButton className={mobileWithPreview ? startCallButtonStyleMobile : undefined} onClick={startCall} disabled={disableStartCallButton} />\n </Stack>\n </Stack>\n </Stack>\n <Panel\n /* @conditional-compile-remove(video-background-effects) */ isOpen={isVideoEffectsPaneOpen} hasCloseButton={false} isBlocking={false} isHiddenOnDismiss={false} styles={panelStyles} focusTrapZoneProps={panelFocusProps} layerProps={panelLayerProps} type={PanelType.custom}\n /* @conditional-compile-remove(video-background-effects) */ customWidth={`${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem`}>\n <SidePane mobileView={props.mobileView} updateSidePaneRenderer={props.updateSidePaneRenderer} />\n </Panel>\n </Stack>\n </Stack>;\n};\nconst localPreviewTrampoline = (mobileView: boolean, doNotShow?: boolean): JSX.Element | undefined => {\n /* @conditional-compile-remove(rooms) */\n if (doNotShow) {\n return undefined;\n }\n return <LocalPreview mobileView={mobileView} showDevicesButton={mobileView} />;\n};\nconst cameraPermissionGrantedTrampoline = (cameraPermissionGranted: boolean | undefined, videoState?: PermissionState | 'unsupported' | undefined): boolean | undefined => {\n /* @conditional-compile-remove(call-readiness) */\n return videoState && videoState !== 'unsupported' ? videoState === 'granted' : cameraPermissionGranted;\n return cameraPermissionGranted;\n};\nconst micPermissionGrantedTrampoline = (microphonePermissionGranted: boolean | undefined, audioState?: PermissionState | 'unsupported' | undefined): boolean | undefined => {\n /* @conditional-compile-remove(call-readiness) */\n return audioState && audioState !== 'unsupported' ? audioState === 'granted' : microphonePermissionGranted;\n return microphonePermissionGranted;\n};\"../../../../../react-components/src\"\"../../../../../calling-component-bindings/src\""]}
1
+ {"version":3,"file":"ConfigurationPage.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/pages/ConfigurationPage.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport React, { useCallback, useMemo } from 'react';\n/* @conditional-compile-remove(call-readiness) */\nimport { useState } from 'react';\nimport { useAdaptedSelector } from '../hooks/useAdaptedSelector';\nimport { useHandlers } from '../hooks/useHandlers';\nimport { LocalDeviceSettings } from '../components/LocalDeviceSettings';\nimport { StartCallButton } from '../components/StartCallButton';\nimport { devicePermissionSelector } from '../selectors/devicePermissionSelector';\nimport { useSelector } from '../hooks/useSelector';\nimport { ActiveErrorMessage, DevicesButton, ErrorBar } from '@internal/react-components';\nimport { getCallingSelector } from '@internal/calling-component-bindings';\nimport { Panel, PanelType, Stack } from '@fluentui/react';\nimport { fillWidth, panelFocusProps, panelStyles } from '../styles/CallConfiguration.styles';\nimport { LocalPreview } from '../components/LocalPreview';\nimport {\n callDetailsStyleDesktop,\n callDetailsStyleMobile,\n configurationStackTokensDesktop,\n configurationStackTokensMobile,\n configurationContainerStyleDesktop,\n configurationContainerStyleMobile,\n selectionContainerStyle,\n startCallButtonContainerStyleDesktop,\n startCallButtonContainerStyleMobile,\n startCallButtonStyleMobile,\n titleContainerStyleDesktop,\n titleContainerStyleMobile,\n callDetailsContainerStylesDesktop\n} from '../styles/CallConfiguration.styles';\nimport { useLocale } from '../../localization';\nimport { bannerNotificationStyles } from '../styles/CallPage.styles';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\n/* @conditional-compile-remove(call-readiness) */\nimport { DeviceCheckOptions } from '../CallComposite';\nimport { ConfigurationPageErrorBar } from '../components/ConfigurationPageErrorBar';\n/* @conditional-compile-remove(call-readiness) */\nimport { getDevicePermissionState } from '../utils';\n/* @conditional-compile-remove(call-readiness) */\nimport { CallReadinessModal, CallReadinessModalFallBack } from '../components/CallReadinessModal';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM, useVideoEffectsPane } from '../components/SidePane/useVideoEffectsPane';\nimport { SidePane } from '../components/SidePane/SidePane';\nimport { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';\n/* @conditional-compile-remove(video-background-effects) */\nimport { useIsParticularSidePaneOpen } from '../components/SidePane/SidePaneProvider';\n/* @conditional-compile-remove(video-background-effects) */\nimport { localVideoSelector } from '../../CallComposite/selectors/localVideoStreamSelector';\n\n/**\n * @private\n */\nexport interface ConfigurationPageProps {\n mobileView: boolean;\n startCallHandler(): void;\n updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n latestErrors: ActiveErrorMessage[];\n onDismissError: (error: ActiveErrorMessage) => void;\n modalLayerHostId: string;\n /* @conditional-compile-remove(call-readiness) */\n deviceChecks?: DeviceCheckOptions;\n /* @conditional-compile-remove(call-readiness) */\n onPermissionsTroubleshootingClick?: (permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n }) => void;\n /* @conditional-compile-remove(call-readiness) */\n onNetworkingTroubleShootingClick?: () => void;\n}\n\n/**\n * @private\n */\nexport const ConfigurationPage = (props: ConfigurationPageProps): JSX.Element => {\n const {\n startCallHandler,\n mobileView,\n modalLayerHostId,\n /* @conditional-compile-remove(call-readiness) */ deviceChecks,\n /* @conditional-compile-remove(call-readiness) */ onPermissionsTroubleshootingClick,\n /* @conditional-compile-remove(call-readiness) */ onNetworkingTroubleShootingClick\n } = props;\n\n const options = useAdaptedSelector(getCallingSelector(DevicesButton));\n const localDeviceSettingsHandlers = useHandlers(LocalDeviceSettings);\n const { video: cameraPermissionGranted, audio: microphonePermissionGranted } = useSelector(devicePermissionSelector);\n /* @conditional-compile-remove(call-readiness) */\n // use permission API to get video and audio permission state\n const [videoState, setVideoState] = useState<PermissionState | 'unsupported' | undefined>(undefined);\n /* @conditional-compile-remove(call-readiness) */\n const [audioState, setAudioState] = useState<PermissionState | 'unsupported' | undefined>(undefined);\n /* @conditional-compile-remove(call-readiness) */\n getDevicePermissionState(setVideoState, setAudioState);\n\n const errorBarProps = usePropsFor(ErrorBar);\n const adapter = useAdapter();\n const deviceState = adapter.getState().devices;\n /* @conditional-compile-remove(unsupported-browser) */\n const environmentInfo = adapter.getState().environmentInfo;\n\n let disableStartCallButton = !microphonePermissionGranted || deviceState.microphones?.length === 0;\n /* @conditional-compile-remove(rooms) */\n const role = adapter.getState().call?.role;\n\n /* @conditional-compile-remove(video-background-effects) */\n const isCameraOn = useSelector(localVideoSelector).isAvailable;\n\n let filteredLatestErrors: ActiveErrorMessage[] = props.latestErrors;\n\n /* @conditional-compile-remove(rooms) */\n // TODO: move this logic to the error bar selector once role is plumbed from the headless SDK\n if (role !== 'Consumer') {\n filteredLatestErrors = filteredLatestErrors.filter(\n (e) => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari'\n );\n }\n\n /* @conditional-compile-remove(video-background-effects) */\n if ((useIsParticularSidePaneOpen('videoeffects') || !isCameraOn) && errorBarProps) {\n filteredLatestErrors = filteredLatestErrors.filter((e) => e.type !== 'unableToStartVideoEffect');\n }\n\n /* @conditional-compile-remove(rooms) */\n if (role === 'Consumer') {\n // If user's role permissions do not allow access to the microphone button then DO NOT disable the start call button\n // because microphone device permission is not needed for the user's role\n disableStartCallButton = false;\n }\n\n /* @conditional-compile-remove(call-readiness) */\n // Overrides role permissions if CallCompositeOptions deviceChecks are set\n if (deviceChecks) {\n if (\n ['doNotPrompt', 'optional'].includes(deviceChecks.camera) &&\n ['doNotPrompt', 'optional'].includes(deviceChecks.microphone)\n ) {\n disableStartCallButton = false;\n } else if (deviceChecks.camera === 'required') {\n disableStartCallButton = !cameraPermissionGranted || deviceState.cameras?.length === 0;\n }\n }\n\n const locale = useLocale();\n const title = (\n <Stack.Item\n className={mobileView ? titleContainerStyleMobile : titleContainerStyleDesktop}\n role=\"heading\"\n aria-level={1}\n >\n {locale.strings.call.configurationPageTitle}\n </Stack.Item>\n );\n\n const callDescription = locale.strings.call.configurationPageCallDetails && (\n <Stack.Item className={mobileView ? callDetailsStyleMobile : callDetailsStyleDesktop}>\n {locale.strings.call.configurationPageCallDetails}\n </Stack.Item>\n );\n\n let mobileWithPreview = mobileView;\n /* @conditional-compile-remove(rooms) */\n mobileWithPreview = mobileWithPreview && role !== 'Consumer';\n\n /* @conditional-compile-remove(call-readiness) */\n const permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n } = {\n // fall back to using cameraPermissionGranted and microphonePermissionGranted if permission API is not supported\n camera:\n videoState && videoState !== 'unsupported'\n ? cameraPermissionGranted !== false\n ? videoState\n : 'denied'\n : cameraPermissionGranted !== false\n ? cameraPermissionGranted\n ? 'granted'\n : 'prompt'\n : 'denied',\n microphone:\n audioState && audioState !== 'unsupported'\n ? microphonePermissionGranted !== false\n ? audioState\n : 'denied'\n : microphonePermissionGranted !== false\n ? microphonePermissionGranted\n ? 'granted'\n : 'prompt'\n : 'denied'\n };\n /* @conditional-compile-remove(call-readiness) */\n const networkErrors = errorBarProps.activeErrorMessages.filter((message) => message.type === 'callNetworkQualityLow');\n\n /* @conditional-compile-remove(call-readiness) */\n const [isPermissionsModalDismissed, setIsPermissionsModalDismissed] = useState(true);\n\n // When permission API is not available, we want to show screen saying checking for access (disappears on its own)\n // then based on permission setting, we show permission denied or nothing\n /* @conditional-compile-remove(call-readiness) */\n const [minimumFallbackTimerElapsed, setMinimumFallbackTimerElapsed] = useState(false);\n /* @conditional-compile-remove(call-readiness) */\n setTimeout(() => {\n setMinimumFallbackTimerElapsed(true);\n }, 2000);\n /* @conditional-compile-remove(call-readiness) */\n const forceShowingCheckPermissions = !minimumFallbackTimerElapsed;\n\n /* @conditional-compile-remove(video-background-effects) */\n const { toggleVideoEffectsPane, closeVideoEffectsPane, isVideoEffectsPaneOpen } = useVideoEffectsPane(\n props.updateSidePaneRenderer,\n mobileView,\n props.latestErrors,\n props.onDismissError\n );\n\n const startCall = useCallback(async () => {\n /* @conditional-compile-remove(video-background-effects) */\n closeVideoEffectsPane();\n startCallHandler();\n }, [startCallHandler, /* @conditional-compile-remove(video-background-effects) */ closeVideoEffectsPane]);\n\n const panelLayerProps = useMemo(\n () => ({\n hostId: modalLayerHostId\n }),\n [modalLayerHostId]\n );\n\n const filteredErrorBarProps = useMemo(\n () => ({\n ...errorBarProps,\n activeErrorMessages: filteredLatestErrors\n }),\n [errorBarProps, filteredLatestErrors]\n );\n\n return (\n <Stack className={mobileView ? configurationContainerStyleMobile : configurationContainerStyleDesktop}>\n <Stack styles={bannerNotificationStyles}>\n <ConfigurationPageErrorBar\n /* @conditional-compile-remove(call-readiness) */\n // show trouble shooting error bar when encountering network error/ permission error\n showTroubleShootingErrorBar={\n !cameraPermissionGranted || !microphonePermissionGranted || networkErrors.length > 0\n }\n /* @conditional-compile-remove(call-readiness) */\n permissionsState={permissionsState}\n /* @conditional-compile-remove(call-readiness) */\n onNetworkingTroubleShootingClick={onNetworkingTroubleShootingClick}\n /* @conditional-compile-remove(call-readiness) */\n onPermissionsTroubleshootingClick={onPermissionsTroubleshootingClick}\n errorBarProps={filteredErrorBarProps}\n onDismissError={props.onDismissError}\n />\n </Stack>\n {\n /* @conditional-compile-remove(call-readiness) */\n // show the following screen if permission API is availible (not unsupported) and videoState, audioState is assigned values\n videoState && videoState !== 'unsupported' && audioState && audioState !== 'unsupported' && (\n <CallReadinessModal\n modalLayerHostId={modalLayerHostId}\n mobileView={mobileView}\n /* @conditional-compile-remove(unsupported-browser) */\n environmentInfo={environmentInfo}\n permissionsState={permissionsState}\n isPermissionsModalDismissed={isPermissionsModalDismissed}\n setIsPermissionsModalDismissed={setIsPermissionsModalDismissed}\n onPermissionsTroubleshootingClick={onPermissionsTroubleshootingClick}\n />\n )\n }\n\n {\n /* @conditional-compile-remove(call-readiness) */\n // show the following screen if permission API is not availible (unsupported) and videoState, audioState is assigned values\n videoState && audioState && (videoState === 'unsupported' || audioState === 'unsupported') && (\n <CallReadinessModalFallBack\n /* @conditional-compile-remove(call-readiness) */\n modalLayerHostId={modalLayerHostId}\n mobileView={mobileView}\n checkPermissionModalShowing={forceShowingCheckPermissions}\n permissionsState={permissionsState}\n isPermissionsModalDismissed={isPermissionsModalDismissed}\n /* @conditional-compile-remove(unsupported-browser) */\n environmentInfo={environmentInfo}\n setIsPermissionsModalDismissed={setIsPermissionsModalDismissed}\n onPermissionsTroubleshootingClick={onPermissionsTroubleshootingClick}\n />\n )\n }\n\n <Stack verticalFill grow horizontal className={fillWidth}>\n <Stack\n className={fillWidth}\n horizontal={!mobileWithPreview}\n horizontalAlign={mobileWithPreview ? 'stretch' : 'center'}\n verticalAlign=\"center\"\n tokens={mobileWithPreview ? configurationStackTokensMobile : configurationStackTokensDesktop}\n >\n {mobileWithPreview && (\n <Stack.Item>\n {title}\n {callDescription}\n </Stack.Item>\n )}\n {localPreviewTrampoline(mobileWithPreview, /* @conditional-compile-remove(rooms) */ !!(role === 'Consumer'))}\n <Stack className={mobileView ? undefined : selectionContainerStyle}>\n {!mobileWithPreview && (\n <>\n <Stack.Item styles={callDetailsContainerStylesDesktop}>\n {title}\n {callDescription}\n </Stack.Item>\n <LocalDeviceSettings\n {...options}\n {...localDeviceSettingsHandlers}\n cameraPermissionGranted={cameraPermissionGrantedTrampoline(\n cameraPermissionGranted,\n /* @conditional-compile-remove(call-readiness) */ videoState\n )}\n microphonePermissionGranted={micPermissionGrantedTrampoline(\n microphonePermissionGranted,\n /* @conditional-compile-remove(call-readiness) */ audioState\n )}\n /* @conditional-compile-remove(call-readiness) */\n onClickEnableDevicePermission={() => {\n setIsPermissionsModalDismissed(true);\n }}\n /* @conditional-compile-remove(video-background-effects) */\n onVideoEffectsClick={toggleVideoEffectsPane}\n />\n </>\n )}\n <Stack\n styles={mobileWithPreview ? startCallButtonContainerStyleMobile : startCallButtonContainerStyleDesktop}\n >\n <StartCallButton\n className={mobileWithPreview ? startCallButtonStyleMobile : undefined}\n onClick={startCall}\n disabled={disableStartCallButton}\n />\n </Stack>\n </Stack>\n </Stack>\n <Panel\n /* @conditional-compile-remove(video-background-effects) */\n isOpen={isVideoEffectsPaneOpen}\n hasCloseButton={false}\n isBlocking={false}\n isHiddenOnDismiss={false}\n styles={panelStyles}\n focusTrapZoneProps={panelFocusProps}\n layerProps={panelLayerProps}\n type={PanelType.custom}\n /* @conditional-compile-remove(video-background-effects) */\n customWidth={`${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem`}\n >\n <SidePane mobileView={props.mobileView} updateSidePaneRenderer={props.updateSidePaneRenderer} />\n </Panel>\n </Stack>\n </Stack>\n );\n};\n\nconst localPreviewTrampoline = (mobileView: boolean, doNotShow?: boolean): JSX.Element | undefined => {\n /* @conditional-compile-remove(rooms) */\n if (doNotShow) {\n return undefined;\n }\n return <LocalPreview mobileView={mobileView} showDevicesButton={mobileView} />;\n};\n\nconst cameraPermissionGrantedTrampoline = (\n cameraPermissionGranted: boolean | undefined,\n videoState?: PermissionState | 'unsupported' | undefined\n): boolean | undefined => {\n /* @conditional-compile-remove(call-readiness) */\n return videoState && videoState !== 'unsupported' ? videoState === 'granted' : cameraPermissionGranted;\n\n return cameraPermissionGranted;\n};\n\nconst micPermissionGrantedTrampoline = (\n microphonePermissionGranted: boolean | undefined,\n audioState?: PermissionState | 'unsupported' | undefined\n): boolean | undefined => {\n /* @conditional-compile-remove(call-readiness) */\n return audioState && audioState !== 'unsupported' ? audioState === 'granted' : microphonePermissionGranted;\n\n return microphonePermissionGranted;\n};\n\"../../../../../react-components/src\"\"../../../../../calling-component-bindings/src\""]}
@@ -14,15 +14,21 @@ export const HoldPage = (props) => {
14
14
  var _a, _b, _c;
15
15
  const errorBarProps = usePropsFor(ErrorBar);
16
16
  const strings = useLocale().strings.call;
17
- let callControlOptions = props.mobileView ? reduceCallControlsForMobile((_a = props.options) === null || _a === void 0 ? void 0 : _a.callControls) : (_b = props.options) === null || _b === void 0 ? void 0 : _b.callControls;
18
- callControlOptions = disableCallControls(callControlOptions, ['cameraButton', 'microphoneButton', 'devicesButton', 'screenShareButton',
17
+ let callControlOptions = props.mobileView
18
+ ? reduceCallControlsForMobile((_a = props.options) === null || _a === void 0 ? void 0 : _a.callControls)
19
+ : (_b = props.options) === null || _b === void 0 ? void 0 : _b.callControls;
20
+ callControlOptions = disableCallControls(callControlOptions, [
21
+ 'cameraButton',
22
+ 'microphoneButton',
23
+ 'devicesButton',
24
+ 'screenShareButton',
25
+ /* @conditional-compile-remove(PSTN-calls) */
19
26
  /* @conditional-compile-remove(one-to-n-calling) */
20
- 'holdButton']);
21
- return React.createElement(CallArrangement, { complianceBannerProps: {
22
- strings
23
- }, errorBarProps: ((_c = props.options) === null || _c === void 0 ? void 0 : _c.errorBar) !== false && errorBarProps, callControlProps: {
27
+ 'holdButton'
28
+ ]);
29
+ return (React.createElement(CallArrangement, { complianceBannerProps: { strings }, errorBarProps: ((_c = props.options) === null || _c === void 0 ? void 0 : _c.errorBar) !== false && errorBarProps, callControlProps: {
24
30
  options: callControlOptions,
25
31
  increaseFlyoutItemSize: props.mobileView
26
- }, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => React.createElement(HoldPane, null), dataUiId: 'hold-page', updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError });
32
+ }, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => React.createElement(HoldPane, null), dataUiId: 'hold-page', updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError }));
27
33
  };
28
34
  //# sourceMappingURL=HoldPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HoldPage.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/pages/HoldPage.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAsB,QAAQ,EAAE,4CAAmC;AAC1E,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAiB5E;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAe,EAAE;;IAC5D,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACzC,IAAI,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,2BAA2B,CAAC,MAAA,KAAK,CAAC,OAAO,0CAAE,YAAY,CAAC,CAAC,CAAC,CAAC,MAAA,KAAK,CAAC,OAAO,0CAAE,YAAY,CAAC;IACnI,kBAAkB,GAAG,mBAAmB,CAAC,kBAAkB,EAAE,CAAC,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,mBAAmB;QACtI,mDAAmD;QACnD,YAAY,CAAC,CAAC,CAAC;IACf,OAAO,oBAAC,eAAe,IAAC,qBAAqB,EAAE;YAC7C,OAAO;SACR,EAAE,aAAa,EAAE,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,QAAQ,MAAK,KAAK,IAAI,aAAa,EAAE,gBAAgB,EAAE;YACtF,OAAO,EAAE,kBAAkB;YAC3B,sBAAsB,EAAE,KAAK,CAAC,UAAU;SACzC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,oBAAC,QAAQ,OAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,GAAI,CAAC;AACjU,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { ActiveErrorMessage, ErrorBar } from '@internal/react-components';\nimport React from 'react';\nimport { CallCompositeOptions } from '../../../index-public';\nimport { useLocale } from '../../localization';\nimport { CallArrangement } from '../components/CallArrangement';\nimport { HoldPane } from '../components/HoldPane';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { disableCallControls, reduceCallControlsForMobile } from '../utils';\nimport { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';\nimport { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';\n\n/**\n * @beta\n */\nexport interface HoldPageProps {\n mobileView: boolean;\n options?: CallCompositeOptions;\n modalLayerHostId: string;\n updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n latestErrors: ActiveErrorMessage[];\n onDismissError: (error: ActiveErrorMessage) => void;\n}\n\n/**\n * @beta\n */\nexport const HoldPage = (props: HoldPageProps): JSX.Element => {\n const errorBarProps = usePropsFor(ErrorBar);\n const strings = useLocale().strings.call;\n let callControlOptions = props.mobileView ? reduceCallControlsForMobile(props.options?.callControls) : props.options?.callControls;\n callControlOptions = disableCallControls(callControlOptions, ['cameraButton', 'microphoneButton', 'devicesButton', 'screenShareButton', /* @conditional-compile-remove(PSTN-calls) */\n /* @conditional-compile-remove(one-to-n-calling) */\n 'holdButton']);\n return <CallArrangement complianceBannerProps={{\n strings\n }} errorBarProps={props.options?.errorBar !== false && errorBarProps} callControlProps={{\n options: callControlOptions,\n increaseFlyoutItemSize: props.mobileView\n }} mobileView={props.mobileView} modalLayerHostId={props.modalLayerHostId} onRenderGalleryContent={() => <HoldPane />} dataUiId={'hold-page'} updateSidePaneRenderer={props.updateSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} latestErrors={props.latestErrors} onDismissError={props.onDismissError} />;\n};\"../../../../../react-components/src\""]}
1
+ {"version":3,"file":"HoldPage.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/pages/HoldPage.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAsB,QAAQ,EAAE,4CAAmC;AAC1E,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAiB5E;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAe,EAAE;;IAC5D,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAEzC,IAAI,kBAAkB,GAAG,KAAK,CAAC,UAAU;QACvC,CAAC,CAAC,2BAA2B,CAAC,MAAA,KAAK,CAAC,OAAO,0CAAE,YAAY,CAAC;QAC1D,CAAC,CAAC,MAAA,KAAK,CAAC,OAAO,0CAAE,YAAY,CAAC;IAEhC,kBAAkB,GAAG,mBAAmB,CAAC,kBAAkB,EAAE;QAC3D,cAAc;QACd,kBAAkB;QAClB,eAAe;QACf,mBAAmB;QACnB,6CAA6C;QAC7C,mDAAmD;QACnD,YAAY;KACb,CAAC,CAAC;IAEH,OAAO,CACL,oBAAC,eAAe,IACd,qBAAqB,EAAE,EAAE,OAAO,EAAE,EAClC,aAAa,EAAE,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,QAAQ,MAAK,KAAK,IAAI,aAAa,EACjE,gBAAgB,EAAE;YAChB,OAAO,EAAE,kBAAkB;YAC3B,sBAAsB,EAAE,KAAK,CAAC,UAAU;SACzC,EACD,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EACxC,sBAAsB,EAAE,GAAG,EAAE,CAAC,oBAAC,QAAQ,OAAG,EAC1C,QAAQ,EAAE,WAAW,EACrB,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,EACpD,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAC9C,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,cAAc,EAAE,KAAK,CAAC,cAAc,GACpC,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { ActiveErrorMessage, ErrorBar } from '@internal/react-components';\nimport React from 'react';\nimport { CallCompositeOptions } from '../../../index-public';\nimport { useLocale } from '../../localization';\nimport { CallArrangement } from '../components/CallArrangement';\nimport { HoldPane } from '../components/HoldPane';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { disableCallControls, reduceCallControlsForMobile } from '../utils';\nimport { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';\nimport { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';\n\n/**\n * @beta\n */\nexport interface HoldPageProps {\n mobileView: boolean;\n options?: CallCompositeOptions;\n modalLayerHostId: string;\n updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n latestErrors: ActiveErrorMessage[];\n onDismissError: (error: ActiveErrorMessage) => void;\n}\n\n/**\n * @beta\n */\nexport const HoldPage = (props: HoldPageProps): JSX.Element => {\n const errorBarProps = usePropsFor(ErrorBar);\n const strings = useLocale().strings.call;\n\n let callControlOptions = props.mobileView\n ? reduceCallControlsForMobile(props.options?.callControls)\n : props.options?.callControls;\n\n callControlOptions = disableCallControls(callControlOptions, [\n 'cameraButton',\n 'microphoneButton',\n 'devicesButton',\n 'screenShareButton',\n /* @conditional-compile-remove(PSTN-calls) */\n /* @conditional-compile-remove(one-to-n-calling) */\n 'holdButton'\n ]);\n\n return (\n <CallArrangement\n complianceBannerProps={{ strings }}\n errorBarProps={props.options?.errorBar !== false && errorBarProps}\n callControlProps={{\n options: callControlOptions,\n increaseFlyoutItemSize: props.mobileView\n }}\n mobileView={props.mobileView}\n modalLayerHostId={props.modalLayerHostId}\n onRenderGalleryContent={() => <HoldPane />}\n dataUiId={'hold-page'}\n updateSidePaneRenderer={props.updateSidePaneRenderer}\n mobileChatTabHeader={props.mobileChatTabHeader}\n latestErrors={props.latestErrors}\n onDismissError={props.onDismissError}\n />\n );\n};\n\"../../../../../react-components/src\""]}
@@ -26,14 +26,14 @@ export const LobbyPage = (props) => {
26
26
  const participants = (_a = useSelector(getRemoteParticipants)) !== null && _a !== void 0 ? _a : {};
27
27
  useLocalVideoStartTrigger(lobbyProps.localParticipantVideoStream.isAvailable, inLobby);
28
28
  // Reduce the controls shown when mobile view is enabled.
29
- let callControlOptions = props.mobileView ? reduceCallControlsForMobile((_b = props.options) === null || _b === void 0 ? void 0 : _b.callControls) : (_c = props.options) === null || _c === void 0 ? void 0 : _c.callControls;
29
+ let callControlOptions = props.mobileView
30
+ ? reduceCallControlsForMobile((_b = props.options) === null || _b === void 0 ? void 0 : _b.callControls)
31
+ : (_c = props.options) === null || _c === void 0 ? void 0 : _c.callControls;
30
32
  callControlOptions = disableCallControls(callControlOptions, ['screenShareButton', 'participantsButton']);
31
- return React.createElement(CallArrangement, { complianceBannerProps: {
32
- strings
33
- }, errorBarProps: ((_d = props.options) === null || _d === void 0 ? void 0 : _d.errorBar) !== false && errorBarProps, callControlProps: {
33
+ return (React.createElement(CallArrangement, { complianceBannerProps: { strings }, errorBarProps: ((_d = props.options) === null || _d === void 0 ? void 0 : _d.errorBar) !== false && errorBarProps, callControlProps: {
34
34
  options: callControlOptions,
35
35
  increaseFlyoutItemSize: props.mobileView
36
- }, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => React.createElement(LobbyTile, Object.assign({}, lobbyProps, { overlayProps: overlayProps(strings, inLobby, Object.values(participants)) })), dataUiId: 'lobby-page', updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError });
36
+ }, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => (React.createElement(LobbyTile, Object.assign({}, lobbyProps, { overlayProps: overlayProps(strings, inLobby, Object.values(participants)) }))), dataUiId: 'lobby-page', updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError }));
37
37
  };
38
38
  const overlayProps = (strings, inLobby, remoteParticipants) => {
39
39
  /**
@@ -45,8 +45,16 @@ const overlayProps = (strings, inLobby, remoteParticipants) => {
45
45
  * the user joins. In this situation we also check the participant states. in a groupCall the state of the participants
46
46
  * will be 'Idle'.
47
47
  */
48
- const outboundCallParticipant = remoteParticipants[0] && ['Ringing', 'Connecting'].includes(remoteParticipants[0].state) && remoteParticipants.length === 1 ? remoteParticipants[0] : undefined;
49
- return inLobby ? overlayPropsWaitingToBeAdmitted(strings) : outboundCallParticipant ? overlayPropsOutboundCall(strings, outboundCallParticipant) : overlayPropsConnectingToCall(strings);
48
+ const outboundCallParticipant = remoteParticipants[0] &&
49
+ ['Ringing', 'Connecting'].includes(remoteParticipants[0].state) &&
50
+ remoteParticipants.length === 1
51
+ ? remoteParticipants[0]
52
+ : undefined;
53
+ return inLobby
54
+ ? overlayPropsWaitingToBeAdmitted(strings)
55
+ : outboundCallParticipant
56
+ ? overlayPropsOutboundCall(strings, outboundCallParticipant)
57
+ : overlayPropsConnectingToCall(strings);
50
58
  };
51
59
  const overlayPropsConnectingToCall = (strings) => ({
52
60
  title: strings.lobbyScreenConnectingToCallTitle,
@@ -1 +1 @@
1
- {"version":3,"file":"LobbyPage.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/pages/LobbyPage.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport React from 'react';\nimport { ActiveErrorMessage, ErrorBar } from '@internal/react-components';\nimport { useSelector } from '../hooks/useSelector';\nimport { lobbySelector } from '../selectors/lobbySelector';\nimport { CallCompositeOptions } from '../CallComposite';\nimport { CallArrangement } from '../components/CallArrangement';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { LobbyOverlayProps, LobbyTile } from '../components/LobbyTile';\nimport { getCallStatus, getRemoteParticipants } from '../selectors/baseSelectors';\nimport { disableCallControls, reduceCallControlsForMobile } from '../utils';\nimport { CallCompositeStrings } from '../Strings';\nimport { useLocale } from '../../localization';\nimport { useLocalVideoStartTrigger } from '../components/MediaGallery';\nimport { CallCompositeIcon } from '../../common/icons';\nimport { isPhoneNumberIdentifier, PhoneNumberIdentifier } from '@azure/communication-common';\nimport { RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';\nimport { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';\n\n/**\n * @private\n */\nexport interface LobbyPageProps {\n mobileView: boolean;\n modalLayerHostId: string;\n options?: CallCompositeOptions;\n mobileChatTabHeader: MobileChatSidePaneTabHeaderProps | undefined;\n updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n latestErrors: ActiveErrorMessage[];\n onDismissError: (error: ActiveErrorMessage) => void;\n}\n\n/**\n * @private\n */\nexport const LobbyPage = (props: LobbyPageProps): JSX.Element => {\n const errorBarProps = usePropsFor(ErrorBar);\n const lobbyProps = useSelector(lobbySelector);\n const strings = useLocale().strings.call;\n const callState = useSelector(getCallStatus);\n const inLobby = callState === 'InLobby';\n const participants = useSelector(getRemoteParticipants) ?? {};\n useLocalVideoStartTrigger(lobbyProps.localParticipantVideoStream.isAvailable, inLobby);\n\n // Reduce the controls shown when mobile view is enabled.\n let callControlOptions = props.mobileView ? reduceCallControlsForMobile(props.options?.callControls) : props.options?.callControls;\n callControlOptions = disableCallControls(callControlOptions, ['screenShareButton', 'participantsButton']);\n return <CallArrangement complianceBannerProps={{\n strings\n }} errorBarProps={props.options?.errorBar !== false && errorBarProps} callControlProps={{\n options: callControlOptions,\n increaseFlyoutItemSize: props.mobileView\n }} mobileView={props.mobileView} modalLayerHostId={props.modalLayerHostId} onRenderGalleryContent={() => <LobbyTile {...lobbyProps} overlayProps={overlayProps(strings, inLobby, Object.values(participants))} />} dataUiId={'lobby-page'} updateSidePaneRenderer={props.updateSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} latestErrors={props.latestErrors} onDismissError={props.onDismissError} />;\n};\nconst overlayProps = (strings: CallCompositeStrings, inLobby: boolean, remoteParticipants: RemoteParticipantState[]): LobbyOverlayProps => {\n /**\n * Only grab the first participant because there will only be one in this situation.\n * when starting a call with multiple people the call goes to the connected state and composite goes directly to\n * videoGallery.\n *\n * We also need to check the participant state since in a group call the remote participants array will populate just before\n * the user joins. In this situation we also check the participant states. in a groupCall the state of the participants\n * will be 'Idle'.\n */\n const outboundCallParticipant: RemoteParticipantState | undefined = remoteParticipants[0] && ['Ringing', 'Connecting'].includes(remoteParticipants[0].state) && remoteParticipants.length === 1 ? remoteParticipants[0] : undefined;\n return inLobby ? overlayPropsWaitingToBeAdmitted(strings) : outboundCallParticipant ? overlayPropsOutboundCall(strings, outboundCallParticipant) : overlayPropsConnectingToCall(strings);\n};\nconst overlayPropsConnectingToCall = (strings: CallCompositeStrings): LobbyOverlayProps => ({\n title: strings.lobbyScreenConnectingToCallTitle,\n moreDetails: strings.lobbyScreenConnectingToCallMoreDetails,\n overlayIcon: <CallCompositeIcon iconName=\"LobbyScreenConnectingToCall\" />\n});\nconst overlayPropsWaitingToBeAdmitted = (strings: CallCompositeStrings): LobbyOverlayProps => ({\n title: strings.lobbyScreenWaitingToBeAdmittedTitle,\n moreDetails: strings.lobbyScreenWaitingToBeAdmittedMoreDetails,\n overlayIcon: <CallCompositeIcon iconName=\"LobbyScreenWaitingToBeAdmitted\" />\n});\nconst overlayPropsOutboundCall = (strings: CallCompositeStrings, participant: RemoteParticipantState): LobbyOverlayProps => {\n if (isPhoneNumberIdentifier(participant.identifier)) {\n return {\n title: (participant.identifier as PhoneNumberIdentifier).phoneNumber,\n moreDetails: outboundCallStringsTrampoline(strings)\n };\n } else {\n return {\n title: outboundCallStringsTrampoline(strings)\n };\n }\n};\nconst outboundCallStringsTrampoline = (strings: CallCompositeStrings): string => {\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n return strings.outboundCallingNoticeString;\n return '';\n};\"../../../../../react-components/src\"\"../../../../../calling-stateful-client/src\""]}
1
+ {"version":3,"file":"LobbyPage.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/pages/LobbyPage.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport React from 'react';\nimport { ActiveErrorMessage, ErrorBar } from '@internal/react-components';\nimport { useSelector } from '../hooks/useSelector';\nimport { lobbySelector } from '../selectors/lobbySelector';\nimport { CallCompositeOptions } from '../CallComposite';\nimport { CallArrangement } from '../components/CallArrangement';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { LobbyOverlayProps, LobbyTile } from '../components/LobbyTile';\nimport { getCallStatus, getRemoteParticipants } from '../selectors/baseSelectors';\nimport { disableCallControls, reduceCallControlsForMobile } from '../utils';\nimport { CallCompositeStrings } from '../Strings';\nimport { useLocale } from '../../localization';\nimport { useLocalVideoStartTrigger } from '../components/MediaGallery';\nimport { CallCompositeIcon } from '../../common/icons';\nimport { isPhoneNumberIdentifier, PhoneNumberIdentifier } from '@azure/communication-common';\nimport { RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';\nimport { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';\n\n/**\n * @private\n */\nexport interface LobbyPageProps {\n mobileView: boolean;\n modalLayerHostId: string;\n options?: CallCompositeOptions;\n mobileChatTabHeader: MobileChatSidePaneTabHeaderProps | undefined;\n updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n latestErrors: ActiveErrorMessage[];\n onDismissError: (error: ActiveErrorMessage) => void;\n}\n\n/**\n * @private\n */\nexport const LobbyPage = (props: LobbyPageProps): JSX.Element => {\n const errorBarProps = usePropsFor(ErrorBar);\n const lobbyProps = useSelector(lobbySelector);\n const strings = useLocale().strings.call;\n\n const callState = useSelector(getCallStatus);\n const inLobby = callState === 'InLobby';\n\n const participants = useSelector(getRemoteParticipants) ?? {};\n\n useLocalVideoStartTrigger(lobbyProps.localParticipantVideoStream.isAvailable, inLobby);\n\n // Reduce the controls shown when mobile view is enabled.\n let callControlOptions = props.mobileView\n ? reduceCallControlsForMobile(props.options?.callControls)\n : props.options?.callControls;\n\n callControlOptions = disableCallControls(callControlOptions, ['screenShareButton', 'participantsButton']);\n\n return (\n <CallArrangement\n complianceBannerProps={{ strings }}\n errorBarProps={props.options?.errorBar !== false && errorBarProps}\n callControlProps={{\n options: callControlOptions,\n increaseFlyoutItemSize: props.mobileView\n }}\n mobileView={props.mobileView}\n modalLayerHostId={props.modalLayerHostId}\n onRenderGalleryContent={() => (\n <LobbyTile {...lobbyProps} overlayProps={overlayProps(strings, inLobby, Object.values(participants))} />\n )}\n dataUiId={'lobby-page'}\n updateSidePaneRenderer={props.updateSidePaneRenderer}\n mobileChatTabHeader={props.mobileChatTabHeader}\n latestErrors={props.latestErrors}\n onDismissError={props.onDismissError}\n />\n );\n};\n\nconst overlayProps = (\n strings: CallCompositeStrings,\n inLobby: boolean,\n remoteParticipants: RemoteParticipantState[]\n): LobbyOverlayProps => {\n /**\n * Only grab the first participant because there will only be one in this situation.\n * when starting a call with multiple people the call goes to the connected state and composite goes directly to\n * videoGallery.\n *\n * We also need to check the participant state since in a group call the remote participants array will populate just before\n * the user joins. In this situation we also check the participant states. in a groupCall the state of the participants\n * will be 'Idle'.\n */\n const outboundCallParticipant: RemoteParticipantState | undefined =\n remoteParticipants[0] &&\n ['Ringing', 'Connecting'].includes(remoteParticipants[0].state) &&\n remoteParticipants.length === 1\n ? remoteParticipants[0]\n : undefined;\n\n return inLobby\n ? overlayPropsWaitingToBeAdmitted(strings)\n : outboundCallParticipant\n ? overlayPropsOutboundCall(strings, outboundCallParticipant)\n : overlayPropsConnectingToCall(strings);\n};\n\nconst overlayPropsConnectingToCall = (strings: CallCompositeStrings): LobbyOverlayProps => ({\n title: strings.lobbyScreenConnectingToCallTitle,\n moreDetails: strings.lobbyScreenConnectingToCallMoreDetails,\n overlayIcon: <CallCompositeIcon iconName=\"LobbyScreenConnectingToCall\" />\n});\n\nconst overlayPropsWaitingToBeAdmitted = (strings: CallCompositeStrings): LobbyOverlayProps => ({\n title: strings.lobbyScreenWaitingToBeAdmittedTitle,\n moreDetails: strings.lobbyScreenWaitingToBeAdmittedMoreDetails,\n overlayIcon: <CallCompositeIcon iconName=\"LobbyScreenWaitingToBeAdmitted\" />\n});\n\nconst overlayPropsOutboundCall = (\n strings: CallCompositeStrings,\n participant: RemoteParticipantState\n): LobbyOverlayProps => {\n if (isPhoneNumberIdentifier(participant.identifier)) {\n return {\n title: (participant.identifier as PhoneNumberIdentifier).phoneNumber,\n moreDetails: outboundCallStringsTrampoline(strings)\n };\n } else {\n return {\n title: outboundCallStringsTrampoline(strings)\n };\n }\n};\n\nconst outboundCallStringsTrampoline = (strings: CallCompositeStrings): string => {\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n return strings.outboundCallingNoticeString;\n return '';\n};\n\"../../../../../react-components/src\"\"../../../../../calling-stateful-client/src\""]}