@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
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigurationPageMicDropdown.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,iDAAiD;AACjD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,iDAAiD;AACjD,OAAO,EAAE,QAAQ,EAAoC,yBAAyB,EAAkC,4CAAmC;AACnJ,iDAAiD;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,iDAAiD;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAavD;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAwC,EAAe,EAAE;IACpG,iDAAiD;IACjD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,iDAAiD;IACjD,MAAM,yCAAyC,GAAqC;QAClF,eAAe,EAAE,8BAA8B;QAC/C,mBAAmB,EAAE,OAAO;KAC7B,CAAC;IAEF,iDAAiD;IACjD,MAAM,yBAAyB,GAAG,oBAAC,yBAAyB,oBAAK,KAAK,CAAC,aAAa,IAAE,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE;YAC9H,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,IAAI;SACZ,EAAE,OAAO,EAAE,yCAAyC,EAAE,IAAI,EAAE,oBAAC,iBAAiB,IAAC,QAAQ,EAAC,oBAAoB,EAAC,KAAK,EAAE;gBACnH,MAAM,EAAE,SAAS;gBACjB,WAAW,EAAE,UAAU;aACxB,GAAI,EAAE,OAAO,EAAE,KAAK,CAAC,6BAA6B,IAAI,CAAC;IAExD,iDAAiD;IACjD,OAAO,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,yBAAyB,CAAC;IACzF,OAAO,KAAK,CAAC,kBAAkB,CAAC;AAClC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* @conditional-compile-remove(call-readiness) */\nimport React from 'react';\n/* @conditional-compile-remove(call-readiness) */\nimport { useTheme, _DevicePermissionDropdownStrings, _DevicePermissionDropdown, _DevicePermissionDropdownProps } from '@internal/react-components';\n/* @conditional-compile-remove(call-readiness) */\nimport { dropDownStyles } from '../styles/LocalDeviceSettings.styles';\n/* @conditional-compile-remove(call-readiness) */\nimport { CallCompositeIcon } from '../../common/icons';\n\n/**\n * @private\n */\nexport interface ConfigurationPageMicDropdownProps {\n micGrantedDropdown: JSX.Element;\n micPermissionGranted: boolean;\n /* @conditional-compile-remove(call-readiness) */\n dropdownProps: Partial<_DevicePermissionDropdownProps>;\n onClickEnableDevicePermission?: () => void;\n}\n\n/**\n * @private\n */\nexport const ConfigurationPageMicDropdown = (props: ConfigurationPageMicDropdownProps): JSX.Element => {\n /* @conditional-compile-remove(call-readiness) */\n const theme = useTheme();\n /* @conditional-compile-remove(call-readiness) */\n const devicePermissionDropdownStringsMicrophone: _DevicePermissionDropdownStrings = {\n placeHolderText: 'Enable Microphone (required)',\n actionButtonContent: 'Allow'\n };\n\n /* @conditional-compile-remove(call-readiness) */\n const microphoneBlockedDropdown = <_DevicePermissionDropdown {...props.dropdownProps} styles={dropDownStyles(theme)} constrain={{\n video: false,\n audio: true\n }} strings={devicePermissionDropdownStringsMicrophone} icon={<CallCompositeIcon iconName=\"ControlButtonMicOn\" style={{\n height: '1.25rem',\n marginRight: '0.625rem'\n }} />} onClick={props.onClickEnableDevicePermission} />;\n\n /* @conditional-compile-remove(call-readiness) */\n return props.micPermissionGranted ? props.micGrantedDropdown : microphoneBlockedDropdown;\n return props.micGrantedDropdown;\n};"]}
1
+ {"version":3,"file":"ConfigurationPageMicDropdown.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAoC,yBAAyB,EAAkC,4CAAmC;AACnJ,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAYvD;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAwC,EAAe,EAAE;IACpG,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,yCAAyC,GAAqC;QAClF,eAAe,EAAE,8BAA8B;QAC/C,mBAAmB,EAAE,OAAO;KAC7B,CAAC;IACF,MAAM,yBAAyB,GAAG,oBAAC,yBAAyB,oBAAK,KAAK,CAAC,aAAa,IAAE,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE;YAC9H,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,IAAI;SACZ,EAAE,OAAO,EAAE,yCAAyC,EAAE,IAAI,EAAE,oBAAC,iBAAiB,IAAC,QAAQ,EAAC,oBAAoB,EAAC,KAAK,EAAE;gBACnH,MAAM,EAAE,SAAS;gBACjB,WAAW,EAAE,UAAU;aACxB,GAAI,EAAE,OAAO,EAAE,KAAK,CAAC,6BAA6B,IAAI,CAAC;IACxD,OAAO,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,yBAAyB,CAAC;IACzF,OAAO,KAAK,CAAC,kBAAkB,CAAC;AAClC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport React from 'react';\nimport { useTheme, _DevicePermissionDropdownStrings, _DevicePermissionDropdown, _DevicePermissionDropdownProps } from '@internal/react-components';\nimport { dropDownStyles } from '../styles/LocalDeviceSettings.styles';\nimport { CallCompositeIcon } from '../../common/icons';\n\n/**\n * @private\n */\nexport interface ConfigurationPageMicDropdownProps {\n micGrantedDropdown: JSX.Element;\n micPermissionGranted: boolean;\n dropdownProps: Partial<_DevicePermissionDropdownProps>;\n onClickEnableDevicePermission?: () => void;\n}\n\n/**\n * @private\n */\nexport const ConfigurationPageMicDropdown = (props: ConfigurationPageMicDropdownProps): JSX.Element => {\n const theme = useTheme();\n const devicePermissionDropdownStringsMicrophone: _DevicePermissionDropdownStrings = {\n placeHolderText: 'Enable Microphone (required)',\n actionButtonContent: 'Allow'\n };\n const microphoneBlockedDropdown = <_DevicePermissionDropdown {...props.dropdownProps} styles={dropDownStyles(theme)} constrain={{\n video: false,\n audio: true\n }} strings={devicePermissionDropdownStringsMicrophone} icon={<CallCompositeIcon iconName=\"ControlButtonMicOn\" style={{\n height: '1.25rem',\n marginRight: '0.625rem'\n }} />} onClick={props.onClickEnableDevicePermission} />;\n return props.micPermissionGranted ? props.micGrantedDropdown : microphoneBlockedDropdown;\n return props.micGrantedDropdown;\n};"]}
@@ -12,9 +12,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
12
12
  import { PrimaryButton, Stack, Text } from '@fluentui/react';
13
13
  import React, { useRef, useState } from 'react';
14
14
  import { useLocale } from '../../localization';
15
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
16
15
  import { HoldButton } from "../../../../../react-components/src";
17
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
18
16
  import { usePropsFor } from '../hooks/usePropsFor';
19
17
  import { holdPaneContentStyles, holdPaneLabelStyles, holdPaneTimerStyles, paneStyles, resumeButtonStyles } from '../styles/HoldPane.styles';
20
18
  /**
@@ -23,7 +21,6 @@ import { holdPaneContentStyles, holdPaneLabelStyles, holdPaneTimerStyles, paneSt
23
21
  * @beta
24
22
  */
25
23
  export const HoldPane = () => {
26
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
27
24
  const holdButtonProps = usePropsFor(HoldButton);
28
25
  const locale = useLocale();
29
26
  const strings = stringsTrampoline(locale);
@@ -46,7 +43,6 @@ export const HoldPane = () => {
46
43
  React.createElement(PrimaryButton, { text: !resumingCall ? strings.resumeCallButtonLabel : strings.resumingCallButtonLabel, ariaLabel: !resumingCall ? strings.resumeCallButtonAriaLabel : strings.resumingCallButtonAriaLabel, styles: resumeButtonStyles, disabled: resumingCall, onClick: () => __awaiter(void 0, void 0, void 0, function* () {
47
44
  setResumingCall(true);
48
45
  try {
49
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
50
46
  yield holdButtonProps.onToggleHold();
51
47
  }
52
48
  catch (e) {
@@ -74,7 +70,6 @@ export const getReadableTime = (time) => {
74
70
  return `${hours > 0 ? hours + ':' : ''}${readableMinutes}:${readableSeconds}`;
75
71
  };
76
72
  const stringsTrampoline = (locale) => {
77
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
78
73
  return {
79
74
  holdScreenLabel: locale.strings.call.holdScreenLabel,
80
75
  resumeCallButtonLabel: locale.strings.call.resumeCallButtonLabel,
@@ -1 +1 @@
1
- {"version":3,"file":"HoldPane.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/HoldPane.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { PrimaryButton, Stack, Text } from '@fluentui/react';\nimport { _pxToRem } from '@internal/acs-ui-common';\nimport React, { useRef, useState } from 'react';\nimport { CompositeLocale, useLocale } from '../../localization';\n/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\nimport { HoldButton } from '@internal/react-components';\n/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { holdPaneContentStyles, holdPaneLabelStyles, holdPaneTimerStyles, paneStyles, resumeButtonStyles } from '../styles/HoldPane.styles';\ninterface HoldPaneStrings {\n holdScreenLabel: string;\n resumeCallButtonLabel: string;\n resumeCallButtonAriaLabel: string;\n resumingCallButtonLabel: string;\n resumingCallButtonAriaLabel: string;\n}\n\n/**\n * Hold pane to display when the user places themselves on hold\n *\n * @beta\n */\nexport const HoldPane = (): JSX.Element => {\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n const holdButtonProps = usePropsFor(HoldButton);\n const locale = useLocale();\n const strings = stringsTrampoline(locale);\n const [time, setTime] = useState<number>(0);\n const elapsedTime = getReadableTime(time);\n const startTime = useRef(performance.now());\n const [resumingCall, setResumingCall] = useState<boolean>(false);\n React.useEffect(() => {\n const interval = setInterval(() => {\n setTime(performance.now() - startTime.current);\n }, 10);\n return () => {\n clearInterval(interval);\n };\n }, [startTime]);\n return <Stack styles={paneStyles}>\n <Stack horizontal styles={holdPaneContentStyles}>\n <Text styles={holdPaneTimerStyles}>{elapsedTime}</Text>\n <Text styles={holdPaneLabelStyles} role=\"status\" aria-live=\"assertive\">\n {strings.holdScreenLabel}\n </Text>\n <PrimaryButton text={!resumingCall ? strings.resumeCallButtonLabel : strings.resumingCallButtonLabel} ariaLabel={!resumingCall ? strings.resumeCallButtonAriaLabel : strings.resumingCallButtonAriaLabel} styles={resumeButtonStyles} disabled={resumingCall} onClick={async () => {\n setResumingCall(true);\n try {\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n await holdButtonProps.onToggleHold();\n } catch (e) {\n setResumingCall(false);\n throw e;\n }\n }} data-ui-id=\"hold-page-resume-call-button\" autoFocus></PrimaryButton>\n </Stack>\n </Stack>;\n};\nconst getMinutes = (time: number): number => {\n return Math.floor(getSeconds(time) / 60);\n};\nconst getSeconds = (time: number): number => {\n return Math.floor(time / 1000);\n};\nconst getHours = (time: number): number => {\n return Math.floor(getMinutes(time) / 60);\n};\n\n/**\n * @internal\n */\nexport const getReadableTime = (time: number): string => {\n const hours = getHours(time);\n const readableMinutes = ('0' + getMinutes(time) % 60).slice(-2);\n const readableSeconds = ('0' + getSeconds(time) % 60).slice(-2);\n return `${hours > 0 ? hours + ':' : ''}${readableMinutes}:${readableSeconds}`;\n};\nconst stringsTrampoline = (locale: CompositeLocale): HoldPaneStrings => {\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n return {\n holdScreenLabel: locale.strings.call.holdScreenLabel,\n resumeCallButtonLabel: locale.strings.call.resumeCallButtonLabel,\n resumeCallButtonAriaLabel: locale.strings.call.resumeCallButtonAriaLabel,\n resumingCallButtonLabel: locale.strings.call.resumingCallButtonLabel,\n resumingCallButtonAriaLabel: locale.strings.call.resumingCallButtonAriaLabel\n };\n return {\n holdScreenLabel: '',\n resumeCallButtonLabel: '',\n resumeCallButtonAriaLabel: '',\n resumingCallButtonLabel: '',\n resumingCallButtonAriaLabel: ''\n };\n};"]}
1
+ {"version":3,"file":"HoldPane.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/HoldPane.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { PrimaryButton, Stack, Text } from '@fluentui/react';\nimport { _pxToRem } from '@internal/acs-ui-common';\nimport React, { useRef, useState } from 'react';\nimport { CompositeLocale, useLocale } from '../../localization';\nimport { HoldButton } from '@internal/react-components';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { holdPaneContentStyles, holdPaneLabelStyles, holdPaneTimerStyles, paneStyles, resumeButtonStyles } from '../styles/HoldPane.styles';\ninterface HoldPaneStrings {\n holdScreenLabel: string;\n resumeCallButtonLabel: string;\n resumeCallButtonAriaLabel: string;\n resumingCallButtonLabel: string;\n resumingCallButtonAriaLabel: string;\n}\n\n/**\n * Hold pane to display when the user places themselves on hold\n *\n * @beta\n */\nexport const HoldPane = (): JSX.Element => {\n const holdButtonProps = usePropsFor(HoldButton);\n const locale = useLocale();\n const strings = stringsTrampoline(locale);\n const [time, setTime] = useState<number>(0);\n const elapsedTime = getReadableTime(time);\n const startTime = useRef(performance.now());\n const [resumingCall, setResumingCall] = useState<boolean>(false);\n React.useEffect(() => {\n const interval = setInterval(() => {\n setTime(performance.now() - startTime.current);\n }, 10);\n return () => {\n clearInterval(interval);\n };\n }, [startTime]);\n return <Stack styles={paneStyles}>\n <Stack horizontal styles={holdPaneContentStyles}>\n <Text styles={holdPaneTimerStyles}>{elapsedTime}</Text>\n <Text styles={holdPaneLabelStyles} role=\"status\" aria-live=\"assertive\">\n {strings.holdScreenLabel}\n </Text>\n <PrimaryButton text={!resumingCall ? strings.resumeCallButtonLabel : strings.resumingCallButtonLabel} ariaLabel={!resumingCall ? strings.resumeCallButtonAriaLabel : strings.resumingCallButtonAriaLabel} styles={resumeButtonStyles} disabled={resumingCall} onClick={async () => {\n setResumingCall(true);\n try {\n await holdButtonProps.onToggleHold();\n } catch (e) {\n setResumingCall(false);\n throw e;\n }\n }} data-ui-id=\"hold-page-resume-call-button\" autoFocus></PrimaryButton>\n </Stack>\n </Stack>;\n};\nconst getMinutes = (time: number): number => {\n return Math.floor(getSeconds(time) / 60);\n};\nconst getSeconds = (time: number): number => {\n return Math.floor(time / 1000);\n};\nconst getHours = (time: number): number => {\n return Math.floor(getMinutes(time) / 60);\n};\n\n/**\n * @internal\n */\nexport const getReadableTime = (time: number): string => {\n const hours = getHours(time);\n const readableMinutes = ('0' + getMinutes(time) % 60).slice(-2);\n const readableSeconds = ('0' + getSeconds(time) % 60).slice(-2);\n return `${hours > 0 ? hours + ':' : ''}${readableMinutes}:${readableSeconds}`;\n};\nconst stringsTrampoline = (locale: CompositeLocale): HoldPaneStrings => {\n return {\n holdScreenLabel: locale.strings.call.holdScreenLabel,\n resumeCallButtonLabel: locale.strings.call.resumeCallButtonLabel,\n resumeCallButtonAriaLabel: locale.strings.call.resumeCallButtonAriaLabel,\n resumingCallButtonLabel: locale.strings.call.resumingCallButtonLabel,\n resumingCallButtonAriaLabel: locale.strings.call.resumingCallButtonAriaLabel\n };\n return {\n holdScreenLabel: '',\n resumeCallButtonLabel: '',\n resumeCallButtonAriaLabel: '',\n resumingCallButtonLabel: '',\n resumingCallButtonAriaLabel: ''\n };\n};"]}
@@ -11,7 +11,6 @@ import { deviceSelectionContainerStyles, dropDownStyles, dropDownTitleIconStyles
11
11
  import { useAdapter } from '../adapter/CallAdapterProvider';
12
12
  import { ConfigurationPageCameraDropdown } from './ConfigurationPageCameraDropdown';
13
13
  import { ConfigurationPageMicDropdown } from './ConfigurationPageMicDropdown';
14
- /* @conditional-compile-remove(call-readiness) */
15
14
  import { useHandlers } from '../hooks/useHandlers';
16
15
  import { cameraAndVideoEffectsContainerStyleDesktop } from '../styles/CallConfiguration.styles';
17
16
  import { effectsButtonStyles } from '../styles/CallConfiguration.styles';
@@ -86,12 +85,10 @@ export const LocalDeviceSettings = (props) => {
86
85
  }
87
86
  adapter.querySpeakers();
88
87
  }, [adapter, cameraPermissionGranted, micPermissionGranted]);
89
- /* @conditional-compile-remove(call-readiness) */
90
88
  const dropdownProps = useHandlers(_DevicePermissionDropdown);
91
89
  const hasCameras = props.cameras.length > 0;
92
90
  const hasMicrophones = props.microphones.length > 0;
93
91
  const hasSpeakers = props.speakers.length > 0;
94
- /* @conditional-compile-remove(unsupported-browser) */
95
92
  const isSafariWithNoSpeakers = ((_b = adapter.getState().environmentInfo) === null || _b === void 0 ? void 0 : _b.environment.browser.toLowerCase()) === 'safari' && !hasSpeakers;
96
93
  const cameraGrantedDropdown = React.createElement(Dropdown, { "data-ui-id": "call-composite-local-camera-settings", "aria-labelledby": 'call-composite-local-camera-settings-label', placeholder: hasCameras ? defaultPlaceHolder : noCameraLabel, options: cameraPermissionGranted ? getDropDownList(props.cameras) : [{
97
94
  key: 'deniedOrUnknown',
@@ -109,7 +106,6 @@ export const LocalDeviceSettings = (props) => {
109
106
  props.onSelectSpeaker(props.speakers[index !== null && index !== void 0 ? index : 0]);
110
107
  }, onRenderTitle: (props) => onRenderTitle('Speaker', props) });
111
108
  const SafariBrowserSpeakerDropdownTrampoline = () => {
112
- /* @conditional-compile-remove(unsupported-browser) */
113
109
  if (isSafariWithNoSpeakers) {
114
110
  return React.createElement(React.Fragment, null);
115
111
  }
@@ -122,15 +118,11 @@ export const LocalDeviceSettings = (props) => {
122
118
  onResolveVideoEffectDependency && React.createElement(DefaultButton, { iconProps: {
123
119
  iconName: 'ConfigurationScreenVideoEffectsButton'
124
120
  }, styles: effectsButtonStyles(theme, !cameraPermissionGranted), onClick: props.onClickVideoEffects, disabled: !cameraPermissionGranted, "data-ui-id": 'call-config-video-effects-button' }, locale.strings.call.configurationPageVideoEffectsButtonLabel)),
125
- React.createElement(ConfigurationPageCameraDropdown, { cameraGrantedDropdown: cameraGrantedDropdown, cameraPermissionGranted: cameraPermissionGranted !== null && cameraPermissionGranted !== void 0 ? cameraPermissionGranted : false,
126
- /* @conditional-compile-remove(call-readiness) */ dropdownProps: dropdownProps,
127
- /* @conditional-compile-remove(call-readiness) */ onClickEnableDevicePermission: props.onClickEnableDevicePermission })),
121
+ React.createElement(ConfigurationPageCameraDropdown, { cameraGrantedDropdown: cameraGrantedDropdown, cameraPermissionGranted: cameraPermissionGranted !== null && cameraPermissionGranted !== void 0 ? cameraPermissionGranted : false, dropdownProps: dropdownProps, onClickEnableDevicePermission: props.onClickEnableDevicePermission })),
128
122
  React.createElement(Stack, null,
129
123
  React.createElement(Label, { id: 'call-composite-local-sound-settings-label', className: mergeStyles(dropDownStyles(theme).label), disabled: !micPermissionGranted }, soundLabel),
130
124
  React.createElement(Stack, { "data-ui-id": "call-composite-sound-settings", tokens: soundStackTokens },
131
- React.createElement(ConfigurationPageMicDropdown, { micGrantedDropdown: micGrantedDropdown, micPermissionGranted: micPermissionGranted !== null && micPermissionGranted !== void 0 ? micPermissionGranted : false,
132
- /* @conditional-compile-remove(call-readiness) */ dropdownProps: dropdownProps,
133
- /* @conditional-compile-remove(call-readiness) */ onClickEnableDevicePermission: props.onClickEnableDevicePermission }),
125
+ React.createElement(ConfigurationPageMicDropdown, { micGrantedDropdown: micGrantedDropdown, micPermissionGranted: micPermissionGranted !== null && micPermissionGranted !== void 0 ? micPermissionGranted : false, dropdownProps: dropdownProps, onClickEnableDevicePermission: props.onClickEnableDevicePermission }),
134
126
  React.createElement(SafariBrowserSpeakerDropdownTrampoline, null))));
135
127
  };
136
128
  const defaultDeviceId = (devices) => {
@@ -1 +1 @@
1
- {"version":3,"file":"LocalDeviceSettings.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AudioDeviceInfo, VideoDeviceInfo } from '@azure/communication-calling';\nimport { Dropdown, IDropdownOption, Label, mergeStyles, Stack } from '@fluentui/react';\nimport { DefaultButton } from '@fluentui/react';\nimport { useEffect } from 'react';\nimport { useTheme, VideoStreamOptions, _DevicePermissionDropdown } from '@internal/react-components';\nimport React from 'react';\nimport { CallCompositeIcon } from '../../common/icons';\nimport { useLocale } from '../../localization';\nimport { deviceSelectionContainerStyles, dropDownStyles, dropDownTitleIconStyles, mainStackTokens, optionIconStyles, soundStackTokens } from '../styles/LocalDeviceSettings.styles';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { ConfigurationPageCameraDropdown } from './ConfigurationPageCameraDropdown';\nimport { ConfigurationPageMicDropdown } from './ConfigurationPageMicDropdown';\n/* @conditional-compile-remove(call-readiness) */\nimport { useHandlers } from '../hooks/useHandlers';\nimport { cameraAndVideoEffectsContainerStyleDesktop } from '../styles/CallConfiguration.styles';\nimport { effectsButtonStyles } from '../styles/CallConfiguration.styles';\ntype iconType = 'Camera' | 'Microphone' | 'Speaker';\nconst getDropDownList = (list: Array<VideoDeviceInfo | AudioDeviceInfo>): IDropdownOption[] => {\n // Remove duplicates\n const noDuplicates = new Map<string, VideoDeviceInfo | AudioDeviceInfo>();\n for (const item of list) {\n noDuplicates.set(item.id, item);\n }\n const dropdownList: IDropdownOption[] = [];\n for (const item of noDuplicates.values()) {\n dropdownList.push({\n key: item.id,\n text: item.name === '' ? item.deviceType : item.name\n });\n }\n return dropdownList;\n};\nconst getOptionIcon = (type: iconType): JSX.Element | undefined => {\n if (type === 'Camera') {\n return <CallCompositeIcon iconName=\"LocalDeviceSettingsCamera\" className={optionIconStyles} />;\n } else if (type === 'Microphone') {\n return <CallCompositeIcon iconName=\"LocalDeviceSettingsMic\" className={optionIconStyles} />;\n } else if (type === 'Speaker') {\n return <CallCompositeIcon iconName=\"LocalDeviceSettingsSpeaker\" className={optionIconStyles} />;\n } else {\n return undefined;\n }\n};\nconst onRenderTitle = (iconType: iconType, props?: IDropdownOption[]): JSX.Element => {\n const icon = props && getOptionIcon(iconType);\n return props ? <div className={dropDownTitleIconStyles}>\n {icon}\n <span>{props[0].text}</span>\n </div> : <></>;\n};\nconst localVideoViewOptions = {\n scalingMode: 'Crop',\n isMirrored: true\n} as VideoStreamOptions;\n\n/**\n * @private\n */\nexport interface LocalDeviceSettingsType {\n cameras: VideoDeviceInfo[];\n microphones: AudioDeviceInfo[];\n speakers: AudioDeviceInfo[];\n selectedCamera?: VideoDeviceInfo;\n selectedMicrophone?: AudioDeviceInfo;\n selectedSpeaker?: AudioDeviceInfo;\n microphonePermissionGranted: boolean | undefined;\n cameraPermissionGranted: boolean | undefined;\n onSelectCamera: (device: VideoDeviceInfo, options?: VideoStreamOptions) => Promise<void>;\n onSelectMicrophone: (device: AudioDeviceInfo) => Promise<void>;\n onSelectSpeaker: (device: AudioDeviceInfo) => Promise<void>;\n /* @conditional-compile-remove(call-readiness) */\n onClickEnableDevicePermission?: () => void;\n onClickVideoEffects?: () => void;\n}\n\n/**\n * @private\n */\nexport const LocalDeviceSettings = (props: LocalDeviceSettingsType): JSX.Element => {\n const theme = useTheme();\n const locale = useLocale();\n const adapter = useAdapter();\n const onResolveVideoEffectDependency = adapter.getState().onResolveVideoEffectDependency;\n const defaultPlaceHolder = locale.strings.call.defaultPlaceHolder;\n const cameraLabel = locale.strings.call.cameraLabel;\n const soundLabel = locale.strings.call.soundLabel;\n const noSpeakersLabel = locale.strings.call.noSpeakersLabel;\n const noCameraLabel = locale.strings.call.noCamerasLabel;\n const noMicLabel = locale.strings.call.noMicrophonesLabel;\n const role = adapter.getState().call?.role;\n const cameraPermissionGranted = props.cameraPermissionGranted;\n const micPermissionGranted = props.microphonePermissionGranted;\n const roleCanUseCamera = role !== 'Consumer';\n const roleCanUseMic = role !== 'Consumer';\n\n // TODO: speaker permission is tied to microphone permission (when you request 'audio' permission using the SDK) its\n // actually granting access to query both microphone and speaker. However the browser popup asks you explicity for\n // 'microphone'. This needs investigation on how we want to handle this and maybe needs follow up with SDK team.\n useEffect(() => {\n if (cameraPermissionGranted) {\n adapter.queryCameras();\n }\n if (micPermissionGranted) {\n adapter.queryMicrophones();\n }\n adapter.querySpeakers();\n }, [adapter, cameraPermissionGranted, micPermissionGranted]);\n\n /* @conditional-compile-remove(call-readiness) */\n const dropdownProps = useHandlers(_DevicePermissionDropdown);\n const hasCameras = props.cameras.length > 0;\n const hasMicrophones = props.microphones.length > 0;\n const hasSpeakers = props.speakers.length > 0;\n /* @conditional-compile-remove(unsupported-browser) */\n const isSafariWithNoSpeakers = adapter.getState().environmentInfo?.environment.browser.toLowerCase() === 'safari' && !hasSpeakers;\n const cameraGrantedDropdown = <Dropdown data-ui-id=\"call-composite-local-camera-settings\" aria-labelledby={'call-composite-local-camera-settings-label'} placeholder={hasCameras ? defaultPlaceHolder : noCameraLabel} options={cameraPermissionGranted ? getDropDownList(props.cameras) : [{\n key: 'deniedOrUnknown',\n text: ''\n }]} styles={dropDownStyles(theme)} disabled={!cameraPermissionGranted || !hasCameras} errorMessage={props.cameraPermissionGranted === undefined || props.cameraPermissionGranted ? undefined : locale.strings.call.cameraPermissionDenied} defaultSelectedKey={micPermissionGranted ? props.selectedCamera ? props.selectedCamera.id : props.cameras ? props.cameras[0]?.id : '' : 'deniedOrUnknown'} onChange={(event, option, index) => {\n props.onSelectCamera(props.cameras[index ?? 0], localVideoViewOptions);\n }} onRenderTitle={(props?: IDropdownOption[]) => onRenderTitle('Camera', props)} />;\n const micGrantedDropdown = <>\n {roleCanUseMic && <Dropdown aria-labelledby={'call-composite-local-sound-settings-label'} placeholder={hasMicrophones ? defaultPlaceHolder : noMicLabel} styles={dropDownStyles(theme)} disabled={!micPermissionGranted || !hasMicrophones} errorMessage={props.microphonePermissionGranted === undefined || props.microphonePermissionGranted ? undefined : locale.strings.call.microphonePermissionDenied} options={micPermissionGranted ? getDropDownList(props.microphones) : [{\n key: 'deniedOrUnknown',\n text: ''\n }]} defaultSelectedKey={micPermissionGranted ? props.selectedMicrophone ? props.selectedMicrophone.id : defaultDeviceId(props.microphones) : 'deniedOrUnknown'} onChange={(event: React.FormEvent<HTMLDivElement>, option?: IDropdownOption | undefined, index?: number | undefined) => {\n props.onSelectMicrophone(props.microphones[index ?? 0]);\n }} onRenderTitle={(props?: IDropdownOption[]) => onRenderTitle('Microphone', props)} />}\n </>;\n const speakerDropdown = <Dropdown aria-labelledby={'call-composite-local-sound-settings-label'} placeholder={hasSpeakers ? defaultPlaceHolder : noSpeakersLabel} styles={dropDownStyles(theme)} disabled={props.speakers.length === 0} options={getDropDownList(props.speakers)} defaultSelectedKey={props.selectedSpeaker ? props.selectedSpeaker.id : defaultDeviceId(props.speakers)} onChange={(event: React.FormEvent<HTMLDivElement>, option?: IDropdownOption | undefined, index?: number | undefined) => {\n props.onSelectSpeaker(props.speakers[index ?? 0]);\n }} onRenderTitle={(props?: IDropdownOption[]) => onRenderTitle('Speaker', props)} />;\n const SafariBrowserSpeakerDropdownTrampoline = (): JSX.Element => {\n /* @conditional-compile-remove(unsupported-browser) */\n if (isSafariWithNoSpeakers) {\n return <></>;\n }\n return speakerDropdown;\n };\n return <Stack data-ui-id=\"call-composite-device-settings\" tokens={mainStackTokens} styles={deviceSelectionContainerStyles}>\n {roleCanUseCamera && <Stack>\n <Stack horizontal horizontalAlign=\"space-between\" styles={cameraAndVideoEffectsContainerStyleDesktop}>\n <Label id={'call-composite-local-camera-settings-label'} className={mergeStyles(dropDownStyles(theme).label)} disabled={!cameraPermissionGranted} // follows dropdown disabled state\n >\n {cameraLabel}\n </Label>\n {onResolveVideoEffectDependency && <DefaultButton iconProps={{\n iconName: 'ConfigurationScreenVideoEffectsButton'\n }} styles={effectsButtonStyles(theme, !cameraPermissionGranted)} onClick={props.onClickVideoEffects} disabled={!cameraPermissionGranted} data-ui-id={'call-config-video-effects-button'}>\n {locale.strings.call.configurationPageVideoEffectsButtonLabel}\n </DefaultButton>}\n </Stack>\n <ConfigurationPageCameraDropdown cameraGrantedDropdown={cameraGrantedDropdown} cameraPermissionGranted={cameraPermissionGranted ?? false}\n /* @conditional-compile-remove(call-readiness) */ dropdownProps={dropdownProps}\n /* @conditional-compile-remove(call-readiness) */ onClickEnableDevicePermission={props.onClickEnableDevicePermission} />\n </Stack>}\n <Stack>\n <Label id={'call-composite-local-sound-settings-label'} className={mergeStyles(dropDownStyles(theme).label)} disabled={!micPermissionGranted} // follows Start button disabled state in ConfigurationPage\n >\n {soundLabel}\n </Label>\n <Stack data-ui-id=\"call-composite-sound-settings\" tokens={soundStackTokens}>\n <ConfigurationPageMicDropdown micGrantedDropdown={micGrantedDropdown} micPermissionGranted={micPermissionGranted ?? false}\n /* @conditional-compile-remove(call-readiness) */ dropdownProps={dropdownProps}\n /* @conditional-compile-remove(call-readiness) */ onClickEnableDevicePermission={props.onClickEnableDevicePermission} />\n <SafariBrowserSpeakerDropdownTrampoline />\n </Stack>\n </Stack>\n </Stack>;\n};\nconst defaultDeviceId = (devices: AudioDeviceInfo[]): string => {\n if (devices.length === 0) {\n return '';\n }\n const defaultDevice = devices.find(device => device.isSystemDefault);\n if (defaultDevice) {\n return defaultDevice.id;\n }\n return devices[0].id;\n};"]}
1
+ {"version":3,"file":"LocalDeviceSettings.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AudioDeviceInfo, VideoDeviceInfo } from '@azure/communication-calling';\nimport { Dropdown, IDropdownOption, Label, mergeStyles, Stack } from '@fluentui/react';\nimport { DefaultButton } from '@fluentui/react';\nimport { useEffect } from 'react';\nimport { useTheme, VideoStreamOptions, _DevicePermissionDropdown } from '@internal/react-components';\nimport React from 'react';\nimport { CallCompositeIcon } from '../../common/icons';\nimport { useLocale } from '../../localization';\nimport { deviceSelectionContainerStyles, dropDownStyles, dropDownTitleIconStyles, mainStackTokens, optionIconStyles, soundStackTokens } from '../styles/LocalDeviceSettings.styles';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { ConfigurationPageCameraDropdown } from './ConfigurationPageCameraDropdown';\nimport { ConfigurationPageMicDropdown } from './ConfigurationPageMicDropdown';\nimport { useHandlers } from '../hooks/useHandlers';\nimport { cameraAndVideoEffectsContainerStyleDesktop } from '../styles/CallConfiguration.styles';\nimport { effectsButtonStyles } from '../styles/CallConfiguration.styles';\ntype iconType = 'Camera' | 'Microphone' | 'Speaker';\nconst getDropDownList = (list: Array<VideoDeviceInfo | AudioDeviceInfo>): IDropdownOption[] => {\n // Remove duplicates\n const noDuplicates = new Map<string, VideoDeviceInfo | AudioDeviceInfo>();\n for (const item of list) {\n noDuplicates.set(item.id, item);\n }\n const dropdownList: IDropdownOption[] = [];\n for (const item of noDuplicates.values()) {\n dropdownList.push({\n key: item.id,\n text: item.name === '' ? item.deviceType : item.name\n });\n }\n return dropdownList;\n};\nconst getOptionIcon = (type: iconType): JSX.Element | undefined => {\n if (type === 'Camera') {\n return <CallCompositeIcon iconName=\"LocalDeviceSettingsCamera\" className={optionIconStyles} />;\n } else if (type === 'Microphone') {\n return <CallCompositeIcon iconName=\"LocalDeviceSettingsMic\" className={optionIconStyles} />;\n } else if (type === 'Speaker') {\n return <CallCompositeIcon iconName=\"LocalDeviceSettingsSpeaker\" className={optionIconStyles} />;\n } else {\n return undefined;\n }\n};\nconst onRenderTitle = (iconType: iconType, props?: IDropdownOption[]): JSX.Element => {\n const icon = props && getOptionIcon(iconType);\n return props ? <div className={dropDownTitleIconStyles}>\n {icon}\n <span>{props[0].text}</span>\n </div> : <></>;\n};\nconst localVideoViewOptions = {\n scalingMode: 'Crop',\n isMirrored: true\n} as VideoStreamOptions;\n\n/**\n * @private\n */\nexport interface LocalDeviceSettingsType {\n cameras: VideoDeviceInfo[];\n microphones: AudioDeviceInfo[];\n speakers: AudioDeviceInfo[];\n selectedCamera?: VideoDeviceInfo;\n selectedMicrophone?: AudioDeviceInfo;\n selectedSpeaker?: AudioDeviceInfo;\n microphonePermissionGranted: boolean | undefined;\n cameraPermissionGranted: boolean | undefined;\n onSelectCamera: (device: VideoDeviceInfo, options?: VideoStreamOptions) => Promise<void>;\n onSelectMicrophone: (device: AudioDeviceInfo) => Promise<void>;\n onSelectSpeaker: (device: AudioDeviceInfo) => Promise<void>;\n onClickEnableDevicePermission?: () => void;\n onClickVideoEffects?: () => void;\n}\n\n/**\n * @private\n */\nexport const LocalDeviceSettings = (props: LocalDeviceSettingsType): JSX.Element => {\n const theme = useTheme();\n const locale = useLocale();\n const adapter = useAdapter();\n const onResolveVideoEffectDependency = adapter.getState().onResolveVideoEffectDependency;\n const defaultPlaceHolder = locale.strings.call.defaultPlaceHolder;\n const cameraLabel = locale.strings.call.cameraLabel;\n const soundLabel = locale.strings.call.soundLabel;\n const noSpeakersLabel = locale.strings.call.noSpeakersLabel;\n const noCameraLabel = locale.strings.call.noCamerasLabel;\n const noMicLabel = locale.strings.call.noMicrophonesLabel;\n const role = adapter.getState().call?.role;\n const cameraPermissionGranted = props.cameraPermissionGranted;\n const micPermissionGranted = props.microphonePermissionGranted;\n const roleCanUseCamera = role !== 'Consumer';\n const roleCanUseMic = role !== 'Consumer';\n\n // TODO: speaker permission is tied to microphone permission (when you request 'audio' permission using the SDK) its\n // actually granting access to query both microphone and speaker. However the browser popup asks you explicity for\n // 'microphone'. This needs investigation on how we want to handle this and maybe needs follow up with SDK team.\n useEffect(() => {\n if (cameraPermissionGranted) {\n adapter.queryCameras();\n }\n if (micPermissionGranted) {\n adapter.queryMicrophones();\n }\n adapter.querySpeakers();\n }, [adapter, cameraPermissionGranted, micPermissionGranted]);\n const dropdownProps = useHandlers(_DevicePermissionDropdown);\n const hasCameras = props.cameras.length > 0;\n const hasMicrophones = props.microphones.length > 0;\n const hasSpeakers = props.speakers.length > 0;\n const isSafariWithNoSpeakers = adapter.getState().environmentInfo?.environment.browser.toLowerCase() === 'safari' && !hasSpeakers;\n const cameraGrantedDropdown = <Dropdown data-ui-id=\"call-composite-local-camera-settings\" aria-labelledby={'call-composite-local-camera-settings-label'} placeholder={hasCameras ? defaultPlaceHolder : noCameraLabel} options={cameraPermissionGranted ? getDropDownList(props.cameras) : [{\n key: 'deniedOrUnknown',\n text: ''\n }]} styles={dropDownStyles(theme)} disabled={!cameraPermissionGranted || !hasCameras} errorMessage={props.cameraPermissionGranted === undefined || props.cameraPermissionGranted ? undefined : locale.strings.call.cameraPermissionDenied} defaultSelectedKey={micPermissionGranted ? props.selectedCamera ? props.selectedCamera.id : props.cameras ? props.cameras[0]?.id : '' : 'deniedOrUnknown'} onChange={(event, option, index) => {\n props.onSelectCamera(props.cameras[index ?? 0], localVideoViewOptions);\n }} onRenderTitle={(props?: IDropdownOption[]) => onRenderTitle('Camera', props)} />;\n const micGrantedDropdown = <>\n {roleCanUseMic && <Dropdown aria-labelledby={'call-composite-local-sound-settings-label'} placeholder={hasMicrophones ? defaultPlaceHolder : noMicLabel} styles={dropDownStyles(theme)} disabled={!micPermissionGranted || !hasMicrophones} errorMessage={props.microphonePermissionGranted === undefined || props.microphonePermissionGranted ? undefined : locale.strings.call.microphonePermissionDenied} options={micPermissionGranted ? getDropDownList(props.microphones) : [{\n key: 'deniedOrUnknown',\n text: ''\n }]} defaultSelectedKey={micPermissionGranted ? props.selectedMicrophone ? props.selectedMicrophone.id : defaultDeviceId(props.microphones) : 'deniedOrUnknown'} onChange={(event: React.FormEvent<HTMLDivElement>, option?: IDropdownOption | undefined, index?: number | undefined) => {\n props.onSelectMicrophone(props.microphones[index ?? 0]);\n }} onRenderTitle={(props?: IDropdownOption[]) => onRenderTitle('Microphone', props)} />}\n </>;\n const speakerDropdown = <Dropdown aria-labelledby={'call-composite-local-sound-settings-label'} placeholder={hasSpeakers ? defaultPlaceHolder : noSpeakersLabel} styles={dropDownStyles(theme)} disabled={props.speakers.length === 0} options={getDropDownList(props.speakers)} defaultSelectedKey={props.selectedSpeaker ? props.selectedSpeaker.id : defaultDeviceId(props.speakers)} onChange={(event: React.FormEvent<HTMLDivElement>, option?: IDropdownOption | undefined, index?: number | undefined) => {\n props.onSelectSpeaker(props.speakers[index ?? 0]);\n }} onRenderTitle={(props?: IDropdownOption[]) => onRenderTitle('Speaker', props)} />;\n const SafariBrowserSpeakerDropdownTrampoline = (): JSX.Element => {\n if (isSafariWithNoSpeakers) {\n return <></>;\n }\n return speakerDropdown;\n };\n return <Stack data-ui-id=\"call-composite-device-settings\" tokens={mainStackTokens} styles={deviceSelectionContainerStyles}>\n {roleCanUseCamera && <Stack>\n <Stack horizontal horizontalAlign=\"space-between\" styles={cameraAndVideoEffectsContainerStyleDesktop}>\n <Label id={'call-composite-local-camera-settings-label'} className={mergeStyles(dropDownStyles(theme).label)} disabled={!cameraPermissionGranted} // follows dropdown disabled state\n >\n {cameraLabel}\n </Label>\n {onResolveVideoEffectDependency && <DefaultButton iconProps={{\n iconName: 'ConfigurationScreenVideoEffectsButton'\n }} styles={effectsButtonStyles(theme, !cameraPermissionGranted)} onClick={props.onClickVideoEffects} disabled={!cameraPermissionGranted} data-ui-id={'call-config-video-effects-button'}>\n {locale.strings.call.configurationPageVideoEffectsButtonLabel}\n </DefaultButton>}\n </Stack>\n <ConfigurationPageCameraDropdown cameraGrantedDropdown={cameraGrantedDropdown} cameraPermissionGranted={cameraPermissionGranted ?? false} dropdownProps={dropdownProps} onClickEnableDevicePermission={props.onClickEnableDevicePermission} />\n </Stack>}\n <Stack>\n <Label id={'call-composite-local-sound-settings-label'} className={mergeStyles(dropDownStyles(theme).label)} disabled={!micPermissionGranted} // follows Start button disabled state in ConfigurationPage\n >\n {soundLabel}\n </Label>\n <Stack data-ui-id=\"call-composite-sound-settings\" tokens={soundStackTokens}>\n <ConfigurationPageMicDropdown micGrantedDropdown={micGrantedDropdown} micPermissionGranted={micPermissionGranted ?? false} dropdownProps={dropdownProps} onClickEnableDevicePermission={props.onClickEnableDevicePermission} />\n <SafariBrowserSpeakerDropdownTrampoline />\n </Stack>\n </Stack>\n </Stack>;\n};\nconst defaultDeviceId = (devices: AudioDeviceInfo[]): string => {\n if (devices.length === 0) {\n return '';\n }\n const defaultDevice = devices.find(device => device.isSystemDefault);\n if (defaultDevice) {\n return defaultDevice.id;\n }\n return devices[0].id;\n};"]}
@@ -96,8 +96,7 @@ export const MediaGallery = (props) => {
96
96
  return props.localVideoTileOptions ? layoutBasedOnTilePosition : props.userSetGalleryLayout;
97
97
  return layoutBasedOnTilePosition;
98
98
  };
99
- return React.createElement(VideoGallery, Object.assign({}, videoGalleryProps, { videoTilesOptions: videoTilesOptions, localVideoViewOptions: localVideoViewOptions, remoteVideoViewOptions: remoteVideoViewOptions, styles: VideoGalleryStyles, layout: layoutBasedOnUserSelection(), showCameraSwitcherInLocalPreview: props.isMobile, localVideoCameraCycleButtonProps: cameraSwitcherProps, onRenderAvatar: onRenderAvatar, remoteVideoTileMenu: remoteVideoTileMenuOptions, overflowGalleryPosition: overflowGalleryPosition, localVideoTileSize: props.localVideoTileOptions === false || userRole === 'Consumer' || isRoomsCall && userRole === 'Unknown' ? 'hidden' : props.isMobile && containerAspectRatio < 1 ? '9:16' : '16:9', pinnedParticipants: pinnedParticipants, onPinParticipant: onPinParticipant, onUnpinParticipant: onUnpinParticipant, reactionResources: reactionResources, onStartLocalSpotlight: hideSpotlightButtons ? undefined : onStartLocalSpotlightWithPrompt, onStopLocalSpotlight: hideSpotlightButtons ? undefined : onStopLocalSpotlightWithPrompt, onStartRemoteSpotlight: hideSpotlightButtons ? undefined : onStartRemoteSpotlightWithPrompt, onStopRemoteSpotlight: hideSpotlightButtons ? undefined : onStopRemoteSpotlightWithPrompt,
100
- /* @conditional-compile-remove(soft-mute) */ onMuteParticipant: ['Unknown', 'Organizer', 'Presenter', 'Co-organizer'].includes(userRole !== null && userRole !== void 0 ? userRole : '') ? videoGalleryProps.onMuteParticipant : undefined }));
99
+ return React.createElement(VideoGallery, Object.assign({}, videoGalleryProps, { videoTilesOptions: videoTilesOptions, localVideoViewOptions: localVideoViewOptions, remoteVideoViewOptions: remoteVideoViewOptions, styles: VideoGalleryStyles, layout: layoutBasedOnUserSelection(), showCameraSwitcherInLocalPreview: props.isMobile, localVideoCameraCycleButtonProps: cameraSwitcherProps, onRenderAvatar: onRenderAvatar, remoteVideoTileMenu: remoteVideoTileMenuOptions, overflowGalleryPosition: overflowGalleryPosition, localVideoTileSize: props.localVideoTileOptions === false || userRole === 'Consumer' || isRoomsCall && userRole === 'Unknown' ? 'hidden' : props.isMobile && containerAspectRatio < 1 ? '9:16' : '16:9', pinnedParticipants: pinnedParticipants, onPinParticipant: onPinParticipant, onUnpinParticipant: onUnpinParticipant, reactionResources: reactionResources, onStartLocalSpotlight: hideSpotlightButtons ? undefined : onStartLocalSpotlightWithPrompt, onStopLocalSpotlight: hideSpotlightButtons ? undefined : onStopLocalSpotlightWithPrompt, onStartRemoteSpotlight: hideSpotlightButtons ? undefined : onStartRemoteSpotlightWithPrompt, onStopRemoteSpotlight: hideSpotlightButtons ? undefined : onStopRemoteSpotlightWithPrompt, onMuteParticipant: ['Unknown', 'Organizer', 'Presenter', 'Co-organizer'].includes(userRole !== null && userRole !== void 0 ? userRole : '') ? videoGalleryProps.onMuteParticipant : undefined }));
101
100
  }, [videoGalleryProps, props.isMobile, props.localVideoTileOptions, cameraSwitcherProps, onRenderAvatar, remoteVideoTileMenuOptions, overflowGalleryPosition, userRole, isRoomsCall, containerAspectRatio, props.userSetGalleryLayout, pinnedParticipants, onPinParticipant, onUnpinParticipant, layoutBasedOnTilePosition, reactionResources, onStartLocalSpotlightWithPrompt, onStopLocalSpotlightWithPrompt, onStartRemoteSpotlightWithPrompt, onStopRemoteSpotlightWithPrompt, hideSpotlightButtons, videoTilesOptions]);
102
101
  return React.createElement("div", { ref: containerRef, style: mediaGalleryContainerStyles },
103
102
  React.createElement(Announcer, { announcementString: announcerString, ariaLive: 'polite' }),
@@ -1 +1 @@
1
- {"version":3,"file":"MediaGallery.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/MediaGallery.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { CSSProperties, useCallback, useMemo } from 'react';\nimport { useRef } from 'react';\nimport { VideoGallery, VideoStreamOptions, CustomAvatarOptions, Announcer, VideoTileContextualMenuProps, VideoTileDrawerMenuProps } from '@internal/react-components';\nimport { VideoGalleryLayout } from '@internal/react-components';\nimport { _useContainerWidth, _useContainerHeight } from '@internal/react-components';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { AvatarPersona, AvatarPersonaDataCallback } from '../../common/AvatarPersona';\nimport { mergeStyles, Stack } from '@fluentui/react';\nimport { useHandlers } from '../hooks/useHandlers';\nimport { useSelector } from '../hooks/useSelector';\nimport { localVideoCameraCycleButtonSelector } from '../selectors/LocalVideoTileSelector';\nimport { LocalVideoCameraCycleButton } from '@internal/react-components';\nimport { _formatString } from '@internal/acs-ui-common';\nimport { useParticipantChangedAnnouncement } from '../utils/MediaGalleryUtils';\nimport { RemoteVideoTileMenuOptions } from '../CallComposite';\nimport { LocalVideoTileOptions } from '../CallComposite';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { PromptProps } from './Prompt';\nimport { useLocalSpotlightCallbacksWithPrompt, useRemoteSpotlightCallbacksWithPrompt } from '../utils/spotlightUtils';\nimport { VideoTilesOptions } from '@internal/react-components';\nconst VideoGalleryStyles = {\n root: {\n height: '100%',\n minHeight: '10rem',\n // space affordance to ensure media gallery is never collapsed\n minWidth: '6rem'\n }\n};\nconst localVideoViewOptions = {\n scalingMode: 'Crop',\n isMirrored: true\n} as VideoStreamOptions;\nconst remoteVideoViewOptions = {\n scalingMode: 'Crop'\n} as VideoStreamOptions;\n\n/**\n * @private\n */\nexport interface MediaGalleryProps {\n isVideoStreamOn?: boolean;\n isMicrophoneChecked?: boolean;\n onStartLocalVideo: () => Promise<void>;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n isMobile?: boolean;\n drawerMenuHostId?: string;\n remoteVideoTileMenuOptions?: RemoteVideoTileMenuOptions;\n localVideoTileOptions?: boolean | LocalVideoTileOptions;\n userSetOverflowGalleryPosition?: 'Responsive' | 'horizontalTop';\n userSetGalleryLayout: VideoGalleryLayout;\n pinnedParticipants?: string[];\n setPinnedParticipants?: (pinnedParticipants: string[]) => void;\n setIsPromptOpen: (isOpen: boolean) => void;\n setPromptProps: (props: PromptProps) => void;\n hideSpotlightButtons?: boolean;\n videoTilesOptions?: VideoTilesOptions;\n}\n\n/**\n * @private\n */\nexport const MediaGallery = (props: MediaGalleryProps): JSX.Element => {\n const {\n pinnedParticipants = [],\n setPinnedParticipants,\n setIsPromptOpen,\n setPromptProps,\n hideSpotlightButtons,\n videoTilesOptions\n } = props;\n const videoGalleryProps = usePropsFor(VideoGallery);\n const cameraSwitcherCameras = useSelector(localVideoCameraCycleButtonSelector);\n const cameraSwitcherCallback = useHandlers(LocalVideoCameraCycleButton);\n const announcerString = useParticipantChangedAnnouncement();\n const adapter = useAdapter();\n const userRole = adapter.getState().call?.role;\n const isRoomsCall = adapter.getState().isRoomsCall;\n const containerRef = useRef<HTMLDivElement>(null);\n const containerWidth = _useContainerWidth(containerRef);\n const containerHeight = _useContainerHeight(containerRef);\n const containerAspectRatio = containerWidth && containerHeight ? containerWidth / containerHeight : 0;\n const reactionResources = adapter.getState().reactions;\n const layoutBasedOnTilePosition: VideoGalleryLayout = getVideoGalleryLayoutBasedOnLocalOptions((props.localVideoTileOptions as LocalVideoTileOptions)?.position);\n const cameraSwitcherProps = useMemo(() => {\n return {\n ...cameraSwitcherCallback,\n ...cameraSwitcherCameras\n };\n }, [cameraSwitcherCallback, cameraSwitcherCameras]);\n const onRenderAvatar = useCallback((userId?: string, options?: CustomAvatarOptions) => {\n return <Stack className={mergeStyles({\n position: 'absolute',\n height: '100%',\n width: '100%'\n })}>\n <Stack styles={{\n root: {\n margin: 'auto',\n maxHeight: '100%'\n }\n }}>\n {options?.coinSize && <AvatarPersona userId={userId} {...options} dataProvider={props.onFetchAvatarPersonaData} />}\n </Stack>\n </Stack>;\n }, [props.onFetchAvatarPersonaData]);\n const remoteVideoTileMenuOptions: false | VideoTileContextualMenuProps | VideoTileDrawerMenuProps = useMemo(() => {\n return props.remoteVideoTileMenuOptions?.isHidden ? false : props.isMobile ? {\n kind: 'drawer',\n hostId: props.drawerMenuHostId\n } : {\n kind: 'contextual'\n };\n }, [props.remoteVideoTileMenuOptions?.isHidden, props.isMobile, props.drawerMenuHostId]);\n const overflowGalleryPosition = useMemo(() => {\n return containerWidth && containerHeight && containerWidth / containerHeight >= 16 / 9 ? 'verticalRight' : 'horizontalBottom';\n }, [containerWidth, containerHeight]);\n const {\n onStartLocalSpotlight,\n onStopLocalSpotlight,\n onStartRemoteSpotlight,\n onStopRemoteSpotlight\n } = videoGalleryProps;\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 onPinParticipant = useMemo(() => {\n return setPinnedParticipants ? (userId: string) => {\n if (!pinnedParticipants.includes(userId)) {\n setPinnedParticipants(pinnedParticipants.concat(userId));\n }\n } : undefined;\n }, [setPinnedParticipants, pinnedParticipants]);\n const onUnpinParticipant = useMemo(() => {\n return setPinnedParticipants ? (userId: string) => {\n setPinnedParticipants(pinnedParticipants.filter(participantId => participantId !== userId));\n } : undefined;\n }, [setPinnedParticipants, pinnedParticipants]);\n const VideoGalleryMemoized = useMemo(() => {\n const layoutBasedOnUserSelection = (): VideoGalleryLayout => {\n return props.localVideoTileOptions ? layoutBasedOnTilePosition : props.userSetGalleryLayout;\n return layoutBasedOnTilePosition;\n };\n return <VideoGallery {...videoGalleryProps} videoTilesOptions={videoTilesOptions} localVideoViewOptions={localVideoViewOptions} remoteVideoViewOptions={remoteVideoViewOptions} styles={VideoGalleryStyles} layout={layoutBasedOnUserSelection()} showCameraSwitcherInLocalPreview={props.isMobile} localVideoCameraCycleButtonProps={cameraSwitcherProps} onRenderAvatar={onRenderAvatar} remoteVideoTileMenu={remoteVideoTileMenuOptions} overflowGalleryPosition={overflowGalleryPosition} localVideoTileSize={props.localVideoTileOptions === false || userRole === 'Consumer' || isRoomsCall && userRole === 'Unknown' ? 'hidden' : props.isMobile && containerAspectRatio < 1 ? '9:16' : '16:9'} pinnedParticipants={pinnedParticipants} onPinParticipant={onPinParticipant} onUnpinParticipant={onUnpinParticipant} reactionResources={reactionResources} onStartLocalSpotlight={hideSpotlightButtons ? undefined : onStartLocalSpotlightWithPrompt} onStopLocalSpotlight={hideSpotlightButtons ? undefined : onStopLocalSpotlightWithPrompt} onStartRemoteSpotlight={hideSpotlightButtons ? undefined : onStartRemoteSpotlightWithPrompt} onStopRemoteSpotlight={hideSpotlightButtons ? undefined : onStopRemoteSpotlightWithPrompt}\n /* @conditional-compile-remove(soft-mute) */ onMuteParticipant={['Unknown', 'Organizer', 'Presenter', 'Co-organizer'].includes(userRole ?? '') ? videoGalleryProps.onMuteParticipant : undefined} />;\n }, [videoGalleryProps, props.isMobile, props.localVideoTileOptions, cameraSwitcherProps, onRenderAvatar, remoteVideoTileMenuOptions, overflowGalleryPosition, userRole, isRoomsCall, containerAspectRatio, props.userSetGalleryLayout, pinnedParticipants, onPinParticipant, onUnpinParticipant, layoutBasedOnTilePosition, reactionResources, onStartLocalSpotlightWithPrompt, onStopLocalSpotlightWithPrompt, onStartRemoteSpotlightWithPrompt, onStopRemoteSpotlightWithPrompt, hideSpotlightButtons, videoTilesOptions]);\n return <div ref={containerRef} style={mediaGalleryContainerStyles}>\n <Announcer announcementString={announcerString} ariaLive={'polite'} />\n {VideoGalleryMemoized}\n </div>;\n};\nconst mediaGalleryContainerStyles: CSSProperties = {\n width: '100%',\n height: '100%'\n};\nconst getVideoGalleryLayoutBasedOnLocalOptions = (localTileOptions?: string): VideoGalleryLayout => {\n return localTileOptions === 'grid' ? 'default' : 'floatingLocalVideo';\n};"]}
1
+ {"version":3,"file":"MediaGallery.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/MediaGallery.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { CSSProperties, useCallback, useMemo } from 'react';\nimport { useRef } from 'react';\nimport { VideoGallery, VideoStreamOptions, CustomAvatarOptions, Announcer, VideoTileContextualMenuProps, VideoTileDrawerMenuProps } from '@internal/react-components';\nimport { VideoGalleryLayout } from '@internal/react-components';\nimport { _useContainerWidth, _useContainerHeight } from '@internal/react-components';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { AvatarPersona, AvatarPersonaDataCallback } from '../../common/AvatarPersona';\nimport { mergeStyles, Stack } from '@fluentui/react';\nimport { useHandlers } from '../hooks/useHandlers';\nimport { useSelector } from '../hooks/useSelector';\nimport { localVideoCameraCycleButtonSelector } from '../selectors/LocalVideoTileSelector';\nimport { LocalVideoCameraCycleButton } from '@internal/react-components';\nimport { _formatString } from '@internal/acs-ui-common';\nimport { useParticipantChangedAnnouncement } from '../utils/MediaGalleryUtils';\nimport { RemoteVideoTileMenuOptions } from '../CallComposite';\nimport { LocalVideoTileOptions } from '../CallComposite';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { PromptProps } from './Prompt';\nimport { useLocalSpotlightCallbacksWithPrompt, useRemoteSpotlightCallbacksWithPrompt } from '../utils/spotlightUtils';\nimport { VideoTilesOptions } from '@internal/react-components';\nconst VideoGalleryStyles = {\n root: {\n height: '100%',\n minHeight: '10rem',\n // space affordance to ensure media gallery is never collapsed\n minWidth: '6rem'\n }\n};\nconst localVideoViewOptions = {\n scalingMode: 'Crop',\n isMirrored: true\n} as VideoStreamOptions;\nconst remoteVideoViewOptions = {\n scalingMode: 'Crop'\n} as VideoStreamOptions;\n\n/**\n * @private\n */\nexport interface MediaGalleryProps {\n isVideoStreamOn?: boolean;\n isMicrophoneChecked?: boolean;\n onStartLocalVideo: () => Promise<void>;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n isMobile?: boolean;\n drawerMenuHostId?: string;\n remoteVideoTileMenuOptions?: RemoteVideoTileMenuOptions;\n localVideoTileOptions?: boolean | LocalVideoTileOptions;\n userSetOverflowGalleryPosition?: 'Responsive' | 'horizontalTop';\n userSetGalleryLayout: VideoGalleryLayout;\n pinnedParticipants?: string[];\n setPinnedParticipants?: (pinnedParticipants: string[]) => void;\n setIsPromptOpen: (isOpen: boolean) => void;\n setPromptProps: (props: PromptProps) => void;\n hideSpotlightButtons?: boolean;\n videoTilesOptions?: VideoTilesOptions;\n}\n\n/**\n * @private\n */\nexport const MediaGallery = (props: MediaGalleryProps): JSX.Element => {\n const {\n pinnedParticipants = [],\n setPinnedParticipants,\n setIsPromptOpen,\n setPromptProps,\n hideSpotlightButtons,\n videoTilesOptions\n } = props;\n const videoGalleryProps = usePropsFor(VideoGallery);\n const cameraSwitcherCameras = useSelector(localVideoCameraCycleButtonSelector);\n const cameraSwitcherCallback = useHandlers(LocalVideoCameraCycleButton);\n const announcerString = useParticipantChangedAnnouncement();\n const adapter = useAdapter();\n const userRole = adapter.getState().call?.role;\n const isRoomsCall = adapter.getState().isRoomsCall;\n const containerRef = useRef<HTMLDivElement>(null);\n const containerWidth = _useContainerWidth(containerRef);\n const containerHeight = _useContainerHeight(containerRef);\n const containerAspectRatio = containerWidth && containerHeight ? containerWidth / containerHeight : 0;\n const reactionResources = adapter.getState().reactions;\n const layoutBasedOnTilePosition: VideoGalleryLayout = getVideoGalleryLayoutBasedOnLocalOptions((props.localVideoTileOptions as LocalVideoTileOptions)?.position);\n const cameraSwitcherProps = useMemo(() => {\n return {\n ...cameraSwitcherCallback,\n ...cameraSwitcherCameras\n };\n }, [cameraSwitcherCallback, cameraSwitcherCameras]);\n const onRenderAvatar = useCallback((userId?: string, options?: CustomAvatarOptions) => {\n return <Stack className={mergeStyles({\n position: 'absolute',\n height: '100%',\n width: '100%'\n })}>\n <Stack styles={{\n root: {\n margin: 'auto',\n maxHeight: '100%'\n }\n }}>\n {options?.coinSize && <AvatarPersona userId={userId} {...options} dataProvider={props.onFetchAvatarPersonaData} />}\n </Stack>\n </Stack>;\n }, [props.onFetchAvatarPersonaData]);\n const remoteVideoTileMenuOptions: false | VideoTileContextualMenuProps | VideoTileDrawerMenuProps = useMemo(() => {\n return props.remoteVideoTileMenuOptions?.isHidden ? false : props.isMobile ? {\n kind: 'drawer',\n hostId: props.drawerMenuHostId\n } : {\n kind: 'contextual'\n };\n }, [props.remoteVideoTileMenuOptions?.isHidden, props.isMobile, props.drawerMenuHostId]);\n const overflowGalleryPosition = useMemo(() => {\n return containerWidth && containerHeight && containerWidth / containerHeight >= 16 / 9 ? 'verticalRight' : 'horizontalBottom';\n }, [containerWidth, containerHeight]);\n const {\n onStartLocalSpotlight,\n onStopLocalSpotlight,\n onStartRemoteSpotlight,\n onStopRemoteSpotlight\n } = videoGalleryProps;\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 onPinParticipant = useMemo(() => {\n return setPinnedParticipants ? (userId: string) => {\n if (!pinnedParticipants.includes(userId)) {\n setPinnedParticipants(pinnedParticipants.concat(userId));\n }\n } : undefined;\n }, [setPinnedParticipants, pinnedParticipants]);\n const onUnpinParticipant = useMemo(() => {\n return setPinnedParticipants ? (userId: string) => {\n setPinnedParticipants(pinnedParticipants.filter(participantId => participantId !== userId));\n } : undefined;\n }, [setPinnedParticipants, pinnedParticipants]);\n const VideoGalleryMemoized = useMemo(() => {\n const layoutBasedOnUserSelection = (): VideoGalleryLayout => {\n return props.localVideoTileOptions ? layoutBasedOnTilePosition : props.userSetGalleryLayout;\n return layoutBasedOnTilePosition;\n };\n return <VideoGallery {...videoGalleryProps} videoTilesOptions={videoTilesOptions} localVideoViewOptions={localVideoViewOptions} remoteVideoViewOptions={remoteVideoViewOptions} styles={VideoGalleryStyles} layout={layoutBasedOnUserSelection()} showCameraSwitcherInLocalPreview={props.isMobile} localVideoCameraCycleButtonProps={cameraSwitcherProps} onRenderAvatar={onRenderAvatar} remoteVideoTileMenu={remoteVideoTileMenuOptions} overflowGalleryPosition={overflowGalleryPosition} localVideoTileSize={props.localVideoTileOptions === false || userRole === 'Consumer' || isRoomsCall && userRole === 'Unknown' ? 'hidden' : props.isMobile && containerAspectRatio < 1 ? '9:16' : '16:9'} pinnedParticipants={pinnedParticipants} onPinParticipant={onPinParticipant} onUnpinParticipant={onUnpinParticipant} reactionResources={reactionResources} onStartLocalSpotlight={hideSpotlightButtons ? undefined : onStartLocalSpotlightWithPrompt} onStopLocalSpotlight={hideSpotlightButtons ? undefined : onStopLocalSpotlightWithPrompt} onStartRemoteSpotlight={hideSpotlightButtons ? undefined : onStartRemoteSpotlightWithPrompt} onStopRemoteSpotlight={hideSpotlightButtons ? undefined : onStopRemoteSpotlightWithPrompt} onMuteParticipant={['Unknown', 'Organizer', 'Presenter', 'Co-organizer'].includes(userRole ?? '') ? videoGalleryProps.onMuteParticipant : undefined} />;\n }, [videoGalleryProps, props.isMobile, props.localVideoTileOptions, cameraSwitcherProps, onRenderAvatar, remoteVideoTileMenuOptions, overflowGalleryPosition, userRole, isRoomsCall, containerAspectRatio, props.userSetGalleryLayout, pinnedParticipants, onPinParticipant, onUnpinParticipant, layoutBasedOnTilePosition, reactionResources, onStartLocalSpotlightWithPrompt, onStopLocalSpotlightWithPrompt, onStartRemoteSpotlightWithPrompt, onStopRemoteSpotlightWithPrompt, hideSpotlightButtons, videoTilesOptions]);\n return <div ref={containerRef} style={mediaGalleryContainerStyles}>\n <Announcer announcementString={announcerString} ariaLive={'polite'} />\n {VideoGalleryMemoized}\n </div>;\n};\nconst mediaGalleryContainerStyles: CSSProperties = {\n width: '100%',\n height: '100%'\n};\nconst getVideoGalleryLayoutBasedOnLocalOptions = (localTileOptions?: string): VideoGalleryLayout => {\n return localTileOptions === 'grid' ? 'default' : 'floatingLocalVideo';\n};"]}
@@ -3,25 +3,17 @@
3
3
  import React from 'react';
4
4
  import { useTheme } from "../../../../../react-components/src";
5
5
  import { ExpandedLocalVideoTile } from './ExpandedLocalVideoTile';
6
- import { mergeStyles, Stack, Text } from '@fluentui/react';
7
- /* @conditional-compile-remove(teams-meeting-conference) */
8
- // eslint-disable-next-line no-restricted-imports
6
+ import { mergeStyles, Stack, Text } from '@fluentui/react'; // eslint-disable-next-line no-restricted-imports
9
7
  import { Icon } from '@fluentui/react';
10
8
  import { useLocale } from '../../localization';
11
9
  import { containerStyle, moreDetailsStyle, titleContainerStyle, titleStyle } from '../styles/NetworkReconnectTile.styles';
12
10
  import { useHandlers } from '../hooks/useHandlers';
13
11
  import { CallCompositeIcon } from '../../common/icons';
14
- /* @conditional-compile-remove(teams-meeting-conference) */
15
12
  import { getTeamsMeetingCoordinates, getIsTeamsMeeting } from '../selectors/baseSelectors';
16
- /* @conditional-compile-remove(teams-meeting-conference) */
17
13
  import { useSelector } from '../hooks/useSelector';
18
- /* @conditional-compile-remove(teams-meeting-conference) */
19
14
  import { phoneInfoTextStyle, phoneInfoIcon, phoneInfoInstructionLine, phoneInfoStep, phoneInfoIconStyle, phoneInfoLabelStyle, titleClassName, titleContainerClassName, infoConnectionLinkStyle } from '../../common/styles/TeamsMeetingConferenceInfo.style';
20
- /* @conditional-compile-remove(teams-meeting-conference) */
21
15
  import { formatPhoneNumberInfo, _formatPhoneNumber, formatPhoneNumberLink } from "../../../../../react-components/src";
22
- /* @conditional-compile-remove(teams-meeting-conference) */
23
16
  import { _pxToRem } from "../../../../../acs-ui-common/src";
24
- /* @conditional-compile-remove(teams-meeting-conference) */
25
17
  import { Link } from '@fluentui/react';
26
18
  /**
27
19
  * @private
@@ -32,20 +24,16 @@ export const NetworkReconnectTile = (props) => {
32
24
  const isVideoReady = (_a = videoStream === null || videoStream === void 0 ? void 0 : videoStream.isAvailable) !== null && _a !== void 0 ? _a : false;
33
25
  const palette = useTheme().palette;
34
26
  const strings = useLocale().strings.call;
35
- /* @conditional-compile-remove(teams-meeting-conference) */
36
27
  const localeStrings = useLocale().component.strings.meetingConferencePhoneInfo;
37
- /* @conditional-compile-remove(teams-meeting-conference) */
38
28
  const theme = useTheme();
39
29
  const handlers = useHandlers(ExpandedLocalVideoTile);
40
- /* @conditional-compile-remove(teams-meeting-conference) */
41
30
  const isTeamsMeeting = useSelector(getIsTeamsMeeting);
42
- /* @conditional-compile-remove(teams-meeting-conference) */
43
31
  const meetingCoordinates = useSelector(getTeamsMeetingCoordinates);
44
32
  return React.createElement(ExpandedLocalVideoTile, Object.assign({ localParticipantVideoStream: props.localParticipantVideoStream, overlayContent: React.createElement(Stack, { verticalFill: true, horizontalAlign: "center", verticalAlign: "center", className: mergeStyles(containerStyle), "aria-atomic": true },
45
33
  React.createElement(Stack, { horizontal: true, className: mergeStyles(titleContainerStyle) },
46
34
  React.createElement(CallCompositeIcon, { iconName: "NetworkReconnectIcon", className: mergeStyles(titleStyle(palette, isVideoReady)) }),
47
35
  React.createElement(Text, { className: mergeStyles(titleStyle(palette, isVideoReady)), "aria-live": 'assertive' }, strings.networkReconnectTitle)),
48
- React.createElement(Text, { className: mergeStyles(moreDetailsStyle(palette, isVideoReady)), "aria-live": 'assertive' }, strings.networkReconnectMoreDetails), /* @conditional-compile-remove(teams-meeting-conference) */
36
+ React.createElement(Text, { className: mergeStyles(moreDetailsStyle(palette, isVideoReady)), "aria-live": 'assertive' }, strings.networkReconnectMoreDetails),
49
37
  isTeamsMeeting && meetingCoordinates && meetingCoordinates.length > 0 && React.createElement(Stack, null,
50
38
  React.createElement(Stack, { horizontal: true, horizontalAlign: "center", verticalAlign: "center", className: titleContainerClassName },
51
39
  React.createElement(Text, { className: titleClassName }, localeStrings.meetingConferencePhoneInfoModalTitle)),
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkReconnectTile.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React from 'react';\nimport { VideoGalleryStream, useTheme } from '@internal/react-components';\nimport { ExpandedLocalVideoTile } from './ExpandedLocalVideoTile';\nimport { mergeStyles, Stack, Text } from '@fluentui/react';\n/* @conditional-compile-remove(teams-meeting-conference) */\n// eslint-disable-next-line no-restricted-imports\nimport { Icon } from '@fluentui/react';\nimport { useLocale } from '../../localization';\nimport { containerStyle, moreDetailsStyle, titleContainerStyle, titleStyle } from '../styles/NetworkReconnectTile.styles';\nimport { useHandlers } from '../hooks/useHandlers';\nimport { CallCompositeIcon } from '../../common/icons';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { getTeamsMeetingCoordinates, getIsTeamsMeeting } from '../selectors/baseSelectors';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { useSelector } from '../hooks/useSelector';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { phoneInfoTextStyle, phoneInfoIcon, phoneInfoInstructionLine, phoneInfoStep, phoneInfoIconStyle, phoneInfoLabelStyle, titleClassName, titleContainerClassName, infoConnectionLinkStyle } from '../../common/styles/TeamsMeetingConferenceInfo.style';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { formatPhoneNumberInfo, _formatPhoneNumber, formatPhoneNumberLink } from '@internal/react-components';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { _pxToRem } from '@internal/acs-ui-common';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { Link } from '@fluentui/react';\n\n/**\n * @private\n */\nexport interface NetworkReconnectTileProps {\n localParticipantVideoStream: VideoGalleryStream;\n /* @conditional-compile-remove(teams-meeting-conference) */\n isMobile?: boolean;\n}\n\n/**\n * @private\n */\nexport const NetworkReconnectTile = (props: NetworkReconnectTileProps): JSX.Element => {\n const videoStream = props.localParticipantVideoStream;\n const isVideoReady = videoStream?.isAvailable ?? false;\n const palette = useTheme().palette;\n const strings = useLocale().strings.call;\n /* @conditional-compile-remove(teams-meeting-conference) */\n const localeStrings = useLocale().component.strings.meetingConferencePhoneInfo;\n /* @conditional-compile-remove(teams-meeting-conference) */\n const theme = useTheme();\n const handlers = useHandlers(ExpandedLocalVideoTile);\n\n /* @conditional-compile-remove(teams-meeting-conference) */\n const isTeamsMeeting = useSelector(getIsTeamsMeeting);\n /* @conditional-compile-remove(teams-meeting-conference) */\n const meetingCoordinates = useSelector(getTeamsMeetingCoordinates);\n return <ExpandedLocalVideoTile localParticipantVideoStream={props.localParticipantVideoStream} overlayContent={<Stack verticalFill horizontalAlign=\"center\" verticalAlign=\"center\" className={mergeStyles(containerStyle)} aria-atomic>\n <Stack horizontal className={mergeStyles(titleContainerStyle)}>\n <CallCompositeIcon iconName=\"NetworkReconnectIcon\" className={mergeStyles(titleStyle(palette, isVideoReady))} />\n <Text className={mergeStyles(titleStyle(palette, isVideoReady))} aria-live={'assertive'}>\n {strings.networkReconnectTitle}\n </Text>\n </Stack>\n <Text className={mergeStyles(moreDetailsStyle(palette, isVideoReady))} aria-live={'assertive'}>\n {strings.networkReconnectMoreDetails}\n </Text>\n {/* @conditional-compile-remove(teams-meeting-conference) */isTeamsMeeting && meetingCoordinates && meetingCoordinates.length > 0 && <Stack>\n <Stack horizontal horizontalAlign=\"center\" verticalAlign=\"center\" className={titleContainerClassName}>\n <Text className={titleClassName}>{localeStrings.meetingConferencePhoneInfoModalTitle}</Text>\n </Stack>\n <Stack horizontal horizontalAlign=\"space-between\" className={phoneInfoInstructionLine}>\n <Stack className={infoConnectionLinkStyle(theme)}></Stack>\n <Stack.Item>\n <Stack horizontal className={phoneInfoStep}>\n <Stack.Item className={phoneInfoIcon(theme)}>\n <Stack verticalAlign=\"center\" horizontalAlign=\"center\">\n <Icon iconName=\"JoinByPhoneDialStepIcon\" className={phoneInfoIconStyle(theme)} />\n </Stack>\n </Stack.Item>\n <Stack.Item>\n <Text className={phoneInfoLabelStyle}>\n {localeStrings.meetingConferencePhoneInfoModalDialIn}\n </Text>\n </Stack.Item>\n </Stack>\n </Stack.Item>\n <Stack.Item className={phoneInfoStep}>\n {meetingCoordinates.map((phoneNumber, index) => <Stack.Item key={index}>\n <Text className={phoneInfoTextStyle}>\n {props.isMobile && <Link className={phoneInfoTextStyle} href={formatPhoneNumberLink(phoneNumber)}>\n {_formatPhoneNumber(phoneNumber.phoneNumber, true)}\n </Link>}\n {!props.isMobile && <Text className={phoneInfoTextStyle}>\n {_formatPhoneNumber(phoneNumber.phoneNumber, true)}\n </Text>}{' '}\n {phoneNumber.isTollFree ? localeStrings.meetingConferencePhoneInfoModalTollFree : localeStrings.meetingConferencePhoneInfoModalToll}\n </Text>\n <br />\n <Text className={phoneInfoTextStyle}>\n {' '}\n {formatPhoneNumberInfo(phoneNumber, localeStrings)}\n </Text>\n </Stack.Item>)}\n </Stack.Item>\n </Stack>\n <Stack horizontal horizontalAlign=\"space-between\" verticalAlign=\"center\" className={phoneInfoInstructionLine}>\n <Stack.Item>\n <Stack horizontal>\n {!props.isMobile && <Stack className={infoConnectionLinkStyle(theme)}></Stack>}\n <Stack.Item className={phoneInfoIcon(theme)}>\n <Icon iconName=\"JoinByPhoneConferenceIdIcon\" className={phoneInfoIconStyle(theme)} />\n </Stack.Item>\n <Stack.Item>\n <Text className={phoneInfoLabelStyle}>\n {localeStrings.meetingConferencePhoneInfoModalMeetingId}\n </Text>\n </Stack.Item>\n </Stack>\n </Stack.Item>\n <Text className={phoneInfoTextStyle}>{meetingCoordinates[0].conferenceId}#</Text>\n </Stack>\n {!props.isMobile && <Stack horizontal horizontalAlign=\"space-between\" verticalAlign=\"center\" className={phoneInfoInstructionLine}>\n <Stack horizontal>\n <Stack.Item className={phoneInfoIcon(theme)} style={{\n marginLeft: _pxToRem(2)\n }}>\n <Icon iconName=\"JoinByPhoneWaitToBeAdmittedIcon\" className={phoneInfoIconStyle(theme)} />\n </Stack.Item>\n <Stack.Item>\n <Text className={phoneInfoLabelStyle}>\n {localeStrings.meetingConferencePhoneInfoModalWait}\n </Text>\n </Stack.Item>\n </Stack>\n </Stack>}\n </Stack>}\n </Stack>} {...handlers} />;\n};"]}
1
+ {"version":3,"file":"NetworkReconnectTile.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React from 'react';\nimport { VideoGalleryStream, useTheme } from '@internal/react-components';\nimport { ExpandedLocalVideoTile } from './ExpandedLocalVideoTile';\nimport { mergeStyles, Stack, Text } from '@fluentui/react'; // eslint-disable-next-line no-restricted-imports\nimport { Icon } from '@fluentui/react';\nimport { useLocale } from '../../localization';\nimport { containerStyle, moreDetailsStyle, titleContainerStyle, titleStyle } from '../styles/NetworkReconnectTile.styles';\nimport { useHandlers } from '../hooks/useHandlers';\nimport { CallCompositeIcon } from '../../common/icons';\nimport { getTeamsMeetingCoordinates, getIsTeamsMeeting } from '../selectors/baseSelectors';\nimport { useSelector } from '../hooks/useSelector';\nimport { phoneInfoTextStyle, phoneInfoIcon, phoneInfoInstructionLine, phoneInfoStep, phoneInfoIconStyle, phoneInfoLabelStyle, titleClassName, titleContainerClassName, infoConnectionLinkStyle } from '../../common/styles/TeamsMeetingConferenceInfo.style';\nimport { formatPhoneNumberInfo, _formatPhoneNumber, formatPhoneNumberLink } from '@internal/react-components';\nimport { _pxToRem } from '@internal/acs-ui-common';\nimport { Link } from '@fluentui/react';\n\n/**\n * @private\n */\nexport interface NetworkReconnectTileProps {\n localParticipantVideoStream: VideoGalleryStream;\n isMobile?: boolean;\n}\n\n/**\n * @private\n */\nexport const NetworkReconnectTile = (props: NetworkReconnectTileProps): JSX.Element => {\n const videoStream = props.localParticipantVideoStream;\n const isVideoReady = videoStream?.isAvailable ?? false;\n const palette = useTheme().palette;\n const strings = useLocale().strings.call;\n const localeStrings = useLocale().component.strings.meetingConferencePhoneInfo;\n const theme = useTheme();\n const handlers = useHandlers(ExpandedLocalVideoTile);\n const isTeamsMeeting = useSelector(getIsTeamsMeeting);\n const meetingCoordinates = useSelector(getTeamsMeetingCoordinates);\n return <ExpandedLocalVideoTile localParticipantVideoStream={props.localParticipantVideoStream} overlayContent={<Stack verticalFill horizontalAlign=\"center\" verticalAlign=\"center\" className={mergeStyles(containerStyle)} aria-atomic>\n <Stack horizontal className={mergeStyles(titleContainerStyle)}>\n <CallCompositeIcon iconName=\"NetworkReconnectIcon\" className={mergeStyles(titleStyle(palette, isVideoReady))} />\n <Text className={mergeStyles(titleStyle(palette, isVideoReady))} aria-live={'assertive'}>\n {strings.networkReconnectTitle}\n </Text>\n </Stack>\n <Text className={mergeStyles(moreDetailsStyle(palette, isVideoReady))} aria-live={'assertive'}>\n {strings.networkReconnectMoreDetails}\n </Text>\n {isTeamsMeeting && meetingCoordinates && meetingCoordinates.length > 0 && <Stack>\n <Stack horizontal horizontalAlign=\"center\" verticalAlign=\"center\" className={titleContainerClassName}>\n <Text className={titleClassName}>{localeStrings.meetingConferencePhoneInfoModalTitle}</Text>\n </Stack>\n <Stack horizontal horizontalAlign=\"space-between\" className={phoneInfoInstructionLine}>\n <Stack className={infoConnectionLinkStyle(theme)}></Stack>\n <Stack.Item>\n <Stack horizontal className={phoneInfoStep}>\n <Stack.Item className={phoneInfoIcon(theme)}>\n <Stack verticalAlign=\"center\" horizontalAlign=\"center\">\n <Icon iconName=\"JoinByPhoneDialStepIcon\" className={phoneInfoIconStyle(theme)} />\n </Stack>\n </Stack.Item>\n <Stack.Item>\n <Text className={phoneInfoLabelStyle}>\n {localeStrings.meetingConferencePhoneInfoModalDialIn}\n </Text>\n </Stack.Item>\n </Stack>\n </Stack.Item>\n <Stack.Item className={phoneInfoStep}>\n {meetingCoordinates.map((phoneNumber, index) => <Stack.Item key={index}>\n <Text className={phoneInfoTextStyle}>\n {props.isMobile && <Link className={phoneInfoTextStyle} href={formatPhoneNumberLink(phoneNumber)}>\n {_formatPhoneNumber(phoneNumber.phoneNumber, true)}\n </Link>}\n {!props.isMobile && <Text className={phoneInfoTextStyle}>\n {_formatPhoneNumber(phoneNumber.phoneNumber, true)}\n </Text>}{' '}\n {phoneNumber.isTollFree ? localeStrings.meetingConferencePhoneInfoModalTollFree : localeStrings.meetingConferencePhoneInfoModalToll}\n </Text>\n <br />\n <Text className={phoneInfoTextStyle}>\n {' '}\n {formatPhoneNumberInfo(phoneNumber, localeStrings)}\n </Text>\n </Stack.Item>)}\n </Stack.Item>\n </Stack>\n <Stack horizontal horizontalAlign=\"space-between\" verticalAlign=\"center\" className={phoneInfoInstructionLine}>\n <Stack.Item>\n <Stack horizontal>\n {!props.isMobile && <Stack className={infoConnectionLinkStyle(theme)}></Stack>}\n <Stack.Item className={phoneInfoIcon(theme)}>\n <Icon iconName=\"JoinByPhoneConferenceIdIcon\" className={phoneInfoIconStyle(theme)} />\n </Stack.Item>\n <Stack.Item>\n <Text className={phoneInfoLabelStyle}>\n {localeStrings.meetingConferencePhoneInfoModalMeetingId}\n </Text>\n </Stack.Item>\n </Stack>\n </Stack.Item>\n <Text className={phoneInfoTextStyle}>{meetingCoordinates[0].conferenceId}#</Text>\n </Stack>\n {!props.isMobile && <Stack horizontal horizontalAlign=\"space-between\" verticalAlign=\"center\" className={phoneInfoInstructionLine}>\n <Stack horizontal>\n <Stack.Item className={phoneInfoIcon(theme)} style={{\n marginLeft: _pxToRem(2)\n }}>\n <Icon iconName=\"JoinByPhoneWaitToBeAdmittedIcon\" className={phoneInfoIconStyle(theme)} />\n </Stack.Item>\n <Stack.Item>\n <Text className={phoneInfoLabelStyle}>\n {localeStrings.meetingConferencePhoneInfoModalWait}\n </Text>\n </Stack.Item>\n </Stack>\n </Stack>}\n </Stack>}\n </Stack>} {...handlers} />;\n};"]}
@@ -1,18 +1,11 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- /* @conditional-compile-remove(teams-meeting-conference) */
4
3
  import React, { useCallback, useEffect, useMemo } from 'react';
5
- /* @conditional-compile-remove(teams-meeting-conference) */
6
4
  import { useIsParticularSidePaneOpen } from './SidePaneProvider';
7
- /* @conditional-compile-remove(teams-meeting-conference) */
8
5
  import { SidePaneHeader } from '../../../common/SidePaneHeader';
9
- /* @conditional-compile-remove(teams-meeting-conference) */
10
6
  import { MeetingPhoneInfoPaneContent } from '../../../common/MeetingPhoneInfoPaneContent';
11
- /* @conditional-compile-remove(teams-meeting-conference) */
12
7
  import { useLocale } from '../../../localization';
13
- /* @conditional-compile-remove(teams-meeting-conference) */
14
8
  const SIDE_PANE_ID = 'Meeting Phone Info';
15
- /* @conditional-compile-remove(teams-meeting-conference) */
16
9
  /** @private */
17
10
  export const useMeetingPhoneInfoPane = (props) => {
18
11
  const { updateSidePaneRenderer, mobileView, conferencePhoneInfo } = props;
@@ -1 +1 @@
1
- {"version":3,"file":"useMeetingPhoneInfo.js","sourceRoot":"","sources":["../../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,2DAA2D;AAC3D,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC/D,2DAA2D;AAC3D,OAAO,EAAoB,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACnF,2DAA2D;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,2DAA2D;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,2DAA2D;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIlD,2DAA2D;AAC3D,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAE1C,2DAA2D;AAC3D,eAAe;AACf,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAIvC,EAIC,EAAE;IACF,MAAM,EACJ,sBAAsB,EACtB,UAAU,EACV,mBAAmB,EACpB,GAAG,KAAK,CAAC;IACV,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAC7B,MAAM,aAAa,GAAG,SAAS,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,0BAA0B,CAAC;IAC/E,MAAM,WAAW,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7C,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,oBAAC,cAAc,IAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC,oCAAoC,EAAE,8BAA8B,EAAE,WAAW,CAAC,0BAA0B,EAAE,UAAU,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,KAAK,GAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;IAChT,MAAM,eAAe,GAAG,WAAW,CAAC,GAAgB,EAAE;QACpD,OAAO,oBAAC,2BAA2B,IAAC,UAAU,EAAE,UAAU,EAAE,uBAAuB,EAAE,mBAAmB,GAAI,CAAC;IAC/G,CAAC,EAAE,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACtC,MAAM,gBAAgB,GAAqB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACxD,cAAc,EAAE,cAAc;QAC9B,eAAe,EAAE,eAAe;QAChC,EAAE,EAAE,YAAY;KACjB,CAAC,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;IAEzD,kEAAkE;IAClE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvB,OAAO;QACL,wBAAwB,EAAE,QAAQ;QAClC,yBAAyB,EAAE,SAAS;QACpC,0BAA0B,EAAE,MAAM;KACnC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport React, { useCallback, useEffect, useMemo } from 'react';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { SidePaneRenderer, useIsParticularSidePaneOpen } from './SidePaneProvider';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { SidePaneHeader } from '../../../common/SidePaneHeader';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { MeetingPhoneInfoPaneContent } from '../../../common/MeetingPhoneInfoPaneContent';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { useLocale } from '../../../localization';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { ConferencePhoneInfo } from '@internal/react-components';\n\n/* @conditional-compile-remove(teams-meeting-conference) */\nconst SIDE_PANE_ID = 'Meeting Phone Info';\n\n/* @conditional-compile-remove(teams-meeting-conference) */\n/** @private */\nexport const useMeetingPhoneInfoPane = (props: {\n updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n mobileView?: boolean;\n conferencePhoneInfo?: ConferencePhoneInfo[];\n}): {\n openMeetingPhoneInfoPane: () => void;\n closeMeetingPhoneInfoPane: () => void;\n isMeetingPhoneInfoPaneOpen: boolean;\n} => {\n const {\n updateSidePaneRenderer,\n mobileView,\n conferencePhoneInfo\n } = props;\n const closePane = useCallback(() => {\n updateSidePaneRenderer(undefined);\n }, [updateSidePaneRenderer]);\n const localeStrings = useLocale().component.strings.meetingConferencePhoneInfo;\n const callStrings = useLocale().strings.call;\n const onRenderHeader = useCallback(() => <SidePaneHeader onClose={closePane} headingText={localeStrings.meetingConferencePhoneInfoModalTitle} dismissSidePaneButtonAriaLabel={callStrings.dismissSidePaneButtonLabel} mobileView={mobileView ?? false} />, [mobileView, closePane, localeStrings, callStrings]);\n const onRenderContent = useCallback((): JSX.Element => {\n return <MeetingPhoneInfoPaneContent mobileView={mobileView} conferencePhoneInfoList={conferencePhoneInfo} />;\n }, [mobileView, conferencePhoneInfo]);\n const sidePaneRenderer: SidePaneRenderer = useMemo(() => ({\n headerRenderer: onRenderHeader,\n contentRenderer: onRenderContent,\n id: SIDE_PANE_ID\n }), [onRenderContent, onRenderHeader]);\n const openPane = useCallback(() => {\n updateSidePaneRenderer(sidePaneRenderer);\n }, [sidePaneRenderer, updateSidePaneRenderer]);\n const isOpen = useIsParticularSidePaneOpen(SIDE_PANE_ID);\n\n // Update pane renderer if it is open and the openPane dep changes\n useEffect(() => {\n if (isOpen) {\n openPane();\n }\n }, [isOpen, openPane]);\n return {\n openMeetingPhoneInfoPane: openPane,\n closeMeetingPhoneInfoPane: closePane,\n isMeetingPhoneInfoPaneOpen: isOpen\n };\n};"]}
1
+ {"version":3,"file":"useMeetingPhoneInfo.js","sourceRoot":"","sources":["../../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAoB,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAC1C,eAAe;AACf,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAIvC,EAIC,EAAE;IACF,MAAM,EACJ,sBAAsB,EACtB,UAAU,EACV,mBAAmB,EACpB,GAAG,KAAK,CAAC;IACV,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAC7B,MAAM,aAAa,GAAG,SAAS,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,0BAA0B,CAAC;IAC/E,MAAM,WAAW,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7C,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,oBAAC,cAAc,IAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC,oCAAoC,EAAE,8BAA8B,EAAE,WAAW,CAAC,0BAA0B,EAAE,UAAU,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,KAAK,GAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;IAChT,MAAM,eAAe,GAAG,WAAW,CAAC,GAAgB,EAAE;QACpD,OAAO,oBAAC,2BAA2B,IAAC,UAAU,EAAE,UAAU,EAAE,uBAAuB,EAAE,mBAAmB,GAAI,CAAC;IAC/G,CAAC,EAAE,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACtC,MAAM,gBAAgB,GAAqB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACxD,cAAc,EAAE,cAAc;QAC9B,eAAe,EAAE,eAAe;QAChC,EAAE,EAAE,YAAY;KACjB,CAAC,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;IAEzD,kEAAkE;IAClE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvB,OAAO;QACL,wBAAwB,EAAE,QAAQ;QAClC,yBAAyB,EAAE,SAAS;QACpC,0BAA0B,EAAE,MAAM;KACnC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport React, { useCallback, useEffect, useMemo } from 'react';\nimport { SidePaneRenderer, useIsParticularSidePaneOpen } from './SidePaneProvider';\nimport { SidePaneHeader } from '../../../common/SidePaneHeader';\nimport { MeetingPhoneInfoPaneContent } from '../../../common/MeetingPhoneInfoPaneContent';\nimport { useLocale } from '../../../localization';\nimport { ConferencePhoneInfo } from '@internal/react-components';\nconst SIDE_PANE_ID = 'Meeting Phone Info';\n/** @private */\nexport const useMeetingPhoneInfoPane = (props: {\n updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n mobileView?: boolean;\n conferencePhoneInfo?: ConferencePhoneInfo[];\n}): {\n openMeetingPhoneInfoPane: () => void;\n closeMeetingPhoneInfoPane: () => void;\n isMeetingPhoneInfoPaneOpen: boolean;\n} => {\n const {\n updateSidePaneRenderer,\n mobileView,\n conferencePhoneInfo\n } = props;\n const closePane = useCallback(() => {\n updateSidePaneRenderer(undefined);\n }, [updateSidePaneRenderer]);\n const localeStrings = useLocale().component.strings.meetingConferencePhoneInfo;\n const callStrings = useLocale().strings.call;\n const onRenderHeader = useCallback(() => <SidePaneHeader onClose={closePane} headingText={localeStrings.meetingConferencePhoneInfoModalTitle} dismissSidePaneButtonAriaLabel={callStrings.dismissSidePaneButtonLabel} mobileView={mobileView ?? false} />, [mobileView, closePane, localeStrings, callStrings]);\n const onRenderContent = useCallback((): JSX.Element => {\n return <MeetingPhoneInfoPaneContent mobileView={mobileView} conferencePhoneInfoList={conferencePhoneInfo} />;\n }, [mobileView, conferencePhoneInfo]);\n const sidePaneRenderer: SidePaneRenderer = useMemo(() => ({\n headerRenderer: onRenderHeader,\n contentRenderer: onRenderContent,\n id: SIDE_PANE_ID\n }), [onRenderContent, onRenderHeader]);\n const openPane = useCallback(() => {\n updateSidePaneRenderer(sidePaneRenderer);\n }, [sidePaneRenderer, updateSidePaneRenderer]);\n const isOpen = useIsParticularSidePaneOpen(SIDE_PANE_ID);\n\n // Update pane renderer if it is open and the openPane dep changes\n useEffect(() => {\n if (isOpen) {\n openPane();\n }\n }, [isOpen, openPane]);\n return {\n openMeetingPhoneInfoPane: openPane,\n closeMeetingPhoneInfoPane: closePane,\n isMeetingPhoneInfoPaneOpen: isOpen\n };\n};"]}
@@ -5,45 +5,33 @@ import { useIsParticularSidePaneOpen } from './SidePaneProvider';
5
5
  import { SidePaneHeader } from '../../../common/SidePaneHeader';
6
6
  import { PeoplePaneContent } from '../../../common/PeoplePaneContent';
7
7
  import { useLocale } from '../../../localization';
8
- /* @conditional-compile-remove(soft-mute) */
9
8
  import { getRemoteParticipants } from '../../selectors/baseSelectors';
10
- /* @conditional-compile-remove(soft-mute) */
11
9
  import { useSelector } from '../../hooks/useSelector';
12
- /* @conditional-compile-remove(soft-mute) */
13
10
  import { Prompt } from '../Prompt';
14
11
  const PEOPLE_SIDE_PANE_ID = 'people';
15
12
  /** @private */
16
13
  export const usePeoplePane = (props) => {
17
- const { updateSidePaneRenderer, inviteLink, onFetchAvatarPersonaData, onFetchParticipantMenuItems, setDrawerMenuItems, mobileView, peopleButtonRef, setParticipantActioned, spotlightedParticipantUserIds, onStartLocalSpotlight, onStopLocalSpotlight, onStartRemoteSpotlight, onStopRemoteSpotlight, onStopAllSpotlight, maxParticipantsToSpotlight,
18
- /* @conditional-compile-remove(soft-mute) */
19
- onMuteParticipant, pinnedParticipants, onPinParticipant, onUnpinParticipant, disablePinMenuItem,
20
- /* @conditional-compile-remove(soft-mute) */
21
- onMuteAllRemoteParticipants } = props;
14
+ const { updateSidePaneRenderer, inviteLink, onFetchAvatarPersonaData, onFetchParticipantMenuItems, setDrawerMenuItems, mobileView, peopleButtonRef, setParticipantActioned, spotlightedParticipantUserIds, onStartLocalSpotlight, onStopLocalSpotlight, onStartRemoteSpotlight, onStopRemoteSpotlight, onStopAllSpotlight, maxParticipantsToSpotlight, onMuteParticipant, pinnedParticipants, onPinParticipant, onUnpinParticipant, disablePinMenuItem, onMuteAllRemoteParticipants } = props;
22
15
  const closePane = useCallback(() => {
23
16
  var _a;
24
17
  updateSidePaneRenderer(undefined);
25
18
  (_a = peopleButtonRef === null || peopleButtonRef === void 0 ? void 0 : peopleButtonRef.current) === null || _a === void 0 ? void 0 : _a.focus();
26
19
  }, [peopleButtonRef, updateSidePaneRenderer]);
27
20
  const localeStrings = useLocale().strings.call;
28
- /* @conditional-compile-remove(soft-mute) */
29
21
  const remoteParticipants = useSelector(getRemoteParticipants);
30
- /* @conditional-compile-remove(soft-mute) */
31
22
  const [showMuteAllPrompt, setShowMuteAllPrompt] = React.useState(false);
32
- /* @conditional-compile-remove(soft-mute) */
33
23
  const muteAllPromptLabels = useMemo(() => ({
34
24
  confirmButtonLabel: localeStrings.muteAllConfirmButtonLabel,
35
25
  heading: localeStrings.muteAllDialogTitle,
36
26
  text: localeStrings.muteAllDialogContent,
37
27
  cancelButtonLabel: localeStrings.muteAllCancelButtonLabel
38
28
  }), [localeStrings.muteAllConfirmButtonLabel, localeStrings.muteAllDialogTitle, localeStrings.muteAllDialogContent, localeStrings.muteAllCancelButtonLabel]);
39
- /* @conditional-compile-remove(soft-mute) */
40
29
  const onMuteAllPromptConfirm = useCallback(() => {
41
30
  onMuteAllRemoteParticipants && onMuteAllRemoteParticipants();
42
31
  setShowMuteAllPrompt(false);
43
32
  }, [onMuteAllRemoteParticipants, setShowMuteAllPrompt]);
44
33
  const sidePaneHeaderMenuProps = useMemo(() => {
45
34
  const menuItems = [];
46
- /* @conditional-compile-remove(soft-mute) */
47
35
  if (onMuteAllRemoteParticipants && remoteParticipants) {
48
36
  let isAllMuted = true;
49
37
  if (remoteParticipants) {
@@ -94,7 +82,7 @@ export const usePeoplePane = (props) => {
94
82
  return {
95
83
  items: menuItems
96
84
  };
97
- }, [onStopAllSpotlight, spotlightedParticipantUserIds, localeStrings.stopAllSpotlightMenuLabel, /* @conditional-compile-remove(soft-mute) */ localeStrings.muteAllMenuLabel, /* @conditional-compile-remove(soft-mute) */ onMuteAllRemoteParticipants, /* @conditional-compile-remove(soft-mute) */ setShowMuteAllPrompt, /* @conditional-compile-remove(soft-mute) */ remoteParticipants]);
85
+ }, [onStopAllSpotlight, spotlightedParticipantUserIds, localeStrings.stopAllSpotlightMenuLabel, localeStrings.muteAllMenuLabel, onMuteAllRemoteParticipants, setShowMuteAllPrompt, remoteParticipants]);
98
86
  const onRenderHeader = useCallback(() => React.createElement(SidePaneHeader, { onClose: closePane, headingText: localeStrings.peoplePaneTitle, dismissSidePaneButtonAriaLabel: localeStrings.dismissSidePaneButtonLabel, mobileView: mobileView !== null && mobileView !== void 0 ? mobileView : false }), [mobileView, closePane, localeStrings]);
99
87
  const onFetchParticipantMenuItemsForCallComposite = useCallback((participantId, myUserId, defaultMenuItems) => {
100
88
  let isPinned = pinnedParticipants === null || pinnedParticipants === void 0 ? void 0 : pinnedParticipants.includes(participantId);
@@ -102,7 +90,6 @@ export const usePeoplePane = (props) => {
102
90
  const isSpotlighted = spotlightedParticipantUserIds === null || spotlightedParticipantUserIds === void 0 ? void 0 : spotlightedParticipantUserIds.includes(participantId);
103
91
  const isMe = myUserId === participantId;
104
92
  isPinned = isSpotlighted ? false : isPinned;
105
- /* @conditional-compile-remove(soft-mute) */
106
93
  if (onMuteParticipant && !isMe && remoteParticipants && remoteParticipants[participantId]) {
107
94
  const participant = remoteParticipants[participantId];
108
95
  const isMuted = participant.isMuted;
@@ -219,11 +206,9 @@ export const usePeoplePane = (props) => {
219
206
  _defaultMenuItems.push(...defaultMenuItems);
220
207
  }
221
208
  return onFetchParticipantMenuItems ? onFetchParticipantMenuItems(participantId, myUserId, _defaultMenuItems) : _defaultMenuItems;
222
- }, [spotlightedParticipantUserIds, onStartLocalSpotlight, onStopLocalSpotlight, onStartRemoteSpotlight, onStopRemoteSpotlight, onFetchParticipantMenuItems, /* @conditional-compile-remove(soft-mute) */
223
- onMuteParticipant, /* @conditional-compile-remove(soft-mute) */
224
- remoteParticipants, localeStrings.stopSpotlightMenuLabel, localeStrings.stopSpotlightOnSelfMenuLabel, localeStrings.addSpotlightMenuLabel, localeStrings.startSpotlightMenuLabel, localeStrings.spotlightLimitReachedMenuTitle, maxParticipantsToSpotlight, pinnedParticipants, onPinParticipant, onUnpinParticipant, disablePinMenuItem, localeStrings.pinParticipantMenuLabel, localeStrings.pinParticipantLimitReachedMenuLabel, localeStrings.unpinParticipantMenuLabel, localeStrings.unpinParticipantMenuItemAriaLabel, localeStrings.pinParticipantMenuItemAriaLabel]);
209
+ }, [spotlightedParticipantUserIds, onStartLocalSpotlight, onStopLocalSpotlight, onStartRemoteSpotlight, onStopRemoteSpotlight, onFetchParticipantMenuItems, onMuteParticipant, remoteParticipants, localeStrings.stopSpotlightMenuLabel, localeStrings.stopSpotlightOnSelfMenuLabel, localeStrings.addSpotlightMenuLabel, localeStrings.startSpotlightMenuLabel, localeStrings.spotlightLimitReachedMenuTitle, maxParticipantsToSpotlight, pinnedParticipants, onPinParticipant, onUnpinParticipant, disablePinMenuItem, localeStrings.pinParticipantMenuLabel, localeStrings.pinParticipantLimitReachedMenuLabel, localeStrings.unpinParticipantMenuLabel, localeStrings.unpinParticipantMenuItemAriaLabel, localeStrings.pinParticipantMenuItemAriaLabel]);
225
210
  const onRenderContent = useCallback(() => {
226
- return React.createElement(React.Fragment, null, /* @conditional-compile-remove(soft-mute) */
211
+ return React.createElement(React.Fragment, null,
227
212
  React.createElement(Prompt, Object.assign({}, muteAllPromptLabels, { styles: {
228
213
  main: {
229
214
  minWidth: '22.5rem',
@@ -231,7 +216,7 @@ export const usePeoplePane = (props) => {
231
216
  }
232
217
  }, onConfirm: () => onMuteAllPromptConfirm(), isOpen: showMuteAllPrompt, onCancel: () => setShowMuteAllPrompt(false) })),
233
218
  React.createElement(PeoplePaneContent, { inviteLink: inviteLink, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItemsForCallComposite, setDrawerMenuItems: setDrawerMenuItems, mobileView: mobileView, setParticipantActioned: setParticipantActioned, participantListHeadingMoreButtonProps: sidePaneHeaderMenuProps, pinnedParticipants: pinnedParticipants }));
234
- }, [inviteLink, mobileView, onFetchAvatarPersonaData, onFetchParticipantMenuItemsForCallComposite, setDrawerMenuItems, setParticipantActioned, sidePaneHeaderMenuProps, pinnedParticipants, /* @conditional-compile-remove(soft-mute) */ showMuteAllPrompt, /* @conditional-compile-remove(soft-mute) */ setShowMuteAllPrompt, /* @conditional-compile-remove(soft-mute) */ muteAllPromptLabels, /* @conditional-compile-remove(soft-mute) */ onMuteAllPromptConfirm]);
219
+ }, [inviteLink, mobileView, onFetchAvatarPersonaData, onFetchParticipantMenuItemsForCallComposite, setDrawerMenuItems, setParticipantActioned, sidePaneHeaderMenuProps, pinnedParticipants, showMuteAllPrompt, setShowMuteAllPrompt, muteAllPromptLabels, onMuteAllPromptConfirm]);
235
220
  const sidePaneRenderer = useMemo(() => ({
236
221
  headerRenderer: onRenderHeader,
237
222
  contentRenderer: onRenderContent,