@azure/communication-react 1.14.1-alpha-202403210013 → 1.14.1-alpha-202403270012

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 (393) hide show
  1. package/dist/communication-react.d.ts +45 -39
  2. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-BgK9tOAk.js → RichTextSendBoxWrapper-Yty3fOoA.js} +6 -6
  3. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-BgK9tOAk.js.map → RichTextSendBoxWrapper-Yty3fOoA.js.map} +1 -1
  4. package/dist/dist-cjs/communication-react/{index-B_kqOVlM.js → index-BEomNZbT.js} +1864 -1452
  5. package/dist/dist-cjs/communication-react/index-BEomNZbT.js.map +1 -0
  6. package/dist/dist-cjs/communication-react/index.js +3 -3
  7. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  9. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +0 -2
  10. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  11. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +0 -1
  12. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  13. package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js +0 -2
  14. package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js.map +1 -1
  15. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +17 -16
  16. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  17. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +2 -4
  18. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  19. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +0 -2
  20. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  21. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  22. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +0 -6
  23. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  24. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.d.ts +0 -4
  25. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +1 -9
  26. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  27. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +12 -7
  28. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  29. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +3 -10
  30. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  31. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +1 -2
  32. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  33. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +1 -2
  34. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +0 -5
  35. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  36. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +2 -1
  37. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +19 -13
  38. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  39. package/dist/dist-esm/calling-stateful-client/src/Converter.js +0 -5
  40. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  41. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +0 -1
  42. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  43. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +0 -5
  44. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  45. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js +0 -2
  46. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js.map +1 -1
  47. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js +0 -3
  48. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  49. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  50. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +4 -1
  51. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  52. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +11 -14
  53. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  54. package/dist/dist-esm/communication-react/src/index.js +0 -1
  55. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  56. package/dist/dist-esm/react-components/src/components/AttachmentCard.d.ts +41 -0
  57. package/dist/dist-esm/react-components/src/components/AttachmentCard.js +108 -0
  58. package/dist/dist-esm/react-components/src/components/AttachmentCard.js.map +1 -0
  59. package/dist/dist-esm/react-components/src/components/AttachmentCardGroup.d.ts +16 -0
  60. package/dist/dist-esm/react-components/src/components/{FileCardGroup.js → AttachmentCardGroup.js} +5 -5
  61. package/dist/dist-esm/react-components/src/components/AttachmentCardGroup.js.map +1 -0
  62. package/dist/dist-esm/react-components/src/components/AttachmentDownloadCards.d.ts +49 -0
  63. package/dist/dist-esm/react-components/src/components/{FileDownloadCards.js → AttachmentDownloadCards.js} +28 -27
  64. package/dist/dist-esm/react-components/src/components/AttachmentDownloadCards.js.map +1 -0
  65. package/dist/dist-esm/react-components/src/components/{FileUploadCards.d.ts → AttachmentUploadCards.d.ts} +15 -15
  66. package/dist/dist-esm/react-components/src/components/AttachmentUploadCards.js +24 -0
  67. package/dist/dist-esm/react-components/src/components/AttachmentUploadCards.js.map +1 -0
  68. package/dist/dist-esm/react-components/src/components/CameraButton.js +0 -1
  69. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  70. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
  71. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  72. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.d.ts +1 -1
  73. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +10 -10
  74. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  75. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsRichTextEditBox.d.ts +1 -1
  76. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsRichTextEditBox.js +6 -6
  77. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsRichTextEditBox.js.map +1 -1
  78. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +1 -1
  79. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  80. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +1 -1
  81. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +6 -6
  82. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  83. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +10 -8
  84. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
  85. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +1 -1
  86. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  87. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +1 -1
  88. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +6 -6
  89. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  90. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +10 -8
  91. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  92. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +1 -10
  93. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  94. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  95. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +5 -3
  96. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  97. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.d.ts +40 -0
  98. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js +77 -0
  99. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js.map +1 -0
  100. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +4 -5
  101. package/dist/dist-esm/react-components/src/components/MessageThread.js +3 -3
  102. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  103. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +6 -4
  104. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  105. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +1 -1
  106. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -1
  107. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +3 -1
  108. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +21 -6
  109. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -1
  110. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +1 -8
  111. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +55 -30
  112. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -1
  113. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.d.ts +2 -2
  114. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +12 -12
  115. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +1 -1
  116. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +10 -10
  117. package/dist/dist-esm/react-components/src/components/SendBox.js +44 -34
  118. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  119. package/dist/dist-esm/react-components/src/components/SendBoxErrors.d.ts +2 -2
  120. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +7 -5
  121. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  122. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.d.ts +15 -0
  123. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js +58 -0
  124. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js.map +1 -0
  125. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.d.ts +14 -0
  126. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js +149 -0
  127. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js.map +1 -0
  128. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.d.ts +4 -0
  129. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +14 -2
  130. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  131. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/reactionUtils.d.ts +11 -0
  132. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/reactionUtils.js +23 -0
  133. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/reactionUtils.js.map +1 -0
  134. package/dist/dist-esm/react-components/src/components/VideoGallery.js +7 -3
  135. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  136. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +5 -6
  137. package/dist/dist-esm/react-components/src/components/VideoTile.js +3 -51
  138. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  139. package/dist/dist-esm/react-components/src/components/index.d.ts +7 -5
  140. package/dist/dist-esm/react-components/src/components/index.js +3 -3
  141. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  142. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.d.ts +9 -0
  143. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js +27 -0
  144. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js.map +1 -0
  145. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.d.ts +70 -0
  146. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js +259 -0
  147. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js.map +1 -0
  148. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.d.ts +1 -1
  149. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +2 -2
  150. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +1 -1
  151. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.d.ts +4 -0
  152. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js +5 -1
  153. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js.map +1 -1
  154. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.d.ts +2 -2
  155. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +5 -4
  156. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  157. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.d.ts +2 -2
  158. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +8 -1
  159. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  160. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +1 -1
  161. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +6 -5
  162. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  163. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +1 -1
  164. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +16 -13
  165. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  166. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +1 -1
  167. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +5 -3
  168. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  169. package/dist/dist-esm/react-components/src/components/utils/common.d.ts +3 -3
  170. package/dist/dist-esm/react-components/src/components/utils/common.js +5 -5
  171. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  172. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  173. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +6 -6
  174. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +6 -6
  175. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +6 -6
  176. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +6 -6
  177. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +6 -6
  178. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +6 -6
  179. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +6 -6
  180. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +6 -6
  181. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +6 -6
  182. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +6 -6
  183. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +6 -6
  184. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +6 -6
  185. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +6 -6
  186. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +6 -6
  187. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +6 -6
  188. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +6 -6
  189. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +6 -6
  190. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +6 -6
  191. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +6 -6
  192. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +6 -6
  193. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +6 -6
  194. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js +1 -1
  195. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js.map +1 -1
  196. package/dist/dist-esm/react-components/src/theming/icons.js +3 -10
  197. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  198. package/dist/dist-esm/react-components/src/types/Attachment.d.ts +151 -0
  199. package/dist/dist-esm/{react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js → react-components/src/types/Attachment.js} +1 -1
  200. package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -0
  201. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -1
  202. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  203. package/dist/dist-esm/react-components/src/types/ReactionTypes.d.ts +5 -0
  204. package/dist/dist-esm/react-components/src/types/ReactionTypes.js.map +1 -1
  205. package/dist/dist-esm/react-components/src/types/index.d.ts +1 -0
  206. package/dist/dist-esm/react-components/src/types/index.js +1 -0
  207. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  208. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +3 -3
  209. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  210. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  211. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +2 -3
  212. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +18 -60
  213. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  214. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  215. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js +0 -2
  216. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js.map +1 -1
  217. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +3 -9
  218. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  219. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  220. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +14 -65
  221. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  222. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +2 -9
  223. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  224. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.d.ts +1 -1
  225. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +10 -10
  226. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  227. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +0 -9
  228. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  229. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts +2 -0
  230. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +25 -13
  231. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  232. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.d.ts +10 -2
  233. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js +3 -3
  234. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js.map +1 -1
  235. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.d.ts +0 -1
  236. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +1 -2
  237. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
  238. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +12 -7
  239. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  240. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +4 -18
  241. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -1
  242. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +2 -9
  243. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  244. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +2 -22
  245. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  246. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +1 -6
  247. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  248. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +1 -6
  249. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  250. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +6 -9
  251. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  252. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  253. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +2 -0
  254. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +2 -2
  255. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  256. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +5 -27
  257. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  258. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js +0 -3
  259. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +1 -1
  260. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +5 -0
  261. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +5 -1
  262. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  263. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +2 -2
  264. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +3 -12
  265. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  266. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.d.ts +15 -0
  267. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.js +32 -0
  268. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.js.map +1 -0
  269. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +10 -9
  270. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +28 -3
  271. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  272. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +0 -1
  273. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  274. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +0 -8
  275. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  276. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.d.ts +6 -0
  277. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js +36 -0
  278. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js.map +1 -1
  279. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/useConsoleErrors.js +0 -3
  280. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/useConsoleErrors.js.map +1 -1
  281. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +3 -3
  282. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  283. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +1 -2
  284. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +22 -35
  285. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  286. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +1 -1
  287. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  288. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +0 -8
  289. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  290. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +1 -1
  291. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +8 -8
  292. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  293. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +3 -12
  294. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  295. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +4 -4
  296. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  297. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts +1 -1
  298. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +10 -11
  299. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  300. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  301. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +1 -1
  302. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +22 -22
  303. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  304. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.d.ts +2 -2
  305. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +11 -8
  306. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  307. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  308. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +1 -1
  309. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  310. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.d.ts +2 -69
  311. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
  312. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +4 -4
  313. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  314. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +0 -1
  315. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js +0 -1
  316. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  317. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +3 -3
  318. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  319. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  320. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +1 -1
  321. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -1
  322. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +5 -10
  323. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  324. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +7 -8
  325. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  326. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +11 -15
  327. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  328. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.d.ts +4 -0
  329. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +14 -3
  330. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  331. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +2 -0
  332. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +16 -17
  333. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  334. package/dist/dist-esm/react-composites/src/composites/common/SendBox.js +8 -8
  335. package/dist/dist-esm/react-composites/src/composites/common/SendBox.js.map +1 -1
  336. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.d.ts +0 -3
  337. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +1 -6
  338. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  339. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.d.ts +0 -1
  340. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +1 -4
  341. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  342. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +2 -29
  343. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
  344. package/dist/dist-esm/react-composites/src/composites/common/icons.js +2 -10
  345. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  346. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.js +0 -1
  347. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.js.map +1 -1
  348. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.js +0 -1
  349. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.js.map +1 -1
  350. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.d.ts +5 -1
  351. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +29 -0
  352. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  353. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +5 -0
  354. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  355. package/dist/dist-esm/react-composites/src/composites/index.js +0 -2
  356. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  357. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +2 -0
  358. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +2 -0
  359. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +2 -0
  360. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +2 -0
  361. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +2 -0
  362. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +2 -0
  363. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +2 -0
  364. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +2 -0
  365. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +2 -0
  366. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +2 -0
  367. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +2 -0
  368. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +2 -0
  369. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +2 -0
  370. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +2 -0
  371. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +2 -0
  372. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +2 -0
  373. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +2 -0
  374. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +2 -0
  375. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +2 -0
  376. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +2 -0
  377. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +2 -0
  378. package/package.json +1 -1
  379. package/dist/dist-cjs/communication-react/index-B_kqOVlM.js.map +0 -1
  380. package/dist/dist-esm/react-components/src/components/FileCard.d.ts +0 -39
  381. package/dist/dist-esm/react-components/src/components/FileCard.js +0 -92
  382. package/dist/dist-esm/react-components/src/components/FileCard.js.map +0 -1
  383. package/dist/dist-esm/react-components/src/components/FileCardGroup.d.ts +0 -16
  384. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +0 -1
  385. package/dist/dist-esm/react-components/src/components/FileDownloadCards.d.ts +0 -114
  386. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +0 -1
  387. package/dist/dist-esm/react-components/src/components/FileUploadCards.js +0 -34
  388. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +0 -1
  389. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.d.ts +0 -5
  390. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js +0 -17
  391. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js.map +0 -1
  392. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.d.ts +0 -10
  393. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js.map +0 -1
@@ -33,12 +33,9 @@ import { ConfigurationPageErrorBar } from '../components/ConfigurationPageErrorB
33
33
  import { getDevicePermissionState } from '../utils';
34
34
  /* @conditional-compile-remove(call-readiness) */
35
35
  import { CallReadinessModal, CallReadinessModalFallBack } from '../components/CallReadinessModal';
36
- /* @conditional-compile-remove(video-background-effects) */
37
36
  import { VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM, useVideoEffectsPane } from '../components/SidePane/useVideoEffectsPane';
38
37
  import { SidePane } from '../components/SidePane/SidePane';
39
- /* @conditional-compile-remove(video-background-effects) */
40
38
  import { useIsParticularSidePaneOpen } from '../components/SidePane/SidePaneProvider';
41
- /* @conditional-compile-remove(video-background-effects) */
42
39
  import { localVideoSelector } from '../../CallComposite/selectors/localVideoStreamSelector';
43
40
  import { SvgWithWordWrapping } from '../components/SvgWithWordWrapping';
44
41
  /**
@@ -67,21 +64,16 @@ export const ConfigurationPage = (props) => {
67
64
  /* @conditional-compile-remove(unsupported-browser) */
68
65
  const environmentInfo = adapter.getState().environmentInfo;
69
66
  let disableStartCallButton = !microphonePermissionGranted || ((_a = deviceState.microphones) === null || _a === void 0 ? void 0 : _a.length) === 0;
70
- /* @conditional-compile-remove(rooms) */
71
67
  const role = (_b = adapter.getState().call) === null || _b === void 0 ? void 0 : _b.role;
72
- /* @conditional-compile-remove(video-background-effects) */
73
68
  const isCameraOn = useSelector(localVideoSelector).isAvailable;
74
69
  let filteredLatestErrors = props.latestErrors;
75
- /* @conditional-compile-remove(rooms) */
76
70
  // TODO: move this logic to the error bar selector once role is plumbed from the headless SDK
77
71
  if (role !== 'Consumer') {
78
72
  filteredLatestErrors = filteredLatestErrors.filter((e) => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari');
79
73
  }
80
- /* @conditional-compile-remove(video-background-effects) */
81
74
  if ((useIsParticularSidePaneOpen('videoeffects') || !isCameraOn) && errorBarProps) {
82
75
  filteredLatestErrors = filteredLatestErrors.filter((e) => e.type !== 'unableToStartVideoEffect');
83
76
  }
84
- /* @conditional-compile-remove(rooms) */
85
77
  if (role === 'Consumer') {
86
78
  // If user's role permissions do not allow access to the microphone button then DO NOT disable the start call button
87
79
  // because microphone device permission is not needed for the user's role
@@ -102,9 +94,7 @@ export const ConfigurationPage = (props) => {
102
94
  const title = locale.strings.call.configurationPageTitle.length > 0 ? (React.createElement(Stack.Item, { className: mobileView ? titleContainerStyleMobile(theme) : titleContainerStyleDesktop(theme) },
103
95
  React.createElement(SvgWithWordWrapping, { width: mobileView ? 325 : 445, lineHeightPx: 16 * 1.5, bufferHeightPx: 16, text: locale.strings.call.configurationPageTitle }))) : (React.createElement(React.Fragment, null));
104
96
  const callDescription = locale.strings.call.configurationPageCallDetails && (React.createElement(Stack.Item, { className: mobileView ? callDetailsStyleMobile(theme) : callDetailsStyleDesktop(theme) }, locale.strings.call.configurationPageCallDetails));
105
- let mobileWithPreview = mobileView;
106
- /* @conditional-compile-remove(rooms) */
107
- mobileWithPreview = mobileWithPreview && role !== 'Consumer';
97
+ const mobileWithPreview = mobileView && role !== 'Consumer';
108
98
  /* @conditional-compile-remove(call-readiness) */
109
99
  const permissionsState = {
110
100
  // fall back to using cameraPermissionGranted and microphonePermissionGranted if permission API is not supported
@@ -141,13 +131,11 @@ export const ConfigurationPage = (props) => {
141
131
  }, 2000);
142
132
  /* @conditional-compile-remove(call-readiness) */
143
133
  const forceShowingCheckPermissions = !minimumFallbackTimerElapsed;
144
- /* @conditional-compile-remove(video-background-effects) */
145
134
  const { toggleVideoEffectsPane, closeVideoEffectsPane, isVideoEffectsPaneOpen } = useVideoEffectsPane(props.updateSidePaneRenderer, mobileView, props.latestErrors, props.onDismissError);
146
135
  const startCall = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
147
- /* @conditional-compile-remove(video-background-effects) */
148
136
  closeVideoEffectsPane();
149
137
  startCallHandler();
150
- }), [startCallHandler, /* @conditional-compile-remove(video-background-effects) */ closeVideoEffectsPane]);
138
+ }), [startCallHandler, closeVideoEffectsPane]);
151
139
  const panelLayerProps = useMemo(() => ({
152
140
  hostId: modalLayerHostId
153
141
  }), [modalLayerHostId]);
@@ -200,8 +188,7 @@ export const ConfigurationPage = (props) => {
200
188
  title,
201
189
  callDescription),
202
190
  React.createElement(Stack, { horizontal: !mobileWithPreview, horizontalAlign: mobileWithPreview ? 'stretch' : 'center', verticalFill: mobileWithPreview, tokens: deviceConfigurationStackTokens },
203
- localPreviewTrampoline(mobileWithPreview,
204
- /* @conditional-compile-remove(rooms) */ !!(role === 'Consumer')),
191
+ localPreviewTrampoline(mobileWithPreview, !!(role === 'Consumer')),
205
192
  React.createElement(Stack, { styles: mobileView ? undefined : configurationSectionStyle },
206
193
  !mobileWithPreview && (React.createElement(Stack, { className: mobileView
207
194
  ? undefined
@@ -213,22 +200,13 @@ export const ConfigurationPage = (props) => {
213
200
  /* @conditional-compile-remove(call-readiness) */
214
201
  onClickEnableDevicePermission: () => {
215
202
  setIsPermissionsModalDismissed(true);
216
- },
217
- /* @conditional-compile-remove(video-background-effects) */
218
- onClickVideoEffects: toggleVideoEffectsPane })))),
203
+ }, onClickVideoEffects: toggleVideoEffectsPane })))),
219
204
  React.createElement(Stack, { styles: mobileWithPreview ? startCallButtonContainerStyleMobile : startCallButtonContainerStyleDesktop, horizontalAlign: mobileWithPreview ? 'stretch' : 'end' },
220
205
  React.createElement(StartCallButton, { className: mobileWithPreview ? startCallButtonStyleMobile : startCallButtonStyleDesktop, onClick: startCall, disabled: disableStartCallButton, hideIcon: true }))))),
221
- React.createElement(Panel
222
- /* @conditional-compile-remove(video-background-effects) */
223
- , {
224
- /* @conditional-compile-remove(video-background-effects) */
225
- isOpen: isVideoEffectsPaneOpen, hasCloseButton: false, isBlocking: false, isHiddenOnDismiss: false, styles: panelStyles, focusTrapZoneProps: panelFocusProps, layerProps: panelLayerProps, type: PanelType.custom,
226
- /* @conditional-compile-remove(video-background-effects) */
227
- customWidth: `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` },
206
+ React.createElement(Panel, { isOpen: isVideoEffectsPaneOpen, hasCloseButton: false, isBlocking: false, isHiddenOnDismiss: false, styles: panelStyles, focusTrapZoneProps: panelFocusProps, layerProps: panelLayerProps, type: PanelType.custom, customWidth: `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` },
228
207
  React.createElement(SidePane, { mobileView: props.mobileView, updateSidePaneRenderer: props.updateSidePaneRenderer, maxWidth: `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem`, minWidth: `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` })))));
229
208
  };
230
209
  const localPreviewTrampoline = (mobileView, doNotShow) => {
231
- /* @conditional-compile-remove(rooms) */
232
210
  if (doNotShow) {
233
211
  return undefined;
234
212
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigurationPage.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/pages/ConfigurationPage.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { useCallback, useMemo } from 'react';\n/* @conditional-compile-remove(call-readiness) */\nimport { useState } from 'react';\nimport { useAdaptedSelector } from '../hooks/useAdaptedSelector';\nimport { useHandlers } from '../hooks/useHandlers';\nimport { LocalDeviceSettings } from '../components/LocalDeviceSettings';\nimport { StartCallButton } from '../components/StartCallButton';\nimport { devicePermissionSelector } from '../selectors/devicePermissionSelector';\nimport { useSelector } from '../hooks/useSelector';\nimport { ActiveErrorMessage, DevicesButton, ErrorBar, useTheme } from '@internal/react-components';\nimport { getCallingSelector } from '@internal/calling-component-bindings';\nimport { Image, Panel, PanelType, Stack } from '@fluentui/react';\nimport {\n callDetailsContainerStyles,\n configurationCenteredContent,\n configurationSectionStyle,\n deviceConfigurationStackTokens,\n fillWidth,\n logoStyles,\n panelFocusProps,\n panelStyles,\n startCallButtonStyleDesktop\n} from '../styles/CallConfiguration.styles';\nimport { LocalPreview } from '../components/LocalPreview';\nimport {\n callDetailsStyleDesktop,\n callDetailsStyleMobile,\n configurationStackTokensDesktop,\n configurationStackTokensMobile,\n configurationContainerStyle,\n selectionContainerStyle,\n startCallButtonContainerStyleDesktop,\n startCallButtonContainerStyleMobile,\n startCallButtonStyleMobile,\n titleContainerStyleDesktop,\n titleContainerStyleMobile\n} from '../styles/CallConfiguration.styles';\nimport { useLocale } from '../../localization';\nimport { bannerNotificationStyles } from '../styles/CallPage.styles';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\n/* @conditional-compile-remove(call-readiness) */\nimport { DeviceCheckOptions } from '../CallComposite';\nimport { ConfigurationPageErrorBar } from '../components/ConfigurationPageErrorBar';\n/* @conditional-compile-remove(call-readiness) */\nimport { getDevicePermissionState } from '../utils';\n/* @conditional-compile-remove(call-readiness) */\nimport { CallReadinessModal, CallReadinessModalFallBack } from '../components/CallReadinessModal';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM, useVideoEffectsPane } from '../components/SidePane/useVideoEffectsPane';\nimport { SidePane } from '../components/SidePane/SidePane';\nimport { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';\n/* @conditional-compile-remove(video-background-effects) */\nimport { useIsParticularSidePaneOpen } from '../components/SidePane/SidePaneProvider';\n/* @conditional-compile-remove(video-background-effects) */\nimport { localVideoSelector } from '../../CallComposite/selectors/localVideoStreamSelector';\n/* @conditional-compile-remove(capabilities) */\nimport { CapabilitiesChangeNotificationBarProps } from '../components/CapabilitiesChangedNotificationBar';\nimport { SvgWithWordWrapping } from '../components/SvgWithWordWrapping';\nimport { EnvironmentInfo } from '@azure/communication-calling';\n\n/**\n * @private\n */\nexport interface ConfigurationPageProps {\n mobileView: boolean;\n startCallHandler(): void;\n updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n latestErrors: ActiveErrorMessage[];\n onDismissError: (error: ActiveErrorMessage) => void;\n modalLayerHostId: string;\n /* @conditional-compile-remove(call-readiness) */\n deviceChecks?: DeviceCheckOptions;\n /* @conditional-compile-remove(call-readiness) */\n onPermissionsTroubleshootingClick?: (permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n }) => void;\n /* @conditional-compile-remove(call-readiness) */\n onNetworkingTroubleShootingClick?: () => void;\n /* @conditional-compile-remove(capabilities) */\n capabilitiesChangedNotificationBarProps?: CapabilitiesChangeNotificationBarProps;\n /* @conditional-compile-remove(custom-branding) */\n logo?: {\n url: string;\n alt?: string;\n shape?: 'unset' | 'circle';\n };\n /* @conditional-compile-remove(custom-branding) */\n backgroundImage?: {\n url: string;\n };\n}\n\n/**\n * @private\n */\nexport const ConfigurationPage = (props: ConfigurationPageProps): JSX.Element => {\n const {\n startCallHandler,\n mobileView,\n modalLayerHostId,\n /* @conditional-compile-remove(call-readiness) */ deviceChecks,\n /* @conditional-compile-remove(call-readiness) */ onPermissionsTroubleshootingClick,\n /* @conditional-compile-remove(call-readiness) */ onNetworkingTroubleShootingClick\n } = props;\n\n const theme = useTheme();\n\n const options = useAdaptedSelector(getCallingSelector(DevicesButton));\n const localDeviceSettingsHandlers = useHandlers(LocalDeviceSettings);\n const { video: cameraPermissionGranted, audio: microphonePermissionGranted } = useSelector(devicePermissionSelector);\n /* @conditional-compile-remove(call-readiness) */\n // use permission API to get video and audio permission state\n const [videoState, setVideoState] = useState<PermissionState | 'unsupported' | undefined>(undefined);\n /* @conditional-compile-remove(call-readiness) */\n const [audioState, setAudioState] = useState<PermissionState | 'unsupported' | undefined>(undefined);\n /* @conditional-compile-remove(call-readiness) */\n getDevicePermissionState(setVideoState, setAudioState);\n\n const errorBarProps = usePropsFor(ErrorBar);\n const adapter = useAdapter();\n const deviceState = adapter.getState().devices;\n /* @conditional-compile-remove(unsupported-browser) */\n const environmentInfo = adapter.getState().environmentInfo;\n\n let disableStartCallButton = !microphonePermissionGranted || deviceState.microphones?.length === 0;\n /* @conditional-compile-remove(rooms) */\n const role = adapter.getState().call?.role;\n\n /* @conditional-compile-remove(video-background-effects) */\n const isCameraOn = useSelector(localVideoSelector).isAvailable;\n\n let filteredLatestErrors: ActiveErrorMessage[] = props.latestErrors;\n\n /* @conditional-compile-remove(rooms) */\n // TODO: move this logic to the error bar selector once role is plumbed from the headless SDK\n if (role !== 'Consumer') {\n filteredLatestErrors = filteredLatestErrors.filter(\n (e) => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari'\n );\n }\n\n /* @conditional-compile-remove(video-background-effects) */\n if ((useIsParticularSidePaneOpen('videoeffects') || !isCameraOn) && errorBarProps) {\n filteredLatestErrors = filteredLatestErrors.filter((e) => e.type !== 'unableToStartVideoEffect');\n }\n\n /* @conditional-compile-remove(rooms) */\n if (role === 'Consumer') {\n // If user's role permissions do not allow access to the microphone button then DO NOT disable the start call button\n // because microphone device permission is not needed for the user's role\n disableStartCallButton = false;\n }\n\n /* @conditional-compile-remove(call-readiness) */\n // Overrides role permissions if CallCompositeOptions deviceChecks are set\n if (deviceChecks) {\n if (\n ['doNotPrompt', 'optional'].includes(deviceChecks.camera) &&\n ['doNotPrompt', 'optional'].includes(deviceChecks.microphone)\n ) {\n disableStartCallButton = false;\n } else if (deviceChecks.camera === 'required') {\n disableStartCallButton = !cameraPermissionGranted || deviceState.cameras?.length === 0;\n }\n }\n\n const locale = useLocale();\n const title =\n locale.strings.call.configurationPageTitle.length > 0 ? (\n <Stack.Item className={mobileView ? titleContainerStyleMobile(theme) : titleContainerStyleDesktop(theme)}>\n <SvgWithWordWrapping\n width={mobileView ? 325 : 445}\n lineHeightPx={16 * 1.5}\n bufferHeightPx={16}\n text={locale.strings.call.configurationPageTitle}\n />\n </Stack.Item>\n ) : (\n <></>\n );\n\n const callDescription = locale.strings.call.configurationPageCallDetails && (\n <Stack.Item className={mobileView ? callDetailsStyleMobile(theme) : callDetailsStyleDesktop(theme)}>\n {locale.strings.call.configurationPageCallDetails}\n </Stack.Item>\n );\n\n let mobileWithPreview = mobileView;\n /* @conditional-compile-remove(rooms) */\n mobileWithPreview = mobileWithPreview && role !== 'Consumer';\n\n /* @conditional-compile-remove(call-readiness) */\n const permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n } = {\n // fall back to using cameraPermissionGranted and microphonePermissionGranted if permission API is not supported\n camera:\n videoState && videoState !== 'unsupported'\n ? cameraPermissionGranted !== false\n ? videoState\n : 'denied'\n : cameraPermissionGranted !== false\n ? cameraPermissionGranted\n ? 'granted'\n : 'prompt'\n : 'denied',\n microphone:\n audioState && audioState !== 'unsupported'\n ? microphonePermissionGranted !== false\n ? audioState\n : 'denied'\n : microphonePermissionGranted !== false\n ? microphonePermissionGranted\n ? 'granted'\n : 'prompt'\n : 'denied'\n };\n /* @conditional-compile-remove(call-readiness) */\n const networkErrors = errorBarProps.activeErrorMessages.filter((message) => message.type === 'callNetworkQualityLow');\n\n /* @conditional-compile-remove(call-readiness) */\n const [isPermissionsModalDismissed, setIsPermissionsModalDismissed] = useState(true);\n\n // When permission API is not available, we want to show screen saying checking for access (disappears on its own)\n // then based on permission setting, we show permission denied or nothing\n /* @conditional-compile-remove(call-readiness) */\n const [minimumFallbackTimerElapsed, setMinimumFallbackTimerElapsed] = useState(false);\n /* @conditional-compile-remove(call-readiness) */\n setTimeout(() => {\n setMinimumFallbackTimerElapsed(true);\n }, 2000);\n /* @conditional-compile-remove(call-readiness) */\n const forceShowingCheckPermissions = !minimumFallbackTimerElapsed;\n\n /* @conditional-compile-remove(video-background-effects) */\n const { toggleVideoEffectsPane, closeVideoEffectsPane, isVideoEffectsPaneOpen } = useVideoEffectsPane(\n props.updateSidePaneRenderer,\n mobileView,\n props.latestErrors,\n props.onDismissError\n );\n\n const startCall = useCallback(async () => {\n /* @conditional-compile-remove(video-background-effects) */\n closeVideoEffectsPane();\n startCallHandler();\n }, [startCallHandler, /* @conditional-compile-remove(video-background-effects) */ closeVideoEffectsPane]);\n\n const panelLayerProps = useMemo(\n () => ({\n hostId: modalLayerHostId\n }),\n [modalLayerHostId]\n );\n\n const filteredErrorBarProps = useMemo(\n () => ({\n ...errorBarProps,\n activeErrorMessages: filteredLatestErrors\n }),\n [errorBarProps, filteredLatestErrors]\n );\n\n const containerStyles = useMemo(\n () =>\n configurationContainerStyle(\n !mobileView,\n /* @conditional-compile-remove(custom-branding) */\n props.backgroundImage?.url\n ),\n [mobileView, /* @conditional-compile-remove(custom-branding) */ props.backgroundImage?.url]\n );\n\n return (\n <Stack styles={containerStyles}>\n <Stack styles={bannerNotificationStyles}>\n <ConfigurationPageErrorBar\n /* @conditional-compile-remove(call-readiness) */\n // show trouble shooting error bar when encountering network error/ permission error\n showTroubleShootingErrorBar={\n !cameraPermissionGranted || !microphonePermissionGranted || networkErrors.length > 0\n }\n /* @conditional-compile-remove(call-readiness) */\n permissionsState={permissionsState}\n /* @conditional-compile-remove(call-readiness) */\n onNetworkingTroubleShootingClick={onNetworkingTroubleShootingClick}\n /* @conditional-compile-remove(call-readiness) */\n onPermissionsTroubleshootingClick={onPermissionsTroubleshootingClick}\n errorBarProps={filteredErrorBarProps}\n onDismissError={props.onDismissError}\n />\n </Stack>\n {\n /* @conditional-compile-remove(call-readiness) */\n // show the following screen if permission API is availible (not unsupported) and videoState, audioState is assigned values\n videoState && videoState !== 'unsupported' && audioState && audioState !== 'unsupported' && (\n <CallReadinessModal\n modalLayerHostId={modalLayerHostId}\n mobileView={mobileView}\n /* @conditional-compile-remove(unsupported-browser) */\n environmentInfo={environmentInfo}\n permissionsState={permissionsState}\n isPermissionsModalDismissed={isPermissionsModalDismissed}\n setIsPermissionsModalDismissed={setIsPermissionsModalDismissed}\n onPermissionsTroubleshootingClick={onPermissionsTroubleshootingClick}\n />\n )\n }\n\n {\n /* @conditional-compile-remove(call-readiness) */\n // show the following screen if permission API is not availible (unsupported) and videoState, audioState is assigned values\n videoState && audioState && (videoState === 'unsupported' || audioState === 'unsupported') && (\n <CallReadinessModalFallBack\n /* @conditional-compile-remove(call-readiness) */\n modalLayerHostId={modalLayerHostId}\n mobileView={mobileView}\n checkPermissionModalShowing={forceShowingCheckPermissions}\n permissionsState={permissionsState}\n isPermissionsModalDismissed={isPermissionsModalDismissed}\n /* @conditional-compile-remove(unsupported-browser) */\n environmentInfo={environmentInfo}\n setIsPermissionsModalDismissed={setIsPermissionsModalDismissed}\n onPermissionsTroubleshootingClick={onPermissionsTroubleshootingClick}\n />\n )\n }\n\n <Stack verticalFill grow horizontal className={fillWidth}>\n <Stack\n className={configurationCenteredContent(\n mobileWithPreview,\n /* @conditional-compile-remove(custom-branding) */\n !!props.logo\n )}\n verticalAlign=\"center\"\n verticalFill={mobileWithPreview}\n tokens={mobileWithPreview ? configurationStackTokensMobile : configurationStackTokensDesktop}\n >\n <Stack.Item styles={callDetailsContainerStyles}>\n <Logo\n /* @conditional-compile-remove(custom-branding) */\n logo={props.logo}\n />\n {title}\n {callDescription}\n </Stack.Item>\n <Stack\n horizontal={!mobileWithPreview}\n horizontalAlign={mobileWithPreview ? 'stretch' : 'center'}\n verticalFill={mobileWithPreview}\n tokens={deviceConfigurationStackTokens}\n >\n {localPreviewTrampoline(\n mobileWithPreview,\n /* @conditional-compile-remove(rooms) */ !!(role === 'Consumer')\n )}\n <Stack styles={mobileView ? undefined : configurationSectionStyle}>\n {!mobileWithPreview && (\n <Stack\n className={\n mobileView\n ? undefined\n : selectionContainerStyle(\n theme,\n isSafariBrowserEnvironmentTrampoline(\n /* @conditional-compile-remove(unsupported-browser) */ environmentInfo\n )\n )\n }\n >\n <LocalDeviceSettings\n {...options}\n {...localDeviceSettingsHandlers}\n cameraPermissionGranted={cameraPermissionGrantedTrampoline(\n cameraPermissionGranted,\n /* @conditional-compile-remove(call-readiness) */ videoState\n )}\n microphonePermissionGranted={micPermissionGrantedTrampoline(\n microphonePermissionGranted,\n /* @conditional-compile-remove(call-readiness) */ audioState\n )}\n /* @conditional-compile-remove(call-readiness) */\n onClickEnableDevicePermission={() => {\n setIsPermissionsModalDismissed(true);\n }}\n /* @conditional-compile-remove(video-background-effects) */\n onClickVideoEffects={toggleVideoEffectsPane}\n />\n </Stack>\n )}\n <Stack\n styles={mobileWithPreview ? startCallButtonContainerStyleMobile : startCallButtonContainerStyleDesktop}\n horizontalAlign={mobileWithPreview ? 'stretch' : 'end'}\n >\n <StartCallButton\n className={mobileWithPreview ? startCallButtonStyleMobile : startCallButtonStyleDesktop}\n onClick={startCall}\n disabled={disableStartCallButton}\n hideIcon={true}\n />\n </Stack>\n </Stack>\n </Stack>\n </Stack>\n <Panel\n /* @conditional-compile-remove(video-background-effects) */\n isOpen={isVideoEffectsPaneOpen}\n hasCloseButton={false}\n isBlocking={false}\n isHiddenOnDismiss={false}\n styles={panelStyles}\n focusTrapZoneProps={panelFocusProps}\n layerProps={panelLayerProps}\n type={PanelType.custom}\n /* @conditional-compile-remove(video-background-effects) */\n customWidth={`${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem`}\n >\n <SidePane\n mobileView={props.mobileView}\n updateSidePaneRenderer={props.updateSidePaneRenderer}\n maxWidth={`${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem`}\n minWidth={`${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem`}\n />\n </Panel>\n </Stack>\n </Stack>\n );\n};\n\nconst localPreviewTrampoline = (mobileView: boolean, doNotShow?: boolean): JSX.Element | undefined => {\n /* @conditional-compile-remove(rooms) */\n if (doNotShow) {\n return undefined;\n }\n return <LocalPreview mobileView={mobileView} showDevicesButton={mobileView} />;\n};\n\nconst cameraPermissionGrantedTrampoline = (\n cameraPermissionGranted: boolean | undefined,\n videoState?: PermissionState | 'unsupported' | undefined\n): boolean | undefined => {\n /* @conditional-compile-remove(call-readiness) */\n return videoState && videoState !== 'unsupported' ? videoState === 'granted' : cameraPermissionGranted;\n\n return cameraPermissionGranted;\n};\n\nconst micPermissionGrantedTrampoline = (\n microphonePermissionGranted: boolean | undefined,\n audioState?: PermissionState | 'unsupported' | undefined\n): boolean | undefined => {\n /* @conditional-compile-remove(call-readiness) */\n return audioState && audioState !== 'unsupported' ? audioState === 'granted' : microphonePermissionGranted;\n\n return microphonePermissionGranted;\n};\n\nconst Logo = (props: { logo?: { url: string; alt?: string; shape?: 'unset' | 'circle' } }): JSX.Element => {\n if (!props.logo) {\n return <></>;\n }\n return <Image styles={logoStyles(props.logo.shape)} src={props.logo.url} alt={props.logo.alt} />;\n};\n\nconst isSafariBrowserEnvironmentTrampoline = (environmentInfo?: EnvironmentInfo): boolean | undefined => {\n /* @conditional-compile-remove(unsupported-browser) */\n return environmentInfo && environmentInfo?.environment.browser.toLowerCase() === 'safari';\n\n return false;\n};\n"]}
1
+ {"version":3,"file":"ConfigurationPage.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/pages/ConfigurationPage.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { useCallback, useMemo } from 'react';\n/* @conditional-compile-remove(call-readiness) */\nimport { useState } from 'react';\nimport { useAdaptedSelector } from '../hooks/useAdaptedSelector';\nimport { useHandlers } from '../hooks/useHandlers';\nimport { LocalDeviceSettings } from '../components/LocalDeviceSettings';\nimport { StartCallButton } from '../components/StartCallButton';\nimport { devicePermissionSelector } from '../selectors/devicePermissionSelector';\nimport { useSelector } from '../hooks/useSelector';\nimport { ActiveErrorMessage, DevicesButton, ErrorBar, useTheme } from '@internal/react-components';\nimport { getCallingSelector } from '@internal/calling-component-bindings';\nimport { Image, Panel, PanelType, Stack } from '@fluentui/react';\nimport {\n callDetailsContainerStyles,\n configurationCenteredContent,\n configurationSectionStyle,\n deviceConfigurationStackTokens,\n fillWidth,\n logoStyles,\n panelFocusProps,\n panelStyles,\n startCallButtonStyleDesktop\n} from '../styles/CallConfiguration.styles';\nimport { LocalPreview } from '../components/LocalPreview';\nimport {\n callDetailsStyleDesktop,\n callDetailsStyleMobile,\n configurationStackTokensDesktop,\n configurationStackTokensMobile,\n configurationContainerStyle,\n selectionContainerStyle,\n startCallButtonContainerStyleDesktop,\n startCallButtonContainerStyleMobile,\n startCallButtonStyleMobile,\n titleContainerStyleDesktop,\n titleContainerStyleMobile\n} from '../styles/CallConfiguration.styles';\nimport { useLocale } from '../../localization';\nimport { bannerNotificationStyles } from '../styles/CallPage.styles';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\n/* @conditional-compile-remove(call-readiness) */\nimport { DeviceCheckOptions } from '../CallComposite';\nimport { ConfigurationPageErrorBar } from '../components/ConfigurationPageErrorBar';\n/* @conditional-compile-remove(call-readiness) */\nimport { getDevicePermissionState } from '../utils';\n/* @conditional-compile-remove(call-readiness) */\nimport { CallReadinessModal, CallReadinessModalFallBack } from '../components/CallReadinessModal';\n\nimport { VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM, useVideoEffectsPane } from '../components/SidePane/useVideoEffectsPane';\nimport { SidePane } from '../components/SidePane/SidePane';\nimport { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';\n\nimport { useIsParticularSidePaneOpen } from '../components/SidePane/SidePaneProvider';\n\nimport { localVideoSelector } from '../../CallComposite/selectors/localVideoStreamSelector';\n/* @conditional-compile-remove(capabilities) */\nimport { CapabilitiesChangeNotificationBarProps } from '../components/CapabilitiesChangedNotificationBar';\nimport { SvgWithWordWrapping } from '../components/SvgWithWordWrapping';\nimport { EnvironmentInfo } from '@azure/communication-calling';\n\n/**\n * @private\n */\nexport interface ConfigurationPageProps {\n mobileView: boolean;\n startCallHandler(): void;\n updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n latestErrors: ActiveErrorMessage[];\n onDismissError: (error: ActiveErrorMessage) => void;\n modalLayerHostId: string;\n /* @conditional-compile-remove(call-readiness) */\n deviceChecks?: DeviceCheckOptions;\n /* @conditional-compile-remove(call-readiness) */\n onPermissionsTroubleshootingClick?: (permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n }) => void;\n /* @conditional-compile-remove(call-readiness) */\n onNetworkingTroubleShootingClick?: () => void;\n /* @conditional-compile-remove(capabilities) */\n capabilitiesChangedNotificationBarProps?: CapabilitiesChangeNotificationBarProps;\n /* @conditional-compile-remove(custom-branding) */\n logo?: {\n url: string;\n alt?: string;\n shape?: 'unset' | 'circle';\n };\n /* @conditional-compile-remove(custom-branding) */\n backgroundImage?: {\n url: string;\n };\n}\n\n/**\n * @private\n */\nexport const ConfigurationPage = (props: ConfigurationPageProps): JSX.Element => {\n const {\n startCallHandler,\n mobileView,\n modalLayerHostId,\n /* @conditional-compile-remove(call-readiness) */ deviceChecks,\n /* @conditional-compile-remove(call-readiness) */ onPermissionsTroubleshootingClick,\n /* @conditional-compile-remove(call-readiness) */ onNetworkingTroubleShootingClick\n } = props;\n\n const theme = useTheme();\n\n const options = useAdaptedSelector(getCallingSelector(DevicesButton));\n const localDeviceSettingsHandlers = useHandlers(LocalDeviceSettings);\n const { video: cameraPermissionGranted, audio: microphonePermissionGranted } = useSelector(devicePermissionSelector);\n /* @conditional-compile-remove(call-readiness) */\n // use permission API to get video and audio permission state\n const [videoState, setVideoState] = useState<PermissionState | 'unsupported' | undefined>(undefined);\n /* @conditional-compile-remove(call-readiness) */\n const [audioState, setAudioState] = useState<PermissionState | 'unsupported' | undefined>(undefined);\n /* @conditional-compile-remove(call-readiness) */\n getDevicePermissionState(setVideoState, setAudioState);\n\n const errorBarProps = usePropsFor(ErrorBar);\n const adapter = useAdapter();\n const deviceState = adapter.getState().devices;\n /* @conditional-compile-remove(unsupported-browser) */\n const environmentInfo = adapter.getState().environmentInfo;\n\n let disableStartCallButton = !microphonePermissionGranted || deviceState.microphones?.length === 0;\n const role = adapter.getState().call?.role;\n\n const isCameraOn = useSelector(localVideoSelector).isAvailable;\n\n let filteredLatestErrors: ActiveErrorMessage[] = props.latestErrors;\n\n // TODO: move this logic to the error bar selector once role is plumbed from the headless SDK\n if (role !== 'Consumer') {\n filteredLatestErrors = filteredLatestErrors.filter(\n (e) => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari'\n );\n }\n\n if ((useIsParticularSidePaneOpen('videoeffects') || !isCameraOn) && errorBarProps) {\n filteredLatestErrors = filteredLatestErrors.filter((e) => e.type !== 'unableToStartVideoEffect');\n }\n\n if (role === 'Consumer') {\n // If user's role permissions do not allow access to the microphone button then DO NOT disable the start call button\n // because microphone device permission is not needed for the user's role\n disableStartCallButton = false;\n }\n\n /* @conditional-compile-remove(call-readiness) */\n // Overrides role permissions if CallCompositeOptions deviceChecks are set\n if (deviceChecks) {\n if (\n ['doNotPrompt', 'optional'].includes(deviceChecks.camera) &&\n ['doNotPrompt', 'optional'].includes(deviceChecks.microphone)\n ) {\n disableStartCallButton = false;\n } else if (deviceChecks.camera === 'required') {\n disableStartCallButton = !cameraPermissionGranted || deviceState.cameras?.length === 0;\n }\n }\n\n const locale = useLocale();\n const title =\n locale.strings.call.configurationPageTitle.length > 0 ? (\n <Stack.Item className={mobileView ? titleContainerStyleMobile(theme) : titleContainerStyleDesktop(theme)}>\n <SvgWithWordWrapping\n width={mobileView ? 325 : 445}\n lineHeightPx={16 * 1.5}\n bufferHeightPx={16}\n text={locale.strings.call.configurationPageTitle}\n />\n </Stack.Item>\n ) : (\n <></>\n );\n\n const callDescription = locale.strings.call.configurationPageCallDetails && (\n <Stack.Item className={mobileView ? callDetailsStyleMobile(theme) : callDetailsStyleDesktop(theme)}>\n {locale.strings.call.configurationPageCallDetails}\n </Stack.Item>\n );\n\n const mobileWithPreview = mobileView && role !== 'Consumer';\n\n /* @conditional-compile-remove(call-readiness) */\n const permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n } = {\n // fall back to using cameraPermissionGranted and microphonePermissionGranted if permission API is not supported\n camera:\n videoState && videoState !== 'unsupported'\n ? cameraPermissionGranted !== false\n ? videoState\n : 'denied'\n : cameraPermissionGranted !== false\n ? cameraPermissionGranted\n ? 'granted'\n : 'prompt'\n : 'denied',\n microphone:\n audioState && audioState !== 'unsupported'\n ? microphonePermissionGranted !== false\n ? audioState\n : 'denied'\n : microphonePermissionGranted !== false\n ? microphonePermissionGranted\n ? 'granted'\n : 'prompt'\n : 'denied'\n };\n /* @conditional-compile-remove(call-readiness) */\n const networkErrors = errorBarProps.activeErrorMessages.filter((message) => message.type === 'callNetworkQualityLow');\n\n /* @conditional-compile-remove(call-readiness) */\n const [isPermissionsModalDismissed, setIsPermissionsModalDismissed] = useState(true);\n\n // When permission API is not available, we want to show screen saying checking for access (disappears on its own)\n // then based on permission setting, we show permission denied or nothing\n /* @conditional-compile-remove(call-readiness) */\n const [minimumFallbackTimerElapsed, setMinimumFallbackTimerElapsed] = useState(false);\n /* @conditional-compile-remove(call-readiness) */\n setTimeout(() => {\n setMinimumFallbackTimerElapsed(true);\n }, 2000);\n /* @conditional-compile-remove(call-readiness) */\n const forceShowingCheckPermissions = !minimumFallbackTimerElapsed;\n\n const { toggleVideoEffectsPane, closeVideoEffectsPane, isVideoEffectsPaneOpen } = useVideoEffectsPane(\n props.updateSidePaneRenderer,\n mobileView,\n props.latestErrors,\n props.onDismissError\n );\n\n const startCall = useCallback(async () => {\n closeVideoEffectsPane();\n startCallHandler();\n }, [startCallHandler, closeVideoEffectsPane]);\n\n const panelLayerProps = useMemo(\n () => ({\n hostId: modalLayerHostId\n }),\n [modalLayerHostId]\n );\n\n const filteredErrorBarProps = useMemo(\n () => ({\n ...errorBarProps,\n activeErrorMessages: filteredLatestErrors\n }),\n [errorBarProps, filteredLatestErrors]\n );\n\n const containerStyles = useMemo(\n () =>\n configurationContainerStyle(\n !mobileView,\n /* @conditional-compile-remove(custom-branding) */\n props.backgroundImage?.url\n ),\n [mobileView, /* @conditional-compile-remove(custom-branding) */ props.backgroundImage?.url]\n );\n\n return (\n <Stack styles={containerStyles}>\n <Stack styles={bannerNotificationStyles}>\n <ConfigurationPageErrorBar\n /* @conditional-compile-remove(call-readiness) */\n // show trouble shooting error bar when encountering network error/ permission error\n showTroubleShootingErrorBar={\n !cameraPermissionGranted || !microphonePermissionGranted || networkErrors.length > 0\n }\n /* @conditional-compile-remove(call-readiness) */\n permissionsState={permissionsState}\n /* @conditional-compile-remove(call-readiness) */\n onNetworkingTroubleShootingClick={onNetworkingTroubleShootingClick}\n /* @conditional-compile-remove(call-readiness) */\n onPermissionsTroubleshootingClick={onPermissionsTroubleshootingClick}\n errorBarProps={filteredErrorBarProps}\n onDismissError={props.onDismissError}\n />\n </Stack>\n {\n /* @conditional-compile-remove(call-readiness) */\n // show the following screen if permission API is availible (not unsupported) and videoState, audioState is assigned values\n videoState && videoState !== 'unsupported' && audioState && audioState !== 'unsupported' && (\n <CallReadinessModal\n modalLayerHostId={modalLayerHostId}\n mobileView={mobileView}\n /* @conditional-compile-remove(unsupported-browser) */\n environmentInfo={environmentInfo}\n permissionsState={permissionsState}\n isPermissionsModalDismissed={isPermissionsModalDismissed}\n setIsPermissionsModalDismissed={setIsPermissionsModalDismissed}\n onPermissionsTroubleshootingClick={onPermissionsTroubleshootingClick}\n />\n )\n }\n\n {\n /* @conditional-compile-remove(call-readiness) */\n // show the following screen if permission API is not availible (unsupported) and videoState, audioState is assigned values\n videoState && audioState && (videoState === 'unsupported' || audioState === 'unsupported') && (\n <CallReadinessModalFallBack\n /* @conditional-compile-remove(call-readiness) */\n modalLayerHostId={modalLayerHostId}\n mobileView={mobileView}\n checkPermissionModalShowing={forceShowingCheckPermissions}\n permissionsState={permissionsState}\n isPermissionsModalDismissed={isPermissionsModalDismissed}\n /* @conditional-compile-remove(unsupported-browser) */\n environmentInfo={environmentInfo}\n setIsPermissionsModalDismissed={setIsPermissionsModalDismissed}\n onPermissionsTroubleshootingClick={onPermissionsTroubleshootingClick}\n />\n )\n }\n\n <Stack verticalFill grow horizontal className={fillWidth}>\n <Stack\n className={configurationCenteredContent(\n mobileWithPreview,\n /* @conditional-compile-remove(custom-branding) */\n !!props.logo\n )}\n verticalAlign=\"center\"\n verticalFill={mobileWithPreview}\n tokens={mobileWithPreview ? configurationStackTokensMobile : configurationStackTokensDesktop}\n >\n <Stack.Item styles={callDetailsContainerStyles}>\n <Logo\n /* @conditional-compile-remove(custom-branding) */\n logo={props.logo}\n />\n {title}\n {callDescription}\n </Stack.Item>\n <Stack\n horizontal={!mobileWithPreview}\n horizontalAlign={mobileWithPreview ? 'stretch' : 'center'}\n verticalFill={mobileWithPreview}\n tokens={deviceConfigurationStackTokens}\n >\n {localPreviewTrampoline(mobileWithPreview, !!(role === 'Consumer'))}\n <Stack styles={mobileView ? undefined : configurationSectionStyle}>\n {!mobileWithPreview && (\n <Stack\n className={\n mobileView\n ? undefined\n : selectionContainerStyle(\n theme,\n isSafariBrowserEnvironmentTrampoline(\n /* @conditional-compile-remove(unsupported-browser) */ environmentInfo\n )\n )\n }\n >\n <LocalDeviceSettings\n {...options}\n {...localDeviceSettingsHandlers}\n cameraPermissionGranted={cameraPermissionGrantedTrampoline(\n cameraPermissionGranted,\n /* @conditional-compile-remove(call-readiness) */ videoState\n )}\n microphonePermissionGranted={micPermissionGrantedTrampoline(\n microphonePermissionGranted,\n /* @conditional-compile-remove(call-readiness) */ audioState\n )}\n /* @conditional-compile-remove(call-readiness) */\n onClickEnableDevicePermission={() => {\n setIsPermissionsModalDismissed(true);\n }}\n onClickVideoEffects={toggleVideoEffectsPane}\n />\n </Stack>\n )}\n <Stack\n styles={mobileWithPreview ? startCallButtonContainerStyleMobile : startCallButtonContainerStyleDesktop}\n horizontalAlign={mobileWithPreview ? 'stretch' : 'end'}\n >\n <StartCallButton\n className={mobileWithPreview ? startCallButtonStyleMobile : startCallButtonStyleDesktop}\n onClick={startCall}\n disabled={disableStartCallButton}\n hideIcon={true}\n />\n </Stack>\n </Stack>\n </Stack>\n </Stack>\n <Panel\n isOpen={isVideoEffectsPaneOpen}\n hasCloseButton={false}\n isBlocking={false}\n isHiddenOnDismiss={false}\n styles={panelStyles}\n focusTrapZoneProps={panelFocusProps}\n layerProps={panelLayerProps}\n type={PanelType.custom}\n customWidth={`${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem`}\n >\n <SidePane\n mobileView={props.mobileView}\n updateSidePaneRenderer={props.updateSidePaneRenderer}\n maxWidth={`${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem`}\n minWidth={`${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem`}\n />\n </Panel>\n </Stack>\n </Stack>\n );\n};\n\nconst localPreviewTrampoline = (mobileView: boolean, doNotShow?: boolean): JSX.Element | undefined => {\n if (doNotShow) {\n return undefined;\n }\n return <LocalPreview mobileView={mobileView} showDevicesButton={mobileView} />;\n};\n\nconst cameraPermissionGrantedTrampoline = (\n cameraPermissionGranted: boolean | undefined,\n videoState?: PermissionState | 'unsupported' | undefined\n): boolean | undefined => {\n /* @conditional-compile-remove(call-readiness) */\n return videoState && videoState !== 'unsupported' ? videoState === 'granted' : cameraPermissionGranted;\n\n return cameraPermissionGranted;\n};\n\nconst micPermissionGrantedTrampoline = (\n microphonePermissionGranted: boolean | undefined,\n audioState?: PermissionState | 'unsupported' | undefined\n): boolean | undefined => {\n /* @conditional-compile-remove(call-readiness) */\n return audioState && audioState !== 'unsupported' ? audioState === 'granted' : microphonePermissionGranted;\n\n return microphonePermissionGranted;\n};\n\nconst Logo = (props: { logo?: { url: string; alt?: string; shape?: 'unset' | 'circle' } }): JSX.Element => {\n if (!props.logo) {\n return <></>;\n }\n return <Image styles={logoStyles(props.logo.shape)} src={props.logo.url} alt={props.logo.alt} />;\n};\n\nconst isSafariBrowserEnvironmentTrampoline = (environmentInfo?: EnvironmentInfo): boolean | undefined => {\n /* @conditional-compile-remove(unsupported-browser) */\n return environmentInfo && environmentInfo?.environment.browser.toLowerCase() === 'safari';\n\n return false;\n};\n"]}
@@ -1,10 +1,7 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- /* @conditional-compile-remove(video-background-effects) */
4
3
  import * as reselect from 'reselect';
5
- /* @conditional-compile-remove(video-background-effects) */
6
4
  import { getSelectedVideoEffect } from './baseSelectors';
7
- /* @conditional-compile-remove(video-background-effects) */
8
5
  /**
9
6
  * @private
10
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"activeVideoBackgroundEffectSelector.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,2DAA2D;AAC3D,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,2DAA2D;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAIzD,2DAA2D;AAC3D;;GAEG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,QAAQ,CAAC,cAAc,CACxE,CAAC,sBAAsB,CAAC,EACxB,CAAC,6BAAqD,EAAE,EAAE;IACxD,IACE,6BAA6B;QAC7B,CAAC,6BAA6B,CAAC,UAAU,KAAK,MAAM,IAAI,6BAA6B,CAAC,UAAU,KAAK,MAAM,CAAC,EAC5G,CAAC;QACD,OAAO,6BAA6B,CAAC,UAAU,CAAC;IAClD,CAAC;SAAM,IAAI,6BAA6B,IAAI,6BAA6B,CAAC,UAAU,KAAK,aAAa,EAAE,CAAC;QACvG,OAAO,6BAA6B,aAA7B,6BAA6B,uBAA7B,6BAA6B,CAAE,GAAG,CAAC;IAC5C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CACF,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* @conditional-compile-remove(video-background-effects) */\nimport * as reselect from 'reselect';\n/* @conditional-compile-remove(video-background-effects) */\nimport { getSelectedVideoEffect } from './baseSelectors';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoBackgroundEffect } from '../adapter/CallAdapter';\n\n/* @conditional-compile-remove(video-background-effects) */\n/**\n * @private\n */\nexport const activeVideoBackgroundEffectSelector = reselect.createSelector(\n [getSelectedVideoEffect],\n (selectedVideoBackgroundEffect?: VideoBackgroundEffect) => {\n if (\n selectedVideoBackgroundEffect &&\n (selectedVideoBackgroundEffect.effectName === 'blur' || selectedVideoBackgroundEffect.effectName === 'none')\n ) {\n return selectedVideoBackgroundEffect.effectName;\n } else if (selectedVideoBackgroundEffect && selectedVideoBackgroundEffect.effectName === 'replacement') {\n return selectedVideoBackgroundEffect?.key;\n }\n return 'none';\n }\n);\n"]}
1
+ {"version":3,"file":"activeVideoBackgroundEffectSelector.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAIzD;;GAEG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,QAAQ,CAAC,cAAc,CACxE,CAAC,sBAAsB,CAAC,EACxB,CAAC,6BAAqD,EAAE,EAAE;IACxD,IACE,6BAA6B;QAC7B,CAAC,6BAA6B,CAAC,UAAU,KAAK,MAAM,IAAI,6BAA6B,CAAC,UAAU,KAAK,MAAM,CAAC,EAC5G,CAAC;QACD,OAAO,6BAA6B,CAAC,UAAU,CAAC;IAClD,CAAC;SAAM,IAAI,6BAA6B,IAAI,6BAA6B,CAAC,UAAU,KAAK,aAAa,EAAE,CAAC;QACvG,OAAO,6BAA6B,aAA7B,6BAA6B,uBAA7B,6BAA6B,CAAE,GAAG,CAAC;IAC5C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CACF,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport * as reselect from 'reselect';\n\nimport { getSelectedVideoEffect } from './baseSelectors';\n\nimport { VideoBackgroundEffect } from '../adapter/CallAdapter';\n\n/**\n * @private\n */\nexport const activeVideoBackgroundEffectSelector = reselect.createSelector(\n [getSelectedVideoEffect],\n (selectedVideoBackgroundEffect?: VideoBackgroundEffect) => {\n if (\n selectedVideoBackgroundEffect &&\n (selectedVideoBackgroundEffect.effectName === 'blur' || selectedVideoBackgroundEffect.effectName === 'none')\n ) {\n return selectedVideoBackgroundEffect.effectName;\n } else if (selectedVideoBackgroundEffect && selectedVideoBackgroundEffect.effectName === 'replacement') {\n return selectedVideoBackgroundEffect?.key;\n }\n return 'none';\n }\n);\n"]}
@@ -6,6 +6,7 @@ import { EnvironmentInfo } from '@azure/communication-calling';
6
6
  import { ParticipantRole } from '@azure/communication-calling';
7
7
  import { CallState, DeviceManagerState, DiagnosticsCallFeatureState, LocalVideoStreamState, RemoteParticipantState } from "../../../../../calling-stateful-client/src";
8
8
  import { CaptionsInfo } from "../../../../../calling-stateful-client/src";
9
+ import { SpotlightedParticipant } from '@azure/communication-calling';
9
10
  import { CallAdapterState, CallCompositePage } from '../adapter/CallAdapter';
10
11
  import { VideoBackgroundEffect } from '../adapter/CallAdapter';
11
12
  import { AdapterErrors } from '../../common/adapters';
@@ -137,4 +138,8 @@ export declare const getTargetCallees: (state: CallAdapterState) => Communicatio
137
138
  * @private
138
139
  */
139
140
  export declare const getStartTime: (state: CallAdapterState) => Date | undefined;
141
+ /**
142
+ * @private
143
+ */
144
+ export declare const getSpotlightedParticipants: (state: CallAdapterState) => SpotlightedParticipant[] | undefined;
140
145
  //# sourceMappingURL=baseSelectors.d.ts.map
@@ -92,7 +92,6 @@ export const getRemoteParticipants = (state) => { var _a; return (_a = state.cal
92
92
  * @private
93
93
  */
94
94
  export const getEnvironmentInfo = (state) => state.environmentInfo;
95
- /* @conditional-compile-remove(video-background-effects) */
96
95
  /**
97
96
  * @private
98
97
  */
@@ -158,4 +157,9 @@ export const getTargetCallees = (state) => state.targetCallees;
158
157
  * @private
159
158
  */
160
159
  export const getStartTime = (state) => { var _a; return (_a = state.call) === null || _a === void 0 ? void 0 : _a.startTime; };
160
+ /* @conditional-compile-remove(spotlight) */
161
+ /**
162
+ * @private
163
+ */
164
+ export const getSpotlightedParticipants = (state) => { var _a, _b; return (_b = (_a = state.call) === null || _a === void 0 ? void 0 : _a.spotlight) === null || _b === void 0 ? void 0 : _b.spotlightedParticipants; };
161
165
  //# sourceMappingURL=baseSelectors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"baseSelectors.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/selectors/baseSelectors.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CallState as SDKCallStatus, DominantSpeakersInfo } from '@azure/communication-calling';\nimport { ParticipantCapabilities } from '@azure/communication-calling';\nimport { VideoDeviceInfo, AudioDeviceInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(capabilities) */\nimport { CapabilitiesChangeInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { EnvironmentInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(capabilities) */\nimport { ParticipantRole } from '@azure/communication-calling';\nimport {\n CallState,\n DeviceManagerState,\n DiagnosticsCallFeatureState,\n LocalVideoStreamState,\n RemoteParticipantState\n} from '@internal/calling-stateful-client';\n/* @conditional-compile-remove(close-captions) */\nimport { CaptionsInfo } from '@internal/calling-stateful-client';\nimport { CallAdapterState, CallCompositePage } from '../adapter/CallAdapter';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoBackgroundEffect } from '../adapter/CallAdapter';\nimport { _isInCall, _isPreviewOn, _dominantSpeakersWithFlatId } from '@internal/calling-component-bindings';\nimport { AdapterErrors } from '../../common/adapters';\nimport { RaisedHandState } from '@internal/calling-stateful-client';\nimport { CommunicationIdentifier } from '@azure/communication-common';\n\n/**\n * @private\n */\nexport const getDisplayName = (state: CallAdapterState): string | undefined => state.displayName;\n\n/**\n * @private\n */\nexport const getCallId = (state: CallAdapterState): string | undefined => state.call?.id;\n\n/**\n * @private\n */\nexport const getEndedCall = (state: CallAdapterState): CallState | undefined => state.endedCall;\n\n/**\n * @private\n */\nexport const getCallStatus = (state: CallAdapterState): SDKCallStatus => state.call?.state ?? 'None';\n\n/**\n * @private\n */\nexport const getDeviceManager = (state: CallAdapterState): DeviceManagerState => state.devices;\n\n/**\n * @private\n */\nexport const getIsScreenShareOn = (state: CallAdapterState): boolean => state.call?.isScreenSharingOn ?? false;\n\n/**\n * @private\n */\nexport const getLocalParticipantRaisedHand = (state: CallAdapterState): RaisedHandState | undefined =>\n state.call?.raiseHand.localParticipantRaisedHand;\n\n/**\n * @private\n */\nexport const getCapabilites = (state: CallAdapterState): ParticipantCapabilities | undefined =>\n state.call?.capabilitiesFeature?.capabilities;\n\n/**\n * @private\n */\nexport const getIsPreviewCameraOn = (state: CallAdapterState): boolean => _isPreviewOn(state.devices);\n\n/**\n * @private\n */\nexport const getMicrophones = (state: CallAdapterState): AudioDeviceInfo[] => state.devices.microphones;\n\n/**\n * @private\n */\nexport const getCameras = (state: CallAdapterState): VideoDeviceInfo[] => state.devices.cameras;\n\n/* @conditional-compile-remove(capabilities) */\n/**\n * @private\n */\nexport const getRole = (state: CallAdapterState): ParticipantRole | undefined => state.call?.role;\n\n/**\n * @private\n */\nexport const getPage = (state: CallAdapterState): CallCompositePage => state.page;\n\n/* @conditional-compile-remove(call-transfer) */\n/**\n * @private\n */\nexport const getTransferCall = (state: CallAdapterState): CallState | undefined => state.acceptedTransferCallState;\n\n/**\n * @private\n */\nexport const getLocalMicrophoneEnabled = (state: CallAdapterState): boolean => state.isLocalPreviewMicrophoneEnabled;\n\n/**\n * @private\n */\nexport const getLocalVideoStreams = (state: CallAdapterState): LocalVideoStreamState[] | undefined =>\n state.call?.localVideoStreams;\n\n/**\n * @private\n */\nexport const getIsTranscriptionActive = (state: CallAdapterState): boolean =>\n !!state.call?.transcription.isTranscriptionActive;\n\n/**\n * @private\n */\nexport const getIsRecordingActive = (state: CallAdapterState): boolean => !!state.call?.recording.isRecordingActive;\n\n/**\n * @private\n */\nexport const getUserFacingDiagnostics = (state: CallAdapterState): DiagnosticsCallFeatureState | undefined =>\n state.call?.diagnostics;\n\n/**\n * @private\n */\nexport const getDominantSpeakerInfo = (state: CallAdapterState): undefined | DominantSpeakersInfo =>\n state.call?.dominantSpeakers;\n\n/**\n * @private\n */\nexport const getRemoteParticipants = (\n state: CallAdapterState\n):\n | undefined\n | {\n [keys: string]: RemoteParticipantState;\n } => state.call?.remoteParticipants;\n\n/* @conditional-compile-remove(unsupported-browser) */\n/**\n * @private\n */\nexport const getEnvironmentInfo = (state: CallAdapterState): EnvironmentInfo | undefined => state.environmentInfo;\n\n/* @conditional-compile-remove(video-background-effects) */\n/**\n * @private\n */\nexport const getSelectedVideoEffect = (state: CallAdapterState): VideoBackgroundEffect | undefined =>\n state.selectedVideoBackgroundEffect;\n\n/* @conditional-compile-remove(close-captions) */\n/** @private */\nexport const getCaptions = (state: CallAdapterState): CaptionsInfo[] | undefined => {\n return state.call?.captionsFeature.captions;\n};\n\n/* @conditional-compile-remove(close-captions) */\n/** @private */\nexport const getCaptionsStatus = (state: CallAdapterState): boolean | undefined => {\n return state.call?.captionsFeature.isCaptionsFeatureActive;\n};\n\n/* @conditional-compile-remove(close-captions) */\n/** @private */\nexport const getCurrentCaptionLanguage = (state: CallAdapterState): string | undefined => {\n return state.call?.captionsFeature.currentCaptionLanguage;\n};\n\n/* @conditional-compile-remove(close-captions) */\n/** @private */\nexport const getCurrentSpokenLanguage = (state: CallAdapterState): string | undefined => {\n return state.call?.captionsFeature.currentSpokenLanguage;\n};\n\n/* @conditional-compile-remove(close-captions) */\n/** @private */\nexport const getSupportedCaptionLanguages = (state: CallAdapterState): string[] | undefined => {\n return state.call?.captionsFeature.supportedCaptionLanguages;\n};\n\n/* @conditional-compile-remove(close-captions) */\n/** @private */\nexport const getSupportedSpokenLanguages = (state: CallAdapterState): string[] | undefined => {\n return state.call?.captionsFeature.supportedSpokenLanguages;\n};\n\n/* @conditional-compile-remove(close-captions) */\n/**\n * @private\n */\nexport const getIsTeamsCall = (state: CallAdapterState): boolean => state.isTeamsCall;\n\n/**\n * @private\n */\nexport const getLatestErrors = (state: CallAdapterState): AdapterErrors => state.latestErrors;\n\n/* @conditional-compile-remove(capabilities) */\n/**\n * @private\n */\nexport const getLatestCapabilitiesChangedInfo = (state: CallAdapterState): CapabilitiesChangeInfo | undefined => {\n return state.call?.capabilitiesFeature?.latestCapabilitiesChangeInfo;\n};\n\n/**\n * @private\n */\nexport const getTargetCallees = (state: CallAdapterState): CommunicationIdentifier[] | undefined => state.targetCallees;\n\n/**\n * @private\n */\nexport const getStartTime = (state: CallAdapterState): Date | undefined => state.call?.startTime;\n"]}
1
+ {"version":3,"file":"baseSelectors.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/selectors/baseSelectors.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CallState as SDKCallStatus, DominantSpeakersInfo } from '@azure/communication-calling';\nimport { ParticipantCapabilities } from '@azure/communication-calling';\nimport { VideoDeviceInfo, AudioDeviceInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(capabilities) */\nimport { CapabilitiesChangeInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { EnvironmentInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(capabilities) */\nimport { ParticipantRole } from '@azure/communication-calling';\nimport {\n CallState,\n DeviceManagerState,\n DiagnosticsCallFeatureState,\n LocalVideoStreamState,\n RemoteParticipantState\n} from '@internal/calling-stateful-client';\n/* @conditional-compile-remove(close-captions) */\nimport { CaptionsInfo } from '@internal/calling-stateful-client';\n/* @conditional-compile-remove(spotlight) */\nimport { SpotlightedParticipant } from '@azure/communication-calling';\nimport { CallAdapterState, CallCompositePage } from '../adapter/CallAdapter';\n\nimport { VideoBackgroundEffect } from '../adapter/CallAdapter';\nimport { _isInCall, _isPreviewOn, _dominantSpeakersWithFlatId } from '@internal/calling-component-bindings';\nimport { AdapterErrors } from '../../common/adapters';\nimport { RaisedHandState } from '@internal/calling-stateful-client';\nimport { CommunicationIdentifier } from '@azure/communication-common';\n\n/**\n * @private\n */\nexport const getDisplayName = (state: CallAdapterState): string | undefined => state.displayName;\n\n/**\n * @private\n */\nexport const getCallId = (state: CallAdapterState): string | undefined => state.call?.id;\n\n/**\n * @private\n */\nexport const getEndedCall = (state: CallAdapterState): CallState | undefined => state.endedCall;\n\n/**\n * @private\n */\nexport const getCallStatus = (state: CallAdapterState): SDKCallStatus => state.call?.state ?? 'None';\n\n/**\n * @private\n */\nexport const getDeviceManager = (state: CallAdapterState): DeviceManagerState => state.devices;\n\n/**\n * @private\n */\nexport const getIsScreenShareOn = (state: CallAdapterState): boolean => state.call?.isScreenSharingOn ?? false;\n\n/**\n * @private\n */\nexport const getLocalParticipantRaisedHand = (state: CallAdapterState): RaisedHandState | undefined =>\n state.call?.raiseHand.localParticipantRaisedHand;\n\n/**\n * @private\n */\nexport const getCapabilites = (state: CallAdapterState): ParticipantCapabilities | undefined =>\n state.call?.capabilitiesFeature?.capabilities;\n\n/**\n * @private\n */\nexport const getIsPreviewCameraOn = (state: CallAdapterState): boolean => _isPreviewOn(state.devices);\n\n/**\n * @private\n */\nexport const getMicrophones = (state: CallAdapterState): AudioDeviceInfo[] => state.devices.microphones;\n\n/**\n * @private\n */\nexport const getCameras = (state: CallAdapterState): VideoDeviceInfo[] => state.devices.cameras;\n\n/* @conditional-compile-remove(capabilities) */\n/**\n * @private\n */\nexport const getRole = (state: CallAdapterState): ParticipantRole | undefined => state.call?.role;\n\n/**\n * @private\n */\nexport const getPage = (state: CallAdapterState): CallCompositePage => state.page;\n\n/* @conditional-compile-remove(call-transfer) */\n/**\n * @private\n */\nexport const getTransferCall = (state: CallAdapterState): CallState | undefined => state.acceptedTransferCallState;\n\n/**\n * @private\n */\nexport const getLocalMicrophoneEnabled = (state: CallAdapterState): boolean => state.isLocalPreviewMicrophoneEnabled;\n\n/**\n * @private\n */\nexport const getLocalVideoStreams = (state: CallAdapterState): LocalVideoStreamState[] | undefined =>\n state.call?.localVideoStreams;\n\n/**\n * @private\n */\nexport const getIsTranscriptionActive = (state: CallAdapterState): boolean =>\n !!state.call?.transcription.isTranscriptionActive;\n\n/**\n * @private\n */\nexport const getIsRecordingActive = (state: CallAdapterState): boolean => !!state.call?.recording.isRecordingActive;\n\n/**\n * @private\n */\nexport const getUserFacingDiagnostics = (state: CallAdapterState): DiagnosticsCallFeatureState | undefined =>\n state.call?.diagnostics;\n\n/**\n * @private\n */\nexport const getDominantSpeakerInfo = (state: CallAdapterState): undefined | DominantSpeakersInfo =>\n state.call?.dominantSpeakers;\n\n/**\n * @private\n */\nexport const getRemoteParticipants = (\n state: CallAdapterState\n):\n | undefined\n | {\n [keys: string]: RemoteParticipantState;\n } => state.call?.remoteParticipants;\n\n/* @conditional-compile-remove(unsupported-browser) */\n/**\n * @private\n */\nexport const getEnvironmentInfo = (state: CallAdapterState): EnvironmentInfo | undefined => state.environmentInfo;\n\n/**\n * @private\n */\nexport const getSelectedVideoEffect = (state: CallAdapterState): VideoBackgroundEffect | undefined =>\n state.selectedVideoBackgroundEffect;\n\n/* @conditional-compile-remove(close-captions) */\n/** @private */\nexport const getCaptions = (state: CallAdapterState): CaptionsInfo[] | undefined => {\n return state.call?.captionsFeature.captions;\n};\n\n/* @conditional-compile-remove(close-captions) */\n/** @private */\nexport const getCaptionsStatus = (state: CallAdapterState): boolean | undefined => {\n return state.call?.captionsFeature.isCaptionsFeatureActive;\n};\n\n/* @conditional-compile-remove(close-captions) */\n/** @private */\nexport const getCurrentCaptionLanguage = (state: CallAdapterState): string | undefined => {\n return state.call?.captionsFeature.currentCaptionLanguage;\n};\n\n/* @conditional-compile-remove(close-captions) */\n/** @private */\nexport const getCurrentSpokenLanguage = (state: CallAdapterState): string | undefined => {\n return state.call?.captionsFeature.currentSpokenLanguage;\n};\n\n/* @conditional-compile-remove(close-captions) */\n/** @private */\nexport const getSupportedCaptionLanguages = (state: CallAdapterState): string[] | undefined => {\n return state.call?.captionsFeature.supportedCaptionLanguages;\n};\n\n/* @conditional-compile-remove(close-captions) */\n/** @private */\nexport const getSupportedSpokenLanguages = (state: CallAdapterState): string[] | undefined => {\n return state.call?.captionsFeature.supportedSpokenLanguages;\n};\n\n/* @conditional-compile-remove(close-captions) */\n/**\n * @private\n */\nexport const getIsTeamsCall = (state: CallAdapterState): boolean => state.isTeamsCall;\n\n/**\n * @private\n */\nexport const getLatestErrors = (state: CallAdapterState): AdapterErrors => state.latestErrors;\n\n/* @conditional-compile-remove(capabilities) */\n/**\n * @private\n */\nexport const getLatestCapabilitiesChangedInfo = (state: CallAdapterState): CapabilitiesChangeInfo | undefined => {\n return state.call?.capabilitiesFeature?.latestCapabilitiesChangeInfo;\n};\n\n/**\n * @private\n */\nexport const getTargetCallees = (state: CallAdapterState): CommunicationIdentifier[] | undefined => state.targetCallees;\n\n/**\n * @private\n */\nexport const getStartTime = (state: CallAdapterState): Date | undefined => state.call?.startTime;\n\n/* @conditional-compile-remove(spotlight) */\n/**\n * @private\n */\nexport const getSpotlightedParticipants = (state: CallAdapterState): SpotlightedParticipant[] | undefined =>\n state.call?.spotlight?.spotlightedParticipants;\n"]}
@@ -6,9 +6,9 @@ import * as reselect from 'reselect';
6
6
  *
7
7
  * @private
8
8
  */
9
- export declare const dominantRemoteParticipantSelector: ((state: import("index").CallAdapterUiState & import("index").CallAdapterClientState) => import("index").VideoGalleryRemoteParticipant | undefined) & reselect.OutputSelectorFields<(args_0: {
9
+ export declare const dominantRemoteParticipantSelector: ((state: import("index").CallAdapterUiState & import("index").CallAdapterClientState) => RemoteParticipantState | undefined) & reselect.OutputSelectorFields<(args_0: {
10
10
  [keys: string]: RemoteParticipantState;
11
- } | undefined, args_1: import("@azure/communication-calling").DominantSpeakersInfo | undefined) => import("index").VideoGalleryRemoteParticipant | undefined, {
11
+ } | undefined, args_1: import("@azure/communication-calling").DominantSpeakersInfo | undefined) => RemoteParticipantState | undefined, {
12
12
  clearCache: () => void;
13
13
  }> & {
14
14
  clearCache: () => void;
@@ -1,8 +1,6 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- import { _dominantSpeakersWithFlatId, _videoGalleryRemoteParticipantsMemo } from "../../../../../calling-component-bindings/src";
4
- /* @conditional-compile-remove(PSTN-calls) */
5
- import { _updateUserDisplayNames } from "../../../../../calling-component-bindings/src";
3
+ import { _dominantSpeakersWithFlatId } from "../../../../../calling-component-bindings/src";
6
4
  import * as reselect from 'reselect';
7
5
  import { getDominantSpeakerInfo, getRemoteParticipants } from './baseSelectors';
8
6
  /**
@@ -16,9 +14,7 @@ export const dominantRemoteParticipantSelector = reselect.createSelector([getRem
16
14
  const dominantRemoteParticipant = remoteParticipants && Object.keys(remoteParticipants).length > 0
17
15
  ? findDominantRemoteParticipant(remoteParticipants, dominantSpeakers !== null && dominantSpeakers !== void 0 ? dominantSpeakers : [])
18
16
  : undefined;
19
- return dominantRemoteParticipant
20
- ? _videoGalleryRemoteParticipantsMemo(updateUserDisplayNamesTrampoline(Object.values(dominantRemoteParticipant)))[0]
21
- : undefined;
17
+ return dominantRemoteParticipant;
22
18
  });
23
19
  const findDominantRemoteParticipant = (remoteParticipants, dominantSpeakerIds) => {
24
20
  let dominantRemoteParticipantId = dominantSpeakerIds[0];
@@ -28,11 +24,6 @@ const findDominantRemoteParticipant = (remoteParticipants, dominantSpeakerIds) =
28
24
  if (!dominantRemoteParticipantId || !remoteParticipantIds.includes(dominantRemoteParticipantId)) {
29
25
  dominantRemoteParticipantId = remoteParticipantIds[0];
30
26
  }
31
- return { dominantRemoteParticipantId: remoteParticipants[dominantRemoteParticipantId] };
32
- };
33
- const updateUserDisplayNamesTrampoline = (remoteParticipants) => {
34
- /* @conditional-compile-remove(PSTN-calls) */
35
- return _updateUserDisplayNames(remoteParticipants);
36
- return remoteParticipants;
27
+ return remoteParticipants[dominantRemoteParticipantId];
37
28
  };
38
29
  //# sourceMappingURL=dominantRemoteParticipantSelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dominantRemoteParticipantSelector.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EACL,2BAA2B,EAG3B,mCAAmC,EACpC,sDAA6C;AAC9C,6CAA6C;AAC7C,OAAO,EAAE,uBAAuB,EAAE,sDAA6C;AAE/E,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAEhF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,QAAQ,CAAC,cAAc,CACtE,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,EAC/C,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,EAAE;IAC1C,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,mBAAmB,CAAC,CAAC;IAC1E,MAAM,yBAAyB,GAC7B,kBAAkB,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG,CAAC;QAC9D,CAAC,CAAC,6BAA6B,CAAC,kBAAkB,EAAE,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,EAAE,CAAC;QAC3E,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,yBAAyB;QAC9B,CAAC,CAAC,mCAAmC,CACjC,gCAAgC,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAC3E,CAAC,CAAC,CAAC;QACN,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC,CACF,CAAC;AAEF,MAAM,6BAA6B,GAAG,CACpC,kBAA8D,EAC9D,kBAA4B,EAC6B,EAAE;IAC3D,IAAI,2BAA2B,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAExD,sFAAsF;IACtF,wFAAwF;IACxF,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC7D,IAAI,CAAC,2BAA2B,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC;QAChG,2BAA2B,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,EAAE,2BAA2B,EAAE,kBAAkB,CAAC,2BAA2B,CAAC,EAAE,CAAC;AAC1F,CAAC,CAAC;AAEF,MAAM,gCAAgC,GAAG,CAAC,kBAA4C,EAA4B,EAAE;IAClH,6CAA6C;IAC7C,OAAO,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;IACnD,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n _dominantSpeakersWithFlatId,\n _isInCall,\n _isPreviewOn,\n _videoGalleryRemoteParticipantsMemo\n} from '@internal/calling-component-bindings';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { _updateUserDisplayNames } from '@internal/calling-component-bindings';\nimport { RemoteParticipantState } from '@internal/calling-stateful-client';\nimport * as reselect from 'reselect';\nimport { getDominantSpeakerInfo, getRemoteParticipants } from './baseSelectors';\n\n/**\n * Get the most dominant remote participant, if no dominant speaker IDs exist, this uses\n * one of the remote participants with no bias towards which one.\n *\n * @private\n */\nexport const dominantRemoteParticipantSelector = reselect.createSelector(\n [getRemoteParticipants, getDominantSpeakerInfo],\n (remoteParticipants, dominantSpeakerInfo) => {\n const dominantSpeakers = _dominantSpeakersWithFlatId(dominantSpeakerInfo);\n const dominantRemoteParticipant =\n remoteParticipants && Object.keys(remoteParticipants).length > 0\n ? findDominantRemoteParticipant(remoteParticipants, dominantSpeakers ?? [])\n : undefined;\n return dominantRemoteParticipant\n ? _videoGalleryRemoteParticipantsMemo(\n updateUserDisplayNamesTrampoline(Object.values(dominantRemoteParticipant))\n )[0]\n : undefined;\n }\n);\n\nconst findDominantRemoteParticipant = (\n remoteParticipants: { [keys: string]: RemoteParticipantState },\n dominantSpeakerIds: string[]\n): { dominantRemoteParticipantId: RemoteParticipantState } => {\n let dominantRemoteParticipantId = dominantSpeakerIds[0];\n\n // Fallback to using the first remote participant if there are no dominant speaker IDs\n // or if the dominant speaker is no longer available in the list of remoteParticipantIds\n const remoteParticipantIds = Object.keys(remoteParticipants);\n if (!dominantRemoteParticipantId || !remoteParticipantIds.includes(dominantRemoteParticipantId)) {\n dominantRemoteParticipantId = remoteParticipantIds[0];\n }\n\n return { dominantRemoteParticipantId: remoteParticipants[dominantRemoteParticipantId] };\n};\n\nconst updateUserDisplayNamesTrampoline = (remoteParticipants: RemoteParticipantState[]): RemoteParticipantState[] => {\n /* @conditional-compile-remove(PSTN-calls) */\n return _updateUserDisplayNames(remoteParticipants);\n return remoteParticipants;\n};\n"]}
1
+ {"version":3,"file":"dominantRemoteParticipantSelector.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,2BAA2B,EAAE,sDAA6C;AAInF,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAEhF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,QAAQ,CAAC,cAAc,CACtE,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,EAC/C,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,EAAE;IAC1C,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,mBAAmB,CAAC,CAAC;IAC1E,MAAM,yBAAyB,GAC7B,kBAAkB,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG,CAAC;QAC9D,CAAC,CAAC,6BAA6B,CAAC,kBAAkB,EAAE,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,EAAE,CAAC;QAC3E,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,yBAAyB,CAAC;AACnC,CAAC,CACF,CAAC;AAEF,MAAM,6BAA6B,GAAG,CACpC,kBAA8D,EAC9D,kBAA4B,EACJ,EAAE;IAC1B,IAAI,2BAA2B,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAExD,sFAAsF;IACtF,wFAAwF;IACxF,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC7D,IAAI,CAAC,2BAA2B,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC;QAChG,2BAA2B,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,kBAAkB,CAAC,2BAA2B,CAAC,CAAC;AACzD,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { _dominantSpeakersWithFlatId } from '@internal/calling-component-bindings';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { _updateUserDisplayNames } from '@internal/calling-component-bindings';\nimport { RemoteParticipantState } from '@internal/calling-stateful-client';\nimport * as reselect from 'reselect';\nimport { getDominantSpeakerInfo, getRemoteParticipants } from './baseSelectors';\n\n/**\n * Get the most dominant remote participant, if no dominant speaker IDs exist, this uses\n * one of the remote participants with no bias towards which one.\n *\n * @private\n */\nexport const dominantRemoteParticipantSelector = reselect.createSelector(\n [getRemoteParticipants, getDominantSpeakerInfo],\n (remoteParticipants, dominantSpeakerInfo) => {\n const dominantSpeakers = _dominantSpeakersWithFlatId(dominantSpeakerInfo);\n const dominantRemoteParticipant =\n remoteParticipants && Object.keys(remoteParticipants).length > 0\n ? findDominantRemoteParticipant(remoteParticipants, dominantSpeakers ?? [])\n : undefined;\n return dominantRemoteParticipant;\n }\n);\n\nconst findDominantRemoteParticipant = (\n remoteParticipants: { [keys: string]: RemoteParticipantState },\n dominantSpeakerIds: string[]\n): RemoteParticipantState => {\n let dominantRemoteParticipantId = dominantSpeakerIds[0];\n\n // Fallback to using the first remote participant if there are no dominant speaker IDs\n // or if the dominant speaker is no longer available in the list of remoteParticipantIds\n const remoteParticipantIds = Object.keys(remoteParticipants);\n if (!dominantRemoteParticipantId || !remoteParticipantIds.includes(dominantRemoteParticipantId)) {\n dominantRemoteParticipantId = remoteParticipantIds[0];\n }\n\n return remoteParticipants[dominantRemoteParticipantId];\n};\n"]}
@@ -0,0 +1,15 @@
1
+ import { RemoteParticipantState } from "../../../../../calling-stateful-client/src";
2
+ import * as reselect from 'reselect';
3
+ /**
4
+ * Get the first remote participant that is spotlighted if any
5
+ *
6
+ * @private
7
+ */
8
+ export declare const getFirstSpotlightedRemoteParticipant: ((state: import("index").CallAdapterUiState & import("index").CallAdapterClientState) => RemoteParticipantState | undefined) & reselect.OutputSelectorFields<(args_0: {
9
+ [keys: string]: RemoteParticipantState;
10
+ } | undefined, args_1: import("@azure/communication-calling").SpotlightedParticipant[] | undefined) => RemoteParticipantState | undefined, {
11
+ clearCache: () => void;
12
+ }> & {
13
+ clearCache: () => void;
14
+ };
15
+ //# sourceMappingURL=getFirstSpotlightedRemoteParticipantSelector.d.ts.map
@@ -0,0 +1,32 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ /* @conditional-compile-remove(spotlight) */
4
+ import { toFlatCommunicationIdentifier } from "../../../../../acs-ui-common/src";
5
+ /* @conditional-compile-remove(spotlight) */
6
+ import * as reselect from 'reselect';
7
+ /* @conditional-compile-remove(spotlight) */
8
+ import { getRemoteParticipants, getSpotlightedParticipants } from './baseSelectors';
9
+ /* @conditional-compile-remove(spotlight) */
10
+ /**
11
+ * Get the first remote participant that is spotlighted if any
12
+ *
13
+ * @private
14
+ */
15
+ export const getFirstSpotlightedRemoteParticipant = reselect.createSelector([getRemoteParticipants, getSpotlightedParticipants], (remoteParticipants, spotlightedParticipants) => {
16
+ const spotlightedParticipantUserIds = spotlightedParticipants
17
+ ? spotlightedParticipants.map((p) => toFlatCommunicationIdentifier(p.identifier))
18
+ : [];
19
+ const firstSpotlightedRemoteParticipant = remoteParticipants
20
+ ? findFirstSpotlightedRemoteParticipant(remoteParticipants, spotlightedParticipantUserIds)
21
+ : undefined;
22
+ return firstSpotlightedRemoteParticipant;
23
+ });
24
+ /* @conditional-compile-remove(spotlight) */
25
+ const findFirstSpotlightedRemoteParticipant = (remoteParticipants, spotlightedParticipantUserIds) => {
26
+ const remoteParticipantIds = Object.keys(remoteParticipants);
27
+ const spotlightedRemoteParticipantUserIds = spotlightedParticipantUserIds.filter((p) => remoteParticipantIds.includes(p));
28
+ return spotlightedRemoteParticipantUserIds[0]
29
+ ? remoteParticipants[spotlightedRemoteParticipantUserIds[0]]
30
+ : undefined;
31
+ };
32
+ //# sourceMappingURL=getFirstSpotlightedRemoteParticipantSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFirstSpotlightedRemoteParticipantSelector.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,4CAA4C;AAC5C,OAAO,EAAE,6BAA6B,EAAE,yCAAgC;AAGxE,4CAA4C;AAC5C,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,4CAA4C;AAC5C,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAIpF,4CAA4C;AAC5C;;;;GAIG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,QAAQ,CAAC,cAAc,CACzE,CAAC,qBAAqB,EAAE,0BAA0B,CAAC,EACnD,CAAC,kBAAkB,EAAE,uBAAuB,EAAE,EAAE;IAC9C,MAAM,6BAA6B,GAAG,uBAAuB;QAC3D,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,6BAA6B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACjF,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,iCAAiC,GAAG,kBAAkB;QAC1D,CAAC,CAAC,qCAAqC,CAAC,kBAAkB,EAAE,6BAA6B,CAAC;QAC1F,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,iCAAiC,CAAC;AAC3C,CAAC,CACF,CAAC;AAEF,4CAA4C;AAC5C,MAAM,qCAAqC,GAAG,CAC5C,kBAA8D,EAC9D,6BAAuC,EACH,EAAE;IACtC,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC7D,MAAM,mCAAmC,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACrF,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CACjC,CAAC;IAEF,OAAO,mCAAmC,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,kBAAkB,CAAC,mCAAmC,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* @conditional-compile-remove(spotlight) */\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\n/* @conditional-compile-remove(spotlight) */\nimport { RemoteParticipantState } from '@internal/calling-stateful-client';\n/* @conditional-compile-remove(spotlight) */\nimport * as reselect from 'reselect';\n/* @conditional-compile-remove(spotlight) */\nimport { getRemoteParticipants, getSpotlightedParticipants } from './baseSelectors';\n/* @conditional-compile-remove(spotlight) */\nimport { _updateUserDisplayNames, _videoGalleryRemoteParticipantsMemo } from '@internal/calling-component-bindings';\n\n/* @conditional-compile-remove(spotlight) */\n/**\n * Get the first remote participant that is spotlighted if any\n *\n * @private\n */\nexport const getFirstSpotlightedRemoteParticipant = reselect.createSelector(\n [getRemoteParticipants, getSpotlightedParticipants],\n (remoteParticipants, spotlightedParticipants) => {\n const spotlightedParticipantUserIds = spotlightedParticipants\n ? spotlightedParticipants.map((p) => toFlatCommunicationIdentifier(p.identifier))\n : [];\n const firstSpotlightedRemoteParticipant = remoteParticipants\n ? findFirstSpotlightedRemoteParticipant(remoteParticipants, spotlightedParticipantUserIds)\n : undefined;\n return firstSpotlightedRemoteParticipant;\n }\n);\n\n/* @conditional-compile-remove(spotlight) */\nconst findFirstSpotlightedRemoteParticipant = (\n remoteParticipants: { [keys: string]: RemoteParticipantState },\n spotlightedParticipantUserIds: string[]\n): RemoteParticipantState | undefined => {\n const remoteParticipantIds = Object.keys(remoteParticipants);\n const spotlightedRemoteParticipantUserIds = spotlightedParticipantUserIds.filter((p) =>\n remoteParticipantIds.includes(p)\n );\n\n return spotlightedRemoteParticipantUserIds[0]\n ? remoteParticipants[spotlightedRemoteParticipantUserIds[0]]\n : undefined;\n};\n"]}
@@ -1,3 +1,4 @@
1
+ import { RemoteParticipantState } from "../../../../../calling-stateful-client/src";
1
2
  import * as reselect from 'reselect';
2
3
  /**
3
4
  * Picture in picture in picture needs to display the most-dominant remote speaker, as well as the local participant video.
@@ -10,28 +11,28 @@ export declare const localAndRemotePIPSelector: ((state: import("index").CallAda
10
11
  isAvailable: boolean;
11
12
  isMirrored: boolean | undefined;
12
13
  renderElement: HTMLElement | undefined;
13
- activeVideoEffects: import("index").LocalVideoStreamVideoEffectsState | undefined;
14
+ activeVideoEffects: import("../../../../../calling-stateful-client/src").LocalVideoStreamVideoEffectsState | undefined;
14
15
  };
15
- raisedHand: import("index").RaisedHandState | undefined;
16
+ raisedHand: import("../../../../../calling-stateful-client/src").RaisedHandState | undefined;
16
17
  };
17
- dominantRemoteParticipant: import("index").VideoGalleryRemoteParticipant | undefined;
18
- }) & reselect.OutputSelectorFields<(args_0: string | undefined, args_1: import("index").VideoGalleryRemoteParticipant | undefined, args_2: {
18
+ remoteParticipant: import("index").VideoGalleryRemoteParticipant | undefined;
19
+ }) & reselect.OutputSelectorFields<(args_0: string | undefined, args_1: RemoteParticipantState | undefined, args_2: {
19
20
  isAvailable: boolean;
20
21
  isMirrored: boolean | undefined;
21
22
  renderElement: HTMLElement | undefined;
22
- activeVideoEffects: import("index").LocalVideoStreamVideoEffectsState | undefined;
23
- }, args_3: import("index").RaisedHandState | undefined) => {
23
+ activeVideoEffects: import("../../../../../calling-stateful-client/src").LocalVideoStreamVideoEffectsState | undefined;
24
+ }, args_3: import("../../../../../calling-stateful-client/src").RaisedHandState | undefined, args_4: RemoteParticipantState | undefined) => {
24
25
  localParticipant: {
25
26
  displayName: string | undefined;
26
27
  videoStream: {
27
28
  isAvailable: boolean;
28
29
  isMirrored: boolean | undefined;
29
30
  renderElement: HTMLElement | undefined;
30
- activeVideoEffects: import("index").LocalVideoStreamVideoEffectsState | undefined;
31
+ activeVideoEffects: import("../../../../../calling-stateful-client/src").LocalVideoStreamVideoEffectsState | undefined;
31
32
  };
32
- raisedHand: import("index").RaisedHandState | undefined;
33
+ raisedHand: import("../../../../../calling-stateful-client/src").RaisedHandState | undefined;
33
34
  };
34
- dominantRemoteParticipant: import("index").VideoGalleryRemoteParticipant | undefined;
35
+ remoteParticipant: import("index").VideoGalleryRemoteParticipant | undefined;
35
36
  }, {
36
37
  clearCache: () => void;
37
38
  }> & {
@@ -1,22 +1,47 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
+ import { _videoGalleryRemoteParticipantsMemo } from "../../../../../calling-component-bindings/src";
4
+ /* @conditional-compile-remove(PSTN-calls) */
5
+ import { _updateUserDisplayNames } from "../../../../../calling-component-bindings/src";
3
6
  import * as reselect from 'reselect';
4
7
  import { localVideoSelector } from './localVideoStreamSelector';
5
8
  import { dominantRemoteParticipantSelector } from './dominantRemoteParticipantSelector';
6
9
  import { getDisplayName } from './baseSelectors';
7
10
  import { getLocalParticipantRaisedHand } from './baseSelectors';
11
+ /* @conditional-compile-remove(spotlight) */
12
+ import { getFirstSpotlightedRemoteParticipant } from './getFirstSpotlightedRemoteParticipantSelector';
8
13
  /**
9
14
  * Picture in picture in picture needs to display the most-dominant remote speaker, as well as the local participant video.
10
15
  * @private
11
16
  */
12
- export const localAndRemotePIPSelector = reselect.createSelector([getDisplayName, dominantRemoteParticipantSelector, localVideoSelector, getLocalParticipantRaisedHand], (displayName, dominantRemoteParticipant, localVideoStreamInfo, raisedHand) => {
17
+ export const localAndRemotePIPSelector = reselect.createSelector([
18
+ getDisplayName,
19
+ dominantRemoteParticipantSelector,
20
+ localVideoSelector,
21
+ getLocalParticipantRaisedHand,
22
+ /* @conditional-compile-remove(spotlight) */ getFirstSpotlightedRemoteParticipant
23
+ ], (displayName, dominantRemoteParticipantState, localVideoStreamInfo, raisedHand,
24
+ /* @conditional-compile-remove(spotlight) */ firstSpotlightedRemoteParticipantState) => {
25
+ let remoteParticipantState = dominantRemoteParticipantState;
26
+ /* @conditional-compile-remove(spotlight) */
27
+ if (firstSpotlightedRemoteParticipantState) {
28
+ remoteParticipantState = firstSpotlightedRemoteParticipantState;
29
+ }
30
+ const remoteParticipant = remoteParticipantState
31
+ ? _videoGalleryRemoteParticipantsMemo(updateUserDisplayNamesTrampoline([remoteParticipantState]))[0]
32
+ : undefined;
13
33
  return {
14
34
  localParticipant: {
15
35
  displayName,
16
36
  videoStream: localVideoStreamInfo,
17
- raisedHand: raisedHand
37
+ raisedHand
18
38
  },
19
- dominantRemoteParticipant
39
+ remoteParticipant
20
40
  };
21
41
  });
42
+ const updateUserDisplayNamesTrampoline = (remoteParticipants) => {
43
+ /* @conditional-compile-remove(PSTN-calls) */
44
+ return _updateUserDisplayNames(remoteParticipants);
45
+ return remoteParticipants;
46
+ };
22
47
  //# sourceMappingURL=localAndRemotePIPSelector.js.map