@azure/communication-react 1.19.0-beta.1 → 1.19.0-beta.2

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 (487) hide show
  1. package/dist/communication-react.d.ts +209 -46
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-BwDfn2HU.js → ChatMessageComponentAsRichTextEditBox-C1XJdavW.js} +14 -51
  3. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-C1XJdavW.js.map +1 -0
  4. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-NoJpTHbL.js → RichTextSendBoxWrapper-31mhJoQR.js} +2 -4
  5. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-31mhJoQR.js.map +1 -0
  6. package/dist/dist-cjs/communication-react/{index-MlVvToaE.js → index-NOtN6_TE.js} +1381 -1822
  7. package/dist/dist-cjs/communication-react/index-NOtN6_TE.js.map +1 -0
  8. package/dist/dist-cjs/communication-react/index.js +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/constants.js +0 -1
  11. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/dataConversion.js +0 -1
  13. package/dist/dist-esm/acs-ui-common/src/dataConversion.js.map +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/index.js +0 -3
  15. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  17. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  18. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +11 -3
  19. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +9 -5
  20. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  21. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +1 -3
  22. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  23. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +0 -3
  24. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  25. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +1 -1
  26. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +0 -9
  27. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  28. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +0 -3
  29. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  30. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +10 -14
  31. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  32. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +2 -2
  33. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +4 -21
  34. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +2 -21
  36. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  37. package/dist/dist-esm/calling-component-bindings/src/incomingCallStackSelector.js.map +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/index.js +0 -4
  39. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  40. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +33 -11
  41. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +2 -9
  43. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  44. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts +3 -3
  45. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  46. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts +3 -3
  47. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js +0 -1
  48. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  49. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +0 -2
  50. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +1 -1
  52. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +1 -6
  53. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  54. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +2 -5
  55. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  56. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +3 -3
  57. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  58. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.d.ts +20 -0
  59. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js +106 -0
  60. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js.map +1 -0
  61. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -1
  62. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  63. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +1 -1
  64. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +0 -1
  65. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  66. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +41 -4
  67. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  68. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +12 -3
  69. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +65 -27
  70. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  71. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +0 -2
  72. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  73. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +1 -0
  74. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +3 -14
  75. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  76. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js +0 -1
  77. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -1
  78. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js +0 -7
  79. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  80. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +1 -1
  81. package/dist/dist-esm/calling-stateful-client/src/Converter.js +0 -13
  82. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  83. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +0 -3
  84. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +1 -1
  85. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js +6 -2
  86. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js.map +1 -1
  87. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +1 -6
  88. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  89. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +0 -3
  90. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  91. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +1 -2
  92. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +2 -5
  93. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  94. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +1 -1
  95. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +1 -16
  96. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
  97. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +0 -2
  98. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +0 -6
  100. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  101. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +2 -0
  102. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  103. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.d.ts +1 -1
  104. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  105. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +2 -2
  106. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +3 -17
  107. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  108. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js +0 -2
  109. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  110. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +1 -11
  111. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  112. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js +0 -3
  113. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js.map +1 -1
  114. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -3
  115. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  116. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -1
  117. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  118. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +0 -1
  119. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  120. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  121. package/dist/dist-esm/communication-react/src/index.js +0 -10
  122. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  123. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.d.ts +1 -1
  124. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js +0 -4
  125. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js.map +1 -1
  126. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +1 -1
  127. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +1 -3
  128. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  129. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +0 -9
  130. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  131. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +1 -1
  132. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +5 -13
  133. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  134. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.d.ts +1 -1
  135. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +4 -22
  136. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
  137. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.d.ts +1 -1
  138. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +6 -15
  139. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
  140. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +1 -8
  141. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +0 -11
  142. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
  143. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +1 -1
  144. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +12 -57
  145. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -1
  146. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +2 -2
  147. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +7 -21
  148. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  149. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +1 -1
  150. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +6 -14
  151. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  152. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +6 -45
  153. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  154. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +0 -7
  155. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -1
  156. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +0 -8
  157. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -1
  158. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +0 -17
  159. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -1
  160. package/dist/dist-esm/react-components/src/components/EndCallButton.js +5 -12
  161. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  162. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  163. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +1 -1
  164. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  165. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +0 -2
  166. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
  167. package/dist/dist-esm/react-components/src/components/IncomingCallNotification.js +5 -16
  168. package/dist/dist-esm/react-components/src/components/IncomingCallNotification.js.map +1 -1
  169. package/dist/dist-esm/react-components/src/components/IncomingCallStack.js +1 -3
  170. package/dist/dist-esm/react-components/src/components/IncomingCallStack.js.map +1 -1
  171. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +0 -3
  172. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  173. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js +0 -10
  174. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js.map +1 -1
  175. package/dist/dist-esm/react-components/src/components/MentionPopover.js +1 -5
  176. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -1
  177. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +5 -5
  178. package/dist/dist-esm/react-components/src/components/MessageThread.js +10 -27
  179. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  180. package/dist/dist-esm/react-components/src/components/NotificationStack.d.ts +21 -1
  181. package/dist/dist-esm/react-components/src/components/NotificationStack.js +11 -7
  182. package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
  183. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +0 -2
  184. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  185. package/dist/dist-esm/react-components/src/components/ParticipantList.js +3 -13
  186. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  187. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +3 -10
  188. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  189. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +2 -16
  190. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +1 -1
  191. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js +0 -9
  192. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js.map +1 -1
  193. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.d.ts +1 -1
  194. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +8 -30
  195. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -1
  196. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +1 -1
  197. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +4 -12
  198. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -1
  199. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +1 -1
  200. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +15 -77
  201. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -1
  202. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +2 -9
  203. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +1 -1
  204. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +1 -1
  205. package/dist/dist-esm/react-components/src/components/SendBox.js +10 -32
  206. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  207. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +1 -12
  208. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  209. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +0 -1
  210. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  211. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +0 -1
  212. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  213. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +0 -5
  214. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  215. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +0 -1
  216. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  217. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.d.ts +0 -1
  218. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +1 -4
  219. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  220. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +2 -4
  221. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  222. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +3 -8
  223. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  224. package/dist/dist-esm/react-components/src/components/VideoGallery.js +5 -9
  225. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  226. package/dist/dist-esm/react-components/src/components/VideoTile.js +4 -7
  227. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  228. package/dist/dist-esm/react-components/src/components/index.js +0 -12
  229. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  230. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +0 -1
  231. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  232. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +2 -3
  233. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  234. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +1 -1
  235. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +3 -7
  236. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  237. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +3 -3
  238. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +5 -15
  239. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  240. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +0 -8
  241. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +1 -1
  242. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +2 -14
  243. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  244. package/dist/dist-esm/react-components/src/components/utils/common.js +0 -2
  245. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  246. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +1 -1
  247. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  248. package/dist/dist-esm/react-components/src/components/utils.js +6 -11
  249. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  250. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +0 -2
  251. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  252. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  253. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  254. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +25 -0
  255. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +25 -0
  256. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +25 -0
  257. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +25 -0
  258. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +25 -0
  259. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +25 -0
  260. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +25 -0
  261. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +25 -0
  262. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +25 -0
  263. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +25 -0
  264. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +26 -1
  265. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +25 -0
  266. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +25 -0
  267. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +25 -0
  268. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +25 -0
  269. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +25 -0
  270. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +25 -0
  271. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +25 -0
  272. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +25 -0
  273. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +25 -0
  274. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +25 -0
  275. package/dist/dist-esm/react-components/src/theming/icons.d.ts +5 -0
  276. package/dist/dist-esm/react-components/src/theming/icons.js +6 -55
  277. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  278. package/dist/dist-esm/react-components/src/theming/themes.js +0 -1
  279. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  280. package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
  281. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -1
  282. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  283. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  284. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js +0 -2
  285. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  286. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +19 -52
  287. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  288. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +34 -0
  289. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  290. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +16 -7
  291. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +85 -58
  292. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  293. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +20 -2
  294. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -1
  295. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  296. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +1 -1
  297. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +0 -2
  298. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  299. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js +0 -1
  300. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  301. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.d.ts +47 -0
  302. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js +48 -0
  303. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js.map +1 -0
  304. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.d.ts +13 -0
  305. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js +37 -0
  306. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js.map +1 -0
  307. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +3 -2
  308. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +24 -73
  309. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  310. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +2 -8
  311. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  312. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +1 -0
  313. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +14 -36
  314. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -1
  315. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js +0 -1
  316. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js.map +1 -1
  317. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +0 -8
  318. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  319. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +1 -11
  320. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  321. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +0 -8
  322. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  323. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +0 -5
  324. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -1
  325. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +2 -10
  326. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  327. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +1 -2
  328. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  329. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +2 -14
  330. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  331. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js +0 -7
  332. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js.map +1 -1
  333. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +5 -20
  334. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  335. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.d.ts +1 -0
  336. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +20 -16
  337. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  338. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +3 -4
  339. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  340. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.d.ts +7 -0
  341. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js +14 -0
  342. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js.map +1 -0
  343. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +0 -7
  344. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  345. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js +0 -1
  346. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  347. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +2 -2
  348. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +4 -12
  349. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  350. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +9 -46
  351. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  352. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +2 -2
  353. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +4 -9
  354. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  355. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.d.ts +2 -2
  356. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +3 -6
  357. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  358. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +3 -6
  359. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  360. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +0 -13
  361. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -1
  362. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +18 -0
  363. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +16 -3
  364. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  365. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  366. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +0 -2
  367. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  368. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.d.ts +1 -1
  369. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  370. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.d.ts +3 -3
  371. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  372. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +2 -2
  373. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +5 -12
  374. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  375. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +1 -1
  376. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +20 -24
  377. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  378. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +8 -0
  379. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  380. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +15 -4
  381. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +136 -26
  382. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  383. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +11 -4
  384. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  385. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +2 -1
  386. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +6 -10
  387. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  388. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +1 -1
  389. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +2 -6
  390. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  391. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +3 -0
  392. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +2 -4
  393. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  394. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.d.ts +5 -0
  395. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js +13 -0
  396. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  397. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +1 -5
  398. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  399. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +22 -96
  400. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  401. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js +0 -2
  402. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js.map +1 -1
  403. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js +3 -22
  404. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js.map +1 -1
  405. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  406. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -2
  407. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +0 -11
  408. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  409. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -2
  410. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  411. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js +0 -3
  412. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +1 -1
  413. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +1 -11
  414. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +1 -1
  415. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  416. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +2 -6
  417. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  418. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  419. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +1 -1
  420. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +0 -2
  421. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  422. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +0 -3
  423. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  424. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +1 -2
  425. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  426. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +0 -2
  427. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  428. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +39 -28
  429. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  430. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +0 -9
  431. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  432. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.d.ts +12 -0
  433. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js +52 -0
  434. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js.map +1 -0
  435. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +1 -8
  436. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  437. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  438. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js +0 -6
  439. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js.map +1 -1
  440. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +1 -2
  441. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  442. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +2 -9
  443. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  444. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js +0 -4
  445. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js.map +1 -1
  446. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +1 -8
  447. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +1 -19
  448. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
  449. package/dist/dist-esm/react-composites/src/composites/common/adapters.d.ts +23 -0
  450. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  451. package/dist/dist-esm/react-composites/src/composites/common/constants.js +0 -1
  452. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  453. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +5 -0
  454. package/dist/dist-esm/react-composites/src/composites/common/icons.js +0 -11
  455. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  456. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +5 -5
  457. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  458. package/dist/dist-esm/react-composites/src/composites/common/utils.d.ts +4 -0
  459. package/dist/dist-esm/react-composites/src/composites/common/utils.js +22 -0
  460. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  461. package/dist/dist-esm/react-composites/src/composites/index.d.ts +1 -0
  462. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  463. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +12 -2
  464. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +12 -2
  465. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +12 -2
  466. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +12 -2
  467. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +12 -2
  468. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +12 -2
  469. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +12 -2
  470. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +12 -2
  471. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +12 -2
  472. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +12 -2
  473. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +12 -2
  474. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +12 -2
  475. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +12 -2
  476. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +12 -2
  477. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +12 -2
  478. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +12 -2
  479. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +12 -2
  480. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +12 -2
  481. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +12 -2
  482. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +12 -2
  483. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +12 -2
  484. package/package.json +7 -7
  485. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-BwDfn2HU.js.map +0 -1
  486. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-NoJpTHbL.js.map +0 -1
  487. package/dist/dist-cjs/communication-react/index-MlVvToaE.js.map +0 -1
@@ -2,8 +2,7 @@
2
2
  // Licensed under the MIT License.
3
3
  import { mergeStyles, Stack } from '@fluentui/react';
4
4
  import { _isInLobbyOrConnecting } from "../../../../../calling-component-bindings/src";
5
- import { _ComplianceBanner, _DrawerMenu, _useContainerHeight, _useContainerWidth, ErrorBar, useTheme } from "../../../../../react-components/src";
6
- /* @conditional-compile-remove(notifications) */
5
+ import { _DrawerMenu, _useContainerHeight, _useContainerWidth, useTheme } from "../../../../../react-components/src";
7
6
  import { NotificationStack } from "../../../../../react-components/src";
8
7
  import { VideoGallery } from "../../../../../react-components/src";
9
8
  import React, { useMemo, useRef, useState } from 'react';
@@ -16,22 +15,17 @@ import { useAdapter } from '../adapter/CallAdapterProvider';
16
15
  import { CallControls } from '../components/CallControls';
17
16
  import { CommonCallControlBar } from '../../common/ControlBar/CommonCallControlBar';
18
17
  import { callArrangementContainerStyles, notificationsContainerStyles, containerStyleDesktop, containerStyleMobile, mediaGalleryContainerStyles, galleryParentContainerStyles, bannerNotificationStyles, CONTROL_BAR_Z_INDEX, DRAWER_Z_INDEX } from '../styles/CallPage.styles';
19
- /* @conditional-compile-remove(notifications) */
20
18
  import { notificationStackStyles } from '../styles/CallPage.styles';
21
- import { MutedNotification } from './MutedNotification';
22
19
  import { useSelector } from '../hooks/useSelector';
23
20
  import { callStatusSelector } from '../selectors/callStatusSelector';
24
21
  import { PreparedMoreDrawer } from '../../common/Drawer/PreparedMoreDrawer';
25
22
  import { getIsTeamsMeeting, getRemoteParticipants } from '../selectors/baseSelectors';
26
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
27
23
  import { getPage } from '../selectors/baseSelectors';
28
24
  import { getCallStatus, getCaptionsStatus } from '../selectors/baseSelectors';
29
25
  import { drawerContainerStyles } from '../styles/CallComposite.styles';
30
26
  import { SidePane } from './SidePane/SidePane';
31
27
  import { usePeoplePane } from './SidePane/usePeoplePane';
32
- /* @conditional-compile-remove(teams-meeting-conference) */
33
28
  import { useMeetingPhoneInfoPane } from './SidePane/useMeetingPhoneInfo';
34
- /* @conditional-compile-remove(teams-meeting-conference) */
35
29
  import { getTeamsMeetingCoordinates } from '../selectors/baseSelectors';
36
30
  import { useVideoEffectsPane, VIDEO_EFFECTS_SIDE_PANE_ID, VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM } from './SidePane/useVideoEffectsPane';
37
31
  import { isDisabled } from '../utils';
@@ -45,12 +39,11 @@ import { CapabilitiesChangedNotificationBar } from './CapabilitiesChangedNotific
45
39
  import { useLocale } from '../../localization';
46
40
  import { usePropsFor } from '../hooks/usePropsFor';
47
41
  import { useLocalSpotlightCallbacksWithPrompt, useRemoteSpotlightCallbacksWithPrompt, useStopAllSpotlightCallbackWithPrompt } from '../utils/spotlightUtils';
48
- /* @conditional-compile-remove(acs-close-captions) */
49
42
  import { getCaptionsKind, getIsTeamsCall } from '../selectors/baseSelectors';
50
- /* @conditional-compile-remove(soft-mute) */
51
43
  import { useHandlers } from '../hooks/useHandlers';
52
- /* @conditional-compile-remove(soft-mute) */
53
44
  import { MoreDrawer } from '../../common/Drawer/MoreDrawer';
45
+ import { useCompositeStringsForNotificationStackStrings } from '../hooks/useCompositeStringsForNotificationStack';
46
+ import { BreakoutRoomsBanner } from './BreakoutRoomsBanner';
54
47
  /**
55
48
  * @private
56
49
  * Maximum number of remote video tiles that can be pinned
@@ -73,7 +66,6 @@ export const CallArrangement = (props) => {
73
66
  const containerHeight = _useContainerHeight(containerRef);
74
67
  const isInLobby = _isInLobbyOrConnecting(useSelector(callStatusSelector).callStatus);
75
68
  const { updateSidePaneRenderer } = props;
76
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
77
69
  const isInLocalHold = useSelector(getPage) === 'hold';
78
70
  const adapter = useAdapter();
79
71
  const [participantActioned, setParticipantActioned] = useState();
@@ -85,9 +77,7 @@ export const CallArrangement = (props) => {
85
77
  setDrawerMenuItems([]);
86
78
  }
87
79
  }, [participantActioned, remoteParticipants]);
88
- /* @conditional-compile-remove(teams-meeting-conference) */
89
80
  const conferencePhoneInfo = useSelector(getTeamsMeetingCoordinates);
90
- /* @conditional-compile-remove(teams-meeting-conference) */
91
81
  const meetingPhoneInfoPaneProps = {
92
82
  updateSidePaneRenderer,
93
83
  mobileView: props.mobileView,
@@ -109,21 +99,14 @@ export const CallArrangement = (props) => {
109
99
  const locale = useLocale();
110
100
  const role = (_b = adapter.getState().call) === null || _b === void 0 ? void 0 : _b.role;
111
101
  const videoGalleryProps = usePropsFor(VideoGallery);
112
- /* @conditional-compile-remove(soft-mute) */
113
102
  const muteAllHandlers = useHandlers(MoreDrawer);
114
103
  const { setPromptProps, setIsPromptOpen, hideSpotlightButtons } = props;
115
- const { onStartLocalSpotlight, onStopLocalSpotlight, onStartRemoteSpotlight, onStopRemoteSpotlight,
116
- /* @conditional-compile-remove(soft-mute) */
117
- onMuteParticipant, spotlightedParticipants, maxParticipantsToSpotlight, localParticipant } = videoGalleryProps;
118
- /* @conditional-compile-remove(teams-meeting-conference) */
104
+ const { onStartLocalSpotlight, onStopLocalSpotlight, onStartRemoteSpotlight, onStopRemoteSpotlight, onMuteParticipant, spotlightedParticipants, maxParticipantsToSpotlight, localParticipant } = videoGalleryProps;
119
105
  const [showTeamsMeetingConferenceModal, setShowTeamsMeetingConferenceModal] = useState(false);
120
- /* @conditional-compile-remove(teams-meeting-conference) */
121
106
  const toggleTeamsMeetingConferenceModal = useCallback(() => {
122
107
  setShowTeamsMeetingConferenceModal(!showTeamsMeetingConferenceModal);
123
108
  }, [showTeamsMeetingConferenceModal]);
124
- /* @conditional-compile-remove(teams-meeting-conference) */
125
109
  const { isMeetingPhoneInfoPaneOpen, openMeetingPhoneInfoPane, closeMeetingPhoneInfoPane } = useMeetingPhoneInfoPane(Object.assign({}, meetingPhoneInfoPaneProps));
126
- /* @conditional-compile-remove(teams-meeting-conference) */
127
110
  const toggleMeetingPhoneInfoPane = useCallback(() => {
128
111
  if (isMeetingPhoneInfoPaneOpen) {
129
112
  closeMeetingPhoneInfoPane();
@@ -132,7 +115,6 @@ export const CallArrangement = (props) => {
132
115
  openMeetingPhoneInfoPane();
133
116
  }
134
117
  }, [closeMeetingPhoneInfoPane, isMeetingPhoneInfoPaneOpen, openMeetingPhoneInfoPane]);
135
- /* @conditional-compile-remove(teams-meeting-conference) */
136
118
  const onMeetingPhoneInfoClicked = useCallback(() => {
137
119
  setShowDrawer(false);
138
120
  toggleMeetingPhoneInfoPane();
@@ -165,13 +147,12 @@ export const CallArrangement = (props) => {
165
147
  const stopAllSpotlight = useMemo(() => canRemoveSpotlight ? () => adapter.stopAllSpotlight() : undefined, [canRemoveSpotlight, adapter]);
166
148
  const { stopAllSpotlightWithPrompt } = useStopAllSpotlightCallbackWithPrompt(stopAllSpotlight, setIsPromptOpen, setPromptProps);
167
149
  const onMuteParticipantPeoplePaneProps = useMemo(() => {
168
- /* @conditional-compile-remove(soft-mute) */
169
150
  return {
170
151
  onMuteParticipant: ['Unknown', 'Organizer', 'Presenter', 'Co-organizer'].includes(role !== null && role !== void 0 ? role : '') ? onMuteParticipant : undefined,
171
152
  onMuteAllRemoteParticipants: ['Unknown', 'Organizer', 'Presenter', 'Co-organizer'].includes(role !== null && role !== void 0 ? role : '') ? muteAllHandlers.onMuteAllRemoteParticipants : undefined
172
153
  };
173
154
  return {};
174
- }, [/* @conditional-compile-remove(soft-mute) */ onMuteParticipant, /* @conditional-compile-remove(soft-mute) */ role, /* @conditional-compile-remove(soft-mute) */ muteAllHandlers.onMuteAllRemoteParticipants]);
155
+ }, [onMuteParticipant, role, muteAllHandlers.onMuteAllRemoteParticipants]);
175
156
  const spotlightPeoplePaneProps = useMemo(() => {
176
157
  return {
177
158
  spotlightedParticipantUserIds: spotlightedParticipants,
@@ -193,7 +174,6 @@ export const CallArrangement = (props) => {
193
174
  openPeoplePane();
194
175
  }
195
176
  }, [closePeoplePane, isPeoplePaneOpen, openPeoplePane]);
196
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
197
177
  useEffect(() => {
198
178
  if (isInLocalHold) {
199
179
  // close side pane on local hold
@@ -237,34 +217,27 @@ export const CallArrangement = (props) => {
237
217
  togglePeoplePane();
238
218
  }, [togglePeoplePane]);
239
219
  const drawerContainerStylesValue = useMemo(() => drawerContainerStyles(DRAWER_Z_INDEX), []);
240
- const canUnmute = role !== 'Consumer' ? true : false;
241
- let filteredLatestErrors = props.errorBarProps !== false ? props.latestErrors : [];
242
- /* @conditional-compile-remove(notifications) */
243
220
  let filteredLatestErrorNotifications = props.showErrorNotifications ? props.latestErrors : [];
244
221
  const isCameraOn = useSelector(localVideoSelector).isAvailable;
245
222
  // TODO: move this logic to the error bar selector once role is plumbed from the headless SDK
246
- if (role === 'Consumer' && (props.errorBarProps || /* @conditional-compile-remove(notifications) */ props.showErrorNotifications)) {
247
- filteredLatestErrors = filteredLatestErrors.filter(e => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari');
248
- /* @conditional-compile-remove(notifications) */
223
+ if (role === 'Consumer' && (props.errorBarProps || props.showErrorNotifications)) {
224
+ filteredLatestErrorNotifications = filteredLatestErrorNotifications.filter(e => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari');
225
+ }
226
+ if (props.doNotShowCameraAccessNotifications) {
249
227
  filteredLatestErrorNotifications = filteredLatestErrorNotifications.filter(e => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari');
250
228
  }
251
229
  const isVideoPaneOpen = useIsParticularSidePaneOpen(VIDEO_EFFECTS_SIDE_PANE_ID);
252
- if ((isVideoPaneOpen || !isCameraOn) && (props.errorBarProps || /* @conditional-compile-remove(notifications) */ props.showErrorNotifications)) {
253
- filteredLatestErrors = filteredLatestErrors.filter(e => e.type !== 'unableToStartVideoEffect');
254
- /* @conditional-compile-remove(notifications) */
230
+ if ((isVideoPaneOpen || !isCameraOn) && (props.errorBarProps || props.showErrorNotifications)) {
255
231
  filteredLatestErrorNotifications = filteredLatestErrorNotifications.filter(e => e.type !== 'unableToStartVideoEffect');
256
232
  }
257
- /* @conditional-compile-remove(acs-close-captions) */
258
233
  const isTeamsCaptions = useSelector(getCaptionsKind) === 'TeamsCaptions';
259
234
  const isTeamsMeeting = useSelector(getIsTeamsMeeting);
260
- /* @conditional-compile-remove(acs-close-captions) */
261
235
  const isTeamsCall = useSelector(getIsTeamsCall);
262
- const useTeamsCaptions = isTeamsMeeting || /* @conditional-compile-remove(acs-close-captions) */ isTeamsCall || /* @conditional-compile-remove(acs-close-captions) */ isTeamsCaptions;
236
+ const useTeamsCaptions = isTeamsMeeting || isTeamsCall || isTeamsCaptions;
263
237
  const hasJoinedCall = useSelector(getCallStatus) === 'Connected';
264
238
  const isCaptionsOn = useSelector(getCaptionsStatus);
265
239
  const minMaxDragPosition = useMinMaxDragPosition(props.modalLayerHostId);
266
240
  const pipStyles = useMemo(() => getPipStyles(theme), [theme]);
267
- /* @conditional-compile-remove(notifications) */
268
241
  if (isTeamsMeeting) {
269
242
  filteredLatestErrorNotifications.filter(notification => notification.type === 'teamsMeetingCallNetworkQualityLow').forEach(notification => {
270
243
  notification.onClickPrimaryButton = props.mobileView ? toggleMeetingPhoneInfoPane : toggleTeamsMeetingConferenceModal;
@@ -273,55 +246,33 @@ export const CallArrangement = (props) => {
273
246
  const verticalControlBar = props.mobileView && containerWidth && containerHeight && containerWidth / containerHeight > 1 ? true : false;
274
247
  // Filter out shareScreen capability notifications if on mobile
275
248
  const filteredCapabilitesChangedNotifications = props.mobileView ? (_e = props.capabilitiesChangedNotificationBarProps) === null || _e === void 0 ? void 0 : _e.capabilitiesChangedNotifications.filter(notification => notification.capabilityName !== 'shareScreen') : (_f = props.capabilitiesChangedNotificationBarProps) === null || _f === void 0 ? void 0 : _f.capabilitiesChangedNotifications;
276
- const errorNotificationTrampoline = () => {
277
- /* @conditional-compile-remove(notifications) */
278
- return React.createElement(React.Fragment, null, props.showErrorNotifications && React.createElement(Stack, { styles: notificationStackStyles, horizontalAlign: "center", verticalAlign: "center" },
279
- React.createElement(NotificationStack, { onDismissNotification: props.onDismissError, activeNotifications: filteredLatestErrorNotifications })));
280
- return React.createElement(React.Fragment, null, props.errorBarProps !== false && React.createElement(Stack, { styles: bannerNotificationStyles },
281
- React.createElement(ErrorBar, Object.assign({}, props.errorBarProps, { onDismissError: props.onDismissError, activeErrorMessages: filteredLatestErrors }))));
282
- };
283
- const mutedNotificationTrampoline = () => {
284
- var _a, _b;
285
- /* @conditional-compile-remove(notifications) */
286
- return React.createElement(React.Fragment, null);
287
- return React.createElement(React.Fragment, null, canUnmute && !!props.mutedNotificationProps && React.createElement(MutedNotification, Object.assign({}, props.mutedNotificationProps, { speakingWhileMuted: (_b = (_a = props.mutedNotificationProps) === null || _a === void 0 ? void 0 : _a.speakingWhileMuted) !== null && _b !== void 0 ? _b : false })));
288
- };
289
- const complianceBannerTrampoline = () => {
290
- /* @conditional-compile-remove(notifications) */
291
- return React.createElement(React.Fragment, null);
292
- return React.createElement(Stack, { styles: bannerNotificationStyles },
293
- React.createElement(_ComplianceBanner, Object.assign({}, props.complianceBannerProps)));
294
- };
249
+ const notificationStackStrings = useCompositeStringsForNotificationStackStrings(locale);
250
+ let latestNotifications = props.latestNotifications; // Filter out breakout room notification that prompts user to join breakout room when in mobile view. We will
251
+ // replace it with a non-dismissible banner
252
+ latestNotifications = props.mobileView ? (latestNotifications !== null && latestNotifications !== void 0 ? latestNotifications : []).filter(notification => notification.type !== 'assignedBreakoutRoomOpenedPromptJoin') : latestNotifications;
295
253
  return React.createElement("div", { ref: containerRef, className: mergeStyles(containerDivStyles), id: props.id },
296
254
  React.createElement(Stack, { verticalFill: true, horizontalAlign: "stretch", className: containerClassName, "data-ui-id": props.dataUiId },
297
255
  React.createElement(Stack, { reversed: true, horizontal: verticalControlBar, grow: true, styles: callArrangementContainerStyles(verticalControlBar) },
298
256
  ((_g = props.callControlProps) === null || _g === void 0 ? void 0 : _g.options) !== false && !isMobileWithActivePane && React.createElement(Stack, { verticalAlign: 'center', className: mergeStyles({
299
257
  zIndex: CONTROL_BAR_Z_INDEX,
300
258
  padding: verticalControlBar ? '0.25rem' : 'unset'
301
- }) }, isLegacyCallControlEnabled((_h = props.callControlProps) === null || _h === void 0 ? void 0 : _h.options) ? React.createElement(CallControls, Object.assign({}, props.callControlProps, { containerWidth: containerWidth, containerHeight: containerHeight, isMobile: props.mobileView,
302
- /* @conditional-compile-remove(one-to-n-calling) */ peopleButtonChecked: isPeoplePaneOpen,
303
- /* @conditional-compile-remove(one-to-n-calling) */ onPeopleButtonClicked: togglePeoplePane, displayVertical: verticalControlBar })) : React.createElement(CommonCallControlBar, Object.assign({}, props.callControlProps, { callControls: props.callControlProps.options, callAdapter: adapter, mobileView: props.mobileView, disableButtonsForLobbyPage: isInLobby,
304
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ disableButtonsForHoldScreen: isInLocalHold, peopleButtonChecked: isPeoplePaneOpen, onPeopleButtonClicked: togglePeoplePane, onMoreButtonClicked: onMoreButtonClicked, isCaptionsSupported: useTeamsCaptions && hasJoinedCall || /* @conditional-compile-remove(acs-close-captions) */ hasJoinedCall, useTeamsCaptions: useTeamsCaptions, isCaptionsOn: isCaptionsOn, onClickVideoEffects: onResolveVideoEffectDependency ? openVideoEffectsPane : undefined, displayVertical: verticalControlBar, onUserSetOverflowGalleryPositionChange: props.onUserSetOverflowGalleryPositionChange, onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange, userSetGalleryLayout: props.userSetGalleryLayout, onSetDialpadPage: props.onSetDialpadPage, dtmfDialerPresent: props.dtmfDialerPresent, peopleButtonRef: peopleButtonRef, cameraButtonRef: cameraButtonRef, onStopLocalSpotlight: !hideSpotlightButtons && localParticipant.spotlight ? onStopLocalSpotlightWithPrompt : undefined,
305
- /* @conditional-compile-remove(teams-meeting-conference) */ onToggleTeamsMeetingConferenceModal: toggleTeamsMeetingConferenceModal,
306
- /* @conditional-compile-remove(teams-meeting-conference) */ teamsMeetingConferenceModalPresent: showTeamsMeetingConferenceModal }))),
259
+ }) }, isLegacyCallControlEnabled((_h = props.callControlProps) === null || _h === void 0 ? void 0 : _h.options) ? React.createElement(CallControls, Object.assign({}, props.callControlProps, { containerWidth: containerWidth, containerHeight: containerHeight, isMobile: props.mobileView, peopleButtonChecked: isPeoplePaneOpen, onPeopleButtonClicked: togglePeoplePane, displayVertical: verticalControlBar })) : React.createElement(CommonCallControlBar, Object.assign({}, props.callControlProps, { callControls: props.callControlProps.options, callAdapter: adapter, mobileView: props.mobileView, disableButtonsForLobbyPage: isInLobby, disableButtonsForHoldScreen: isInLocalHold, peopleButtonChecked: isPeoplePaneOpen, onPeopleButtonClicked: togglePeoplePane, onMoreButtonClicked: onMoreButtonClicked, isCaptionsSupported: useTeamsCaptions && hasJoinedCall || hasJoinedCall, useTeamsCaptions: useTeamsCaptions, isCaptionsOn: isCaptionsOn, onClickVideoEffects: onResolveVideoEffectDependency ? openVideoEffectsPane : undefined, displayVertical: verticalControlBar, onUserSetOverflowGalleryPositionChange: props.onUserSetOverflowGalleryPositionChange, onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange, userSetGalleryLayout: props.userSetGalleryLayout, onSetDialpadPage: props.onSetDialpadPage, dtmfDialerPresent: props.dtmfDialerPresent, peopleButtonRef: peopleButtonRef, cameraButtonRef: cameraButtonRef, onStopLocalSpotlight: !hideSpotlightButtons && localParticipant.spotlight ? onStopLocalSpotlightWithPrompt : undefined, onToggleTeamsMeetingConferenceModal: toggleTeamsMeetingConferenceModal, teamsMeetingConferenceModalPresent: showTeamsMeetingConferenceModal }))),
307
260
  ((_j = props.callControlProps) === null || _j === void 0 ? void 0 : _j.options) !== false && showDrawer && React.createElement(Stack, { styles: drawerContainerStylesValue },
308
- React.createElement(PreparedMoreDrawer, { callControls: props.callControlProps.options, onLightDismiss: closeDrawer, onPeopleButtonClicked: onMoreDrawerPeopleClicked,
309
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ disableButtonsForHoldScreen: isInLocalHold, isCaptionsSupported: useTeamsCaptions && hasJoinedCall || /* @conditional-compile-remove(acs-close-captions) */ hasJoinedCall, useTeamsCaptions: useTeamsCaptions, onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange, userSetGalleryLayout: props.userSetGalleryLayout, onSetDialpadPage: props.onSetDialpadPage, dtmfDialerPresent: props.dtmfDialerPresent, reactionResources: adapter.getState().reactions,
310
- /* @conditional-compile-remove(teams-meeting-conference) */ onClickMeetingPhoneInfo: onMeetingPhoneInfoClicked })),
261
+ React.createElement(PreparedMoreDrawer, { callControls: props.callControlProps.options, onLightDismiss: closeDrawer, onPeopleButtonClicked: onMoreDrawerPeopleClicked, disableButtonsForHoldScreen: isInLocalHold, isCaptionsSupported: useTeamsCaptions && hasJoinedCall || hasJoinedCall, useTeamsCaptions: useTeamsCaptions, onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange, userSetGalleryLayout: props.userSetGalleryLayout, onSetDialpadPage: props.onSetDialpadPage, dtmfDialerPresent: props.dtmfDialerPresent, reactionResources: adapter.getState().reactions, onClickMeetingPhoneInfo: onMeetingPhoneInfoClicked })),
311
262
  React.createElement(Stack, { horizontal: true, grow: true },
312
263
  React.createElement(Stack.Item, { style: callCompositeContainerCSS },
313
264
  React.createElement(Stack.Item, { styles: callGalleryStyles, grow: true },
314
265
  React.createElement(Stack, { verticalFill: true, styles: mediaGalleryContainerStyles },
315
266
  React.createElement(Stack.Item, { styles: notificationsContainerStyles },
316
- complianceBannerTrampoline(),
317
- errorNotificationTrampoline(), /* @conditional-compile-remove(notifications) */
318
- props.latestNotifications && React.createElement(Stack, { styles: notificationStackStyles, horizontalAlign: "center", verticalAlign: "center" },
319
- React.createElement(NotificationStack, { activeNotifications: props.latestNotifications, onDismissNotification: props.onDismissNotification })),
267
+ props.mobileView && React.createElement(BreakoutRoomsBanner, { latestNotifications: latestNotifications, locale: locale, adapter: adapter }),
268
+ props.showErrorNotifications && React.createElement(Stack, { styles: notificationStackStyles, horizontalAlign: "center", verticalAlign: "center" },
269
+ React.createElement(NotificationStack, { onDismissNotification: props.onDismissError, activeNotifications: filteredLatestErrorNotifications })),
270
+ latestNotifications && React.createElement(Stack, { styles: notificationStackStyles, horizontalAlign: "center", verticalAlign: "center" },
271
+ React.createElement(NotificationStack, { activeNotifications: latestNotifications, onDismissNotification: props.onDismissNotification, strings: notificationStackStrings })),
320
272
  props.capabilitiesChangedNotificationBarProps && props.capabilitiesChangedNotificationBarProps.capabilitiesChangedNotifications.length > 0 && React.createElement(Stack, { styles: bannerNotificationStyles },
321
- React.createElement(CapabilitiesChangedNotificationBar, Object.assign({}, props.capabilitiesChangedNotificationBarProps, { capabilitiesChangedNotifications: filteredCapabilitesChangedNotifications !== null && filteredCapabilitesChangedNotifications !== void 0 ? filteredCapabilitesChangedNotifications : [] }))),
322
- mutedNotificationTrampoline()),
273
+ React.createElement(CapabilitiesChangedNotificationBar, Object.assign({}, props.capabilitiesChangedNotificationBarProps, { capabilitiesChangedNotifications: filteredCapabilitesChangedNotifications !== null && filteredCapabilitesChangedNotifications !== void 0 ? filteredCapabilitesChangedNotifications : [] })))),
323
274
  renderGallery && props.onRenderGalleryContent && props.onRenderGalleryContent(),
324
- true && /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ !isInLocalHold && React.createElement(CaptionsBanner, { isMobile: props.mobileView, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData, useTeamsCaptions: useTeamsCaptions })))),
275
+ true && !isInLocalHold && React.createElement(CaptionsBanner, { isMobile: props.mobileView, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData, useTeamsCaptions: useTeamsCaptions })))),
325
276
  React.createElement(SidePane, { mobileView: props.mobileView, maxWidth: isVideoPaneOpen ? `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` : undefined, minWidth: isVideoPaneOpen ? `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` : undefined, updateSidePaneRenderer: props.updateSidePaneRenderer, onPeopleButtonClicked: props.mobileView && !shouldShowPeopleTabHeaderButton(props.callControlProps.options) ? undefined : togglePeoplePane, disablePeopleButton: typeof props.callControlProps.options !== 'boolean' && isDisabled((_k = props.callControlProps.options) === null || _k === void 0 ? void 0 : _k.participantsButton), onChatButtonClicked: (_l = props.mobileChatTabHeader) === null || _l === void 0 ? void 0 : _l.onClick, disableChatButton: (_m = props.mobileChatTabHeader) === null || _m === void 0 ? void 0 : _m.disabled }),
326
277
  props.mobileView && React.createElement(ModalLocalAndRemotePIP, { modalLayerHostId: props.modalLayerHostId, hidden: !isSidePaneOpen, styles: pipStyles, strings: modalStrings, minDragPosition: minMaxDragPosition.minDragPosition, maxDragPosition: minMaxDragPosition.maxDragPosition, onDismissSidePane: () => {
327
278
  closePeoplePane();
@@ -1 +1 @@
1
- {"version":3,"file":"CallArrangement.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/CallArrangement.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { IButton, mergeStyles, Stack } from '@fluentui/react';\nimport { _isInCall, _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport { _ComplianceBanner, _ComplianceBannerProps, _DrawerMenu, _DrawerMenuItemProps, _useContainerHeight, _useContainerWidth, ActiveErrorMessage, ErrorBar, ErrorBarProps, useTheme } from '@internal/react-components';\n/* @conditional-compile-remove(notifications) */\nimport { ActiveNotification, NotificationStack } from '@internal/react-components';\nimport { VideoGalleryLayout } from '@internal/react-components';\nimport { VideoGallery } from '@internal/react-components';\nimport React, { useMemo, useRef, useState } from 'react';\nimport { useEffect } from 'react';\nimport { useCallback } from 'react';\nimport { AvatarPersonaDataCallback } from '../../common/AvatarPersona';\nimport { CaptionsBanner } from '../../common/CaptionsBanner';\nimport { containerDivStyles } from '../../common/ContainerRectProps';\nimport { compositeMinWidthRem } from '../../common/styles/Composite.styles';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { CallControls, CallControlsProps } from '../components/CallControls';\nimport { CommonCallControlBar } from '../../common/ControlBar/CommonCallControlBar';\nimport { callArrangementContainerStyles, notificationsContainerStyles, containerStyleDesktop, containerStyleMobile, mediaGalleryContainerStyles, galleryParentContainerStyles, bannerNotificationStyles, CONTROL_BAR_Z_INDEX, DRAWER_Z_INDEX } from '../styles/CallPage.styles';\n/* @conditional-compile-remove(notifications) */\nimport { notificationStackStyles } from '../styles/CallPage.styles';\nimport { MutedNotification, MutedNotificationProps } from './MutedNotification';\nimport { CallAdapter } from '../adapter';\nimport { useSelector } from '../hooks/useSelector';\nimport { callStatusSelector } from '../selectors/callStatusSelector';\nimport { CallControlOptions } from '../types/CallControlOptions';\nimport { PreparedMoreDrawer } from '../../common/Drawer/PreparedMoreDrawer';\nimport { getIsTeamsMeeting, getRemoteParticipants } from '../selectors/baseSelectors';\n/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\nimport { getPage } from '../selectors/baseSelectors';\nimport { getCallStatus, getCaptionsStatus } from '../selectors/baseSelectors';\nimport { drawerContainerStyles } from '../styles/CallComposite.styles';\nimport { SidePane } from './SidePane/SidePane';\nimport { usePeoplePane } from './SidePane/usePeoplePane';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { useMeetingPhoneInfoPane } from './SidePane/useMeetingPhoneInfo';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { getTeamsMeetingCoordinates } from '../selectors/baseSelectors';\nimport { useVideoEffectsPane, VIDEO_EFFECTS_SIDE_PANE_ID, VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM } from './SidePane/useVideoEffectsPane';\nimport { isDisabled } from '../utils';\nimport { SidePaneRenderer, useIsSidePaneOpen } from './SidePane/SidePaneProvider';\nimport { useIsParticularSidePaneOpen } from './SidePane/SidePaneProvider';\nimport { ModalLocalAndRemotePIP } from '../../common/ModalLocalAndRemotePIP';\nimport { getPipStyles } from '../../common/styles/ModalLocalAndRemotePIP.styles';\nimport { useMinMaxDragPosition } from '../../common/utils';\nimport { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';\nimport { CommonCallControlOptions } from '../../common/types/CommonCallControlOptions';\nimport { localVideoSelector } from '../../CallComposite/selectors/localVideoStreamSelector';\nimport { CapabilitiesChangedNotificationBar, CapabilitiesChangeNotificationBarProps } from './CapabilitiesChangedNotificationBar';\nimport { useLocale } from '../../localization';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { PromptProps } from './Prompt';\nimport { useLocalSpotlightCallbacksWithPrompt, useRemoteSpotlightCallbacksWithPrompt, useStopAllSpotlightCallbackWithPrompt } from '../utils/spotlightUtils';\n/* @conditional-compile-remove(acs-close-captions) */\nimport { getCaptionsKind, getIsTeamsCall } from '../selectors/baseSelectors';\n/* @conditional-compile-remove(soft-mute) */\nimport { useHandlers } from '../hooks/useHandlers';\n/* @conditional-compile-remove(soft-mute) */\nimport { MoreDrawer } from '../../common/Drawer/MoreDrawer';\n\n/**\n * @private\n */\nexport interface CallArrangementProps {\n id?: string;\n complianceBannerProps: _ComplianceBannerProps;\n errorBarProps: ErrorBarProps | false;\n /* @conditional-compile-remove(notifications) */\n showErrorNotifications: boolean;\n mutedNotificationProps?: MutedNotificationProps;\n callControlProps: CallControlsProps;\n onRenderGalleryContent: () => JSX.Element;\n dataUiId: string;\n mobileView: boolean;\n modalLayerHostId: string;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n latestErrors: ActiveErrorMessage[] | /* @conditional-compile-remove(notifications) */ActiveNotification[];\n /* @conditional-compile-remove(notifications) */\n latestNotifications?: ActiveNotification[];\n onDismissError: (error: ActiveErrorMessage | /* @conditional-compile-remove(notifications) */ActiveNotification) => void;\n /* @conditional-compile-remove(notifications) */\n onDismissNotification?: (notification: ActiveNotification) => void;\n onUserSetOverflowGalleryPositionChange?: (position: 'Responsive' | 'horizontalTop') => void;\n onUserSetGalleryLayoutChange?: (layout: VideoGalleryLayout) => void;\n userSetGalleryLayout?: VideoGalleryLayout;\n capabilitiesChangedNotificationBarProps?: CapabilitiesChangeNotificationBarProps;\n onCloseChatPane?: () => void;\n onSetDialpadPage?: () => void;\n dtmfDialerPresent?: boolean;\n setIsPromptOpen?: (isOpen: boolean) => void;\n setPromptProps?: (props: PromptProps) => void;\n hideSpotlightButtons?: boolean;\n pinnedParticipants?: string[];\n setPinnedParticipants?: (pinnedParticipants: string[]) => void;\n}\n\n/**\n * @private\n * Maximum number of remote video tiles that can be pinned\n */\nexport const MAX_PINNED_REMOTE_VIDEO_TILES = 4;\n\n/**\n * @private\n */\nexport const CallArrangement = (props: CallArrangementProps): JSX.Element => {\n const containerClassName = useMemo(() => {\n return props.mobileView ? containerStyleMobile : containerStyleDesktop;\n }, [props.mobileView]);\n const theme = useTheme();\n const callGalleryStyles = useMemo(() => galleryParentContainerStyles(theme.palette.neutralLighterAlt), [theme.palette.neutralLighterAlt]);\n const peopleButtonRef = useRef<IButton>(null);\n const cameraButtonRef = useRef<IButton>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const containerWidth = _useContainerWidth(containerRef);\n const containerHeight = _useContainerHeight(containerRef);\n const isInLobby = _isInLobbyOrConnecting(useSelector(callStatusSelector).callStatus);\n const {\n updateSidePaneRenderer\n } = props;\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n const isInLocalHold = useSelector(getPage) === 'hold';\n const adapter = useAdapter();\n const [participantActioned, setParticipantActioned] = useState<string>();\n const remoteParticipants = useSelector(getRemoteParticipants);\n const [drawerMenuItems, setDrawerMenuItems] = useState<_DrawerMenuItemProps[]>([]);\n useEffect(() => {\n const participantIsActionedButIsNotPresent = participantActioned && remoteParticipants?.[participantActioned] === undefined;\n if (participantIsActionedButIsNotPresent) {\n setDrawerMenuItems([]);\n }\n }, [participantActioned, remoteParticipants]);\n\n /* @conditional-compile-remove(teams-meeting-conference) */\n const conferencePhoneInfo = useSelector(getTeamsMeetingCoordinates);\n\n /* @conditional-compile-remove(teams-meeting-conference) */\n const meetingPhoneInfoPaneProps = {\n updateSidePaneRenderer,\n mobileView: props.mobileView,\n conferencePhoneInfo: conferencePhoneInfo\n };\n const peoplePaneProps = useMemo(() => ({\n updateSidePaneRenderer,\n setDrawerMenuItems,\n inviteLink: props.callControlProps.callInvitationURL,\n onFetchAvatarPersonaData: props.onFetchAvatarPersonaData,\n onFetchParticipantMenuItems: props.callControlProps?.onFetchParticipantMenuItems,\n mobileView: props.mobileView,\n peopleButtonRef,\n setParticipantActioned\n }), [updateSidePaneRenderer, props.callControlProps.callInvitationURL, props.callControlProps?.onFetchParticipantMenuItems, props.onFetchAvatarPersonaData, props.mobileView, peopleButtonRef, setParticipantActioned]);\n const locale = useLocale();\n const role = adapter.getState().call?.role;\n const videoGalleryProps = usePropsFor(VideoGallery);\n /* @conditional-compile-remove(soft-mute) */\n const muteAllHandlers = useHandlers(MoreDrawer);\n const {\n setPromptProps,\n setIsPromptOpen,\n hideSpotlightButtons\n } = props;\n const {\n onStartLocalSpotlight,\n onStopLocalSpotlight,\n onStartRemoteSpotlight,\n onStopRemoteSpotlight,\n /* @conditional-compile-remove(soft-mute) */\n onMuteParticipant,\n spotlightedParticipants,\n maxParticipantsToSpotlight,\n localParticipant\n } = videoGalleryProps;\n\n /* @conditional-compile-remove(teams-meeting-conference) */\n const [showTeamsMeetingConferenceModal, setShowTeamsMeetingConferenceModal] = useState(false);\n /* @conditional-compile-remove(teams-meeting-conference) */\n const toggleTeamsMeetingConferenceModal = useCallback((): void => {\n setShowTeamsMeetingConferenceModal(!showTeamsMeetingConferenceModal);\n }, [showTeamsMeetingConferenceModal]);\n\n /* @conditional-compile-remove(teams-meeting-conference) */\n const {\n isMeetingPhoneInfoPaneOpen,\n openMeetingPhoneInfoPane,\n closeMeetingPhoneInfoPane\n } = useMeetingPhoneInfoPane({\n ...meetingPhoneInfoPaneProps\n });\n\n /* @conditional-compile-remove(teams-meeting-conference) */\n const toggleMeetingPhoneInfoPane = useCallback(() => {\n if (isMeetingPhoneInfoPaneOpen) {\n closeMeetingPhoneInfoPane();\n } else {\n openMeetingPhoneInfoPane();\n }\n }, [closeMeetingPhoneInfoPane, isMeetingPhoneInfoPaneOpen, openMeetingPhoneInfoPane]);\n\n /* @conditional-compile-remove(teams-meeting-conference) */\n const onMeetingPhoneInfoClicked = useCallback(() => {\n setShowDrawer(false);\n toggleMeetingPhoneInfoPane();\n }, [toggleMeetingPhoneInfoPane]);\n const {\n pinnedParticipants,\n setPinnedParticipants\n } = props;\n const onPinParticipant = useCallback((userId: string) => {\n if (pinnedParticipants && pinnedParticipants.length >= MAX_PINNED_REMOTE_VIDEO_TILES) {\n return;\n }\n if (pinnedParticipants && setPinnedParticipants && !pinnedParticipants.includes(userId)) {\n setPinnedParticipants(pinnedParticipants.concat(userId));\n }\n }, [pinnedParticipants, setPinnedParticipants]);\n const onUnpinParticipant = useCallback((userId: string) => {\n if (pinnedParticipants && setPinnedParticipants) {\n setPinnedParticipants(pinnedParticipants.filter(participantId => participantId !== userId));\n }\n }, [setPinnedParticipants, pinnedParticipants]);\n const pinPeoplePaneProps = useMemo(() => {\n return {\n pinnedParticipants: pinnedParticipants,\n onPinParticipant: onPinParticipant,\n onUnpinParticipant: onUnpinParticipant,\n disablePinMenuItem: pinnedParticipants && pinnedParticipants.length >= MAX_PINNED_REMOTE_VIDEO_TILES\n };\n }, [onPinParticipant, onUnpinParticipant, pinnedParticipants]);\n const {\n onStartLocalSpotlightWithPrompt,\n onStopLocalSpotlightWithPrompt\n } = useLocalSpotlightCallbacksWithPrompt(onStartLocalSpotlight, onStopLocalSpotlight, setIsPromptOpen, setPromptProps);\n const {\n onStartRemoteSpotlightWithPrompt,\n onStopRemoteSpotlightWithPrompt\n } = useRemoteSpotlightCallbacksWithPrompt(onStartRemoteSpotlight, onStopRemoteSpotlight, setIsPromptOpen, setPromptProps);\n const canRemoveSpotlight = adapter.getState().call?.capabilitiesFeature?.capabilities.removeParticipantsSpotlight.isPresent;\n const stopAllSpotlight = useMemo(() => canRemoveSpotlight ? () => adapter.stopAllSpotlight() : undefined, [canRemoveSpotlight, adapter]);\n const {\n stopAllSpotlightWithPrompt\n } = useStopAllSpotlightCallbackWithPrompt(stopAllSpotlight, setIsPromptOpen, setPromptProps);\n const onMuteParticipantPeoplePaneProps = useMemo(() => {\n /* @conditional-compile-remove(soft-mute) */\n return {\n onMuteParticipant: ['Unknown', 'Organizer', 'Presenter', 'Co-organizer'].includes(role ?? '') ? onMuteParticipant : undefined,\n onMuteAllRemoteParticipants: ['Unknown', 'Organizer', 'Presenter', 'Co-organizer'].includes(role ?? '') ? muteAllHandlers.onMuteAllRemoteParticipants : undefined\n };\n return {};\n }, [/* @conditional-compile-remove(soft-mute) */onMuteParticipant, /* @conditional-compile-remove(soft-mute) */role, /* @conditional-compile-remove(soft-mute) */muteAllHandlers.onMuteAllRemoteParticipants]);\n const spotlightPeoplePaneProps = useMemo(() => {\n return {\n spotlightedParticipantUserIds: spotlightedParticipants,\n onStartLocalSpotlight: hideSpotlightButtons ? undefined : onStartLocalSpotlightWithPrompt,\n onStopLocalSpotlight: hideSpotlightButtons ? undefined : onStopLocalSpotlightWithPrompt,\n onStartRemoteSpotlight: hideSpotlightButtons ? undefined : onStartRemoteSpotlightWithPrompt,\n onStopRemoteSpotlight: hideSpotlightButtons ? undefined : onStopRemoteSpotlightWithPrompt,\n onStopAllSpotlight: hideSpotlightButtons ? undefined : stopAllSpotlightWithPrompt,\n maxParticipantsToSpotlight\n };\n return {};\n }, [hideSpotlightButtons, maxParticipantsToSpotlight, onStartLocalSpotlightWithPrompt, onStartRemoteSpotlightWithPrompt, onStopLocalSpotlightWithPrompt, onStopRemoteSpotlightWithPrompt, stopAllSpotlightWithPrompt, spotlightedParticipants]);\n const {\n isPeoplePaneOpen,\n openPeoplePane,\n closePeoplePane\n } = usePeoplePane({\n ...peoplePaneProps,\n ...spotlightPeoplePaneProps,\n ...onMuteParticipantPeoplePaneProps,\n ...pinPeoplePaneProps\n });\n const togglePeoplePane = useCallback(() => {\n if (isPeoplePaneOpen) {\n closePeoplePane();\n } else {\n openPeoplePane();\n }\n }, [closePeoplePane, isPeoplePaneOpen, openPeoplePane]);\n\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n useEffect(() => {\n if (isInLocalHold) {\n // close side pane on local hold\n updateSidePaneRenderer(undefined);\n }\n }, [updateSidePaneRenderer, isInLocalHold, isPeoplePaneOpen, closePeoplePane]);\n const isSidePaneOpen = useIsSidePaneOpen();\n const [renderGallery, setRenderGallery] = useState<boolean>(!isSidePaneOpen && props.mobileView);\n useEffect(() => {\n if (isSidePaneOpen && props.mobileView) {\n setRenderGallery(false);\n } else {\n setRenderGallery(true);\n }\n }, [props.mobileView, isSidePaneOpen]);\n const modalStrings = {\n dismissModalAriaLabel: locale.strings.call.dismissModalAriaLabel\n };\n const isMobileWithActivePane = props.mobileView && isSidePaneOpen;\n const callCompositeContainerCSS = useMemo((): React.CSSProperties => {\n return {\n display: isMobileWithActivePane ? 'none' : 'flex',\n minWidth: props.mobileView ? 'unset' : `${compositeMinWidthRem}rem`,\n width: '100%',\n height: '100%',\n position: 'relative'\n };\n }, [isMobileWithActivePane, props.mobileView]);\n const onResolveVideoEffectDependency = adapter.getState().onResolveVideoEffectDependency;\n const {\n openVideoEffectsPane\n } = useVideoEffectsPane(props.updateSidePaneRenderer, props.mobileView, props.latestErrors as ActiveErrorMessage[], props.onDismissError, cameraButtonRef);\n const [showDrawer, setShowDrawer] = useState(false);\n const onMoreButtonClicked = useCallback(() => {\n setShowDrawer(true);\n }, []);\n const closeDrawer = useCallback(() => {\n setShowDrawer(false);\n }, []);\n const onMoreDrawerPeopleClicked = useCallback(() => {\n setShowDrawer(false);\n togglePeoplePane();\n }, [togglePeoplePane]);\n const drawerContainerStylesValue = useMemo(() => drawerContainerStyles(DRAWER_Z_INDEX), []);\n const canUnmute = role !== 'Consumer' ? true : false;\n let filteredLatestErrors: ActiveErrorMessage[] = props.errorBarProps !== false ? props.latestErrors as ActiveErrorMessage[] : [];\n\n /* @conditional-compile-remove(notifications) */\n let filteredLatestErrorNotifications: ActiveNotification[] = props.showErrorNotifications ? props.latestErrors as ActiveNotification[] : [];\n const isCameraOn = useSelector(localVideoSelector).isAvailable;\n\n // TODO: move this logic to the error bar selector once role is plumbed from the headless SDK\n if (role === 'Consumer' && (props.errorBarProps || /* @conditional-compile-remove(notifications) */props.showErrorNotifications)) {\n filteredLatestErrors = filteredLatestErrors.filter(e => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari');\n /* @conditional-compile-remove(notifications) */\n filteredLatestErrorNotifications = filteredLatestErrorNotifications.filter(e => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari');\n }\n const isVideoPaneOpen = useIsParticularSidePaneOpen(VIDEO_EFFECTS_SIDE_PANE_ID);\n if ((isVideoPaneOpen || !isCameraOn) && (props.errorBarProps || /* @conditional-compile-remove(notifications) */props.showErrorNotifications)) {\n filteredLatestErrors = filteredLatestErrors.filter(e => e.type !== 'unableToStartVideoEffect');\n /* @conditional-compile-remove(notifications) */\n filteredLatestErrorNotifications = filteredLatestErrorNotifications.filter(e => e.type !== 'unableToStartVideoEffect');\n }\n\n /* @conditional-compile-remove(acs-close-captions) */\n const isTeamsCaptions = useSelector(getCaptionsKind) === 'TeamsCaptions';\n const isTeamsMeeting = useSelector(getIsTeamsMeeting);\n /* @conditional-compile-remove(acs-close-captions) */\n const isTeamsCall = useSelector(getIsTeamsCall);\n const useTeamsCaptions = isTeamsMeeting || /* @conditional-compile-remove(acs-close-captions) */isTeamsCall || /* @conditional-compile-remove(acs-close-captions) */isTeamsCaptions;\n const hasJoinedCall = useSelector(getCallStatus) === 'Connected';\n const isCaptionsOn = useSelector(getCaptionsStatus);\n const minMaxDragPosition = useMinMaxDragPosition(props.modalLayerHostId);\n const pipStyles = useMemo(() => getPipStyles(theme), [theme]);\n\n /* @conditional-compile-remove(notifications) */\n if (isTeamsMeeting) {\n filteredLatestErrorNotifications.filter(notification => notification.type === 'teamsMeetingCallNetworkQualityLow').forEach(notification => {\n notification.onClickPrimaryButton = props.mobileView ? toggleMeetingPhoneInfoPane : toggleTeamsMeetingConferenceModal;\n });\n }\n const verticalControlBar = props.mobileView && containerWidth && containerHeight && containerWidth / containerHeight > 1 ? true : false;\n\n // Filter out shareScreen capability notifications if on mobile\n const filteredCapabilitesChangedNotifications = props.mobileView ? props.capabilitiesChangedNotificationBarProps?.capabilitiesChangedNotifications.filter(notification => notification.capabilityName !== 'shareScreen') : props.capabilitiesChangedNotificationBarProps?.capabilitiesChangedNotifications;\n const errorNotificationTrampoline = (): JSX.Element => {\n /* @conditional-compile-remove(notifications) */\n return <>\n {props.showErrorNotifications && <Stack styles={notificationStackStyles} horizontalAlign=\"center\" verticalAlign=\"center\">\n <NotificationStack onDismissNotification={props.onDismissError} activeNotifications={filteredLatestErrorNotifications} />\n </Stack>}\n </>;\n return <>\n {props.errorBarProps !== false && <Stack styles={bannerNotificationStyles}>\n <ErrorBar {...props.errorBarProps} onDismissError={props.onDismissError} activeErrorMessages={filteredLatestErrors} />\n </Stack>}\n </>;\n };\n const mutedNotificationTrampoline = (): JSX.Element => {\n /* @conditional-compile-remove(notifications) */\n return <></>;\n return <>\n {canUnmute && !!props.mutedNotificationProps && <MutedNotification {...props.mutedNotificationProps} speakingWhileMuted={props.mutedNotificationProps?.speakingWhileMuted ?? false} />}\n </>;\n };\n const complianceBannerTrampoline = (): JSX.Element => {\n /* @conditional-compile-remove(notifications) */\n return <></>;\n return <Stack styles={bannerNotificationStyles}>\n <_ComplianceBanner {...props.complianceBannerProps} />\n </Stack>;\n };\n return <div ref={containerRef} className={mergeStyles(containerDivStyles)} id={props.id}>\n <Stack verticalFill horizontalAlign=\"stretch\" className={containerClassName} data-ui-id={props.dataUiId}>\n <Stack reversed horizontal={verticalControlBar} grow styles={callArrangementContainerStyles(verticalControlBar)}>\n {props.callControlProps?.options !== false && !isMobileWithActivePane && <Stack verticalAlign={'center'} className={mergeStyles({\n zIndex: CONTROL_BAR_Z_INDEX,\n padding: verticalControlBar ? '0.25rem' : 'unset'\n })}>\n {isLegacyCallControlEnabled(props.callControlProps?.options) ? <CallControls {...props.callControlProps} containerWidth={containerWidth} containerHeight={containerHeight} isMobile={props.mobileView}\n /* @conditional-compile-remove(one-to-n-calling) */ peopleButtonChecked={isPeoplePaneOpen}\n /* @conditional-compile-remove(one-to-n-calling) */ onPeopleButtonClicked={togglePeoplePane} displayVertical={verticalControlBar} /> : <CommonCallControlBar {...props.callControlProps} callControls={props.callControlProps.options} callAdapter={adapter as CallAdapter} mobileView={props.mobileView} disableButtonsForLobbyPage={isInLobby}\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ disableButtonsForHoldScreen={isInLocalHold} peopleButtonChecked={isPeoplePaneOpen} onPeopleButtonClicked={togglePeoplePane} onMoreButtonClicked={onMoreButtonClicked} isCaptionsSupported={useTeamsCaptions && hasJoinedCall || /* @conditional-compile-remove(acs-close-captions) */hasJoinedCall} useTeamsCaptions={useTeamsCaptions} isCaptionsOn={isCaptionsOn} onClickVideoEffects={onResolveVideoEffectDependency ? openVideoEffectsPane : undefined} displayVertical={verticalControlBar} onUserSetOverflowGalleryPositionChange={props.onUserSetOverflowGalleryPositionChange} onUserSetGalleryLayout={props.onUserSetGalleryLayoutChange} userSetGalleryLayout={props.userSetGalleryLayout} onSetDialpadPage={props.onSetDialpadPage} dtmfDialerPresent={props.dtmfDialerPresent} peopleButtonRef={peopleButtonRef} cameraButtonRef={cameraButtonRef} onStopLocalSpotlight={!hideSpotlightButtons && localParticipant.spotlight ? onStopLocalSpotlightWithPrompt : undefined}\n /* @conditional-compile-remove(teams-meeting-conference) */ onToggleTeamsMeetingConferenceModal={toggleTeamsMeetingConferenceModal}\n /* @conditional-compile-remove(teams-meeting-conference) */ teamsMeetingConferenceModalPresent={showTeamsMeetingConferenceModal} />}\n </Stack>}\n {props.callControlProps?.options !== false && showDrawer && <Stack styles={drawerContainerStylesValue}>\n <PreparedMoreDrawer callControls={props.callControlProps.options} onLightDismiss={closeDrawer} onPeopleButtonClicked={onMoreDrawerPeopleClicked}\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ disableButtonsForHoldScreen={isInLocalHold} isCaptionsSupported={useTeamsCaptions && hasJoinedCall || /* @conditional-compile-remove(acs-close-captions) */hasJoinedCall} useTeamsCaptions={useTeamsCaptions} onUserSetGalleryLayout={props.onUserSetGalleryLayoutChange} userSetGalleryLayout={props.userSetGalleryLayout} onSetDialpadPage={props.onSetDialpadPage} dtmfDialerPresent={props.dtmfDialerPresent} reactionResources={adapter.getState().reactions}\n /* @conditional-compile-remove(teams-meeting-conference) */ onClickMeetingPhoneInfo={onMeetingPhoneInfoClicked} />\n </Stack>}\n <Stack horizontal grow>\n <Stack.Item style={callCompositeContainerCSS}>\n <Stack.Item styles={callGalleryStyles} grow>\n <Stack verticalFill styles={mediaGalleryContainerStyles}>\n <Stack.Item styles={notificationsContainerStyles}>\n {complianceBannerTrampoline()}\n\n {errorNotificationTrampoline()}\n {/* @conditional-compile-remove(notifications) */props.latestNotifications && <Stack styles={notificationStackStyles} horizontalAlign=\"center\" verticalAlign=\"center\">\n <NotificationStack activeNotifications={props.latestNotifications} onDismissNotification={props.onDismissNotification} />\n </Stack>}\n {props.capabilitiesChangedNotificationBarProps && props.capabilitiesChangedNotificationBarProps.capabilitiesChangedNotifications.length > 0 && <Stack styles={bannerNotificationStyles}>\n <CapabilitiesChangedNotificationBar {...props.capabilitiesChangedNotificationBarProps} capabilitiesChangedNotifications={filteredCapabilitesChangedNotifications ?? []} />\n </Stack>}\n {mutedNotificationTrampoline()}\n </Stack.Item>\n {renderGallery && props.onRenderGalleryContent && props.onRenderGalleryContent()}\n {true && /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */!isInLocalHold && <CaptionsBanner isMobile={props.mobileView} onFetchAvatarPersonaData={props.onFetchAvatarPersonaData} useTeamsCaptions={useTeamsCaptions} />}\n </Stack>\n </Stack.Item>\n </Stack.Item>\n <SidePane mobileView={props.mobileView} maxWidth={isVideoPaneOpen ? `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` : undefined} minWidth={isVideoPaneOpen ? `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` : undefined} updateSidePaneRenderer={props.updateSidePaneRenderer} onPeopleButtonClicked={props.mobileView && !shouldShowPeopleTabHeaderButton(props.callControlProps.options) ? undefined : togglePeoplePane} disablePeopleButton={typeof props.callControlProps.options !== 'boolean' && isDisabled(props.callControlProps.options?.participantsButton)} onChatButtonClicked={props.mobileChatTabHeader?.onClick} disableChatButton={props.mobileChatTabHeader?.disabled} />\n {props.mobileView && <ModalLocalAndRemotePIP modalLayerHostId={props.modalLayerHostId} hidden={!isSidePaneOpen} styles={pipStyles} strings={modalStrings} minDragPosition={minMaxDragPosition.minDragPosition} maxDragPosition={minMaxDragPosition.maxDragPosition} onDismissSidePane={() => {\n closePeoplePane();\n if (props.onCloseChatPane) {\n props.onCloseChatPane();\n }\n }} />}\n {drawerMenuItems.length > 0 && <Stack styles={drawerContainerStyles()}>\n <_DrawerMenu onLightDismiss={() => setDrawerMenuItems([])} items={drawerMenuItems} />\n </Stack>}\n </Stack>\n </Stack>\n </Stack>\n </div>;\n};\nconst isLegacyCallControlEnabled = (options?: boolean | CallControlOptions): boolean => {\n return !!options && options !== true && options?.legacyControlBarExperience === true;\n};\nconst shouldShowPeopleTabHeaderButton = (callControls?: boolean | CommonCallControlOptions): boolean => {\n if (callControls === undefined || callControls === true) {\n return true;\n }\n if (callControls === false) {\n return false;\n }\n return callControls.participantsButton !== false && callControls.peopleButton !== false;\n};"]}
1
+ {"version":3,"file":"CallArrangement.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/CallArrangement.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { IButton, mergeStyles, Stack } from '@fluentui/react';\nimport { _isInCall, _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport { _ComplianceBanner, _ComplianceBannerProps, _DrawerMenu, _DrawerMenuItemProps, _useContainerHeight, _useContainerWidth, ActiveErrorMessage, ErrorBarProps, useTheme } from '@internal/react-components';\nimport { ActiveNotification, NotificationStack } from '@internal/react-components';\nimport { VideoGalleryLayout } from '@internal/react-components';\nimport { VideoGallery } from '@internal/react-components';\nimport React, { useMemo, useRef, useState } from 'react';\nimport { useEffect } from 'react';\nimport { useCallback } from 'react';\nimport { AvatarPersonaDataCallback } from '../../common/AvatarPersona';\nimport { CaptionsBanner } from '../../common/CaptionsBanner';\nimport { containerDivStyles } from '../../common/ContainerRectProps';\nimport { compositeMinWidthRem } from '../../common/styles/Composite.styles';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { CallControls, CallControlsProps } from '../components/CallControls';\nimport { CommonCallControlBar } from '../../common/ControlBar/CommonCallControlBar';\nimport { callArrangementContainerStyles, notificationsContainerStyles, containerStyleDesktop, containerStyleMobile, mediaGalleryContainerStyles, galleryParentContainerStyles, bannerNotificationStyles, CONTROL_BAR_Z_INDEX, DRAWER_Z_INDEX } from '../styles/CallPage.styles';\nimport { notificationStackStyles } from '../styles/CallPage.styles';\nimport { MutedNotificationProps } from './MutedNotification';\nimport { CallAdapter } from '../adapter';\nimport { useSelector } from '../hooks/useSelector';\nimport { callStatusSelector } from '../selectors/callStatusSelector';\nimport { CallControlOptions } from '../types/CallControlOptions';\nimport { PreparedMoreDrawer } from '../../common/Drawer/PreparedMoreDrawer';\nimport { getIsTeamsMeeting, getRemoteParticipants } from '../selectors/baseSelectors';\nimport { getPage } from '../selectors/baseSelectors';\nimport { getCallStatus, getCaptionsStatus } from '../selectors/baseSelectors';\nimport { drawerContainerStyles } from '../styles/CallComposite.styles';\nimport { SidePane } from './SidePane/SidePane';\nimport { usePeoplePane } from './SidePane/usePeoplePane';\nimport { useMeetingPhoneInfoPane } from './SidePane/useMeetingPhoneInfo';\nimport { getTeamsMeetingCoordinates } from '../selectors/baseSelectors';\nimport { useVideoEffectsPane, VIDEO_EFFECTS_SIDE_PANE_ID, VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM } from './SidePane/useVideoEffectsPane';\nimport { isDisabled } from '../utils';\nimport { SidePaneRenderer, useIsSidePaneOpen } from './SidePane/SidePaneProvider';\nimport { useIsParticularSidePaneOpen } from './SidePane/SidePaneProvider';\nimport { ModalLocalAndRemotePIP } from '../../common/ModalLocalAndRemotePIP';\nimport { getPipStyles } from '../../common/styles/ModalLocalAndRemotePIP.styles';\nimport { useMinMaxDragPosition } from '../../common/utils';\nimport { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';\nimport { CommonCallControlOptions } from '../../common/types/CommonCallControlOptions';\nimport { localVideoSelector } from '../../CallComposite/selectors/localVideoStreamSelector';\nimport { CapabilitiesChangedNotificationBar, CapabilitiesChangeNotificationBarProps } from './CapabilitiesChangedNotificationBar';\nimport { useLocale } from '../../localization';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { PromptProps } from './Prompt';\nimport { useLocalSpotlightCallbacksWithPrompt, useRemoteSpotlightCallbacksWithPrompt, useStopAllSpotlightCallbackWithPrompt } from '../utils/spotlightUtils';\nimport { getCaptionsKind, getIsTeamsCall } from '../selectors/baseSelectors';\nimport { useHandlers } from '../hooks/useHandlers';\nimport { MoreDrawer } from '../../common/Drawer/MoreDrawer';\nimport { useCompositeStringsForNotificationStackStrings } from '../hooks/useCompositeStringsForNotificationStack';\nimport { BreakoutRoomsBanner } from './BreakoutRoomsBanner';\n\n/**\n * @private\n */\nexport interface CallArrangementProps {\n id?: string;\n complianceBannerProps: _ComplianceBannerProps;\n errorBarProps: ErrorBarProps | false;\n showErrorNotifications: boolean;\n mutedNotificationProps?: MutedNotificationProps;\n callControlProps: CallControlsProps;\n onRenderGalleryContent: () => JSX.Element;\n dataUiId: string;\n mobileView: boolean;\n modalLayerHostId: string;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n latestErrors: ActiveErrorMessage[] | ActiveNotification[];\n latestNotifications?: ActiveNotification[];\n onDismissError: (error: ActiveErrorMessage | ActiveNotification) => void;\n onDismissNotification?: (notification: ActiveNotification) => void;\n onUserSetOverflowGalleryPositionChange?: (position: 'Responsive' | 'horizontalTop') => void;\n onUserSetGalleryLayoutChange?: (layout: VideoGalleryLayout) => void;\n userSetGalleryLayout?: VideoGalleryLayout;\n capabilitiesChangedNotificationBarProps?: CapabilitiesChangeNotificationBarProps;\n onCloseChatPane?: () => void;\n onSetDialpadPage?: () => void;\n dtmfDialerPresent?: boolean;\n setIsPromptOpen?: (isOpen: boolean) => void;\n setPromptProps?: (props: PromptProps) => void;\n hideSpotlightButtons?: boolean;\n pinnedParticipants?: string[];\n setPinnedParticipants?: (pinnedParticipants: string[]) => void;\n doNotShowCameraAccessNotifications?: boolean;\n}\n\n/**\n * @private\n * Maximum number of remote video tiles that can be pinned\n */\nexport const MAX_PINNED_REMOTE_VIDEO_TILES = 4;\n\n/**\n * @private\n */\nexport const CallArrangement = (props: CallArrangementProps): JSX.Element => {\n const containerClassName = useMemo(() => {\n return props.mobileView ? containerStyleMobile : containerStyleDesktop;\n }, [props.mobileView]);\n const theme = useTheme();\n const callGalleryStyles = useMemo(() => galleryParentContainerStyles(theme.palette.neutralLighterAlt), [theme.palette.neutralLighterAlt]);\n const peopleButtonRef = useRef<IButton>(null);\n const cameraButtonRef = useRef<IButton>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n const containerWidth = _useContainerWidth(containerRef);\n const containerHeight = _useContainerHeight(containerRef);\n const isInLobby = _isInLobbyOrConnecting(useSelector(callStatusSelector).callStatus);\n const {\n updateSidePaneRenderer\n } = props;\n const isInLocalHold = useSelector(getPage) === 'hold';\n const adapter = useAdapter();\n const [participantActioned, setParticipantActioned] = useState<string>();\n const remoteParticipants = useSelector(getRemoteParticipants);\n const [drawerMenuItems, setDrawerMenuItems] = useState<_DrawerMenuItemProps[]>([]);\n useEffect(() => {\n const participantIsActionedButIsNotPresent = participantActioned && remoteParticipants?.[participantActioned] === undefined;\n if (participantIsActionedButIsNotPresent) {\n setDrawerMenuItems([]);\n }\n }, [participantActioned, remoteParticipants]);\n const conferencePhoneInfo = useSelector(getTeamsMeetingCoordinates);\n const meetingPhoneInfoPaneProps = {\n updateSidePaneRenderer,\n mobileView: props.mobileView,\n conferencePhoneInfo: conferencePhoneInfo\n };\n const peoplePaneProps = useMemo(() => ({\n updateSidePaneRenderer,\n setDrawerMenuItems,\n inviteLink: props.callControlProps.callInvitationURL,\n onFetchAvatarPersonaData: props.onFetchAvatarPersonaData,\n onFetchParticipantMenuItems: props.callControlProps?.onFetchParticipantMenuItems,\n mobileView: props.mobileView,\n peopleButtonRef,\n setParticipantActioned\n }), [updateSidePaneRenderer, props.callControlProps.callInvitationURL, props.callControlProps?.onFetchParticipantMenuItems, props.onFetchAvatarPersonaData, props.mobileView, peopleButtonRef, setParticipantActioned]);\n const locale = useLocale();\n const role = adapter.getState().call?.role;\n const videoGalleryProps = usePropsFor(VideoGallery);\n const muteAllHandlers = useHandlers(MoreDrawer);\n const {\n setPromptProps,\n setIsPromptOpen,\n hideSpotlightButtons\n } = props;\n const {\n onStartLocalSpotlight,\n onStopLocalSpotlight,\n onStartRemoteSpotlight,\n onStopRemoteSpotlight,\n onMuteParticipant,\n spotlightedParticipants,\n maxParticipantsToSpotlight,\n localParticipant\n } = videoGalleryProps;\n const [showTeamsMeetingConferenceModal, setShowTeamsMeetingConferenceModal] = useState(false);\n const toggleTeamsMeetingConferenceModal = useCallback((): void => {\n setShowTeamsMeetingConferenceModal(!showTeamsMeetingConferenceModal);\n }, [showTeamsMeetingConferenceModal]);\n const {\n isMeetingPhoneInfoPaneOpen,\n openMeetingPhoneInfoPane,\n closeMeetingPhoneInfoPane\n } = useMeetingPhoneInfoPane({\n ...meetingPhoneInfoPaneProps\n });\n const toggleMeetingPhoneInfoPane = useCallback(() => {\n if (isMeetingPhoneInfoPaneOpen) {\n closeMeetingPhoneInfoPane();\n } else {\n openMeetingPhoneInfoPane();\n }\n }, [closeMeetingPhoneInfoPane, isMeetingPhoneInfoPaneOpen, openMeetingPhoneInfoPane]);\n const onMeetingPhoneInfoClicked = useCallback(() => {\n setShowDrawer(false);\n toggleMeetingPhoneInfoPane();\n }, [toggleMeetingPhoneInfoPane]);\n const {\n pinnedParticipants,\n setPinnedParticipants\n } = props;\n const onPinParticipant = useCallback((userId: string) => {\n if (pinnedParticipants && pinnedParticipants.length >= MAX_PINNED_REMOTE_VIDEO_TILES) {\n return;\n }\n if (pinnedParticipants && setPinnedParticipants && !pinnedParticipants.includes(userId)) {\n setPinnedParticipants(pinnedParticipants.concat(userId));\n }\n }, [pinnedParticipants, setPinnedParticipants]);\n const onUnpinParticipant = useCallback((userId: string) => {\n if (pinnedParticipants && setPinnedParticipants) {\n setPinnedParticipants(pinnedParticipants.filter(participantId => participantId !== userId));\n }\n }, [setPinnedParticipants, pinnedParticipants]);\n const pinPeoplePaneProps = useMemo(() => {\n return {\n pinnedParticipants: pinnedParticipants,\n onPinParticipant: onPinParticipant,\n onUnpinParticipant: onUnpinParticipant,\n disablePinMenuItem: pinnedParticipants && pinnedParticipants.length >= MAX_PINNED_REMOTE_VIDEO_TILES\n };\n }, [onPinParticipant, onUnpinParticipant, pinnedParticipants]);\n const {\n onStartLocalSpotlightWithPrompt,\n onStopLocalSpotlightWithPrompt\n } = useLocalSpotlightCallbacksWithPrompt(onStartLocalSpotlight, onStopLocalSpotlight, setIsPromptOpen, setPromptProps);\n const {\n onStartRemoteSpotlightWithPrompt,\n onStopRemoteSpotlightWithPrompt\n } = useRemoteSpotlightCallbacksWithPrompt(onStartRemoteSpotlight, onStopRemoteSpotlight, setIsPromptOpen, setPromptProps);\n const canRemoveSpotlight = adapter.getState().call?.capabilitiesFeature?.capabilities.removeParticipantsSpotlight.isPresent;\n const stopAllSpotlight = useMemo(() => canRemoveSpotlight ? () => adapter.stopAllSpotlight() : undefined, [canRemoveSpotlight, adapter]);\n const {\n stopAllSpotlightWithPrompt\n } = useStopAllSpotlightCallbackWithPrompt(stopAllSpotlight, setIsPromptOpen, setPromptProps);\n const onMuteParticipantPeoplePaneProps = useMemo(() => {\n return {\n onMuteParticipant: ['Unknown', 'Organizer', 'Presenter', 'Co-organizer'].includes(role ?? '') ? onMuteParticipant : undefined,\n onMuteAllRemoteParticipants: ['Unknown', 'Organizer', 'Presenter', 'Co-organizer'].includes(role ?? '') ? muteAllHandlers.onMuteAllRemoteParticipants : undefined\n };\n return {};\n }, [onMuteParticipant, role, muteAllHandlers.onMuteAllRemoteParticipants]);\n const spotlightPeoplePaneProps = useMemo(() => {\n return {\n spotlightedParticipantUserIds: spotlightedParticipants,\n onStartLocalSpotlight: hideSpotlightButtons ? undefined : onStartLocalSpotlightWithPrompt,\n onStopLocalSpotlight: hideSpotlightButtons ? undefined : onStopLocalSpotlightWithPrompt,\n onStartRemoteSpotlight: hideSpotlightButtons ? undefined : onStartRemoteSpotlightWithPrompt,\n onStopRemoteSpotlight: hideSpotlightButtons ? undefined : onStopRemoteSpotlightWithPrompt,\n onStopAllSpotlight: hideSpotlightButtons ? undefined : stopAllSpotlightWithPrompt,\n maxParticipantsToSpotlight\n };\n return {};\n }, [hideSpotlightButtons, maxParticipantsToSpotlight, onStartLocalSpotlightWithPrompt, onStartRemoteSpotlightWithPrompt, onStopLocalSpotlightWithPrompt, onStopRemoteSpotlightWithPrompt, stopAllSpotlightWithPrompt, spotlightedParticipants]);\n const {\n isPeoplePaneOpen,\n openPeoplePane,\n closePeoplePane\n } = usePeoplePane({\n ...peoplePaneProps,\n ...spotlightPeoplePaneProps,\n ...onMuteParticipantPeoplePaneProps,\n ...pinPeoplePaneProps\n });\n const togglePeoplePane = useCallback(() => {\n if (isPeoplePaneOpen) {\n closePeoplePane();\n } else {\n openPeoplePane();\n }\n }, [closePeoplePane, isPeoplePaneOpen, openPeoplePane]);\n useEffect(() => {\n if (isInLocalHold) {\n // close side pane on local hold\n updateSidePaneRenderer(undefined);\n }\n }, [updateSidePaneRenderer, isInLocalHold, isPeoplePaneOpen, closePeoplePane]);\n const isSidePaneOpen = useIsSidePaneOpen();\n const [renderGallery, setRenderGallery] = useState<boolean>(!isSidePaneOpen && props.mobileView);\n useEffect(() => {\n if (isSidePaneOpen && props.mobileView) {\n setRenderGallery(false);\n } else {\n setRenderGallery(true);\n }\n }, [props.mobileView, isSidePaneOpen]);\n const modalStrings = {\n dismissModalAriaLabel: locale.strings.call.dismissModalAriaLabel\n };\n const isMobileWithActivePane = props.mobileView && isSidePaneOpen;\n const callCompositeContainerCSS = useMemo((): React.CSSProperties => {\n return {\n display: isMobileWithActivePane ? 'none' : 'flex',\n minWidth: props.mobileView ? 'unset' : `${compositeMinWidthRem}rem`,\n width: '100%',\n height: '100%',\n position: 'relative'\n };\n }, [isMobileWithActivePane, props.mobileView]);\n const onResolveVideoEffectDependency = adapter.getState().onResolveVideoEffectDependency;\n const {\n openVideoEffectsPane\n } = useVideoEffectsPane(props.updateSidePaneRenderer, props.mobileView, props.latestErrors as ActiveErrorMessage[], props.onDismissError, cameraButtonRef);\n const [showDrawer, setShowDrawer] = useState(false);\n const onMoreButtonClicked = useCallback(() => {\n setShowDrawer(true);\n }, []);\n const closeDrawer = useCallback(() => {\n setShowDrawer(false);\n }, []);\n const onMoreDrawerPeopleClicked = useCallback(() => {\n setShowDrawer(false);\n togglePeoplePane();\n }, [togglePeoplePane]);\n const drawerContainerStylesValue = useMemo(() => drawerContainerStyles(DRAWER_Z_INDEX), []);\n let filteredLatestErrorNotifications: ActiveNotification[] = props.showErrorNotifications ? props.latestErrors as ActiveNotification[] : [];\n const isCameraOn = useSelector(localVideoSelector).isAvailable;\n\n // TODO: move this logic to the error bar selector once role is plumbed from the headless SDK\n if (role === 'Consumer' && (props.errorBarProps || props.showErrorNotifications)) {\n filteredLatestErrorNotifications = filteredLatestErrorNotifications.filter(e => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari');\n }\n if (props.doNotShowCameraAccessNotifications) {\n filteredLatestErrorNotifications = filteredLatestErrorNotifications.filter(e => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari');\n }\n const isVideoPaneOpen = useIsParticularSidePaneOpen(VIDEO_EFFECTS_SIDE_PANE_ID);\n if ((isVideoPaneOpen || !isCameraOn) && (props.errorBarProps || props.showErrorNotifications)) {\n filteredLatestErrorNotifications = filteredLatestErrorNotifications.filter(e => e.type !== 'unableToStartVideoEffect');\n }\n const isTeamsCaptions = useSelector(getCaptionsKind) === 'TeamsCaptions';\n const isTeamsMeeting = useSelector(getIsTeamsMeeting);\n const isTeamsCall = useSelector(getIsTeamsCall);\n const useTeamsCaptions = isTeamsMeeting || isTeamsCall || isTeamsCaptions;\n const hasJoinedCall = useSelector(getCallStatus) === 'Connected';\n const isCaptionsOn = useSelector(getCaptionsStatus);\n const minMaxDragPosition = useMinMaxDragPosition(props.modalLayerHostId);\n const pipStyles = useMemo(() => getPipStyles(theme), [theme]);\n if (isTeamsMeeting) {\n filteredLatestErrorNotifications.filter(notification => notification.type === 'teamsMeetingCallNetworkQualityLow').forEach(notification => {\n notification.onClickPrimaryButton = props.mobileView ? toggleMeetingPhoneInfoPane : toggleTeamsMeetingConferenceModal;\n });\n }\n const verticalControlBar = props.mobileView && containerWidth && containerHeight && containerWidth / containerHeight > 1 ? true : false;\n\n // Filter out shareScreen capability notifications if on mobile\n const filteredCapabilitesChangedNotifications = props.mobileView ? props.capabilitiesChangedNotificationBarProps?.capabilitiesChangedNotifications.filter(notification => notification.capabilityName !== 'shareScreen') : props.capabilitiesChangedNotificationBarProps?.capabilitiesChangedNotifications;\n const notificationStackStrings = useCompositeStringsForNotificationStackStrings(locale);\n let latestNotifications = props.latestNotifications; // Filter out breakout room notification that prompts user to join breakout room when in mobile view. We will\n // replace it with a non-dismissible banner\n latestNotifications = props.mobileView ? (latestNotifications ?? []).filter(notification => notification.type !== 'assignedBreakoutRoomOpenedPromptJoin') : latestNotifications;\n return <div ref={containerRef} className={mergeStyles(containerDivStyles)} id={props.id}>\n <Stack verticalFill horizontalAlign=\"stretch\" className={containerClassName} data-ui-id={props.dataUiId}>\n <Stack reversed horizontal={verticalControlBar} grow styles={callArrangementContainerStyles(verticalControlBar)}>\n {props.callControlProps?.options !== false && !isMobileWithActivePane && <Stack verticalAlign={'center'} className={mergeStyles({\n zIndex: CONTROL_BAR_Z_INDEX,\n padding: verticalControlBar ? '0.25rem' : 'unset'\n })}>\n {isLegacyCallControlEnabled(props.callControlProps?.options) ? <CallControls {...props.callControlProps} containerWidth={containerWidth} containerHeight={containerHeight} isMobile={props.mobileView} peopleButtonChecked={isPeoplePaneOpen} onPeopleButtonClicked={togglePeoplePane} displayVertical={verticalControlBar} /> : <CommonCallControlBar {...props.callControlProps} callControls={props.callControlProps.options} callAdapter={adapter as CallAdapter} mobileView={props.mobileView} disableButtonsForLobbyPage={isInLobby} disableButtonsForHoldScreen={isInLocalHold} peopleButtonChecked={isPeoplePaneOpen} onPeopleButtonClicked={togglePeoplePane} onMoreButtonClicked={onMoreButtonClicked} isCaptionsSupported={useTeamsCaptions && hasJoinedCall || hasJoinedCall} useTeamsCaptions={useTeamsCaptions} isCaptionsOn={isCaptionsOn} onClickVideoEffects={onResolveVideoEffectDependency ? openVideoEffectsPane : undefined} displayVertical={verticalControlBar} onUserSetOverflowGalleryPositionChange={props.onUserSetOverflowGalleryPositionChange} onUserSetGalleryLayout={props.onUserSetGalleryLayoutChange} userSetGalleryLayout={props.userSetGalleryLayout} onSetDialpadPage={props.onSetDialpadPage} dtmfDialerPresent={props.dtmfDialerPresent} peopleButtonRef={peopleButtonRef} cameraButtonRef={cameraButtonRef} onStopLocalSpotlight={!hideSpotlightButtons && localParticipant.spotlight ? onStopLocalSpotlightWithPrompt : undefined} onToggleTeamsMeetingConferenceModal={toggleTeamsMeetingConferenceModal} teamsMeetingConferenceModalPresent={showTeamsMeetingConferenceModal} />}\n </Stack>}\n {props.callControlProps?.options !== false && showDrawer && <Stack styles={drawerContainerStylesValue}>\n <PreparedMoreDrawer callControls={props.callControlProps.options} onLightDismiss={closeDrawer} onPeopleButtonClicked={onMoreDrawerPeopleClicked} disableButtonsForHoldScreen={isInLocalHold} isCaptionsSupported={useTeamsCaptions && hasJoinedCall || hasJoinedCall} useTeamsCaptions={useTeamsCaptions} onUserSetGalleryLayout={props.onUserSetGalleryLayoutChange} userSetGalleryLayout={props.userSetGalleryLayout} onSetDialpadPage={props.onSetDialpadPage} dtmfDialerPresent={props.dtmfDialerPresent} reactionResources={adapter.getState().reactions} onClickMeetingPhoneInfo={onMeetingPhoneInfoClicked} />\n </Stack>}\n <Stack horizontal grow>\n <Stack.Item style={callCompositeContainerCSS}>\n <Stack.Item styles={callGalleryStyles} grow>\n <Stack verticalFill styles={mediaGalleryContainerStyles}>\n <Stack.Item styles={notificationsContainerStyles}>\n {props.mobileView && <BreakoutRoomsBanner latestNotifications={latestNotifications} locale={locale} adapter={adapter} />}\n {props.showErrorNotifications && <Stack styles={notificationStackStyles} horizontalAlign=\"center\" verticalAlign=\"center\">\n <NotificationStack onDismissNotification={props.onDismissError} activeNotifications={filteredLatestErrorNotifications} />\n </Stack>}\n {latestNotifications && <Stack styles={notificationStackStyles} horizontalAlign=\"center\" verticalAlign=\"center\">\n <NotificationStack activeNotifications={latestNotifications} onDismissNotification={props.onDismissNotification} strings={notificationStackStrings} />\n </Stack>}\n {props.capabilitiesChangedNotificationBarProps && props.capabilitiesChangedNotificationBarProps.capabilitiesChangedNotifications.length > 0 && <Stack styles={bannerNotificationStyles}>\n <CapabilitiesChangedNotificationBar {...props.capabilitiesChangedNotificationBarProps} capabilitiesChangedNotifications={filteredCapabilitesChangedNotifications ?? []} />\n </Stack>}\n </Stack.Item>\n {renderGallery && props.onRenderGalleryContent && props.onRenderGalleryContent()}\n {true && !isInLocalHold && <CaptionsBanner isMobile={props.mobileView} onFetchAvatarPersonaData={props.onFetchAvatarPersonaData} useTeamsCaptions={useTeamsCaptions} />}\n </Stack>\n </Stack.Item>\n </Stack.Item>\n <SidePane mobileView={props.mobileView} maxWidth={isVideoPaneOpen ? `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` : undefined} minWidth={isVideoPaneOpen ? `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` : undefined} updateSidePaneRenderer={props.updateSidePaneRenderer} onPeopleButtonClicked={props.mobileView && !shouldShowPeopleTabHeaderButton(props.callControlProps.options) ? undefined : togglePeoplePane} disablePeopleButton={typeof props.callControlProps.options !== 'boolean' && isDisabled(props.callControlProps.options?.participantsButton)} onChatButtonClicked={props.mobileChatTabHeader?.onClick} disableChatButton={props.mobileChatTabHeader?.disabled} />\n {props.mobileView && <ModalLocalAndRemotePIP modalLayerHostId={props.modalLayerHostId} hidden={!isSidePaneOpen} styles={pipStyles} strings={modalStrings} minDragPosition={minMaxDragPosition.minDragPosition} maxDragPosition={minMaxDragPosition.maxDragPosition} onDismissSidePane={() => {\n closePeoplePane();\n if (props.onCloseChatPane) {\n props.onCloseChatPane();\n }\n }} />}\n {drawerMenuItems.length > 0 && <Stack styles={drawerContainerStyles()}>\n <_DrawerMenu onLightDismiss={() => setDrawerMenuItems([])} items={drawerMenuItems} />\n </Stack>}\n </Stack>\n </Stack>\n </Stack>\n </div>;\n};\nconst isLegacyCallControlEnabled = (options?: boolean | CallControlOptions): boolean => {\n return !!options && options !== true && options?.legacyControlBarExperience === true;\n};\nconst shouldShowPeopleTabHeaderButton = (callControls?: boolean | CommonCallControlOptions): boolean => {\n if (callControls === undefined || callControls === true) {\n return true;\n }\n if (callControls === false) {\n return false;\n }\n return callControls.participantsButton !== false && callControls.peopleButton !== false;\n};"]}
@@ -2,7 +2,6 @@
2
2
  // Licensed under the MIT License.
3
3
  import { memoizeFunction, Stack, useTheme } from '@fluentui/react';
4
4
  import { ControlBar, DevicesButton } from "../../../../../react-components/src";
5
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
6
5
  import { HoldButton } from "../../../../../react-components/src";
7
6
  import React, { useMemo } from 'react';
8
7
  import { Camera } from './buttons/Camera';
@@ -11,7 +10,6 @@ import { EndCall } from './buttons/EndCall';
11
10
  import { Microphone } from './buttons/Microphone';
12
11
  import { Participants } from './buttons/Participants';
13
12
  import { ScreenShare } from './buttons/ScreenShare';
14
- /* @conditional-compile-remove(one-to-n-calling) @conditional-compile-remove(PSTN-calls) */
15
13
  import { People } from './buttons/People';
16
14
  import { useLocale } from '../../localization';
17
15
  import { MoreButton } from '../../common/MoreButton';
@@ -53,7 +51,6 @@ export const CallControls = (props) => {
53
51
  const options = useMemo(() => inferCallControlOptions(!!props.isMobile, props.options), [props.isMobile, props.options]);
54
52
  const adapter = useAdapter();
55
53
  const localeStrings = useLocale();
56
- /* @conditional-compile-remove(one-to-n-calling) @conditional-compile-remove(PSTN-calls) */
57
54
  const peopleButtonStrings = useMemo(() => ({
58
55
  label: localeStrings.strings.call.peopleButtonLabel,
59
56
  tooltipOffContent: localeStrings.strings.call.peopleButtonTooltipOpen,
@@ -63,7 +60,6 @@ export const CallControls = (props) => {
63
60
  label: localeStrings.strings.call.moreButtonCallingLabel,
64
61
  tooltipOffContent: localeStrings.strings.callWithChat.moreDrawerButtonTooltip
65
62
  }), [localeStrings]);
66
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
67
63
  const holdButtonProps = usePropsFor(HoldButton);
68
64
  const raiseHandButtonProps = usePropsFor(RaiseHandButton);
69
65
  const capabilitiesSelector = useSelector(capabilitySelector);
@@ -86,8 +82,7 @@ export const CallControls = (props) => {
86
82
  if (isEnabled(options === null || options === void 0 ? void 0 : options.endCallButton)) {
87
83
  numberOfButtons++;
88
84
  }
89
- const showParticipantsButtonInControlBar = isEnabled(options === null || options === void 0 ? void 0 : options.participantsButton) && /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(PSTN-calls) */
90
- !props.isMobile;
85
+ const showParticipantsButtonInControlBar = isEnabled(options === null || options === void 0 ? void 0 : options.participantsButton) && !props.isMobile;
91
86
  if (showParticipantsButtonInControlBar) {
92
87
  numberOfButtons++;
93
88
  }
@@ -121,7 +116,6 @@ export const CallControls = (props) => {
121
116
  ['data-ui-id']: 'call-composite-more-menu-people-button'
122
117
  });
123
118
  }
124
- /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(PSTN-calls) */
125
119
  if (!isRoomsCallTrampoline(adapter)) {
126
120
  items.push({
127
121
  key: 'holdButtonKey',
@@ -254,7 +248,7 @@ export const CallControls = (props) => {
254
248
  showReactionButtonInControlBar && reactionResources && React.createElement(Reaction, { displayType: options === null || options === void 0 ? void 0 : options.displayType, reactionResource: reactionResources }),
255
249
  showRaiseHandButtonInControlBar && !hideRaiseHandButtonInRoomsCall && React.createElement(RaiseHand, { displayType: options === null || options === void 0 ? void 0 : options.displayType }),
256
250
  screenShareButtonIsEnabled && React.createElement(ScreenShare, { option: options === null || options === void 0 ? void 0 : options.screenShareButton, displayType: options === null || options === void 0 ? void 0 : options.displayType, disabled: isDisabled(options === null || options === void 0 ? void 0 : options.screenShareButton) }),
257
- showParticipantsButtonInControlBar && React.createElement(Participants, { option: options === null || options === void 0 ? void 0 : options.participantsButton, callInvitationURL: props.callInvitationURL, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, displayType: options === null || options === void 0 ? void 0 : options.displayType, increaseFlyoutItemSize: props.increaseFlyoutItemSize, isMobile: props.isMobile, disabled: isDisabled(options === null || options === void 0 ? void 0 : options.participantsButton) }) && ( /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(PSTN-calls) */React.createElement(People, { checked: props.peopleButtonChecked, ariaLabel: peopleButtonStrings === null || peopleButtonStrings === void 0 ? void 0 : peopleButtonStrings.label, showLabel: (options === null || options === void 0 ? void 0 : options.displayType) !== 'compact', onClick: props.onPeopleButtonClicked, "data-ui-id": "call-composite-people-button", strings: peopleButtonStrings, disabled: isDisabled(options === null || options === void 0 ? void 0 : options.participantsButton), disableTooltip: props.isMobile })),
251
+ showParticipantsButtonInControlBar && React.createElement(Participants, { option: options === null || options === void 0 ? void 0 : options.participantsButton, callInvitationURL: props.callInvitationURL, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, displayType: options === null || options === void 0 ? void 0 : options.displayType, increaseFlyoutItemSize: props.increaseFlyoutItemSize, isMobile: props.isMobile, disabled: isDisabled(options === null || options === void 0 ? void 0 : options.participantsButton) }) && (React.createElement(People, { checked: props.peopleButtonChecked, ariaLabel: peopleButtonStrings === null || peopleButtonStrings === void 0 ? void 0 : peopleButtonStrings.label, showLabel: (options === null || options === void 0 ? void 0 : options.displayType) !== 'compact', onClick: props.onPeopleButtonClicked, "data-ui-id": "call-composite-people-button", strings: peopleButtonStrings, disabled: isDisabled(options === null || options === void 0 ? void 0 : options.participantsButton), disableTooltip: props.isMobile })),
258
252
  showDevicesButtonInControlBar && React.createElement(Devices, { displayType: options === null || options === void 0 ? void 0 : options.displayType, increaseFlyoutItemSize: props.increaseFlyoutItemSize, disabled: isDisabled(options === null || options === void 0 ? void 0 : options.devicesButton) }), (_b = customButtons['primary']) === null || _b === void 0 ? void 0 :
259
253
  _b.slice(0, props.isMobile ? CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_MOBILE_CUSTOM_BUTTONS : CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_DESKTOP_CUSTOM_BUTTONS).map((CustomButton, i) => {
260
254
  return React.createElement(CustomButton, { key: `primary-custom-button-${i}`,