@azure/communication-react 1.5.2-alpha-202301190014.0 → 1.6.1-alpha-202306220014

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 (702) hide show
  1. package/README.md +3 -4
  2. package/dist/communication-react.d.ts +1306 -201
  3. package/dist/dist-cjs/communication-react/index.js +14017 -7900
  4. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/identifier.d.ts +6 -0
  6. package/dist/dist-esm/acs-ui-common/src/identifier.js +15 -2
  7. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/index.d.ts +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/index.js +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  13. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +21 -0
  14. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +54 -0
  15. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  16. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.d.ts +48 -0
  17. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +73 -0
  18. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -0
  19. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +38 -11
  20. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  21. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +21 -0
  22. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +102 -7
  23. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  24. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +3 -1
  25. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  26. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +3 -0
  27. package/dist/dist-esm/calling-component-bindings/src/index.js +2 -0
  28. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  29. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +1 -1
  30. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  31. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +3 -2
  32. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  33. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +9 -15
  34. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.d.ts +1 -0
  36. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +11 -3
  37. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  38. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +140 -1
  39. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  40. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +27 -0
  41. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +157 -0
  42. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  43. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +99 -0
  44. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  45. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +5 -0
  46. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +59 -0
  47. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  48. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.d.ts +18 -0
  49. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js +38 -0
  50. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -0
  51. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +10 -0
  52. package/dist/dist-esm/calling-stateful-client/src/Converter.js +40 -2
  53. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  54. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.d.ts +13 -1
  55. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +8 -1
  56. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  57. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.d.ts +4 -0
  58. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +28 -0
  59. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  60. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.d.ts +28 -0
  61. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js +49 -0
  62. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js.map +1 -0
  63. package/dist/dist-esm/calling-stateful-client/src/Logger.d.ts +16 -27
  64. package/dist/dist-esm/calling-stateful-client/src/Logger.js +16 -27
  65. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  66. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.d.ts +24 -0
  67. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js +28 -0
  68. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js.map +1 -0
  69. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +1 -1
  70. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  71. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +138 -331
  72. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  73. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.d.ts +17 -0
  74. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js +198 -0
  75. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js.map +1 -0
  76. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +7 -0
  77. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +10 -0
  78. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  79. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +4 -0
  80. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  81. package/dist/dist-esm/calling-stateful-client/src/index.d.ts +1 -0
  82. package/dist/dist-esm/calling-stateful-client/src/index.js +2 -0
  83. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  84. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +98 -10
  85. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  86. package/dist/dist-esm/chat-component-bindings/src/utils/constants.d.ts +4 -0
  87. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js +4 -0
  88. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  89. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +32 -26
  90. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  91. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +15 -3
  92. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  93. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +6 -1
  94. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  95. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.d.ts +1 -0
  96. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  97. package/dist/dist-esm/communication-react/src/index.d.ts +11 -2
  98. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  99. package/dist/dist-esm/northstar-wrapper/src/index.js +2 -0
  100. package/dist/dist-esm/northstar-wrapper/src/index.js.LICENSE.txt +41 -0
  101. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.d.ts +20 -0
  102. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js +44 -0
  103. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js.map +1 -0
  104. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.d.ts +10 -0
  105. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.js +14 -0
  106. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.js.map +1 -0
  107. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.d.ts +10 -0
  108. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js +29 -0
  109. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js.map +1 -0
  110. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.d.ts +7 -0
  111. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js +26 -0
  112. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js.map +1 -0
  113. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.d.ts +9 -0
  114. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js +10 -0
  115. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js.map +1 -0
  116. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.d.ts +8 -0
  117. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js +19 -0
  118. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js.map +1 -0
  119. package/dist/dist-esm/react-components/src/components/CameraButton.d.ts +20 -0
  120. package/dist/dist-esm/react-components/src/components/CameraButton.js +41 -3
  121. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  122. package/dist/dist-esm/react-components/src/components/Caption.d.ts +21 -0
  123. package/dist/dist-esm/react-components/src/components/Caption.js +32 -0
  124. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -0
  125. package/dist/dist-esm/react-components/src/components/CaptionsBanner.d.ts +41 -0
  126. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +51 -0
  127. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -0
  128. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.d.ts +37 -0
  129. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js +95 -0
  130. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -0
  131. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.d.ts +1 -1
  132. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +1 -1
  133. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  134. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +11 -2
  135. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  136. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.d.ts +29 -4
  137. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +25 -17
  138. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  139. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.d.ts +3 -1
  140. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +32 -18
  141. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  142. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.d.ts +18 -3
  143. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +46 -31
  144. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  145. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +16 -2
  146. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +122 -12
  147. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  148. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +10 -0
  149. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +15 -0
  150. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +1 -0
  151. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +1 -1
  152. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  153. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +2 -2
  154. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +10 -10
  155. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -1
  156. package/dist/dist-esm/react-components/src/components/DevicesButton.d.ts +1 -1
  157. package/dist/dist-esm/react-components/src/components/DevicesButton.js +88 -55
  158. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  159. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.d.ts +5 -0
  160. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +1 -1
  161. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  162. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.d.ts +2 -0
  163. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +1 -0
  164. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  165. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.d.ts +5 -0
  166. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +23 -5
  167. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  168. package/dist/dist-esm/react-components/src/components/ErrorBar.d.ts +8 -0
  169. package/dist/dist-esm/react-components/src/components/ErrorBar.js +1 -2
  170. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  171. package/dist/dist-esm/react-components/src/components/FileCard.js +5 -5
  172. package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
  173. package/dist/dist-esm/react-components/src/components/FileCardGroup.d.ts +1 -0
  174. package/dist/dist-esm/react-components/src/components/FileCardGroup.js +2 -2
  175. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
  176. package/dist/dist-esm/react-components/src/components/FileDownloadCards.d.ts +14 -0
  177. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +29 -10
  178. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  179. package/dist/dist-esm/react-components/src/components/FileUploadCards.js +1 -3
  180. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
  181. package/dist/dist-esm/react-components/src/components/GridLayout.js +1 -1
  182. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  183. package/dist/dist-esm/react-components/src/components/HorizontalGallery.d.ts +4 -0
  184. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +32 -24
  185. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  186. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +3 -1
  187. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +60 -10
  188. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  189. package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +121 -0
  190. package/dist/dist-esm/react-components/src/components/MentionPopover.js +125 -0
  191. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -0
  192. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js +5 -5
  193. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  194. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +47 -8
  195. package/dist/dist-esm/react-components/src/components/MessageThread.js +126 -53
  196. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  197. package/dist/dist-esm/react-components/src/components/MicrophoneButton.d.ts +12 -0
  198. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +29 -1
  199. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  200. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +1 -1
  201. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  202. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +5 -0
  203. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +5 -3
  204. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  205. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +2 -0
  206. package/dist/dist-esm/react-components/src/components/ParticipantList.js +4 -4
  207. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  208. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +1 -0
  209. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  210. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts +1 -0
  211. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +5 -3
  212. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  213. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.d.ts +4 -2
  214. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +6 -42
  215. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  216. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.d.ts +35 -0
  217. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js +33 -0
  218. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +1 -0
  219. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +10 -2
  220. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  221. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +10 -4
  222. package/dist/dist-esm/react-components/src/components/SendBox.js +22 -14
  223. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  224. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.d.ts +70 -0
  225. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js +59 -0
  226. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -0
  227. package/dist/dist-esm/react-components/src/components/SystemMessage.d.ts +1 -1
  228. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  229. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +41 -0
  230. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +579 -0
  231. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +1 -0
  232. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +152 -0
  233. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +792 -0
  234. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +1 -0
  235. package/dist/dist-esm/react-components/src/components/VerticalGallery.d.ts +67 -0
  236. package/dist/dist-esm/react-components/src/components/VerticalGallery.js +116 -0
  237. package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -0
  238. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.d.ts +21 -0
  239. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js +65 -0
  240. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js.map +1 -0
  241. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.d.ts +75 -0
  242. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +52 -0
  243. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -0
  244. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.d.ts +88 -0
  245. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js +37 -0
  246. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -0
  247. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.d.ts +11 -0
  248. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +56 -0
  249. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -0
  250. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.d.ts +1 -1
  251. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +56 -20
  252. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  253. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.d.ts +10 -3
  254. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +12 -10
  255. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  256. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.d.ts +6 -1
  257. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +91 -25
  258. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  259. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.d.ts +14 -2
  260. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  261. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.d.ts +21 -0
  262. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +63 -0
  263. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -0
  264. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.d.ts +2 -1
  265. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +8 -2
  266. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -1
  267. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.d.ts +32 -7
  268. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +31 -12
  269. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  270. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +2 -2
  271. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -1
  272. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.d.ts +4 -1
  273. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +9 -8
  274. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
  275. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.d.ts +64 -0
  276. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js +79 -0
  277. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -0
  278. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.d.ts +5 -0
  279. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +34 -9
  280. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  281. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.d.ts +25 -0
  282. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js +94 -0
  283. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js.map +1 -0
  284. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.d.ts +5 -4
  285. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +68 -52
  286. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  287. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +55 -1
  288. package/dist/dist-esm/react-components/src/components/VideoGallery.js +82 -20
  289. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  290. package/dist/dist-esm/react-components/src/components/VideoTile.js +34 -16
  291. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  292. package/dist/dist-esm/react-components/src/components/index.d.ts +15 -1
  293. package/dist/dist-esm/react-components/src/components/index.js +13 -0
  294. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  295. package/dist/dist-esm/react-components/src/components/styles/Captions.style.d.ts +37 -0
  296. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js +67 -0
  297. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -0
  298. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.d.ts +34 -0
  299. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js +86 -0
  300. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -0
  301. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.d.ts +10 -0
  302. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +10 -0
  303. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  304. package/dist/dist-esm/react-components/src/components/styles/Common.style.d.ts +14 -0
  305. package/dist/dist-esm/react-components/src/components/styles/Common.style.js +16 -0
  306. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -0
  307. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js +4 -7
  308. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  309. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js +1 -0
  310. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  311. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.d.ts +3 -3
  312. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +7 -11
  313. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  314. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +31 -0
  315. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +70 -0
  316. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +1 -0
  317. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +8 -3
  318. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +64 -4
  319. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  320. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js +4 -1
  321. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  322. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.d.ts +0 -4
  323. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +2 -9
  324. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  325. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.d.ts +32 -0
  326. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js +66 -0
  327. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js.map +1 -0
  328. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.d.ts +4 -0
  329. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +6 -0
  330. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  331. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +3 -1
  332. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  333. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +6 -4
  334. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +1 -1
  335. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  336. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.d.ts +11 -0
  337. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js +22 -0
  338. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js.map +1 -0
  339. package/dist/dist-esm/react-components/src/components/utils/responsive.d.ts +6 -0
  340. package/dist/dist-esm/react-components/src/components/utils/responsive.js +7 -0
  341. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  342. package/dist/dist-esm/react-components/src/components/utils.d.ts +19 -0
  343. package/dist/dist-esm/react-components/src/components/utils.js +48 -1
  344. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  345. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +6 -14
  346. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  347. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +14 -4
  348. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +11 -2
  349. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  350. package/dist/dist-esm/react-components/src/index.d.ts +3 -1
  351. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  352. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +8 -0
  353. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  354. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +331 -0
  355. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +125 -13
  356. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +124 -12
  357. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +29 -6
  358. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +124 -12
  359. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +331 -0
  360. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +125 -13
  361. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +331 -0
  362. package/dist/dist-esm/react-components/src/localization/locales/index.d.ts +36 -0
  363. package/dist/dist-esm/react-components/src/localization/locales/index.js +42 -0
  364. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  365. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +124 -12
  366. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +124 -12
  367. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +124 -12
  368. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +331 -0
  369. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +124 -12
  370. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +331 -0
  371. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +125 -13
  372. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +124 -12
  373. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +331 -0
  374. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +125 -13
  375. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +124 -12
  376. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +124 -12
  377. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.d.ts +1 -1
  378. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js.map +1 -1
  379. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +1 -1
  380. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  381. package/dist/dist-esm/react-components/src/theming/icons.d.ts +13 -0
  382. package/dist/dist-esm/react-components/src/theming/icons.js +49 -10
  383. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  384. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.d.ts +48 -0
  385. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js +4 -0
  386. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js.map +1 -0
  387. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +21 -1
  388. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  389. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.d.ts +9 -0
  390. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.js +4 -0
  391. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.js.map +1 -0
  392. package/dist/dist-esm/react-components/src/types/index.d.ts +2 -0
  393. package/dist/dist-esm/react-components/src/types/index.js +2 -0
  394. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  395. package/dist/dist-esm/react-composites/src/Logger.d.ts +5 -0
  396. package/dist/dist-esm/react-composites/src/Logger.js +8 -0
  397. package/dist/dist-esm/react-composites/src/Logger.js.map +1 -0
  398. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +36 -0
  399. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +49 -35
  400. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  401. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +129 -0
  402. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  403. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +66 -6
  404. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +310 -20
  405. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  406. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +199 -2
  407. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  408. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.d.ts +23 -0
  409. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js +45 -0
  410. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -0
  411. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +5 -1
  412. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  413. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +4 -0
  414. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +180 -60
  415. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  416. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +6 -6
  417. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  418. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +14 -14
  419. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -1
  420. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +1 -0
  421. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +9 -1
  422. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  423. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +17 -4
  424. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  425. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts +2 -0
  426. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +39 -8
  427. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  428. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +1 -1
  429. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  430. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.d.ts +14 -0
  431. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +65 -0
  432. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -0
  433. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.d.ts +58 -0
  434. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.js +31 -0
  435. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.js.map +1 -0
  436. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.d.ts +17 -0
  437. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +43 -0
  438. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -0
  439. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.d.ts +25 -0
  440. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +75 -0
  441. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -0
  442. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.d.ts +6 -5
  443. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +3 -1
  444. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  445. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.d.ts +8 -8
  446. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +6 -34
  447. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +1 -1
  448. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.d.ts +1 -1
  449. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  450. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.d.ts +1 -1
  451. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  452. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.d.ts +1 -1
  453. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  454. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.d.ts +1 -1
  455. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  456. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.d.ts +1 -1
  457. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  458. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +37 -1
  459. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  460. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +8 -3
  461. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  462. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +4 -0
  463. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +4 -4
  464. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  465. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +2 -0
  466. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +67 -30
  467. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  468. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +4 -0
  469. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +1 -3
  470. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  471. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.d.ts +4 -0
  472. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +1 -3
  473. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  474. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.d.ts +4 -1
  475. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +3 -3
  476. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  477. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.d.ts +14 -0
  478. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +113 -0
  479. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -0
  480. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.d.ts +7 -0
  481. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js +21 -0
  482. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +1 -0
  483. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +31 -0
  484. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +55 -0
  485. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  486. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/videoBackgroundErrorsSelector.d.ts +7 -0
  487. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/videoBackgroundErrorsSelector.js +14 -0
  488. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/videoBackgroundErrorsSelector.js.map +1 -0
  489. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.d.ts +6 -1
  490. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +7 -0
  491. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  492. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.d.ts +13 -1
  493. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +59 -0
  494. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  495. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  496. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.d.ts +4 -0
  497. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +4 -1
  498. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  499. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +4 -4
  500. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  501. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.d.ts +20 -0
  502. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +21 -1
  503. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  504. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.d.ts +37 -0
  505. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js +55 -0
  506. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js.map +1 -0
  507. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +11 -85
  508. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  509. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.d.ts +1 -1
  510. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +3 -3
  511. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  512. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +31 -11
  513. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +76 -15
  514. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  515. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +15 -75
  516. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +126 -142
  517. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  518. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/{ChatButton.d.ts → ChatButton/ChatButton.d.ts} +1 -1
  519. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/{ChatButton.js → ChatButton/ChatButton.js} +1 -1
  520. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js.map +1 -0
  521. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/{ChatButtonWithUnreadMessagesBadge.d.ts → ChatButton/ChatButtonWithUnreadMessagesBadge.d.ts} +2 -2
  522. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/{ChatButtonWithUnreadMessagesBadge.js → ChatButton/ChatButtonWithUnreadMessagesBadge.js} +3 -3
  523. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js.map +1 -0
  524. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js.map +1 -0
  525. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +12 -0
  526. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  527. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +28 -1
  528. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +110 -7
  529. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  530. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +82 -1
  531. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  532. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +13 -0
  533. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +58 -1
  534. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  535. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +4 -0
  536. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +6 -0
  537. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  538. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js +4 -0
  539. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  540. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.d.ts +1 -1
  541. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  542. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +5 -0
  543. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +10 -2
  544. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  545. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.d.ts +1 -1
  546. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js +6 -3
  547. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  548. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +27 -2
  549. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  550. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +19 -2
  551. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +74 -8
  552. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  553. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +4 -0
  554. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  555. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +1 -0
  556. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  557. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +2 -2
  558. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  559. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +2 -2
  560. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  561. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +1 -1
  562. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  563. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.d.ts +6 -0
  564. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +68 -0
  565. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -0
  566. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.d.ts +12 -0
  567. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js +104 -0
  568. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -0
  569. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.d.ts +7 -0
  570. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js +38 -0
  571. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js.map +1 -0
  572. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +30 -0
  573. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +291 -0
  574. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -0
  575. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.d.ts +83 -0
  576. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js +84 -0
  577. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -0
  578. package/dist/dist-esm/react-composites/src/composites/{CallWithChatComposite/components → common/ControlBar}/DesktopMoreButton.d.ts +4 -0
  579. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +190 -0
  580. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -0
  581. package/dist/dist-esm/react-composites/src/composites/{CallWithChatComposite → common/ControlBar}/PeopleButton.d.ts +1 -1
  582. package/dist/dist-esm/react-composites/src/composites/{CallWithChatComposite → common/ControlBar}/PeopleButton.js +3 -3
  583. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -0
  584. package/dist/dist-esm/react-composites/src/composites/common/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -0
  585. package/dist/dist-esm/react-composites/src/composites/{CallWithChatComposite/components → common/Drawer}/MoreDrawer.d.ts +15 -2
  586. package/dist/dist-esm/react-composites/src/composites/{CallWithChatComposite/components → common/Drawer}/MoreDrawer.js +106 -9
  587. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -0
  588. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.d.ts +6 -0
  589. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js +24 -0
  590. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +1 -0
  591. package/dist/dist-esm/react-composites/src/composites/{CallWithChatComposite → common/Drawer}/PreparedMoreDrawer.d.ts +3 -2
  592. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js +26 -0
  593. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -0
  594. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.d.ts +20 -0
  595. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.js +55 -0
  596. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.js.map +1 -0
  597. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.styles.d.ts +7 -0
  598. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.styles.js +24 -0
  599. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.styles.js.map +1 -0
  600. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  601. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  602. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +4 -2
  603. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  604. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +0 -9
  605. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +32 -12
  606. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  607. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +1 -1
  608. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +1 -1
  609. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.d.ts +4 -4
  610. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +27 -2
  611. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  612. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.d.ts +8 -5
  613. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +11 -2
  614. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  615. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.d.ts +14 -0
  616. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +156 -0
  617. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -0
  618. package/dist/dist-esm/react-composites/src/composites/common/constants.d.ts +9 -0
  619. package/dist/dist-esm/react-composites/src/composites/common/constants.js +11 -0
  620. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -0
  621. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +19 -1
  622. package/dist/dist-esm/react-composites/src/composites/common/icons.js +15 -15
  623. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  624. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.d.ts +7 -0
  625. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.js +9 -0
  626. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.js.map +1 -0
  627. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.d.ts +4 -0
  628. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +4 -0
  629. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  630. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +173 -0
  631. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js +4 -0
  632. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -0
  633. package/dist/dist-esm/react-composites/src/composites/common/utils.d.ts +4 -0
  634. package/dist/dist-esm/react-composites/src/composites/common/utils.js +4 -0
  635. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  636. package/dist/dist-esm/react-composites/src/composites/index.d.ts +3 -0
  637. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  638. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +199 -0
  639. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +92 -3
  640. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +92 -3
  641. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +77 -1
  642. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +92 -3
  643. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +199 -0
  644. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +92 -3
  645. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +199 -0
  646. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.d.ts +36 -0
  647. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js +61 -1
  648. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  649. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +92 -3
  650. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +92 -3
  651. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +92 -3
  652. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +199 -0
  653. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +92 -3
  654. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +199 -0
  655. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +92 -3
  656. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +92 -3
  657. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +199 -0
  658. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +92 -3
  659. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +92 -3
  660. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +92 -3
  661. package/package.json +46 -40
  662. package/CHANGELOG.beta.md +0 -668
  663. package/CHANGELOG.json +0 -10238
  664. package/CHANGELOG.stable.md +0 -373
  665. package/dist/dist-esm/react-components/src/components/VideoGallery/VideoGalleryResponsiveHorizontalGallery.d.ts +0 -14
  666. package/dist/dist-esm/react-components/src/components/VideoGallery/VideoGalleryResponsiveHorizontalGallery.js +0 -19
  667. package/dist/dist-esm/react-components/src/components/VideoGallery/VideoGalleryResponsiveHorizontalGallery.js.map +0 -1
  668. package/dist/dist-esm/react-components/src/components/VoiceOverButton.d.ts +0 -7
  669. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js +0 -32
  670. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js.map +0 -1
  671. package/dist/dist-esm/react-components/src/components/styles/VoiceOverButton.style.d.ts +0 -9
  672. package/dist/dist-esm/react-components/src/components/styles/VoiceOverButton.style.js +0 -26
  673. package/dist/dist-esm/react-components/src/components/styles/VoiceOverButton.style.js.map +0 -1
  674. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.d.ts +0 -24
  675. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js +0 -80
  676. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js.map +0 -1
  677. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.d.ts +0 -16
  678. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js +0 -38
  679. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js.map +0 -1
  680. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.d.ts +0 -27
  681. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js +0 -190
  682. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js.map +0 -1
  683. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.d.ts +0 -34
  684. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js +0 -90
  685. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js.map +0 -1
  686. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js.map +0 -1
  687. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js.map +0 -1
  688. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.js.map +0 -1
  689. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.d.ts +0 -67
  690. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js +0 -75
  691. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js.map +0 -1
  692. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js.map +0 -1
  693. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeopleButton.js.map +0 -1
  694. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.js +0 -22
  695. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.js.map +0 -1
  696. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js +0 -65
  697. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js.map +0 -1
  698. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js.map +0 -1
  699. /package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/{NotificationIcon.d.ts → ChatButton/NotificationIcon.d.ts} +0 -0
  700. /package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/{NotificationIcon.js → ChatButton/NotificationIcon.js} +0 -0
  701. /package/dist/dist-esm/react-composites/src/composites/{CallWithChatComposite → common}/ConvertContextualMenuItemToDrawerMenuItem.d.ts +0 -0
  702. /package/dist/dist-esm/react-composites/src/composites/{CallWithChatComposite → common}/ConvertContextualMenuItemToDrawerMenuItem.js +0 -0
@@ -5,22 +5,23 @@ import { VideoGalleryParticipant, VideoGalleryRemoteParticipant } from '../../..
5
5
  */
6
6
  export interface OrganizedParticipantsArgs {
7
7
  remoteParticipants: VideoGalleryRemoteParticipant[];
8
+ localParticipant?: VideoGalleryParticipant;
8
9
  dominantSpeakers?: string[];
9
10
  maxRemoteVideoStreams?: number;
10
- maxAudioDominantSpeakers?: number;
11
+ maxOverflowGalleryDominantSpeakers?: number;
11
12
  isScreenShareActive?: boolean;
12
13
  pinnedParticipantUserIds?: string[];
13
14
  }
14
15
  /**
15
- * A result that defines grid participants and horizontal participants in the VideoGallery
16
+ * A result that defines grid participants and overflow gallery participants in the VideoGallery
16
17
  * @private
17
18
  */
18
19
  export interface OrganizedParticipantsResult {
19
20
  gridParticipants: VideoGalleryParticipant[];
20
- horizontalGalleryParticipants: VideoGalleryParticipant[];
21
+ overflowGalleryParticipants: VideoGalleryParticipant[];
21
22
  }
22
23
  /**
23
- * Hook to determine which participants should be in grid and horizontal gallery and their order respectively
24
+ * Hook to determine which participants should be in grid and overflow gallery and their order respectively
24
25
  * @private
25
26
  */
26
27
  export declare const useOrganizedParticipants: (args: OrganizedParticipantsArgs) => OrganizedParticipantsResult;
@@ -2,69 +2,80 @@
2
2
  // Licensed under the MIT license.
3
3
  import { useCallback, useRef } from 'react';
4
4
  import { smartDominantSpeakerParticipants } from '../../../gallery';
5
- const DEFAULT_MAX_REMOTE_VIDEOSTREAMS = 4;
6
- const DEFAULT_MAX_AUDIO_DOMINANT_SPEAKERS = 6;
5
+ const DEFAULT_MAX_OVERFLOW_GALLERY_DOMINANT_SPEAKERS = 6;
7
6
  const _useOrganizedParticipants = (props) => {
8
- var _a, _b;
9
- const visibleVideoParticipants = useRef([]);
10
- const visibleAudioParticipants = useRef([]);
11
- const { remoteParticipants, dominantSpeakers, maxRemoteVideoStreams = DEFAULT_MAX_REMOTE_VIDEOSTREAMS, maxAudioDominantSpeakers = DEFAULT_MAX_AUDIO_DOMINANT_SPEAKERS, isScreenShareActive = false } = props;
12
- visibleVideoParticipants.current = smartDominantSpeakerParticipants({
13
- participants: (_a = remoteParticipants === null || remoteParticipants === void 0 ? void 0 : remoteParticipants.filter((p) => { var _a; return (_a = p.videoStream) === null || _a === void 0 ? void 0 : _a.isAvailable; })) !== null && _a !== void 0 ? _a : [],
14
- dominantSpeakers,
15
- lastVisibleParticipants: visibleVideoParticipants.current,
16
- maxDominantSpeakers: maxRemoteVideoStreams
17
- }).slice(0, maxRemoteVideoStreams);
18
- const visibleVideoParticipantsSet = new Set(visibleVideoParticipants.current.map((p) => p.userId));
7
+ const visibleGridParticipants = useRef([]);
8
+ const visibleOverflowGalleryParticipants = useRef([]);
9
+ const { remoteParticipants = [], localParticipant, dominantSpeakers = [], maxRemoteVideoStreams, maxOverflowGalleryDominantSpeakers = DEFAULT_MAX_OVERFLOW_GALLERY_DOMINANT_SPEAKERS, isScreenShareActive = false, pinnedParticipantUserIds = [] } = props;
10
+ const videoParticipants = remoteParticipants.filter((p) => { var _a; return (_a = p.videoStream) === null || _a === void 0 ? void 0 : _a.isAvailable; });
11
+ visibleGridParticipants.current =
12
+ pinnedParticipantUserIds.length > 0 || isScreenShareActive
13
+ ? []
14
+ : smartDominantSpeakerParticipants({
15
+ participants: videoParticipants,
16
+ dominantSpeakers,
17
+ lastVisibleParticipants: visibleGridParticipants.current,
18
+ maxDominantSpeakers: maxRemoteVideoStreams
19
+ }).slice(0, maxRemoteVideoStreams);
20
+ const visibleGridParticipantsSet = new Set(visibleGridParticipants.current.map((p) => p.userId));
21
+ const remoteParticipantsOrdered = putVideoParticipantsFirst(remoteParticipants);
19
22
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
20
- const callingParticipants = remoteParticipants.filter((p) => p.state === ('Connecting' || 'Ringing'));
23
+ const callingParticipants = remoteParticipantsOrdered.filter((p) => p.state === ('Connecting' || 'Ringing'));
21
24
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
22
25
  const callingParticipantsSet = new Set(callingParticipants.map((p) => p.userId));
23
- visibleAudioParticipants.current = smartDominantSpeakerParticipants({
24
- participants: (_b = remoteParticipants === null || remoteParticipants === void 0 ? void 0 : remoteParticipants.filter((p) => !visibleVideoParticipantsSet.has(p.userId) &&
25
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ !callingParticipantsSet.has(p.userId))) !== null && _b !== void 0 ? _b : [],
26
- dominantSpeakers,
27
- lastVisibleParticipants: visibleAudioParticipants.current,
28
- maxDominantSpeakers: maxAudioDominantSpeakers
26
+ visibleOverflowGalleryParticipants.current = smartDominantSpeakerParticipants({
27
+ participants: remoteParticipantsOrdered.filter((p) => !visibleGridParticipantsSet.has(p.userId) &&
28
+ /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ !callingParticipantsSet.has(p.userId)),
29
+ dominantSpeakers: dominantSpeakers,
30
+ lastVisibleParticipants: visibleOverflowGalleryParticipants.current,
31
+ maxDominantSpeakers: maxOverflowGalleryDominantSpeakers
29
32
  });
30
33
  const getGridParticipants = useCallback(() => {
31
34
  if (isScreenShareActive) {
32
35
  return [];
33
36
  }
34
37
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
35
- return visibleVideoParticipants.current.length > 0
36
- ? visibleVideoParticipants.current
37
- : visibleAudioParticipants.current.concat(callingParticipants);
38
- return visibleVideoParticipants.current.length > 0
39
- ? visibleVideoParticipants.current
40
- : visibleAudioParticipants.current;
38
+ return visibleGridParticipants.current.length > 0
39
+ ? visibleGridParticipants.current
40
+ : visibleOverflowGalleryParticipants.current.concat(callingParticipants);
41
+ return visibleGridParticipants.current.length > 0
42
+ ? visibleGridParticipants.current
43
+ : visibleOverflowGalleryParticipants.current;
41
44
  }, [
42
45
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ callingParticipants,
43
46
  isScreenShareActive
44
47
  ]);
45
48
  const gridParticipants = getGridParticipants();
46
- const getHorizontalGalleryRemoteParticipants = useCallback(() => {
47
- if (isScreenShareActive) {
48
- // If screen sharing is active, assign video and audio participants as horizontal gallery participants
49
+ const getOverflowGalleryRemoteParticipants = useCallback(() => {
50
+ if (isScreenShareActive && localParticipant) {
51
+ const localParticipantPlusOverflow = [localParticipant].concat(visibleGridParticipants.current.concat(visibleOverflowGalleryParticipants.current));
52
+ // If screen sharing is active, assign video and audio participants as overflow gallery participants
53
+ /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
54
+ return localParticipantPlusOverflow.concat(callingParticipants);
55
+ return localParticipantPlusOverflow;
56
+ }
57
+ else if (isScreenShareActive) {
58
+ // If screen sharing is active, assign video and audio participants as overflow gallery participants
49
59
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
50
- return visibleVideoParticipants.current.concat(visibleAudioParticipants.current.concat(callingParticipants));
51
- return visibleVideoParticipants.current.concat(visibleAudioParticipants.current);
60
+ return visibleGridParticipants.current.concat(visibleOverflowGalleryParticipants.current.concat(callingParticipants));
61
+ return visibleGridParticipants.current.concat(visibleOverflowGalleryParticipants.current);
52
62
  }
53
63
  else {
54
64
  // If screen sharing is not active, then assign all video tiles as grid tiles.
55
65
  // If there are no video tiles, then assign audio tiles as grid tiles.
56
66
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
57
- return visibleVideoParticipants.current.length > 0
58
- ? visibleAudioParticipants.current.concat(callingParticipants)
67
+ return visibleGridParticipants.current.length > 0
68
+ ? visibleOverflowGalleryParticipants.current.concat(callingParticipants)
59
69
  : [];
60
- return visibleVideoParticipants.current.length > 0 ? visibleAudioParticipants.current : [];
70
+ return visibleGridParticipants.current.length > 0 ? visibleOverflowGalleryParticipants.current : [];
61
71
  }
62
72
  }, [
63
73
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ callingParticipants,
64
- isScreenShareActive
74
+ isScreenShareActive,
75
+ localParticipant
65
76
  ]);
66
- const horizontalGalleryParticipants = getHorizontalGalleryRemoteParticipants();
67
- return { gridParticipants, horizontalGalleryParticipants };
77
+ const overflowGalleryParticipants = getOverflowGalleryRemoteParticipants();
78
+ return { gridParticipants, overflowGalleryParticipants: overflowGalleryParticipants };
68
79
  };
69
80
  /* @conditional-compile-remove(pinned-participants) */
70
81
  const _useOrganizedParticipantsWithPinnedParticipants = (props) => {
@@ -74,18 +85,12 @@ const _useOrganizedParticipantsWithPinnedParticipants = (props) => {
74
85
  map[remoteParticipant.userId] = remoteParticipant;
75
86
  return map;
76
87
  }, {});
77
- // count pinned participants with video
78
- let pinnedParticipantsWithVideoOnCount = 0;
79
88
  // get pinned participants in the same order of pinned participant user ids using remoteParticipantMap
80
89
  const pinnedParticipants = [];
81
90
  (_a = props.pinnedParticipantUserIds) === null || _a === void 0 ? void 0 : _a.forEach((id) => {
82
- var _a;
83
91
  const pinnedParticipant = remoteParticipantMap[id];
84
92
  if (pinnedParticipant) {
85
93
  pinnedParticipants.push(pinnedParticipant);
86
- if ((_a = pinnedParticipant.videoStream) === null || _a === void 0 ? void 0 : _a.isAvailable) {
87
- pinnedParticipantsWithVideoOnCount++;
88
- }
89
94
  }
90
95
  });
91
96
  // get unpinned participants by filtering all remote participants using a set of pinned participant user ids
@@ -93,24 +98,35 @@ const _useOrganizedParticipantsWithPinnedParticipants = (props) => {
93
98
  const unpinnedParticipants = props.remoteParticipants.filter((p) => !pinnedParticipantUserIdSet.has(p.userId));
94
99
  const useOrganizedParticipantsProps = Object.assign(Object.assign({}, props), {
95
100
  // if there are pinned participants then we should only consider unpinned participants
96
- remoteParticipants: unpinnedParticipants,
97
- // if there is a maximum of remote video streams we need to subtract pinned participants with video
98
- maxRemoteVideoStreams: props.maxRemoteVideoStreams
99
- ? props.maxRemoteVideoStreams - pinnedParticipantsWithVideoOnCount
100
- : undefined });
101
+ remoteParticipants: unpinnedParticipants });
101
102
  const useOrganizedParticipantsResult = _useOrganizedParticipants(useOrganizedParticipantsProps);
102
103
  if (pinnedParticipants.length === 0) {
103
104
  return useOrganizedParticipantsResult;
104
105
  }
105
106
  return {
106
107
  gridParticipants: props.isScreenShareActive ? [] : pinnedParticipants,
107
- horizontalGalleryParticipants: props.isScreenShareActive
108
- ? pinnedParticipants.concat(useOrganizedParticipantsResult.horizontalGalleryParticipants)
109
- : useOrganizedParticipantsResult.gridParticipants.concat(useOrganizedParticipantsResult.horizontalGalleryParticipants)
108
+ overflowGalleryParticipants: props.isScreenShareActive
109
+ ? pinnedParticipants.concat(useOrganizedParticipantsResult.overflowGalleryParticipants)
110
+ : useOrganizedParticipantsResult.gridParticipants.concat(useOrganizedParticipantsResult.overflowGalleryParticipants)
110
111
  };
111
112
  };
113
+ const putVideoParticipantsFirst = (remoteParticipants) => {
114
+ const videoParticipants = [];
115
+ const audioParticipants = [];
116
+ remoteParticipants.forEach((p) => {
117
+ var _a;
118
+ if ((_a = p.videoStream) === null || _a === void 0 ? void 0 : _a.isAvailable) {
119
+ videoParticipants.push(p);
120
+ }
121
+ else {
122
+ audioParticipants.push(p);
123
+ }
124
+ });
125
+ const remoteParticipantSortedByVideo = videoParticipants.concat(audioParticipants);
126
+ return remoteParticipantSortedByVideo;
127
+ };
112
128
  /**
113
- * Hook to determine which participants should be in grid and horizontal gallery and their order respectively
129
+ * Hook to determine which participants should be in grid and overflow gallery and their order respectively
114
130
  * @private
115
131
  */
116
132
  export const useOrganizedParticipants = (args) => {
@@ -1 +1 @@
1
- {"version":3,"file":"videoGalleryLayoutUtils.js","sourceRoot":"","sources":["../../../../../../../../react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { useCallback, useRef } from 'react';\nimport { smartDominantSpeakerParticipants } from '../../../gallery';\nimport { VideoGalleryParticipant, VideoGalleryRemoteParticipant } from '../../../types';\n\n/**\n * Arguments used to determine a {@link OrganizedParticipantsResult}\n * @private\n */\nexport interface OrganizedParticipantsArgs {\n remoteParticipants: VideoGalleryRemoteParticipant[];\n dominantSpeakers?: string[];\n maxRemoteVideoStreams?: number;\n maxAudioDominantSpeakers?: number;\n isScreenShareActive?: boolean;\n /* @conditional-compile-remove(pinned-participants) */ pinnedParticipantUserIds?: string[];\n}\n\n/**\n * A result that defines grid participants and horizontal participants in the VideoGallery\n * @private\n */\nexport interface OrganizedParticipantsResult {\n gridParticipants: VideoGalleryParticipant[];\n horizontalGalleryParticipants: VideoGalleryParticipant[];\n}\n\nconst DEFAULT_MAX_REMOTE_VIDEOSTREAMS = 4;\n\nconst DEFAULT_MAX_AUDIO_DOMINANT_SPEAKERS = 6;\n\nconst _useOrganizedParticipants = (props: OrganizedParticipantsArgs): OrganizedParticipantsResult => {\n const visibleVideoParticipants = useRef<VideoGalleryRemoteParticipant[]>([]);\n const visibleAudioParticipants = useRef<VideoGalleryRemoteParticipant[]>([]);\n\n const {\n remoteParticipants,\n dominantSpeakers,\n maxRemoteVideoStreams = DEFAULT_MAX_REMOTE_VIDEOSTREAMS,\n maxAudioDominantSpeakers = DEFAULT_MAX_AUDIO_DOMINANT_SPEAKERS,\n isScreenShareActive = false\n } = props;\n\n visibleVideoParticipants.current = smartDominantSpeakerParticipants({\n participants: remoteParticipants?.filter((p) => p.videoStream?.isAvailable) ?? [],\n dominantSpeakers,\n lastVisibleParticipants: visibleVideoParticipants.current,\n maxDominantSpeakers: maxRemoteVideoStreams\n }).slice(0, maxRemoteVideoStreams);\n\n const visibleVideoParticipantsSet = new Set(visibleVideoParticipants.current.map((p) => p.userId));\n\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n const callingParticipants = remoteParticipants.filter((p) => p.state === ('Connecting' || 'Ringing'));\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n const callingParticipantsSet = new Set(callingParticipants.map((p) => p.userId));\n\n visibleAudioParticipants.current = smartDominantSpeakerParticipants({\n participants:\n remoteParticipants?.filter(\n (p) =>\n !visibleVideoParticipantsSet.has(p.userId) &&\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ !callingParticipantsSet.has(\n p.userId\n )\n ) ?? [],\n dominantSpeakers,\n lastVisibleParticipants: visibleAudioParticipants.current,\n maxDominantSpeakers: maxAudioDominantSpeakers\n });\n\n const getGridParticipants = useCallback((): VideoGalleryRemoteParticipant[] => {\n if (isScreenShareActive) {\n return [];\n }\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n return visibleVideoParticipants.current.length > 0\n ? visibleVideoParticipants.current\n : visibleAudioParticipants.current.concat(callingParticipants);\n return visibleVideoParticipants.current.length > 0\n ? visibleVideoParticipants.current\n : visibleAudioParticipants.current;\n }, [\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ callingParticipants,\n isScreenShareActive\n ]);\n\n const gridParticipants = getGridParticipants();\n\n const getHorizontalGalleryRemoteParticipants = useCallback((): VideoGalleryRemoteParticipant[] => {\n if (isScreenShareActive) {\n // If screen sharing is active, assign video and audio participants as horizontal gallery participants\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n return visibleVideoParticipants.current.concat(visibleAudioParticipants.current.concat(callingParticipants));\n return visibleVideoParticipants.current.concat(visibleAudioParticipants.current);\n } else {\n // If screen sharing is not active, then assign all video tiles as grid tiles.\n // If there are no video tiles, then assign audio tiles as grid tiles.\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n return visibleVideoParticipants.current.length > 0\n ? visibleAudioParticipants.current.concat(callingParticipants)\n : [];\n return visibleVideoParticipants.current.length > 0 ? visibleAudioParticipants.current : [];\n }\n }, [\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ callingParticipants,\n isScreenShareActive\n ]);\n\n const horizontalGalleryParticipants = getHorizontalGalleryRemoteParticipants();\n\n return { gridParticipants, horizontalGalleryParticipants };\n};\n\n/* @conditional-compile-remove(pinned-participants) */\nconst _useOrganizedParticipantsWithPinnedParticipants = (\n props: OrganizedParticipantsArgs\n): OrganizedParticipantsResult => {\n // map remote participants by userId\n const remoteParticipantMap = props.remoteParticipants.reduce((map, remoteParticipant) => {\n map[remoteParticipant.userId] = remoteParticipant;\n return map;\n }, {});\n\n // count pinned participants with video\n let pinnedParticipantsWithVideoOnCount = 0;\n\n // get pinned participants in the same order of pinned participant user ids using remoteParticipantMap\n const pinnedParticipants: VideoGalleryRemoteParticipant[] = [];\n props.pinnedParticipantUserIds?.forEach((id) => {\n const pinnedParticipant = remoteParticipantMap[id];\n if (pinnedParticipant) {\n pinnedParticipants.push(pinnedParticipant);\n if (pinnedParticipant.videoStream?.isAvailable) {\n pinnedParticipantsWithVideoOnCount++;\n }\n }\n });\n\n // get unpinned participants by filtering all remote participants using a set of pinned participant user ids\n const pinnedParticipantUserIdSet = new Set(props.pinnedParticipantUserIds);\n const unpinnedParticipants = props.remoteParticipants.filter((p) => !pinnedParticipantUserIdSet.has(p.userId));\n\n const useOrganizedParticipantsProps = {\n ...props,\n // if there are pinned participants then we should only consider unpinned participants\n remoteParticipants: unpinnedParticipants,\n // if there is a maximum of remote video streams we need to subtract pinned participants with video\n maxRemoteVideoStreams: props.maxRemoteVideoStreams\n ? props.maxRemoteVideoStreams - pinnedParticipantsWithVideoOnCount\n : undefined\n };\n\n const useOrganizedParticipantsResult = _useOrganizedParticipants(useOrganizedParticipantsProps);\n\n if (pinnedParticipants.length === 0) {\n return useOrganizedParticipantsResult;\n }\n\n return {\n gridParticipants: props.isScreenShareActive ? [] : pinnedParticipants,\n horizontalGalleryParticipants: props.isScreenShareActive\n ? pinnedParticipants.concat(useOrganizedParticipantsResult.horizontalGalleryParticipants)\n : useOrganizedParticipantsResult.gridParticipants.concat(\n useOrganizedParticipantsResult.horizontalGalleryParticipants\n )\n };\n};\n\n/**\n * Hook to determine which participants should be in grid and horizontal gallery and their order respectively\n * @private\n */\nexport const useOrganizedParticipants = (args: OrganizedParticipantsArgs): OrganizedParticipantsResult => {\n /* @conditional-compile-remove(pinned-participants) */\n return _useOrganizedParticipantsWithPinnedParticipants(args);\n return _useOrganizedParticipants(args);\n};\n"]}
1
+ {"version":3,"file":"videoGalleryLayoutUtils.js","sourceRoot":"","sources":["../../../../../../../../react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { useCallback, useRef } from 'react';\nimport { smartDominantSpeakerParticipants } from '../../../gallery';\nimport { VideoGalleryParticipant, VideoGalleryRemoteParticipant } from '../../../types';\n\n/**\n * Arguments used to determine a {@link OrganizedParticipantsResult}\n * @private\n */\nexport interface OrganizedParticipantsArgs {\n remoteParticipants: VideoGalleryRemoteParticipant[];\n localParticipant?: VideoGalleryParticipant;\n dominantSpeakers?: string[];\n maxRemoteVideoStreams?: number;\n maxOverflowGalleryDominantSpeakers?: number;\n isScreenShareActive?: boolean;\n pinnedParticipantUserIds?: string[];\n}\n\n/**\n * A result that defines grid participants and overflow gallery participants in the VideoGallery\n * @private\n */\nexport interface OrganizedParticipantsResult {\n gridParticipants: VideoGalleryParticipant[];\n overflowGalleryParticipants: VideoGalleryParticipant[];\n}\n\nconst DEFAULT_MAX_OVERFLOW_GALLERY_DOMINANT_SPEAKERS = 6;\n\nconst _useOrganizedParticipants = (props: OrganizedParticipantsArgs): OrganizedParticipantsResult => {\n const visibleGridParticipants = useRef<VideoGalleryRemoteParticipant[]>([]);\n const visibleOverflowGalleryParticipants = useRef<VideoGalleryRemoteParticipant[]>([]);\n\n const {\n remoteParticipants = [],\n localParticipant,\n dominantSpeakers = [],\n maxRemoteVideoStreams,\n maxOverflowGalleryDominantSpeakers = DEFAULT_MAX_OVERFLOW_GALLERY_DOMINANT_SPEAKERS,\n isScreenShareActive = false,\n pinnedParticipantUserIds = []\n } = props;\n\n const videoParticipants = remoteParticipants.filter((p) => p.videoStream?.isAvailable);\n\n visibleGridParticipants.current =\n pinnedParticipantUserIds.length > 0 || isScreenShareActive\n ? []\n : smartDominantSpeakerParticipants({\n participants: videoParticipants,\n dominantSpeakers,\n lastVisibleParticipants: visibleGridParticipants.current,\n maxDominantSpeakers: maxRemoteVideoStreams as number\n }).slice(0, maxRemoteVideoStreams);\n\n const visibleGridParticipantsSet = new Set(visibleGridParticipants.current.map((p) => p.userId));\n\n const remoteParticipantsOrdered = putVideoParticipantsFirst(remoteParticipants);\n\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n const callingParticipants = remoteParticipantsOrdered.filter((p) => p.state === ('Connecting' || 'Ringing'));\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n const callingParticipantsSet = new Set(callingParticipants.map((p) => p.userId));\n\n visibleOverflowGalleryParticipants.current = smartDominantSpeakerParticipants({\n participants: remoteParticipantsOrdered.filter(\n (p) =>\n !visibleGridParticipantsSet.has(p.userId) &&\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ !callingParticipantsSet.has(\n p.userId\n )\n ),\n dominantSpeakers: dominantSpeakers,\n lastVisibleParticipants: visibleOverflowGalleryParticipants.current,\n maxDominantSpeakers: maxOverflowGalleryDominantSpeakers\n });\n\n const getGridParticipants = useCallback((): VideoGalleryRemoteParticipant[] => {\n if (isScreenShareActive) {\n return [];\n }\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n return visibleGridParticipants.current.length > 0\n ? visibleGridParticipants.current\n : visibleOverflowGalleryParticipants.current.concat(callingParticipants);\n return visibleGridParticipants.current.length > 0\n ? visibleGridParticipants.current\n : visibleOverflowGalleryParticipants.current;\n }, [\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ callingParticipants,\n isScreenShareActive\n ]);\n\n const gridParticipants = getGridParticipants();\n\n const getOverflowGalleryRemoteParticipants = useCallback((): (\n | VideoGalleryParticipant\n | VideoGalleryRemoteParticipant\n )[] => {\n if (isScreenShareActive && localParticipant) {\n const localParticipantPlusOverflow = [localParticipant].concat(\n visibleGridParticipants.current.concat(visibleOverflowGalleryParticipants.current)\n );\n // If screen sharing is active, assign video and audio participants as overflow gallery participants\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n return localParticipantPlusOverflow.concat(callingParticipants);\n return localParticipantPlusOverflow;\n } else if (isScreenShareActive) {\n // If screen sharing is active, assign video and audio participants as overflow gallery participants\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n return visibleGridParticipants.current.concat(\n visibleOverflowGalleryParticipants.current.concat(callingParticipants)\n );\n return visibleGridParticipants.current.concat(visibleOverflowGalleryParticipants.current);\n } else {\n // If screen sharing is not active, then assign all video tiles as grid tiles.\n // If there are no video tiles, then assign audio tiles as grid tiles.\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n return visibleGridParticipants.current.length > 0\n ? visibleOverflowGalleryParticipants.current.concat(callingParticipants)\n : [];\n return visibleGridParticipants.current.length > 0 ? visibleOverflowGalleryParticipants.current : [];\n }\n }, [\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ callingParticipants,\n isScreenShareActive,\n localParticipant\n ]);\n\n const overflowGalleryParticipants = getOverflowGalleryRemoteParticipants();\n\n return { gridParticipants, overflowGalleryParticipants: overflowGalleryParticipants };\n};\n\n/* @conditional-compile-remove(pinned-participants) */\nconst _useOrganizedParticipantsWithPinnedParticipants = (\n props: OrganizedParticipantsArgs\n): OrganizedParticipantsResult => {\n // map remote participants by userId\n const remoteParticipantMap = props.remoteParticipants.reduce((map, remoteParticipant) => {\n map[remoteParticipant.userId] = remoteParticipant;\n return map;\n }, {});\n\n // get pinned participants in the same order of pinned participant user ids using remoteParticipantMap\n const pinnedParticipants: VideoGalleryRemoteParticipant[] = [];\n props.pinnedParticipantUserIds?.forEach((id) => {\n const pinnedParticipant = remoteParticipantMap[id];\n if (pinnedParticipant) {\n pinnedParticipants.push(pinnedParticipant);\n }\n });\n\n // get unpinned participants by filtering all remote participants using a set of pinned participant user ids\n const pinnedParticipantUserIdSet = new Set(props.pinnedParticipantUserIds);\n const unpinnedParticipants = props.remoteParticipants.filter((p) => !pinnedParticipantUserIdSet.has(p.userId));\n\n const useOrganizedParticipantsProps = {\n ...props,\n // if there are pinned participants then we should only consider unpinned participants\n remoteParticipants: unpinnedParticipants\n };\n\n const useOrganizedParticipantsResult = _useOrganizedParticipants(useOrganizedParticipantsProps);\n\n if (pinnedParticipants.length === 0) {\n return useOrganizedParticipantsResult;\n }\n\n return {\n gridParticipants: props.isScreenShareActive ? [] : pinnedParticipants,\n overflowGalleryParticipants: props.isScreenShareActive\n ? pinnedParticipants.concat(useOrganizedParticipantsResult.overflowGalleryParticipants)\n : useOrganizedParticipantsResult.gridParticipants.concat(\n useOrganizedParticipantsResult.overflowGalleryParticipants\n )\n };\n};\n\nconst putVideoParticipantsFirst = (\n remoteParticipants: VideoGalleryRemoteParticipant[]\n): VideoGalleryRemoteParticipant[] => {\n const videoParticipants: VideoGalleryRemoteParticipant[] = [];\n const audioParticipants: VideoGalleryRemoteParticipant[] = [];\n remoteParticipants.forEach((p) => {\n if (p.videoStream?.isAvailable) {\n videoParticipants.push(p);\n } else {\n audioParticipants.push(p);\n }\n });\n const remoteParticipantSortedByVideo = videoParticipants.concat(audioParticipants);\n return remoteParticipantSortedByVideo;\n};\n\n/**\n * Hook to determine which participants should be in grid and overflow gallery and their order respectively\n * @private\n */\nexport const useOrganizedParticipants = (args: OrganizedParticipantsArgs): OrganizedParticipantsResult => {\n /* @conditional-compile-remove(pinned-participants) */\n return _useOrganizedParticipantsWithPinnedParticipants(args);\n return _useOrganizedParticipants(args);\n};\n"]}
@@ -4,11 +4,23 @@ import { GridLayoutStyles } from '.';
4
4
  import { BaseCustomStyles, OnRenderAvatarCallback, VideoGalleryLocalParticipant, VideoGalleryRemoteParticipant, VideoStreamOptions, CreateVideoStreamViewResult } from '../types';
5
5
  import { HorizontalGalleryStyles } from './HorizontalGallery';
6
6
  import { LocalVideoCameraCycleButtonProps } from './LocalVideoCameraButton';
7
+ import { VerticalGalleryStyles } from './VerticalGallery';
7
8
  /**
8
9
  * @private
9
10
  * Currently the Calling JS SDK supports up to 4 remote video streams
10
11
  */
11
12
  export declare const DEFAULT_MAX_REMOTE_VIDEO_STREAMS = 4;
13
+ /**
14
+ * @private
15
+ * Styles to disable the selectivity of a text in video gallery
16
+ */
17
+ export declare const unselectable: {
18
+ '-webkit-user-select': string;
19
+ '-webkit-touch-callout': string;
20
+ '-moz-user-select': string;
21
+ '-ms-user-select': string;
22
+ 'user-select': string;
23
+ };
12
24
  /**
13
25
  * @private
14
26
  * Set aside only 6 dominant speakers for remaining audio participants
@@ -54,6 +66,14 @@ export interface VideoGalleryStrings {
54
66
  pinParticipantForMe: string;
55
67
  /** Menu text shown in Video Tile contextual menu for setting a remote participant's video tile */
56
68
  unpinParticipantForMe: string;
69
+ /** Aria label for pin participant menu item of remote participant's video tile */
70
+ pinParticipantMenuItemAriaLabel: string;
71
+ /** Aria label for unpin participant menu item of remote participant's video tile */
72
+ unpinParticipantMenuItemAriaLabel: string;
73
+ /** Aria label to announce when remote participant's video tile is pinned */
74
+ pinnedParticipantAnnouncementAriaLabel: string;
75
+ /** Aria label to announce when remote participant's video tile is unpinned */
76
+ unpinnedParticipantAnnouncementAriaLabel: string;
57
77
  }
58
78
  /**
59
79
  * @public
@@ -70,7 +90,21 @@ export interface VideoGalleryStyles extends BaseCustomStyles {
70
90
  horizontalGallery?: HorizontalGalleryStyles;
71
91
  /** Styles for the local video */
72
92
  localVideo?: IStyle;
93
+ /** Styles for the vertical gallery */
94
+ verticalGallery?: VerticalGalleryStyles;
73
95
  }
96
+ /**
97
+ * Different modes and positions of the overflow gallery in the VideoGallery
98
+ *
99
+ * @beta
100
+ */
101
+ export declare type OverflowGalleryPosition = 'HorizontalBottom' | 'VerticalRight';
102
+ /**
103
+ * different modes of the local video tile
104
+ *
105
+ * @beta
106
+ */
107
+ export declare type LocalVideoTileSize = '9:16' | '16:9' | 'hidden' | 'followDeviceOrientation';
74
108
  /**
75
109
  * Props for {@link VideoGallery}.
76
110
  *
@@ -108,8 +142,16 @@ export interface VideoGalleryProps {
108
142
  onCreateRemoteStreamView?: (userId: string, options?: VideoStreamOptions) => Promise<void | CreateVideoStreamViewResult>;
109
143
  /** Callback to render a remote video tile */
110
144
  onRenderRemoteVideoTile?: (remoteParticipant: VideoGalleryRemoteParticipant) => JSX.Element;
111
- /** Callback to dispose a remote video stream view */
145
+ /**
146
+ * @deprecated use {@link onDisposeRemoteVideoStreamView} and {@link onDisposeRemoteScreenShareStreamView} instead
147
+ *
148
+ * Callback to dispose a remote video stream view
149
+ */
112
150
  onDisposeRemoteStreamView?: (userId: string) => Promise<void>;
151
+ /** Callback to dispose a remote video stream view */
152
+ onDisposeRemoteVideoStreamView?: (userId: string) => Promise<void>;
153
+ /** Callback to dispose a remote screen share stream view */
154
+ onDisposeRemoteScreenShareStreamView?: (userId: string) => Promise<void>;
113
155
  /** Callback to render a particpant avatar */
114
156
  onRenderAvatar?: OnRenderAvatarCallback;
115
157
  /**
@@ -150,6 +192,18 @@ export interface VideoGalleryProps {
150
192
  * @defaultValue \{ kind: 'contextual' \}
151
193
  */
152
194
  remoteVideoTileMenuOptions?: false | VideoTileContextualMenuProps | VideoTileDrawerMenuProps;
195
+ /**
196
+ * Determines the layout of the overflowGallery inside the VideoGallery.
197
+ * @defaultValue 'HorizontalBottom'
198
+ */
199
+ overflowGalleryPosition?: OverflowGalleryPosition;
200
+ /**
201
+ * Determines the aspect ratio of local video tile in the video gallery.
202
+ * @remarks 'followDeviceOrientation' will be responsive to the screen orientation and will change between 9:16 (portrait) and
203
+ * 16:9 (landscape) aspect ratios.
204
+ * @defaultValue 'followDeviceOrientation'
205
+ */
206
+ localVideoTileSize?: LocalVideoTileSize;
153
207
  }
154
208
  /**
155
209
  * Properties for showing contextual menu for remote {@link VideoTile} components in {@link VideoGallery}.
@@ -2,6 +2,10 @@
2
2
  // Licensed under the MIT license.
3
3
  import { concatStyleSets, mergeStyles, Stack } from '@fluentui/react';
4
4
  import React, { useCallback, useMemo, useRef } from 'react';
5
+ /* @conditional-compile-remove(pinned-participants) */
6
+ import { Announcer } from './Announcer';
7
+ /* @conditional-compile-remove(pinned-participants) */
8
+ import { useEffect } from 'react';
5
9
  import { useLocale } from '../localization';
6
10
  import { useTheme } from '../theming';
7
11
  import { _RemoteVideoTile } from './RemoteVideoTile';
@@ -14,7 +18,7 @@ import { _usePermissions } from '../permissions';
14
18
  import { DefaultLayout } from './VideoGallery/DefaultLayout';
15
19
  import { FloatingLocalVideoLayout } from './VideoGallery/FloatingLocalVideoLayout';
16
20
  import { useIdentifiers } from '../identifiers';
17
- import { videoGalleryOuterDivStyle } from './styles/VideoGallery.styles';
21
+ import { localVideoTileContainerStyles, videoGalleryOuterDivStyle } from './styles/VideoGallery.styles';
18
22
  import { floatingLocalVideoTileStyle } from './VideoGallery/styles/FloatingLocalVideo.styles';
19
23
  /* @conditional-compile-remove(pinned-participants) */
20
24
  import { useId } from '@fluentui/react-hooks';
@@ -23,6 +27,17 @@ import { useId } from '@fluentui/react-hooks';
23
27
  * Currently the Calling JS SDK supports up to 4 remote video streams
24
28
  */
25
29
  export const DEFAULT_MAX_REMOTE_VIDEO_STREAMS = 4;
30
+ /**
31
+ * @private
32
+ * Styles to disable the selectivity of a text in video gallery
33
+ */
34
+ export const unselectable = {
35
+ '-webkit-user-select': 'none',
36
+ '-webkit-touch-callout': 'none',
37
+ '-moz-user-select': 'none',
38
+ '-ms-user-select': 'none',
39
+ 'user-select': 'none'
40
+ };
26
41
  /**
27
42
  * @private
28
43
  * Set aside only 6 dominant speakers for remaining audio participants
@@ -49,13 +64,17 @@ export const MAX_PINNED_REMOTE_VIDEO_TILES = 4;
49
64
  */
50
65
  export const VideoGallery = (props) => {
51
66
  var _a, _b, _c;
52
- const { localParticipant, remoteParticipants = [], localVideoViewOptions, remoteVideoViewOptions, dominantSpeakers, onRenderLocalVideoTile, onRenderRemoteVideoTile, onCreateLocalStreamView, onDisposeLocalStreamView, onCreateRemoteStreamView, onDisposeRemoteStreamView, styles, layout, onRenderAvatar, showMuteIndicator, maxRemoteVideoStreams = DEFAULT_MAX_REMOTE_VIDEO_STREAMS, showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps,
67
+ const { localParticipant, remoteParticipants = [], localVideoViewOptions, remoteVideoViewOptions, dominantSpeakers, onRenderLocalVideoTile, onRenderRemoteVideoTile, onCreateLocalStreamView, onDisposeLocalStreamView, onCreateRemoteStreamView, onDisposeRemoteScreenShareStreamView, onDisposeRemoteVideoStreamView, styles, layout, onRenderAvatar, showMuteIndicator, maxRemoteVideoStreams = DEFAULT_MAX_REMOTE_VIDEO_STREAMS, showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps,
53
68
  /* @conditional-compile-remove(pinned-participants) */
54
69
  onPinParticipant: onPinParticipantHandler,
55
70
  /* @conditional-compile-remove(pinned-participants) */
56
71
  onUnpinParticipant: onUnpinParticipantHandler,
57
72
  /* @conditional-compile-remove(pinned-participants) */
58
- remoteVideoTileMenuOptions = DEFAULT_REMOTE_VIDEO_TILE_MENU_OPTIONS } = props;
73
+ remoteVideoTileMenuOptions = DEFAULT_REMOTE_VIDEO_TILE_MENU_OPTIONS,
74
+ /* @conditional-compile-remove(vertical-gallery) */
75
+ overflowGalleryPosition = 'HorizontalBottom',
76
+ /* @conditional-compile-remove(click-to-call) */
77
+ localVideoTileSize = 'followDeviceOrientation' } = props;
59
78
  const ids = useIdentifiers();
60
79
  const theme = useTheme();
61
80
  const localeStrings = useLocale().strings.videoGallery;
@@ -74,6 +93,17 @@ export const VideoGallery = (props) => {
74
93
  /* @conditional-compile-remove(pinned-participants) */
75
94
  const [pinnedParticipantsState, setPinnedParticipantsState] = React.useState([]);
76
95
  /* @conditional-compile-remove(pinned-participants) */
96
+ useEffect(() => {
97
+ var _a;
98
+ (_a = props.pinnedParticipants) === null || _a === void 0 ? void 0 : _a.forEach((pinParticipant) => {
99
+ var _a;
100
+ if (!((_a = props.remoteParticipants) === null || _a === void 0 ? void 0 : _a.find((t) => t.userId === pinParticipant))) {
101
+ // warning will be logged in the console when invalid participant id is passed in pinned participants
102
+ console.warn('Invalid pinned participant UserId :' + pinParticipant);
103
+ }
104
+ });
105
+ }, [props.pinnedParticipants, props.remoteParticipants]);
106
+ /* @conditional-compile-remove(pinned-participants) */
77
107
  // Use pinnedParticipants from props but if it is not defined use the maintained state of pinned participants
78
108
  const pinnedParticipants = (_a = props.pinnedParticipants) !== null && _a !== void 0 ? _a : pinnedParticipantsState;
79
109
  /* @conditional-compile-remove(rooms) */
@@ -84,7 +114,7 @@ export const VideoGallery = (props) => {
84
114
  const localVideoTile = useMemo(() => {
85
115
  var _a, _b;
86
116
  /* @conditional-compile-remove(rooms) */
87
- if (!permissions.cameraButton) {
117
+ if (!permissions.cameraButton || /* @conditional-compile-remove(click-to-call) */ localVideoTileSize === 'hidden') {
88
118
  return undefined;
89
119
  }
90
120
  if (onRenderLocalVideoTile) {
@@ -94,8 +124,9 @@ export const VideoGallery = (props) => {
94
124
  root: { borderRadius: theme.effects.roundedCorner4 }
95
125
  }, styles === null || styles === void 0 ? void 0 : styles.localVideo);
96
126
  const initialsName = !localParticipant.displayName ? '' : localParticipant.displayName;
97
- return (React.createElement(Stack, { key: "local-video-tile-key", tabIndex: 0, "aria-label": strings.localVideoMovementLabel, role: 'dialog' },
98
- React.createElement(_LocalVideoTile, { userId: localParticipant.userId, onCreateLocalStreamView: onCreateLocalStreamView, onDisposeLocalStreamView: onDisposeLocalStreamView, isAvailable: (_a = localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.videoStream) === null || _a === void 0 ? void 0 : _a.isAvailable, isMuted: localParticipant.isMuted, renderElement: (_b = localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.videoStream) === null || _b === void 0 ? void 0 : _b.renderElement, displayName: isNarrow ? '' : strings.localVideoLabel, initialsName: initialsName, localVideoViewOptions: localVideoViewOptions, onRenderAvatar: onRenderAvatar, showLabel: !(shouldFloatLocalVideo && isNarrow), showMuteIndicator: showMuteIndicator, showCameraSwitcherInLocalPreview: showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps: localVideoCameraCycleButtonProps, localVideoCameraSwitcherLabel: strings.localVideoCameraSwitcherLabel, localVideoSelectedDescription: strings.localVideoSelectedDescription, styles: localVideoTileStyles })));
127
+ return (React.createElement(Stack, { styles: localVideoTileContainerStyles, key: "local-video-tile-key", tabIndex: 0, "aria-label": strings.localVideoMovementLabel, role: 'dialog' },
128
+ React.createElement(_LocalVideoTile, { userId: localParticipant.userId, onCreateLocalStreamView: onCreateLocalStreamView, onDisposeLocalStreamView: onDisposeLocalStreamView, isAvailable: (_a = localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.videoStream) === null || _a === void 0 ? void 0 : _a.isAvailable, isMuted: localParticipant.isMuted, renderElement: (_b = localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.videoStream) === null || _b === void 0 ? void 0 : _b.renderElement, displayName: isNarrow ? '' : strings.localVideoLabel, initialsName: initialsName, localVideoViewOptions: localVideoViewOptions, onRenderAvatar: onRenderAvatar, showLabel: !((shouldFloatLocalVideo && isNarrow) ||
129
+ /*@conditional-compile-remove(click-to-call) */ localVideoTileSize === '9:16'), showMuteIndicator: showMuteIndicator, showCameraSwitcherInLocalPreview: showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps: localVideoCameraCycleButtonProps, localVideoCameraSwitcherLabel: strings.localVideoCameraSwitcherLabel, localVideoSelectedDescription: strings.localVideoSelectedDescription, styles: localVideoTileStyles })));
99
130
  }, [
100
131
  isNarrow,
101
132
  localParticipant,
@@ -114,7 +145,8 @@ export const VideoGallery = (props) => {
114
145
  strings.localVideoSelectedDescription,
115
146
  styles === null || styles === void 0 ? void 0 : styles.localVideo,
116
147
  theme.effects.roundedCorner4,
117
- /* @conditional-compile-remove(rooms) */ permissions.cameraButton
148
+ /* @conditional-compile-remove(rooms) */ permissions.cameraButton,
149
+ /* @conditional-compile-remove(click-to-call) */ localVideoTileSize
118
150
  ]);
119
151
  /* @conditional-compile-remove(pinned-participants) */
120
152
  const onPinParticipant = useCallback((userId) => {
@@ -131,19 +163,36 @@ export const VideoGallery = (props) => {
131
163
  setPinnedParticipantsState(pinnedParticipantsState.filter((p) => p !== userId));
132
164
  onUnpinParticipantHandler === null || onUnpinParticipantHandler === void 0 ? void 0 : onUnpinParticipantHandler(userId);
133
165
  }, [pinnedParticipantsState, setPinnedParticipantsState, onUnpinParticipantHandler]);
166
+ /* @conditional-compile-remove(pinned-participants) */
167
+ const [announcementString, setAnnouncementString] = React.useState('');
168
+ /* @conditional-compile-remove(pinned-participants) */
169
+ /**
170
+ * sets the announcement string for VideoGallery actions so that the screenreader will trigger
171
+ */
172
+ const toggleAnnouncerString = useCallback((announcement) => {
173
+ setAnnouncementString(announcement);
174
+ /**
175
+ * Clears the announcer string after VideoGallery action allowing it to be re-announced.
176
+ */
177
+ setTimeout(() => {
178
+ setAnnouncementString('');
179
+ }, 3000);
180
+ }, [setAnnouncementString]);
134
181
  const defaultOnRenderVideoTile = useCallback((participant, isVideoParticipant) => {
135
182
  const remoteVideoStream = participant.videoStream;
136
183
  /* @conditional-compile-remove(pinned-participants) */
137
184
  const isPinned = pinnedParticipants === null || pinnedParticipants === void 0 ? void 0 : pinnedParticipants.includes(participant.userId);
138
- return (React.createElement(_RemoteVideoTile, { key: participant.userId, userId: participant.userId, remoteParticipant: participant, onCreateRemoteStreamView: isVideoParticipant ? onCreateRemoteStreamView : undefined, onDisposeRemoteStreamView: isVideoParticipant ? onDisposeRemoteStreamView : undefined, isAvailable: isVideoParticipant ? remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.isAvailable : false, isReceiving: isVideoParticipant ? remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.isReceiving : false, renderElement: isVideoParticipant ? remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.renderElement : undefined, remoteVideoViewOptions: isVideoParticipant ? remoteVideoViewOptions : undefined, onRenderAvatar: onRenderAvatar, showMuteIndicator: showMuteIndicator, strings: strings,
185
+ return (React.createElement(_RemoteVideoTile, { key: participant.userId, userId: participant.userId, remoteParticipant: participant, onCreateRemoteStreamView: isVideoParticipant ? onCreateRemoteStreamView : undefined, onDisposeRemoteStreamView: isVideoParticipant ? onDisposeRemoteVideoStreamView : undefined, isAvailable: isVideoParticipant ? remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.isAvailable : false, isReceiving: isVideoParticipant ? remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.isReceiving : false, renderElement: isVideoParticipant ? remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.renderElement : undefined, remoteVideoViewOptions: isVideoParticipant ? remoteVideoViewOptions : undefined, onRenderAvatar: onRenderAvatar, showMuteIndicator: showMuteIndicator, strings: strings,
139
186
  /* @conditional-compile-remove(PSTN-calls) */
140
187
  participantState: participant.state,
141
188
  /* @conditional-compile-remove(pinned-participants) */
142
- menuKind: remoteVideoTileMenuOptions
143
- ? remoteVideoTileMenuOptions.kind === 'drawer'
144
- ? 'drawer'
145
- : 'contextual'
146
- : undefined,
189
+ menuKind: participant.userId === localParticipant.userId
190
+ ? undefined
191
+ : remoteVideoTileMenuOptions
192
+ ? remoteVideoTileMenuOptions.kind === 'drawer'
193
+ ? 'drawer'
194
+ : 'contextual'
195
+ : undefined,
147
196
  /* @conditional-compile-remove(pinned-participants) */
148
197
  drawerMenuHostId: drawerMenuHostId,
149
198
  /* @conditional-compile-remove(pinned-participants) */
@@ -153,11 +202,14 @@ export const VideoGallery = (props) => {
153
202
  /* @conditional-compile-remove(pinned-participants) */
154
203
  isPinned: isPinned,
155
204
  /* @conditional-compile-remove(pinned-participants) */
156
- disablePinMenuItem: pinnedParticipants.length >= MAX_PINNED_REMOTE_VIDEO_TILES }));
205
+ disablePinMenuItem: pinnedParticipants.length >= MAX_PINNED_REMOTE_VIDEO_TILES,
206
+ /* @conditional-compile-remove(pinned-participants) */
207
+ toggleAnnouncerString: toggleAnnouncerString }));
157
208
  }, [
158
209
  onCreateRemoteStreamView,
159
- onDisposeRemoteStreamView,
210
+ onDisposeRemoteVideoStreamView,
160
211
  remoteVideoViewOptions,
212
+ localParticipant,
161
213
  onRenderAvatar,
162
214
  showMuteIndicator,
163
215
  strings,
@@ -165,11 +217,12 @@ export const VideoGallery = (props) => {
165
217
  /* @conditional-compile-remove(pinned-participants) */ remoteVideoTileMenuOptions,
166
218
  /* @conditional-compile-remove(pinned-participants) */ pinnedParticipants,
167
219
  /* @conditional-compile-remove(pinned-participants) */ onPinParticipant,
168
- /* @conditional-compile-remove(pinned-participants) */ onUnpinParticipant
220
+ /* @conditional-compile-remove(pinned-participants) */ onUnpinParticipant,
221
+ /* @conditional-compile-remove(pinned-participants) */ toggleAnnouncerString
169
222
  ]);
170
223
  const screenShareParticipant = remoteParticipants.find((participant) => { var _a; return (_a = participant.screenShareStream) === null || _a === void 0 ? void 0 : _a.isAvailable; });
171
224
  const localScreenShareStreamComponent = React.createElement(LocalScreenShare, { localParticipant: localParticipant });
172
- const remoteScreenShareComponent = screenShareParticipant && (React.createElement(RemoteScreenShare, Object.assign({}, screenShareParticipant, { renderElement: (_b = screenShareParticipant.screenShareStream) === null || _b === void 0 ? void 0 : _b.renderElement, onCreateRemoteStreamView: onCreateRemoteStreamView, onDisposeRemoteStreamView: onDisposeRemoteStreamView, isReceiving: (_c = screenShareParticipant.screenShareStream) === null || _c === void 0 ? void 0 : _c.isReceiving })));
225
+ const remoteScreenShareComponent = screenShareParticipant && (React.createElement(RemoteScreenShare, Object.assign({}, screenShareParticipant, { renderElement: (_b = screenShareParticipant.screenShareStream) === null || _b === void 0 ? void 0 : _b.renderElement, onCreateRemoteStreamView: onCreateRemoteStreamView, onDisposeRemoteStreamView: onDisposeRemoteScreenShareStreamView, isReceiving: (_c = screenShareParticipant.screenShareStream) === null || _c === void 0 ? void 0 : _c.isReceiving })));
173
226
  const screenShareComponent = remoteScreenShareComponent
174
227
  ? remoteScreenShareComponent
175
228
  : localParticipant.isScreenSharingOn
@@ -177,6 +230,7 @@ export const VideoGallery = (props) => {
177
230
  : undefined;
178
231
  const layoutProps = useMemo(() => ({
179
232
  remoteParticipants,
233
+ localParticipant,
180
234
  screenShareComponent,
181
235
  showCameraSwitcherInLocalPreview,
182
236
  maxRemoteVideoStreams,
@@ -186,9 +240,12 @@ export const VideoGallery = (props) => {
186
240
  localVideoComponent: localVideoTile,
187
241
  parentWidth: containerWidth,
188
242
  parentHeight: containerHeight,
189
- /* @conditional-compile-remove(pinned-participants) */ pinnedParticipantUserIds: pinnedParticipants
243
+ /* @conditional-compile-remove(pinned-participants) */ pinnedParticipantUserIds: pinnedParticipants,
244
+ /* @conditional-compile-remove(vertical-gallery) */ overflowGalleryPosition,
245
+ /* @conditional-compile-remove(click-to-call) */ localVideoTileSize
190
246
  }), [
191
247
  remoteParticipants,
248
+ localParticipant,
192
249
  screenShareComponent,
193
250
  showCameraSwitcherInLocalPreview,
194
251
  maxRemoteVideoStreams,
@@ -199,7 +256,9 @@ export const VideoGallery = (props) => {
199
256
  containerHeight,
200
257
  onRenderRemoteVideoTile,
201
258
  defaultOnRenderVideoTile,
202
- /* @conditional-compile-remove(pinned-participants) */ pinnedParticipants
259
+ /* @conditional-compile-remove(pinned-participants) */ pinnedParticipants,
260
+ /* @conditional-compile-remove(vertical-gallery) */ overflowGalleryPosition,
261
+ /* @conditional-compile-remove(click-to-call) */ localVideoTileSize
203
262
  ]);
204
263
  const videoGalleryLayout = useMemo(() => {
205
264
  if (layout === 'floatingLocalVideo') {
@@ -210,6 +269,9 @@ export const VideoGallery = (props) => {
210
269
  return (React.createElement("div", {
211
270
  /* @conditional-compile-remove(pinned-participants) */
212
271
  // We don't assign an drawer menu host id to the VideoGallery when a drawerMenuHostId is assigned from props
213
- id: drawerMenuHostIdFromProp ? undefined : drawerMenuHostId, "data-ui-id": ids.videoGallery, ref: containerRef, className: mergeStyles(videoGalleryOuterDivStyle, styles === null || styles === void 0 ? void 0 : styles.root) }, videoGalleryLayout));
272
+ id: drawerMenuHostIdFromProp ? undefined : drawerMenuHostId, "data-ui-id": ids.videoGallery, ref: containerRef, className: mergeStyles(videoGalleryOuterDivStyle, styles === null || styles === void 0 ? void 0 : styles.root, unselectable) },
273
+ videoGalleryLayout,
274
+ /* @conditional-compile-remove(pinned-participants) */
275
+ React.createElement(Announcer, { announcementString: announcementString, ariaLive: "polite" })));
214
276
  };
215
277
  //# sourceMappingURL=VideoGallery.js.map