@azure/communication-react 1.18.0-beta.1 → 1.18.0

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 (638) hide show
  1. package/dist/communication-react.d.ts +508 -1758
  2. package/dist/dist-cjs/communication-react/index.js +34363 -159
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/common.js +10 -2
  5. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  6. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  8. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +4 -5
  9. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +6 -11
  10. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  11. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +0 -12
  12. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +1 -13
  13. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  14. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +0 -5
  15. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  16. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +0 -8
  17. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +0 -14
  18. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  19. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +1 -15
  20. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  21. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +1 -27
  22. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  23. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +3 -3
  24. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +11 -11
  25. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  26. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +2 -2
  27. package/dist/dist-esm/calling-component-bindings/src/index.js +2 -2
  28. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  29. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.d.ts +23 -0
  30. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +201 -0
  31. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -0
  32. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +0 -1
  33. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +2 -8
  34. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +0 -7
  36. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +0 -12
  37. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +0 -3
  39. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  40. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +0 -3
  41. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  42. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +1 -5
  43. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  44. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -15
  45. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  46. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +0 -5
  47. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  48. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +23 -58
  49. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  50. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +3 -12
  51. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +16 -69
  52. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  53. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +0 -68
  54. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  55. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +1 -3
  56. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +16 -28
  57. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  58. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.d.ts +0 -17
  59. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js +3 -61
  60. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  61. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +0 -5
  62. package/dist/dist-esm/calling-stateful-client/src/Converter.js +6 -17
  63. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  64. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.d.ts +0 -1
  65. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +0 -11
  66. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  67. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +9 -19
  68. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +2 -20
  69. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  70. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +3 -4
  71. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +2 -0
  72. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
  73. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +0 -18
  74. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  75. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +2 -2
  76. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  77. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +2 -3
  78. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  79. package/dist/dist-esm/calling-stateful-client/src/index.d.ts +1 -1
  80. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  81. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +2 -3
  82. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +2 -12
  83. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  84. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.d.ts +1 -2
  85. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js +0 -5
  86. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  87. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +36 -37
  88. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  89. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -3
  90. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  91. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -1
  92. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  93. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +1 -3
  94. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  95. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js +3 -0
  96. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js.map +1 -1
  97. package/dist/dist-esm/communication-react/src/index.d.ts +4 -28
  98. package/dist/dist-esm/communication-react/src/index.js +2 -14
  99. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  100. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js +1 -1
  101. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js.map +1 -1
  102. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js +5 -4
  103. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js.map +1 -1
  104. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCardGroup.d.ts +1 -0
  105. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCardGroup.js +3 -3
  106. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCardGroup.js.map +1 -1
  107. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.d.ts +0 -2
  108. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js +1 -14
  109. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js.map +1 -1
  110. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentUploadCards.d.ts +4 -0
  111. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentUploadCards.js +16 -19
  112. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentUploadCards.js.map +1 -1
  113. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +1 -7
  114. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +2 -10
  115. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  116. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +0 -11
  117. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +2 -35
  118. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  119. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +1 -8
  120. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +5 -13
  121. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  122. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.d.ts +1 -2
  123. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +7 -15
  124. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
  125. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.d.ts +1 -4
  126. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +6 -40
  127. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
  128. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +1 -16
  129. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +0 -22
  130. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
  131. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +2 -21
  132. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +6 -21
  133. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  134. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +1 -8
  135. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +6 -14
  136. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  137. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +6 -19
  138. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  139. package/dist/dist-esm/react-components/src/components/ErrorBar.d.ts +4 -0
  140. package/dist/dist-esm/react-components/src/components/ErrorBar.js +3 -3
  141. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  142. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +3 -7
  143. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
  144. package/dist/dist-esm/react-components/src/components/InputBoxButton.d.ts +1 -0
  145. package/dist/dist-esm/react-components/src/components/InputBoxButton.js +2 -2
  146. package/dist/dist-esm/react-components/src/components/InputBoxButton.js.map +1 -1
  147. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +0 -2
  148. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +0 -18
  149. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  150. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.d.ts +85 -0
  151. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js +135 -0
  152. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js.map +1 -0
  153. package/dist/dist-esm/react-components/src/components/MessageStatusIndicatorInternal.js +1 -1
  154. package/dist/dist-esm/react-components/src/components/MessageStatusIndicatorInternal.js.map +1 -1
  155. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +5 -50
  156. package/dist/dist-esm/react-components/src/components/MessageThread.js +3 -30
  157. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  158. package/dist/dist-esm/react-components/src/components/{NotificationBar.d.ts → Notification.d.ts} +13 -13
  159. package/dist/dist-esm/react-components/src/components/{NotificationBar.js → Notification.js} +7 -7
  160. package/dist/dist-esm/react-components/src/components/Notification.js.map +1 -0
  161. package/dist/dist-esm/react-components/src/components/{Notifications.d.ts → NotificationStack.d.ts} +109 -73
  162. package/dist/dist-esm/react-components/src/components/NotificationStack.js +57 -0
  163. package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -0
  164. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +0 -13
  165. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +0 -3
  166. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  167. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +0 -15
  168. package/dist/dist-esm/react-components/src/components/ParticipantList.js +4 -21
  169. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  170. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +1 -3
  171. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  172. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +5 -1
  173. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  174. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js +5 -1
  175. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +1 -1
  176. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +1 -47
  177. package/dist/dist-esm/react-components/src/components/SendBox.js +8 -90
  178. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  179. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +1 -1
  180. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  181. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +0 -2
  182. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  183. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +0 -2
  184. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  185. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +0 -24
  186. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  187. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +0 -2
  188. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  189. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +3 -15
  190. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  191. package/dist/dist-esm/react-components/src/components/VideoGallery.js +1 -2
  192. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  193. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +0 -8
  194. package/dist/dist-esm/react-components/src/components/VideoTile.js +1 -7
  195. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  196. package/dist/dist-esm/react-components/src/components/index.d.ts +3 -20
  197. package/dist/dist-esm/react-components/src/components/index.js +6 -15
  198. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  199. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.d.ts +1 -1
  200. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js +10 -0
  201. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js.map +1 -1
  202. package/dist/dist-esm/react-components/src/components/styles/AttachmentCardGroup.styles.d.ts +5 -1
  203. package/dist/dist-esm/react-components/src/components/styles/AttachmentCardGroup.styles.js +8 -0
  204. package/dist/dist-esm/react-components/src/components/styles/AttachmentCardGroup.styles.js.map +1 -1
  205. package/dist/dist-esm/react-components/src/components/styles/Common.style.d.ts +4 -0
  206. package/dist/dist-esm/react-components/src/components/styles/Common.style.js +4 -0
  207. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -1
  208. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +5 -3
  209. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +40 -20
  210. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  211. package/dist/dist-esm/react-components/src/components/styles/{NotificationBar.styles.d.ts → Notification.styles.d.ts} +1 -1
  212. package/dist/dist-esm/react-components/src/components/styles/{NotificationBar.styles.js → Notification.styles.js} +1 -1
  213. package/dist/dist-esm/react-components/src/components/styles/Notification.styles.js.map +1 -0
  214. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.d.ts +4 -1
  215. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +11 -3
  216. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  217. package/dist/dist-esm/react-components/src/components/styles/TeamsMeetingConferenceInfo.d.ts +42 -0
  218. package/dist/dist-esm/react-components/src/components/styles/TeamsMeetingConferenceInfo.js +93 -0
  219. package/dist/dist-esm/react-components/src/components/styles/TeamsMeetingConferenceInfo.js.map +1 -0
  220. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +1 -37
  221. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +3 -34
  222. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  223. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +2 -4
  224. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +2 -14
  225. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  226. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +1 -11
  227. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +2 -18
  228. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  229. package/dist/dist-esm/react-components/src/components/utils/common.js +0 -4
  230. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  231. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +1 -2
  232. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  233. package/dist/dist-esm/react-components/src/components/utils/responsive.js +12 -2
  234. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  235. package/dist/dist-esm/react-components/src/components/utils.d.ts +32 -1
  236. package/dist/dist-esm/react-components/src/components/utils.js +101 -1
  237. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  238. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +0 -4
  239. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +1 -5
  240. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  241. package/dist/dist-esm/react-components/src/index.d.ts +0 -1
  242. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  243. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +7 -58
  244. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  245. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +102 -64
  246. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +100 -62
  247. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +100 -62
  248. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +100 -62
  249. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +98 -60
  250. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +100 -62
  251. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +100 -62
  252. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +103 -65
  253. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +100 -62
  254. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +100 -62
  255. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +102 -64
  256. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +107 -69
  257. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +100 -62
  258. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +106 -68
  259. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +105 -67
  260. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +103 -65
  261. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +101 -63
  262. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +100 -62
  263. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +101 -63
  264. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +102 -64
  265. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +101 -63
  266. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.d.ts +1 -0
  267. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js +4 -4
  268. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js.map +1 -1
  269. package/dist/dist-esm/react-components/src/theming/icons.d.ts +1 -28
  270. package/dist/dist-esm/react-components/src/theming/icons.js +7 -136
  271. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  272. package/dist/dist-esm/react-components/src/theming/themes.d.ts +0 -6
  273. package/dist/dist-esm/react-components/src/theming/themes.js +11 -20
  274. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  275. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js +1 -1
  276. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js.map +1 -1
  277. package/dist/dist-esm/react-components/src/types/Attachment.d.ts +0 -9
  278. package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
  279. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -20
  280. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  281. package/dist/dist-esm/react-components/src/types/OnRender.d.ts +0 -8
  282. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  283. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +0 -6
  284. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js +0 -2
  285. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  286. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +0 -72
  287. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +86 -37
  288. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  289. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +4 -108
  290. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  291. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +12 -64
  292. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +15 -150
  293. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  294. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +3 -51
  295. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -1
  296. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  297. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.d.ts +2 -0
  298. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js +20 -0
  299. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js.map +1 -1
  300. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +2 -2
  301. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  302. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +0 -2
  303. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  304. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +6 -2
  305. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +83 -32
  306. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  307. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +0 -1
  308. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +2 -38
  309. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  310. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +0 -2
  311. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +0 -27
  312. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  313. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +2 -20
  314. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  315. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +0 -2
  316. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +0 -27
  317. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  318. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +0 -1
  319. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +5 -19
  320. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  321. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.d.ts +1 -0
  322. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +65 -1
  323. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  324. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.d.ts +13 -0
  325. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js +49 -0
  326. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js.map +1 -0
  327. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +2 -1
  328. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  329. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.d.ts +1 -0
  330. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +1 -1
  331. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  332. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +2 -6
  333. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  334. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +7 -30
  335. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  336. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +0 -3
  337. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  338. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +5 -2
  339. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +12 -4
  340. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  341. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +0 -7
  342. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +7 -80
  343. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  344. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.d.ts +5 -2
  345. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +6 -3
  346. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  347. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +6 -3
  348. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  349. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +5 -8
  350. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +5 -11
  351. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  352. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  353. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +0 -4
  354. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  355. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.d.ts +4 -0
  356. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +11 -0
  357. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  358. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +2 -2
  359. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  360. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.d.ts +6 -2
  361. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  362. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.d.ts +8 -7
  363. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js +20 -20
  364. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  365. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +49 -14
  366. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +104 -98
  367. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  368. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +1 -61
  369. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +6 -27
  370. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  371. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +0 -32
  372. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  373. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +5 -15
  374. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +5 -49
  375. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  376. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +3 -38
  377. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  378. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +1 -9
  379. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +0 -32
  380. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  381. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +4 -5
  382. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +2 -2
  383. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  384. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +0 -13
  385. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +0 -4
  386. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  387. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +0 -20
  388. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +1 -6
  389. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  390. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts +0 -2
  391. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +10 -131
  392. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  393. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +0 -4
  394. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  395. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -3
  396. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +0 -27
  397. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  398. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -3
  399. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  400. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +2 -13
  401. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  402. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +0 -2
  403. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  404. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +1 -5
  405. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +0 -15
  406. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  407. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.d.ts +0 -5
  408. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +2 -3
  409. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  410. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +2 -1
  411. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +25 -19
  412. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  413. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.d.ts +1 -1
  414. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  415. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.d.ts +2 -0
  416. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +29 -26
  417. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  418. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.d.ts +1 -0
  419. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +26 -23
  420. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  421. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.d.ts +1 -1
  422. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  423. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.d.ts +10 -0
  424. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js +63 -0
  425. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js.map +1 -0
  426. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +9 -7
  427. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  428. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +2 -14
  429. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  430. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +1 -4
  431. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +0 -1
  432. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
  433. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +10 -39
  434. package/dist/dist-esm/react-composites/src/composites/common/icons.js +10 -12
  435. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  436. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.d.ts +1 -1
  437. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +2 -2
  438. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  439. package/dist/dist-esm/react-composites/src/composites/common/styles/TeamsMeetingConferenceInfo.style.d.ts +50 -0
  440. package/dist/dist-esm/react-composites/src/composites/common/styles/TeamsMeetingConferenceInfo.style.js +110 -0
  441. package/dist/dist-esm/react-composites/src/composites/common/styles/TeamsMeetingConferenceInfo.style.js.map +1 -0
  442. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +10 -17
  443. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  444. package/dist/dist-esm/react-composites/src/composites/common/utils.js +6 -6
  445. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  446. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +10 -5
  447. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +6 -1
  448. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +6 -1
  449. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +6 -1
  450. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +6 -1
  451. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +6 -1
  452. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +10 -5
  453. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +10 -5
  454. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +10 -5
  455. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +10 -5
  456. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +6 -1
  457. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +10 -5
  458. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +6 -1
  459. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +6 -1
  460. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +6 -1
  461. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +10 -5
  462. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +6 -1
  463. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +10 -5
  464. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +6 -1
  465. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +10 -5
  466. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +10 -5
  467. package/dist/tsdoc-metadata.json +1 -1
  468. package/package.json +16 -16
  469. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-BWStTUhO.js +0 -136
  470. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-BWStTUhO.js.map +0 -1
  471. package/dist/dist-cjs/communication-react/index-Di3ptk8o.js +0 -39650
  472. package/dist/dist-cjs/communication-react/index-Di3ptk8o.js.map +0 -1
  473. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.d.ts +0 -17
  474. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +0 -36
  475. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +0 -1
  476. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +0 -10
  477. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +0 -15
  478. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +0 -1
  479. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +0 -17
  480. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +0 -125
  481. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +0 -1
  482. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +0 -69
  483. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +0 -43
  484. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +0 -1
  485. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +0 -75
  486. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +0 -75
  487. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +0 -1
  488. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +0 -105
  489. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +0 -68
  490. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +0 -1
  491. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +0 -86
  492. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +0 -39
  493. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +0 -1
  494. package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +0 -49
  495. package/dist/dist-esm/react-components/src/components/HoldButton.js +0 -25
  496. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +0 -1
  497. package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +0 -121
  498. package/dist/dist-esm/react-components/src/components/MentionPopover.js +0 -123
  499. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +0 -1
  500. package/dist/dist-esm/react-components/src/components/NotificationBar.js.map +0 -1
  501. package/dist/dist-esm/react-components/src/components/Notifications.js +0 -46
  502. package/dist/dist-esm/react-components/src/components/Notifications.js.map +0 -1
  503. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.d.ts +0 -9
  504. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js +0 -29
  505. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js.map +0 -1
  506. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.d.ts +0 -22
  507. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +0 -89
  508. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +0 -1
  509. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.d.ts +0 -12
  510. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js +0 -23
  511. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js.map +0 -1
  512. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.d.ts +0 -15
  513. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js +0 -39
  514. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js.map +0 -1
  515. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.d.ts +0 -24
  516. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js +0 -64
  517. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js.map +0 -1
  518. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.d.ts +0 -20
  519. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js +0 -46
  520. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js.map +0 -1
  521. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.d.ts +0 -29
  522. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js +0 -73
  523. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js.map +0 -1
  524. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.d.ts +0 -54
  525. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +0 -226
  526. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +0 -1
  527. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +0 -33
  528. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +0 -82
  529. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +0 -1
  530. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +0 -149
  531. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +0 -182
  532. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +0 -1
  533. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.d.ts +0 -16
  534. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +0 -73
  535. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +0 -1
  536. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.d.ts +0 -19
  537. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js +0 -191
  538. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js.map +0 -1
  539. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.d.ts +0 -7
  540. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js +0 -51
  541. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js.map +0 -1
  542. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.d.ts +0 -15
  543. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js +0 -64
  544. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js.map +0 -1
  545. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.d.ts +0 -6
  546. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js +0 -13
  547. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js.map +0 -1
  548. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.d.ts +0 -34
  549. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +0 -39
  550. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +0 -1
  551. package/dist/dist-esm/react-components/src/components/SendBoxErrors.d.ts +0 -14
  552. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +0 -18
  553. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +0 -1
  554. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +0 -24
  555. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +0 -550
  556. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +0 -1
  557. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +0 -152
  558. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +0 -816
  559. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +0 -1
  560. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +0 -58
  561. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +0 -144
  562. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +0 -1
  563. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +0 -26
  564. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +0 -69
  565. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +0 -1
  566. package/dist/dist-esm/react-components/src/components/styles/NotificationBar.styles.js.map +0 -1
  567. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.d.ts +0 -82
  568. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +0 -305
  569. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +0 -1
  570. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.d.ts +0 -21
  571. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js +0 -38
  572. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js.map +0 -1
  573. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +0 -38
  574. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +0 -92
  575. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +0 -1
  576. package/dist/dist-esm/react-components/src/components/styles/Stack.style.d.ts +0 -5
  577. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js +0 -32
  578. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +0 -1
  579. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +0 -26
  580. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +0 -67
  581. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +0 -1
  582. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.d.ts +0 -37
  583. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +0 -60
  584. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +0 -1
  585. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.d.ts +0 -33
  586. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js +0 -116
  587. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js.map +0 -1
  588. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +0 -7
  589. package/dist/dist-esm/react-components/src/components/utils/merge.js +0 -16
  590. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +0 -1
  591. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +0 -6
  592. package/dist/dist-esm/react-components/src/theming/icons.styles.js +0 -25
  593. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +0 -1
  594. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +0 -48
  595. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +0 -218
  596. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +0 -1
  597. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.d.ts +0 -12
  598. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +0 -93
  599. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +0 -1
  600. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.d.ts +0 -8
  601. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +0 -26
  602. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +0 -1
  603. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +0 -24
  604. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +0 -28
  605. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +0 -1
  606. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +0 -15
  607. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +0 -54
  608. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +0 -1
  609. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.d.ts +0 -32
  610. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +0 -81
  611. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +0 -1
  612. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.d.ts +0 -15
  613. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js +0 -23
  614. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js.map +0 -1
  615. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +0 -18
  616. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +0 -18
  617. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +0 -1
  618. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.d.ts +0 -80
  619. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js +0 -39
  620. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +0 -1
  621. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.d.ts +0 -38
  622. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +0 -76
  623. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +0 -1
  624. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +0 -5
  625. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js +0 -5
  626. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +0 -1
  627. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +0 -25
  628. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +0 -113
  629. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +0 -1
  630. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts +0 -17
  631. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +0 -32
  632. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +0 -1
  633. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +0 -22
  634. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +0 -74
  635. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +0 -1
  636. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts +0 -15
  637. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +0 -61
  638. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +0 -1
@@ -0,0 +1,201 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ /* @conditional-compile-remove(notifications) */
4
+ import { getDeviceManager, getDiagnostics, getLatestErrors, getEnvironmentInfo } from './baseSelectors';
5
+ /* @conditional-compile-remove(notifications) */
6
+ import { getMeetingConferencePhones } from './baseSelectors';
7
+ /* @conditional-compile-remove(notifications) */
8
+ import { createSelector } from 'reselect';
9
+ /* @conditional-compile-remove(notifications) */
10
+ import { DiagnosticQuality } from '@azure/communication-calling';
11
+ /* @conditional-compile-remove(notifications) */
12
+ /**
13
+ * Select the active errors from the state for the `Notification` component.
14
+ *
15
+ * Invariants:
16
+ * - `ErrorType` is never repeated in the returned errors.
17
+ * - Errors are returned in a fixed order by `ErrorType`.
18
+ *
19
+ * @public
20
+ */
21
+ export const notificationStackSelector = createSelector([getLatestErrors, getDiagnostics, getDeviceManager, getEnvironmentInfo, /* @conditional-compile-remove(teams-meeting-conference) */ getMeetingConferencePhones], (latestErrors, diagnostics, deviceManager, environmentInfo, /* @conditional-compile-remove(teams-meeting-conference) */ meetingConference) => {
22
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
23
+ // The order in which the errors are returned is significant: The `Notification` shows errors on the UI in that order.
24
+ // There are several options for the ordering:
25
+ // - Sorted by when the errors happened (latest first / oldest first).
26
+ // - Stable sort by error type.
27
+ //
28
+ // We chose to stable sort by error type: We intend to show only a small number of errors on the UI and we do not
29
+ // have timestamps for errors.
30
+ const activeErrorMessages = [];
31
+ const isSafari = () => {
32
+ return /^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent);
33
+ };
34
+ const isMacOS = () => {
35
+ return false;
36
+ };
37
+ // Errors reported via diagnostics are more reliable than from API method failures, so process those first.
38
+ let isTeamsMeetingWithPhones = false;
39
+ /* @conditional-compile-remove(teams-meeting-conference) */
40
+ if (meetingConference && meetingConference.length > 0) {
41
+ isTeamsMeetingWithPhones = true;
42
+ }
43
+ if (((_a = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.network.latest.networkReceiveQuality) === null || _a === void 0 ? void 0 : _a.value) === DiagnosticQuality.Bad || ((_b = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.network.latest.networkReceiveQuality) === null || _b === void 0 ? void 0 : _b.value) === DiagnosticQuality.Poor) {
44
+ if (isTeamsMeetingWithPhones) {
45
+ activeErrorMessages.push({
46
+ type: 'teamsMeetingCallNetworkQualityLow'
47
+ });
48
+ }
49
+ else {
50
+ activeErrorMessages.push({
51
+ type: 'callNetworkQualityLow'
52
+ });
53
+ }
54
+ }
55
+ if (((_c = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.noSpeakerDevicesEnumerated) === null || _c === void 0 ? void 0 : _c.value) === true) {
56
+ activeErrorMessages.push({
57
+ type: 'callNoSpeakerFound'
58
+ });
59
+ }
60
+ if (((_d = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.noMicrophoneDevicesEnumerated) === null || _d === void 0 ? void 0 : _d.value) === true) {
61
+ activeErrorMessages.push({
62
+ type: 'callNoMicrophoneFound'
63
+ });
64
+ }
65
+ if (((_e = deviceManager.deviceAccess) === null || _e === void 0 ? void 0 : _e.audio) === false && isSafari()) {
66
+ activeErrorMessages.push({
67
+ type: 'callMicrophoneAccessDeniedSafari'
68
+ });
69
+ }
70
+ if (((_f = deviceManager.deviceAccess) === null || _f === void 0 ? void 0 : _f.audio) === false && !isSafari()) {
71
+ activeErrorMessages.push({
72
+ type: 'callMicrophoneAccessDenied'
73
+ });
74
+ }
75
+ if (((_g = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.microphonePermissionDenied) === null || _g === void 0 ? void 0 : _g.value) === true && isMacOS()) {
76
+ activeErrorMessages.push({
77
+ type: 'callMacOsMicrophoneAccessDenied'
78
+ });
79
+ }
80
+ else if (((_h = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.microphonePermissionDenied) === null || _h === void 0 ? void 0 : _h.value) === true) {
81
+ activeErrorMessages.push({
82
+ type: 'callMicrophoneAccessDenied'
83
+ });
84
+ }
85
+ const microphoneMuteUnexpectedlyDiagnostic = (diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.microphoneMuteUnexpectedly) || (diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.microphoneNotFunctioning);
86
+ if (microphoneMuteUnexpectedlyDiagnostic) {
87
+ if (microphoneMuteUnexpectedlyDiagnostic.value === DiagnosticQuality.Bad) {
88
+ // Inform the user that microphone stopped working and inform them to start microphone again
89
+ activeErrorMessages.push({
90
+ type: 'callMicrophoneMutedBySystem'
91
+ });
92
+ }
93
+ else if (microphoneMuteUnexpectedlyDiagnostic.value === DiagnosticQuality.Good) {
94
+ // Inform the user that microphone recovered
95
+ activeErrorMessages.push({
96
+ type: 'callMicrophoneUnmutedBySystem'
97
+ });
98
+ }
99
+ }
100
+ const cameraStoppedUnexpectedlyDiagnostic = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.cameraStoppedUnexpectedly;
101
+ if (cameraStoppedUnexpectedlyDiagnostic) {
102
+ if (cameraStoppedUnexpectedlyDiagnostic.value === DiagnosticQuality.Bad) {
103
+ // Inform the user that camera stopped working and inform them to start video again
104
+ activeErrorMessages.push({
105
+ type: 'callVideoStoppedBySystem'
106
+ });
107
+ }
108
+ else if (cameraStoppedUnexpectedlyDiagnostic.value === DiagnosticQuality.Good) {
109
+ // Inform the user that camera recovered
110
+ activeErrorMessages.push({
111
+ type: 'callVideoRecoveredBySystem'
112
+ });
113
+ }
114
+ }
115
+ if (((_j = deviceManager.deviceAccess) === null || _j === void 0 ? void 0 : _j.video) === false && isSafari()) {
116
+ activeErrorMessages.push({
117
+ type: 'callCameraAccessDeniedSafari'
118
+ });
119
+ }
120
+ else if (((_k = deviceManager.deviceAccess) === null || _k === void 0 ? void 0 : _k.video) === false) {
121
+ activeErrorMessages.push({
122
+ type: 'callCameraAccessDenied'
123
+ });
124
+ }
125
+ else {
126
+ if (((_l = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.cameraFreeze) === null || _l === void 0 ? void 0 : _l.value) === true) {
127
+ activeErrorMessages.push({
128
+ type: 'cameraFrozenForRemoteParticipants'
129
+ });
130
+ }
131
+ }
132
+ /**
133
+ * show the Mac specific strings if the platform is detected as mac
134
+ */
135
+ if (((_m = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.cameraPermissionDenied) === null || _m === void 0 ? void 0 : _m.value) === true && isMacOS()) {
136
+ activeErrorMessages.push({
137
+ type: 'callMacOsCameraAccessDenied'
138
+ });
139
+ }
140
+ /**
141
+ * This UFD only works on mac still so we should only see it fire on mac.
142
+ */
143
+ if (((_o = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.screenshareRecordingDisabled) === null || _o === void 0 ? void 0 : _o.value) === true && isMacOS()) {
144
+ activeErrorMessages.push({
145
+ type: 'callMacOsScreenShareAccessDenied'
146
+ });
147
+ }
148
+ else if (((_p = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.screenshareRecordingDisabled) === null || _p === void 0 ? void 0 : _p.value) === true) {
149
+ activeErrorMessages.push({
150
+ type: 'startScreenShareGeneric'
151
+ });
152
+ }
153
+ // Prefer to show errors with privacy implications.
154
+ appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.stopVideo', 'stopVideoGeneric');
155
+ appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.mute', 'muteGeneric');
156
+ appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.stopScreenSharing', 'stopScreenShareGeneric');
157
+ if (((_q = latestErrors['Call.startVideo']) === null || _q === void 0 ? void 0 : _q.message) === 'Call.startVideo: Video operation failure SourceUnavailableError') {
158
+ appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.startVideo', 'callCameraAlreadyInUse');
159
+ }
160
+ else if (((_r = latestErrors['Call.startVideo']) === null || _r === void 0 ? void 0 : _r.message) === 'Call.startVideo: Video operation failure permissionDeniedError') {
161
+ appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.startVideo', 'callCameraAccessDenied');
162
+ }
163
+ else {
164
+ appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.startVideo', 'startVideoGeneric');
165
+ }
166
+ appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.unmute', 'unmuteGeneric');
167
+ appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'VideoEffectsFeature.startEffects', 'unableToStartVideoEffect');
168
+ if (((_s = latestErrors['CallAgent.join']) === null || _s === void 0 ? void 0 : _s.message) === 'CallAgent.join: Invalid meeting link') {
169
+ appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'CallAgent.join', 'failedToJoinCallInvalidMeetingLink');
170
+ }
171
+ else {
172
+ appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'CallAgent.join', 'failedToJoinCallGeneric');
173
+ }
174
+ if ((_t = latestErrors['Call.feature']) === null || _t === void 0 ? void 0 : _t.message.match(/Call\.feature: startSpotlight failed\. \d+ is the max number of participants that can be Spotlighted/g)) {
175
+ appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.feature', 'startSpotlightWhileMaxParticipantsAreSpotlighted');
176
+ }
177
+ //below is for active notifications
178
+ const activeNotifications = [];
179
+ if ((_u = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.speakingWhileMicrophoneIsMuted) === null || _u === void 0 ? void 0 : _u.value) {
180
+ activeNotifications.push({
181
+ type: 'speakingWhileMuted',
182
+ timestamp: new Date(Date.now()),
183
+ autoDismiss: true
184
+ });
185
+ }
186
+ return {
187
+ activeErrorMessages: activeErrorMessages,
188
+ activeNotifications: activeNotifications
189
+ };
190
+ });
191
+ /* @conditional-compile-remove(notifications) */
192
+ const appendActiveErrorIfDefined = (activeErrorMessages, latestErrors, target, activeErrorType) => {
193
+ if (latestErrors[target] === undefined) {
194
+ return;
195
+ }
196
+ activeErrorMessages.push({
197
+ type: activeErrorType,
198
+ timestamp: latestErrors[target].timestamp
199
+ });
200
+ };
201
+ //# sourceMappingURL=notificationStackSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notificationStackSelector.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-component-bindings/src/notificationStackSelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n/* @conditional-compile-remove(notifications) */\nimport { CallingBaseSelectorProps, getDeviceManager, getDiagnostics, getLatestErrors, getEnvironmentInfo } from './baseSelectors';\n/* @conditional-compile-remove(notifications) */\nimport { getMeetingConferencePhones } from './baseSelectors';\n/* @conditional-compile-remove(notifications) */\nimport { ActiveNotification, NotificationType } from '@internal/react-components';\n/* @conditional-compile-remove(notifications) */\nimport { createSelector } from 'reselect';\n/* @conditional-compile-remove(notifications) */\nimport { CallClientState, CallErrors, CallErrorTarget } from '@internal/calling-stateful-client';\n/* @conditional-compile-remove(notifications) */\nimport { DiagnosticQuality } from '@azure/communication-calling';\n/* @conditional-compile-remove(notifications) */\n/**\n * Selector type for {@link Notification} component.\n *\n * @public\n */\nexport type NotificationStackSelector = (state: CallClientState, props: CallingBaseSelectorProps) => {\n activeErrorMessages: ActiveNotification[];\n activeNotifications: ActiveNotification[];\n};\n/* @conditional-compile-remove(notifications) */\n/**\n * Select the active errors from the state for the `Notification` component.\n *\n * Invariants:\n * - `ErrorType` is never repeated in the returned errors.\n * - Errors are returned in a fixed order by `ErrorType`.\n *\n * @public\n */\nexport const notificationStackSelector: NotificationStackSelector = createSelector([getLatestErrors, getDiagnostics, getDeviceManager, getEnvironmentInfo, /* @conditional-compile-remove(teams-meeting-conference) */getMeetingConferencePhones], (latestErrors: CallErrors, diagnostics, deviceManager, environmentInfo, /* @conditional-compile-remove(teams-meeting-conference) */meetingConference): {\n activeErrorMessages: ActiveNotification[];\n activeNotifications: ActiveNotification[];\n} => {\n // The order in which the errors are returned is significant: The `Notification` shows errors on the UI in that order.\n // There are several options for the ordering:\n // - Sorted by when the errors happened (latest first / oldest first).\n // - Stable sort by error type.\n //\n // We chose to stable sort by error type: We intend to show only a small number of errors on the UI and we do not\n // have timestamps for errors.\n const activeErrorMessages: ActiveNotification[] = [];\n const isSafari = (): boolean => {\n return /^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent);\n };\n const isMacOS = (): boolean => {\n return false;\n };\n\n // Errors reported via diagnostics are more reliable than from API method failures, so process those first.\n let isTeamsMeetingWithPhones = false;\n /* @conditional-compile-remove(teams-meeting-conference) */\n if (meetingConference && meetingConference.length > 0) {\n isTeamsMeetingWithPhones = true;\n }\n if (diagnostics?.network.latest.networkReceiveQuality?.value === DiagnosticQuality.Bad || diagnostics?.network.latest.networkReceiveQuality?.value === DiagnosticQuality.Poor) {\n if (isTeamsMeetingWithPhones) {\n activeErrorMessages.push({\n type: 'teamsMeetingCallNetworkQualityLow'\n });\n } else {\n activeErrorMessages.push({\n type: 'callNetworkQualityLow'\n });\n }\n }\n if (diagnostics?.media.latest.noSpeakerDevicesEnumerated?.value === true) {\n activeErrorMessages.push({\n type: 'callNoSpeakerFound'\n });\n }\n if (diagnostics?.media.latest.noMicrophoneDevicesEnumerated?.value === true) {\n activeErrorMessages.push({\n type: 'callNoMicrophoneFound'\n });\n }\n if (deviceManager.deviceAccess?.audio === false && isSafari()) {\n activeErrorMessages.push({\n type: 'callMicrophoneAccessDeniedSafari'\n });\n }\n if (deviceManager.deviceAccess?.audio === false && !isSafari()) {\n activeErrorMessages.push({\n type: 'callMicrophoneAccessDenied'\n });\n }\n if (diagnostics?.media.latest.microphonePermissionDenied?.value === true && isMacOS()) {\n activeErrorMessages.push({\n type: 'callMacOsMicrophoneAccessDenied'\n });\n } else if (diagnostics?.media.latest.microphonePermissionDenied?.value === true) {\n activeErrorMessages.push({\n type: 'callMicrophoneAccessDenied'\n });\n }\n const microphoneMuteUnexpectedlyDiagnostic = diagnostics?.media.latest.microphoneMuteUnexpectedly || diagnostics?.media.latest.microphoneNotFunctioning;\n if (microphoneMuteUnexpectedlyDiagnostic) {\n if (microphoneMuteUnexpectedlyDiagnostic.value === DiagnosticQuality.Bad) {\n // Inform the user that microphone stopped working and inform them to start microphone again\n activeErrorMessages.push({\n type: 'callMicrophoneMutedBySystem'\n });\n } else if (microphoneMuteUnexpectedlyDiagnostic.value === DiagnosticQuality.Good) {\n // Inform the user that microphone recovered\n activeErrorMessages.push({\n type: 'callMicrophoneUnmutedBySystem'\n });\n }\n }\n const cameraStoppedUnexpectedlyDiagnostic = diagnostics?.media.latest.cameraStoppedUnexpectedly;\n if (cameraStoppedUnexpectedlyDiagnostic) {\n if (cameraStoppedUnexpectedlyDiagnostic.value === DiagnosticQuality.Bad) {\n // Inform the user that camera stopped working and inform them to start video again\n activeErrorMessages.push({\n type: 'callVideoStoppedBySystem'\n });\n } else if (cameraStoppedUnexpectedlyDiagnostic.value === DiagnosticQuality.Good) {\n // Inform the user that camera recovered\n activeErrorMessages.push({\n type: 'callVideoRecoveredBySystem'\n });\n }\n }\n if (deviceManager.deviceAccess?.video === false && isSafari()) {\n activeErrorMessages.push({\n type: 'callCameraAccessDeniedSafari'\n });\n } else if (deviceManager.deviceAccess?.video === false) {\n activeErrorMessages.push({\n type: 'callCameraAccessDenied'\n });\n } else {\n if (diagnostics?.media.latest.cameraFreeze?.value === true) {\n activeErrorMessages.push({\n type: 'cameraFrozenForRemoteParticipants'\n });\n }\n }\n\n /**\n * show the Mac specific strings if the platform is detected as mac\n */\n if (diagnostics?.media.latest.cameraPermissionDenied?.value === true && isMacOS()) {\n activeErrorMessages.push({\n type: 'callMacOsCameraAccessDenied'\n });\n }\n\n /**\n * This UFD only works on mac still so we should only see it fire on mac.\n */\n if (diagnostics?.media.latest.screenshareRecordingDisabled?.value === true && isMacOS()) {\n activeErrorMessages.push({\n type: 'callMacOsScreenShareAccessDenied'\n });\n } else if (diagnostics?.media.latest.screenshareRecordingDisabled?.value === true) {\n activeErrorMessages.push({\n type: 'startScreenShareGeneric'\n });\n }\n\n // Prefer to show errors with privacy implications.\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.stopVideo', 'stopVideoGeneric');\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.mute', 'muteGeneric');\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.stopScreenSharing', 'stopScreenShareGeneric');\n if (latestErrors['Call.startVideo']?.message === 'Call.startVideo: Video operation failure SourceUnavailableError') {\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.startVideo', 'callCameraAlreadyInUse');\n } else if (latestErrors['Call.startVideo']?.message === 'Call.startVideo: Video operation failure permissionDeniedError') {\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.startVideo', 'callCameraAccessDenied');\n } else {\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.startVideo', 'startVideoGeneric');\n }\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.unmute', 'unmuteGeneric');\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'VideoEffectsFeature.startEffects', 'unableToStartVideoEffect');\n if (latestErrors['CallAgent.join']?.message === 'CallAgent.join: Invalid meeting link') {\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'CallAgent.join', 'failedToJoinCallInvalidMeetingLink');\n } else {\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'CallAgent.join', 'failedToJoinCallGeneric');\n }\n if (latestErrors['Call.feature']?.message.match(/Call\\.feature: startSpotlight failed\\. \\d+ is the max number of participants that can be Spotlighted/g)) {\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.feature', 'startSpotlightWhileMaxParticipantsAreSpotlighted');\n }\n\n //below is for active notifications\n const activeNotifications: ActiveNotification[] = [];\n if (diagnostics?.media.latest.speakingWhileMicrophoneIsMuted?.value) {\n activeNotifications.push({\n type: 'speakingWhileMuted',\n timestamp: new Date(Date.now()),\n autoDismiss: true\n });\n }\n return {\n activeErrorMessages: activeErrorMessages,\n activeNotifications: activeNotifications\n };\n});\n/* @conditional-compile-remove(notifications) */\nconst appendActiveErrorIfDefined = (activeErrorMessages: ActiveNotification[], latestErrors: CallErrors, target: CallErrorTarget, activeErrorType: NotificationType): void => {\n if (latestErrors[target] === undefined) {\n return;\n }\n activeErrorMessages.push({\n type: activeErrorType,\n timestamp: latestErrors[target].timestamp\n });\n};"]}
@@ -9,7 +9,6 @@ import { CallParticipantListParticipant } from "../../react-components/src";
9
9
  export type ParticipantListSelector = (state: CallClientState, props: CallingBaseSelectorProps) => {
10
10
  participants: CallParticipantListParticipant[];
11
11
  myUserId: string;
12
- totalParticipantCount?: number;
13
12
  };
14
13
  /**
15
14
  * Selects data that drives {@link ParticipantList} component.
@@ -5,7 +5,7 @@ import { getIdentifier, getDisplayName, getIsScreenSharingOn, getIsMuted } from
5
5
  import { getRole } from './baseSelectors';
6
6
  /* @conditional-compile-remove(hide-attendee-name) */
7
7
  import { isHideAttendeeNamesEnabled } from './baseSelectors';
8
- import { _isRingingPSTNParticipant, _updateUserDisplayNames } from './utils/callUtils';
8
+ import { _isRingingPSTNParticipant } from './utils/callUtils';
9
9
  import { memoizedConvertAllremoteParticipants } from './utils/participantListSelectorUtils';
10
10
  import { memoizedConvertToVideoTileReaction, memoizedSpotlight } from './utils/participantListSelectorUtils';
11
11
  import { getLocalParticipantRaisedHand } from './baseSelectors';
@@ -81,18 +81,12 @@ export const participantListSelector = createSelector([getIdentifier, getDisplay
81
81
  reaction: memoizedConvertToVideoTileReaction(localParticipantReactionState),
82
82
  spotlight: memoizedSpotlight(spotlightCallFeature === null || spotlightCallFeature === void 0 ? void 0 : spotlightCallFeature.spotlightedParticipants, userId)
83
83
  });
84
- /* @conditional-compile-remove(total-participant-count) */
85
- const totalParticipantCount = partitipantCount;
86
84
  return {
87
85
  participants: participants,
88
- myUserId: userId,
89
- /* @conditional-compile-remove(total-participant-count) */
90
- totalParticipantCount: totalParticipantCount
86
+ myUserId: userId
91
87
  };
92
88
  });
93
89
  const updateUserDisplayNamesTrampoline = (remoteParticipants) => {
94
- /* @conditional-compile-remove(PSTN-calls) */
95
- return _updateUserDisplayNames(remoteParticipants);
96
90
  return remoteParticipants;
97
91
  };
98
92
  const localUserCanRemoveOthersTrampoline = (role) => {
@@ -1 +1 @@
1
- {"version":3,"file":"participantListSelector.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-component-bindings/src/participantListSelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CallClientState, RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { createSelector } from 'reselect';\nimport { getIdentifier, getDisplayName, getIsScreenSharingOn, getIsMuted, CallingBaseSelectorProps } from './baseSelectors';\nimport { getRole } from './baseSelectors';\n/* @conditional-compile-remove(hide-attendee-name) */\nimport { isHideAttendeeNamesEnabled } from './baseSelectors';\nimport { CallParticipantListParticipant } from '@internal/react-components';\nimport { _isRingingPSTNParticipant, _updateUserDisplayNames } from './utils/callUtils';\nimport { memoizedConvertAllremoteParticipants } from './utils/participantListSelectorUtils';\nimport { memoizedConvertToVideoTileReaction, memoizedSpotlight } from './utils/participantListSelectorUtils';\nimport { getLocalParticipantRaisedHand } from './baseSelectors';\nimport { getLocalParticipantReactionState } from './baseSelectors';\nimport { getSpotlightCallFeature } from './baseSelectors';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { getParticipantCount } from './baseSelectors';\nimport { isMicrosoftTeamsAppIdentifier, isPhoneNumberIdentifier } from '@azure/communication-common';\nimport { ParticipantRole, SpotlightedParticipant } from '@azure/communication-calling';\n/* @conditional-compile-remove(hide-attendee-name) */\nimport { maskDisplayNameWithRole } from './utils/callUtils';\nimport { getRemoteParticipantsExcludingConsumers } from './getRemoteParticipantsExcludingConsumers';\nconst convertRemoteParticipantsToParticipantListParticipants = (remoteParticipants: RemoteParticipantState[], localUserCanRemoveOthers: boolean, isHideAttendeeNamesEnabled?: boolean, localUserRole?: ParticipantRole, spotlightedParticipants?: SpotlightedParticipant[]): CallParticipantListParticipant[] => {\n const conversionCallback = (memoizeFn: (...args: any[]) => CallParticipantListParticipant): CallParticipantListParticipant[] => {\n return remoteParticipants\n // Filter out MicrosoftBot participants\n .filter((participant: RemoteParticipantState) => {\n return !isMicrosoftTeamsAppIdentifier(participant.identifier);\n return true;\n })\n /**\n * hiding participants who are inLobby, idle, or connecting in ACS clients till we can admit users through ACS clients.\n * phone users will be in the connecting state until they are connected to the call.\n */.filter(participant => {\n return !['InLobby', 'Idle', 'Connecting', 'Disconnected'].includes(participant.state) || isPhoneNumberIdentifier(participant.identifier);\n }).map((participant: RemoteParticipantState) => {\n const isScreenSharing = Object.values(participant.videoStreams).some(videoStream => videoStream.mediaStreamType === 'ScreenSharing' && videoStream.isAvailable);\n /**\n * We want to check the participant to see if they are a PSTN participant joining the call\n * and mapping their state to be 'Ringing'\n */\n const state = _isRingingPSTNParticipant(participant);\n let displayName = participant.displayName;\n /* @conditional-compile-remove(hide-attendee-name) */\n displayName = maskDisplayNameWithRole(displayName, localUserRole, participant.role, isHideAttendeeNamesEnabled);\n const remoteParticipantReaction = memoizedConvertToVideoTileReaction(participant.reactionState);\n const spotlight = memoizedSpotlight(spotlightedParticipants, toFlatCommunicationIdentifier(participant.identifier));\n return memoizeFn(toFlatCommunicationIdentifier(participant.identifier), displayName, state, participant.isMuted, isScreenSharing, participant.isSpeaking, participant.raisedHand, localUserCanRemoveOthers, remoteParticipantReaction, spotlight);\n }).sort((a, b) => {\n const nameA = a.displayName?.toLowerCase() || '';\n const nameB = b.displayName?.toLowerCase() || '';\n if (nameA < nameB) {\n return -1;\n } else if (nameA > nameB) {\n return 1;\n } else {\n return 0;\n }\n });\n };\n return memoizedConvertAllremoteParticipants(conversionCallback);\n};\n\n/**\n * Selector type for {@link ParticipantList} component.\n *\n * @public\n */\nexport type ParticipantListSelector = (state: CallClientState, props: CallingBaseSelectorProps) => {\n participants: CallParticipantListParticipant[];\n myUserId: string;\n /* @conditional-compile-remove(total-participant-count) */\n totalParticipantCount?: number;\n};\n\n/**\n * Selects data that drives {@link ParticipantList} component.\n *\n * @public\n */\nexport const participantListSelector: ParticipantListSelector = createSelector([getIdentifier, getDisplayName, getRemoteParticipantsExcludingConsumers, getIsScreenSharingOn, getIsMuted, getLocalParticipantRaisedHand, getRole, getParticipantCount, /* @conditional-compile-remove(hide-attendee-name) */\nisHideAttendeeNamesEnabled, getLocalParticipantReactionState, getSpotlightCallFeature], (userId, displayName, remoteParticipants, isScreenSharingOn, isMuted, raisedHand, role, partitipantCount, /* @conditional-compile-remove(hide-attendee-name) */\nisHideAttendeeNamesEnabled, localParticipantReactionState, spotlightCallFeature): {\n participants: CallParticipantListParticipant[];\n myUserId: string;\n totalParticipantCount?: number;\n} => {\n const localUserCanRemoveOthers = localUserCanRemoveOthersTrampoline(role);\n const participants = remoteParticipants ? convertRemoteParticipantsToParticipantListParticipants(updateUserDisplayNamesTrampoline(Object.values(remoteParticipants)), localUserCanRemoveOthers, undefined || /* @conditional-compile-remove(hide-attendee-name) */isHideAttendeeNamesEnabled, undefined || /* @conditional-compile-remove(hide-attendee-name) */role, spotlightCallFeature?.spotlightedParticipants) : [];\n participants.push({\n userId: userId,\n displayName: displayName,\n isScreenSharing: isScreenSharingOn,\n isMuted: isMuted,\n raisedHand: raisedHand,\n state: 'Connected',\n // Local participant can never remove themselves.\n isRemovable: false,\n reaction: memoizedConvertToVideoTileReaction(localParticipantReactionState),\n spotlight: memoizedSpotlight(spotlightCallFeature?.spotlightedParticipants, userId)\n });\n /* @conditional-compile-remove(total-participant-count) */\n const totalParticipantCount = partitipantCount;\n return {\n participants: participants,\n myUserId: userId,\n /* @conditional-compile-remove(total-participant-count) */\n totalParticipantCount: totalParticipantCount\n };\n});\nconst updateUserDisplayNamesTrampoline = (remoteParticipants: RemoteParticipantState[]): RemoteParticipantState[] => {\n /* @conditional-compile-remove(PSTN-calls) */\n return _updateUserDisplayNames(remoteParticipants);\n return remoteParticipants;\n};\nconst localUserCanRemoveOthersTrampoline = (role?: string): boolean => {\n return role === 'Presenter' || role === 'Unknown' || role === undefined;\n};"]}
1
+ {"version":3,"file":"participantListSelector.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-component-bindings/src/participantListSelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CallClientState, RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { createSelector } from 'reselect';\nimport { getIdentifier, getDisplayName, getIsScreenSharingOn, getIsMuted, CallingBaseSelectorProps } from './baseSelectors';\nimport { getRole } from './baseSelectors';\n/* @conditional-compile-remove(hide-attendee-name) */\nimport { isHideAttendeeNamesEnabled } from './baseSelectors';\nimport { CallParticipantListParticipant } from '@internal/react-components';\nimport { _isRingingPSTNParticipant, _updateUserDisplayNames } from './utils/callUtils';\nimport { memoizedConvertAllremoteParticipants } from './utils/participantListSelectorUtils';\nimport { memoizedConvertToVideoTileReaction, memoizedSpotlight } from './utils/participantListSelectorUtils';\nimport { getLocalParticipantRaisedHand } from './baseSelectors';\nimport { getLocalParticipantReactionState } from './baseSelectors';\nimport { getSpotlightCallFeature } from './baseSelectors';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { getParticipantCount } from './baseSelectors';\nimport { isMicrosoftTeamsAppIdentifier, isPhoneNumberIdentifier } from '@azure/communication-common';\nimport { ParticipantRole, SpotlightedParticipant } from '@azure/communication-calling';\n/* @conditional-compile-remove(hide-attendee-name) */\nimport { maskDisplayNameWithRole } from './utils/callUtils';\nimport { getRemoteParticipantsExcludingConsumers } from './getRemoteParticipantsExcludingConsumers';\nconst convertRemoteParticipantsToParticipantListParticipants = (remoteParticipants: RemoteParticipantState[], localUserCanRemoveOthers: boolean, isHideAttendeeNamesEnabled?: boolean, localUserRole?: ParticipantRole, spotlightedParticipants?: SpotlightedParticipant[]): CallParticipantListParticipant[] => {\n const conversionCallback = (memoizeFn: (...args: any[]) => CallParticipantListParticipant): CallParticipantListParticipant[] => {\n return remoteParticipants\n // Filter out MicrosoftBot participants\n .filter((participant: RemoteParticipantState) => {\n return !isMicrosoftTeamsAppIdentifier(participant.identifier);\n return true;\n })\n /**\n * hiding participants who are inLobby, idle, or connecting in ACS clients till we can admit users through ACS clients.\n * phone users will be in the connecting state until they are connected to the call.\n */.filter(participant => {\n return !['InLobby', 'Idle', 'Connecting', 'Disconnected'].includes(participant.state) || isPhoneNumberIdentifier(participant.identifier);\n }).map((participant: RemoteParticipantState) => {\n const isScreenSharing = Object.values(participant.videoStreams).some(videoStream => videoStream.mediaStreamType === 'ScreenSharing' && videoStream.isAvailable);\n /**\n * We want to check the participant to see if they are a PSTN participant joining the call\n * and mapping their state to be 'Ringing'\n */\n const state = _isRingingPSTNParticipant(participant);\n let displayName = participant.displayName;\n /* @conditional-compile-remove(hide-attendee-name) */\n displayName = maskDisplayNameWithRole(displayName, localUserRole, participant.role, isHideAttendeeNamesEnabled);\n const remoteParticipantReaction = memoizedConvertToVideoTileReaction(participant.reactionState);\n const spotlight = memoizedSpotlight(spotlightedParticipants, toFlatCommunicationIdentifier(participant.identifier));\n return memoizeFn(toFlatCommunicationIdentifier(participant.identifier), displayName, state, participant.isMuted, isScreenSharing, participant.isSpeaking, participant.raisedHand, localUserCanRemoveOthers, remoteParticipantReaction, spotlight);\n }).sort((a, b) => {\n const nameA = a.displayName?.toLowerCase() || '';\n const nameB = b.displayName?.toLowerCase() || '';\n if (nameA < nameB) {\n return -1;\n } else if (nameA > nameB) {\n return 1;\n } else {\n return 0;\n }\n });\n };\n return memoizedConvertAllremoteParticipants(conversionCallback);\n};\n\n/**\n * Selector type for {@link ParticipantList} component.\n *\n * @public\n */\nexport type ParticipantListSelector = (state: CallClientState, props: CallingBaseSelectorProps) => {\n participants: CallParticipantListParticipant[];\n myUserId: string;\n};\n\n/**\n * Selects data that drives {@link ParticipantList} component.\n *\n * @public\n */\nexport const participantListSelector: ParticipantListSelector = createSelector([getIdentifier, getDisplayName, getRemoteParticipantsExcludingConsumers, getIsScreenSharingOn, getIsMuted, getLocalParticipantRaisedHand, getRole, getParticipantCount, /* @conditional-compile-remove(hide-attendee-name) */\nisHideAttendeeNamesEnabled, getLocalParticipantReactionState, getSpotlightCallFeature], (userId, displayName, remoteParticipants, isScreenSharingOn, isMuted, raisedHand, role, partitipantCount, /* @conditional-compile-remove(hide-attendee-name) */\nisHideAttendeeNamesEnabled, localParticipantReactionState, spotlightCallFeature): {\n participants: CallParticipantListParticipant[];\n myUserId: string;\n totalParticipantCount?: number;\n} => {\n const localUserCanRemoveOthers = localUserCanRemoveOthersTrampoline(role);\n const participants = remoteParticipants ? convertRemoteParticipantsToParticipantListParticipants(updateUserDisplayNamesTrampoline(Object.values(remoteParticipants)), localUserCanRemoveOthers, undefined || /* @conditional-compile-remove(hide-attendee-name) */isHideAttendeeNamesEnabled, undefined || /* @conditional-compile-remove(hide-attendee-name) */role, spotlightCallFeature?.spotlightedParticipants) : [];\n participants.push({\n userId: userId,\n displayName: displayName,\n isScreenSharing: isScreenSharingOn,\n isMuted: isMuted,\n raisedHand: raisedHand,\n state: 'Connected',\n // Local participant can never remove themselves.\n isRemovable: false,\n reaction: memoizedConvertToVideoTileReaction(localParticipantReactionState),\n spotlight: memoizedSpotlight(spotlightCallFeature?.spotlightedParticipants, userId)\n });\n return {\n participants: participants,\n myUserId: userId\n };\n});\nconst updateUserDisplayNamesTrampoline = (remoteParticipants: RemoteParticipantState[]): RemoteParticipantState[] => {\n return remoteParticipants;\n};\nconst localUserCanRemoveOthersTrampoline = (role?: string): boolean => {\n return role === 'Presenter' || role === 'Unknown' || role === undefined;\n};"]}
@@ -1,6 +1,5 @@
1
1
  import { DeviceManagerState, RemoteParticipantState, StatefulCallClient } from "../../../calling-stateful-client/src";
2
2
  import { CallState as CallStatus, ParticipantRole } from '@azure/communication-calling';
3
- import { EnvironmentInfo } from '@azure/communication-calling';
4
3
  import { CommunicationIdentifier, CommunicationUserIdentifier, MicrosoftTeamsUserIdentifier, PhoneNumberIdentifier, UnknownIdentifier } from '@azure/communication-common';
5
4
  type ParticipantConnectionState = 'Idle' | 'Connecting' | 'Ringing' | 'Connected' | 'Hold' | 'InLobby' | 'EarlyMedia' | 'Disconnected';
6
5
  /**
@@ -35,12 +34,6 @@ export declare const disposeAllLocalPreviewViews: (callClient: StatefulCallClien
35
34
  * @internal
36
35
  */
37
36
  export declare const _updateUserDisplayNames: (participants: RemoteParticipantState[]) => RemoteParticipantState[];
38
- /**
39
- * Check whether the call is in a supported browser
40
- *
41
- * @internal
42
- */
43
- export declare const _getEnvironmentInfo: (callClient: StatefulCallClient) => Promise<EnvironmentInfo>;
44
37
  /**
45
38
  * @private
46
39
  * A type guard to ensure all participants are acceptable type for Teams call
@@ -9,8 +9,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  step((generator = generator.apply(thisArg, _arguments || [])).next());
10
10
  });
11
11
  };
12
- /* @conditional-compile-remove(unsupported-browser) */
13
- import { Features } from '@azure/communication-calling';
14
12
  import { isCommunicationUserIdentifier, isMicrosoftTeamsUserIdentifier, isPhoneNumberIdentifier } from '@azure/communication-common';
15
13
  import { memoizeFnAll, toFlatCommunicationIdentifier } from "../../../acs-ui-common/src";
16
14
  /**
@@ -74,16 +72,6 @@ const memoizedUpdateDisplayName = memoizeFnAll((participantId, participant) => {
74
72
  return participant;
75
73
  }
76
74
  });
77
- /* @conditional-compile-remove(unsupported-browser) */
78
- /**
79
- * Check whether the call is in a supported browser
80
- *
81
- * @internal
82
- */
83
- export const _getEnvironmentInfo = (callClient) => __awaiter(void 0, void 0, void 0, function* () {
84
- const environmentInfo = yield callClient.feature(Features.DebugInfo).getEnvironmentInfo();
85
- return environmentInfo;
86
- });
87
75
  /**
88
76
  * @private
89
77
  * A type guard to ensure all participants are acceptable type for Teams call
@@ -1 +1 @@
1
- {"version":3,"file":"callUtils.js","sourceRoot":"","sources":["../../../../../preprocess-dist/calling-component-bindings/src/utils/callUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { DeviceManagerState, RemoteParticipantState, StatefulCallClient } from '@internal/calling-stateful-client';\nimport { CallState as CallStatus, ParticipantRole } from '@azure/communication-calling';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { Features, EnvironmentInfo } from '@azure/communication-calling';\nimport { CommunicationIdentifier, CommunicationUserIdentifier, isCommunicationUserIdentifier, isMicrosoftTeamsUserIdentifier, isPhoneNumberIdentifier, MicrosoftTeamsUserIdentifier, PhoneNumberIdentifier, UnknownIdentifier } from '@azure/communication-common';\nimport { memoizeFnAll, toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\ntype ParticipantConnectionState = 'Idle' | 'Connecting' | 'Ringing' | 'Connected' | 'Hold' | 'InLobby' | 'EarlyMedia' | 'Disconnected';\n\n/**\n * Check if the call state represents being in the call\n *\n * @internal\n */\nexport const _isInCall = (callStatus?: CallStatus): boolean => !!callStatus && !['None', 'Disconnected', 'Connecting', 'Ringing', 'EarlyMedia', 'Disconnecting'].includes(callStatus);\n\n/**\n * Check if the call state represents being in the lobby or waiting to be admitted.\n *\n * @internal\n */\nexport const _isInLobbyOrConnecting = (callStatus: CallStatus | undefined): boolean => !!callStatus && ['Connecting', 'Ringing', 'InLobby', 'EarlyMedia'].includes(callStatus);\n\n/**\n * Check if the device manager local video is on when not part of a call\n * i.e. do unparented views exist.\n *\n * @internal\n */\nexport const _isPreviewOn = (deviceManager: DeviceManagerState): boolean => {\n // TODO: we should take in a LocalVideoStream that developer wants to use as their 'Preview' view. We should also\n // handle cases where 'Preview' view is in progress and not necessary completed.\n return deviceManager.unparentedViews.length > 0 && deviceManager.unparentedViews[0].view !== undefined;\n};\n\n/**\n * Dispose of all preview views\n * We assume all unparented views are local preview views.\n *\n * @private\n */\nexport const disposeAllLocalPreviewViews = async (callClient: StatefulCallClient): Promise<void> => {\n const unparentedViews = callClient.getState().deviceManager.unparentedViews;\n for (const view of unparentedViews) {\n await callClient.disposeView(undefined, undefined, view);\n }\n};\n\n/**\n * Update the users displayNames based on the type of user they are\n *\n * @internal\n */\nexport const _updateUserDisplayNames = (participants: RemoteParticipantState[]): RemoteParticipantState[] => {\n if (participants) {\n return memoizedUpdateDisplayName(memoizedFn => {\n return Object.values(participants).map(p => {\n const pid = toFlatCommunicationIdentifier(p.identifier);\n return memoizedFn(pid, p);\n });\n });\n } else {\n return [];\n }\n};\nconst memoizedUpdateDisplayName = memoizeFnAll((participantId: string, participant: RemoteParticipantState) => {\n if (isPhoneNumberIdentifier(participant.identifier)) {\n return {\n ...participant,\n displayName: participant.identifier.phoneNumber\n };\n } else {\n return participant;\n }\n});\n\n/* @conditional-compile-remove(unsupported-browser) */\n/**\n * Check whether the call is in a supported browser\n *\n * @internal\n */\nexport const _getEnvironmentInfo = async (callClient: StatefulCallClient): Promise<EnvironmentInfo> => {\n const environmentInfo = await callClient.feature(Features.DebugInfo).getEnvironmentInfo();\n return environmentInfo;\n};\n\n/**\n * @private\n * A type guard to ensure all participants are acceptable type for Teams call\n */\nexport const isTeamsCallParticipants = (participants: CommunicationIdentifier[]): participants is (PhoneNumberIdentifier | MicrosoftTeamsUserIdentifier | UnknownIdentifier)[] => {\n return participants.every(p => !isCommunicationUserIdentifier(p));\n};\n\n/**\n * @private\n * A type guard to ensure all participants are acceptable type for ACS call\n */\nexport const isACSCallParticipants = (participants: CommunicationIdentifier[]): participants is (PhoneNumberIdentifier | CommunicationUserIdentifier | UnknownIdentifier)[] => {\n return participants.every(p => !isMicrosoftTeamsUserIdentifier(p));\n};\n\n/**\n * @private\n * Checks whether the user is a 'Ringing' PSTN user.\n */\nexport const _isRingingPSTNParticipant = (participant: RemoteParticipantState): ParticipantConnectionState => {\n return isPhoneNumberIdentifier(participant.identifier) && participant.state === 'Connecting' ? 'Ringing' : participant.state;\n};\n\n/**\n * @private\n * Changes the display name of the participant based on the local and remote user's role.\n */\nexport const maskDisplayNameWithRole = (displayName: string | undefined, localUserRole?: ParticipantRole, participantRole?: ParticipantRole, isHideAttendeeNamesEnabled?: boolean): string | undefined => {\n let maskedDisplayName = displayName;\n if (isHideAttendeeNamesEnabled && participantRole && participantRole === 'Attendee') {\n if (localUserRole && localUserRole === 'Attendee') {\n maskedDisplayName = '{AttendeeRole}';\n }\n if (localUserRole && (localUserRole === 'Presenter' || localUserRole === 'Co-organizer' || localUserRole === 'Organizer')) {\n maskedDisplayName = `{AttendeeRole}(${displayName})`;\n }\n }\n return maskedDisplayName;\n};"]}
1
+ {"version":3,"file":"callUtils.js","sourceRoot":"","sources":["../../../../../preprocess-dist/calling-component-bindings/src/utils/callUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { DeviceManagerState, RemoteParticipantState, StatefulCallClient } from '@internal/calling-stateful-client';\nimport { CallState as CallStatus, ParticipantRole } from '@azure/communication-calling';\nimport { CommunicationIdentifier, CommunicationUserIdentifier, isCommunicationUserIdentifier, isMicrosoftTeamsUserIdentifier, isPhoneNumberIdentifier, MicrosoftTeamsUserIdentifier, PhoneNumberIdentifier, UnknownIdentifier } from '@azure/communication-common';\nimport { memoizeFnAll, toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\ntype ParticipantConnectionState = 'Idle' | 'Connecting' | 'Ringing' | 'Connected' | 'Hold' | 'InLobby' | 'EarlyMedia' | 'Disconnected';\n\n/**\n * Check if the call state represents being in the call\n *\n * @internal\n */\nexport const _isInCall = (callStatus?: CallStatus): boolean => !!callStatus && !['None', 'Disconnected', 'Connecting', 'Ringing', 'EarlyMedia', 'Disconnecting'].includes(callStatus);\n\n/**\n * Check if the call state represents being in the lobby or waiting to be admitted.\n *\n * @internal\n */\nexport const _isInLobbyOrConnecting = (callStatus: CallStatus | undefined): boolean => !!callStatus && ['Connecting', 'Ringing', 'InLobby', 'EarlyMedia'].includes(callStatus);\n\n/**\n * Check if the device manager local video is on when not part of a call\n * i.e. do unparented views exist.\n *\n * @internal\n */\nexport const _isPreviewOn = (deviceManager: DeviceManagerState): boolean => {\n // TODO: we should take in a LocalVideoStream that developer wants to use as their 'Preview' view. We should also\n // handle cases where 'Preview' view is in progress and not necessary completed.\n return deviceManager.unparentedViews.length > 0 && deviceManager.unparentedViews[0].view !== undefined;\n};\n\n/**\n * Dispose of all preview views\n * We assume all unparented views are local preview views.\n *\n * @private\n */\nexport const disposeAllLocalPreviewViews = async (callClient: StatefulCallClient): Promise<void> => {\n const unparentedViews = callClient.getState().deviceManager.unparentedViews;\n for (const view of unparentedViews) {\n await callClient.disposeView(undefined, undefined, view);\n }\n};\n\n/**\n * Update the users displayNames based on the type of user they are\n *\n * @internal\n */\nexport const _updateUserDisplayNames = (participants: RemoteParticipantState[]): RemoteParticipantState[] => {\n if (participants) {\n return memoizedUpdateDisplayName(memoizedFn => {\n return Object.values(participants).map(p => {\n const pid = toFlatCommunicationIdentifier(p.identifier);\n return memoizedFn(pid, p);\n });\n });\n } else {\n return [];\n }\n};\nconst memoizedUpdateDisplayName = memoizeFnAll((participantId: string, participant: RemoteParticipantState) => {\n if (isPhoneNumberIdentifier(participant.identifier)) {\n return {\n ...participant,\n displayName: participant.identifier.phoneNumber\n };\n } else {\n return participant;\n }\n});\n/**\n * @private\n * A type guard to ensure all participants are acceptable type for Teams call\n */\nexport const isTeamsCallParticipants = (participants: CommunicationIdentifier[]): participants is (PhoneNumberIdentifier | MicrosoftTeamsUserIdentifier | UnknownIdentifier)[] => {\n return participants.every(p => !isCommunicationUserIdentifier(p));\n};\n\n/**\n * @private\n * A type guard to ensure all participants are acceptable type for ACS call\n */\nexport const isACSCallParticipants = (participants: CommunicationIdentifier[]): participants is (PhoneNumberIdentifier | CommunicationUserIdentifier | UnknownIdentifier)[] => {\n return participants.every(p => !isMicrosoftTeamsUserIdentifier(p));\n};\n\n/**\n * @private\n * Checks whether the user is a 'Ringing' PSTN user.\n */\nexport const _isRingingPSTNParticipant = (participant: RemoteParticipantState): ParticipantConnectionState => {\n return isPhoneNumberIdentifier(participant.identifier) && participant.state === 'Connecting' ? 'Ringing' : participant.state;\n};\n\n/**\n * @private\n * Changes the display name of the participant based on the local and remote user's role.\n */\nexport const maskDisplayNameWithRole = (displayName: string | undefined, localUserRole?: ParticipantRole, participantRole?: ParticipantRole, isHideAttendeeNamesEnabled?: boolean): string | undefined => {\n let maskedDisplayName = displayName;\n if (isHideAttendeeNamesEnabled && participantRole && participantRole === 'Attendee') {\n if (localUserRole && localUserRole === 'Attendee') {\n maskedDisplayName = '{AttendeeRole}';\n }\n if (localUserRole && (localUserRole === 'Presenter' || localUserRole === 'Co-organizer' || localUserRole === 'Organizer')) {\n maskedDisplayName = `{AttendeeRole}(${displayName})`;\n }\n }\n return maskedDisplayName;\n};"]}
@@ -70,9 +70,6 @@ export const convertRemoteParticipantToVideoGalleryRemoteParticipant = (userId,
70
70
  videoStream,
71
71
  screenShareStream,
72
72
  isScreenSharingOn: screenShareStream !== undefined && screenShareStream.isAvailable,
73
- /* @conditional-compile-remove(one-to-n-calling) */
74
- /* @conditional-compile-remove(PSTN-calls) */
75
- state,
76
73
  raisedHand,
77
74
  reaction,
78
75
  spotlight
@@ -1 +1 @@
1
- {"version":3,"file":"videoGalleryUtils.js","sourceRoot":"","sources":["../../../../../preprocess-dist/calling-component-bindings/src/utils/videoGalleryUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { DominantSpeakersInfo, RemoteParticipantState as RemoteParticipantConnectionState } from '@azure/communication-calling';\nimport { SpotlightedParticipant } from '@azure/communication-calling';\n/* @conditional-compile-remove(hide-attendee-name) */\nimport { ParticipantRole } from '@azure/communication-calling';\nimport { memoizeFnAll, toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { RemoteParticipantState, RemoteVideoStreamState } from '@internal/calling-stateful-client';\nimport { VideoGalleryRemoteParticipant, VideoGalleryStream } from '@internal/react-components';\nimport memoizeOne from 'memoize-one';\nimport { _isRingingPSTNParticipant } from './callUtils';\n/* @conditional-compile-remove(hide-attendee-name) */\nimport { maskDisplayNameWithRole } from './callUtils';\nimport { checkIsSpeaking } from './SelectorUtils';\nimport { isPhoneNumberIdentifier } from '@azure/communication-common';\nimport { RaisedHandState } from '@internal/calling-stateful-client';\nimport { Reaction } from '@internal/react-components';\nimport { memoizedConvertToVideoTileReaction } from './participantListSelectorUtils';\nimport { Spotlight } from '@internal/react-components';\n\n/** @internal */\nexport const _dominantSpeakersWithFlatId = (dominantSpeakers?: DominantSpeakersInfo): undefined | string[] => {\n return dominantSpeakers?.speakersList?.map(toFlatCommunicationIdentifier);\n};\n\n/** @internal */\nexport type _VideoGalleryRemoteParticipantsMemoFn = (remoteParticipants: RemoteParticipantState[] | undefined, /* @conditional-compile-remove(hide-attendee-name) */\nisHideAttendeeNamesEnabled?: boolean, /* @conditional-compile-remove(hide-attendee-name) */\nlocalUserRole?: ParticipantRole) => VideoGalleryRemoteParticipant[];\n\n/** @internal */\nexport const _videoGalleryRemoteParticipantsMemo: _VideoGalleryRemoteParticipantsMemoFn = (remoteParticipants: RemoteParticipantState[] | undefined, isHideAttendeeNamesEnabled?: boolean, /* @conditional-compile-remove(hide-attendee-name) */localUserRole?): VideoGalleryRemoteParticipant[] => {\n if (!remoteParticipants) {\n return [];\n }\n return memoizedAllConvertRemoteParticipant(memoizedFn => {\n return Object.values(remoteParticipants)\n /**\n * hiding participants who are inLobby, idle, or connecting in ACS clients till we can admit users through ACS clients.\n * phone users will be in the connecting state until they are connected to the call.\n */.filter((participant: RemoteParticipantState) => {\n return !['InLobby', 'Idle', 'Connecting', 'Disconnected'].includes(participant.state) || isPhoneNumberIdentifier(participant.identifier);\n }).map((participant: RemoteParticipantState) => {\n const state = _isRingingPSTNParticipant(participant);\n let displayName = participant.displayName;\n /* @conditional-compile-remove(hide-attendee-name) */\n displayName = maskDisplayNameWithRole(displayName, localUserRole, participant.role, isHideAttendeeNamesEnabled);\n const remoteParticipantReaction = memoizedConvertToVideoTileReaction(participant.reactionState);\n const spotlight = participant.spotlight;\n return memoizedFn(toFlatCommunicationIdentifier(participant.identifier), participant.isMuted, checkIsSpeaking(participant), participant.videoStreams, state, displayName, participant.raisedHand, participant.contentSharingStream, remoteParticipantReaction, spotlight);\n });\n });\n};\nconst memoizedAllConvertRemoteParticipant = memoizeFnAll((userId: string, isMuted: boolean, isSpeaking: boolean, videoStreams: {\n [key: number]: RemoteVideoStreamState;\n}, state: RemoteParticipantConnectionState, displayName?: string, raisedHand?: RaisedHandState, contentSharingStream?: HTMLElement, reaction?: Reaction, spotlight?: Spotlight): VideoGalleryRemoteParticipant => {\n return convertRemoteParticipantToVideoGalleryRemoteParticipant(userId, isMuted, isSpeaking, videoStreams, state, displayName, raisedHand, contentSharingStream, reaction, spotlight);\n});\n\n/** @private */\nexport const convertRemoteParticipantToVideoGalleryRemoteParticipant = (userId: string, isMuted: boolean, isSpeaking: boolean, videoStreams: {\n [key: number]: RemoteVideoStreamState;\n}, state: RemoteParticipantConnectionState, displayName?: string, raisedHand?: RaisedHandState, contentSharingStream?: HTMLElement, reaction?: Reaction, spotlight?: Spotlight): VideoGalleryRemoteParticipant => {\n const rawVideoStreamsArray = Object.values(videoStreams);\n let videoStream: VideoGalleryStream | undefined = undefined;\n let screenShareStream: VideoGalleryStream | undefined = undefined;\n\n /**\n * There is a bug from the calling sdk where if a user leaves and rejoins immediately\n * it adds 2 more potential streams this remote participant can use. The old 2 streams\n * still show as available and that is how we got a frozen stream in this case. The stopgap\n * until streams accurately reflect their availability is to always prioritize the latest streams of a certain type\n * e.g findLast instead of find\n */\n const sdkRemoteVideoStream = Object.values(rawVideoStreamsArray).findLast(i => i.mediaStreamType === 'Video' && i.isAvailable) || Object.values(rawVideoStreamsArray).findLast(i => i.mediaStreamType === 'Video');\n const sdkScreenShareStream = Object.values(rawVideoStreamsArray).findLast(i => i.mediaStreamType === 'ScreenSharing' && i.isAvailable) || Object.values(rawVideoStreamsArray).findLast(i => i.mediaStreamType === 'ScreenSharing');\n if (sdkRemoteVideoStream) {\n videoStream = convertRemoteVideoStreamToVideoGalleryStream(sdkRemoteVideoStream);\n }\n if (sdkScreenShareStream) {\n screenShareStream = convertRemoteVideoStreamToVideoGalleryStream(sdkScreenShareStream);\n }\n if (contentSharingStream) {\n screenShareStream = convertRemoteContentSharingStreamToVideoGalleryStream(contentSharingStream);\n }\n return {\n userId,\n displayName,\n isMuted,\n isSpeaking,\n videoStream,\n screenShareStream,\n isScreenSharingOn: screenShareStream !== undefined && screenShareStream.isAvailable,\n /* @conditional-compile-remove(one-to-n-calling) */\n /* @conditional-compile-remove(PSTN-calls) */\n state,\n raisedHand,\n reaction,\n spotlight\n };\n};\nconst convertRemoteVideoStreamToVideoGalleryStream = (stream: RemoteVideoStreamState): VideoGalleryStream => {\n return {\n id: stream.id,\n isAvailable: stream.isAvailable,\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n isReceiving: stream.isReceiving,\n isMirrored: stream.view?.isMirrored,\n renderElement: stream.view?.target,\n scalingMode: stream.view?.scalingMode,\n streamSize: stream.streamSize\n };\n};\nconst convertRemoteContentSharingStreamToVideoGalleryStream = (stream: HTMLElement): VideoGalleryStream => {\n return {\n isAvailable: !!stream,\n isReceiving: true,\n isMirrored: false,\n renderElement: stream\n };\n};\n\n/** @private */\nexport const memoizeLocalParticipant = memoizeOne((identifier, displayName, isMuted, isScreenSharingOn, localVideoStream, role, raisedHand, reaction, localSpotlight, capabilities) => ({\n userId: identifier,\n displayName: displayName ?? '',\n isMuted: isMuted,\n isScreenSharingOn: isScreenSharingOn,\n videoStream: {\n isAvailable: !!localVideoStream,\n isMirrored: localVideoStream?.view?.isMirrored,\n renderElement: localVideoStream?.view?.target\n },\n role,\n raisedHand: raisedHand,\n reaction,\n spotlight: localSpotlight,\n capabilities\n}));\n\n/** @private */\nexport const memoizeSpotlightedParticipantIds = memoizeOne(spotlightedParticipants => spotlightedParticipants?.map((p: SpotlightedParticipant) => toFlatCommunicationIdentifier(p.identifier)));"]}
1
+ {"version":3,"file":"videoGalleryUtils.js","sourceRoot":"","sources":["../../../../../preprocess-dist/calling-component-bindings/src/utils/videoGalleryUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { DominantSpeakersInfo, RemoteParticipantState as RemoteParticipantConnectionState } from '@azure/communication-calling';\nimport { SpotlightedParticipant } from '@azure/communication-calling';\n/* @conditional-compile-remove(hide-attendee-name) */\nimport { ParticipantRole } from '@azure/communication-calling';\nimport { memoizeFnAll, toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { RemoteParticipantState, RemoteVideoStreamState } from '@internal/calling-stateful-client';\nimport { VideoGalleryRemoteParticipant, VideoGalleryStream } from '@internal/react-components';\nimport memoizeOne from 'memoize-one';\nimport { _isRingingPSTNParticipant } from './callUtils';\n/* @conditional-compile-remove(hide-attendee-name) */\nimport { maskDisplayNameWithRole } from './callUtils';\nimport { checkIsSpeaking } from './SelectorUtils';\nimport { isPhoneNumberIdentifier } from '@azure/communication-common';\nimport { RaisedHandState } from '@internal/calling-stateful-client';\nimport { Reaction } from '@internal/react-components';\nimport { memoizedConvertToVideoTileReaction } from './participantListSelectorUtils';\nimport { Spotlight } from '@internal/react-components';\n\n/** @internal */\nexport const _dominantSpeakersWithFlatId = (dominantSpeakers?: DominantSpeakersInfo): undefined | string[] => {\n return dominantSpeakers?.speakersList?.map(toFlatCommunicationIdentifier);\n};\n\n/** @internal */\nexport type _VideoGalleryRemoteParticipantsMemoFn = (remoteParticipants: RemoteParticipantState[] | undefined, /* @conditional-compile-remove(hide-attendee-name) */\nisHideAttendeeNamesEnabled?: boolean, /* @conditional-compile-remove(hide-attendee-name) */\nlocalUserRole?: ParticipantRole) => VideoGalleryRemoteParticipant[];\n\n/** @internal */\nexport const _videoGalleryRemoteParticipantsMemo: _VideoGalleryRemoteParticipantsMemoFn = (remoteParticipants: RemoteParticipantState[] | undefined, isHideAttendeeNamesEnabled?: boolean, /* @conditional-compile-remove(hide-attendee-name) */localUserRole?): VideoGalleryRemoteParticipant[] => {\n if (!remoteParticipants) {\n return [];\n }\n return memoizedAllConvertRemoteParticipant(memoizedFn => {\n return Object.values(remoteParticipants)\n /**\n * hiding participants who are inLobby, idle, or connecting in ACS clients till we can admit users through ACS clients.\n * phone users will be in the connecting state until they are connected to the call.\n */.filter((participant: RemoteParticipantState) => {\n return !['InLobby', 'Idle', 'Connecting', 'Disconnected'].includes(participant.state) || isPhoneNumberIdentifier(participant.identifier);\n }).map((participant: RemoteParticipantState) => {\n const state = _isRingingPSTNParticipant(participant);\n let displayName = participant.displayName;\n /* @conditional-compile-remove(hide-attendee-name) */\n displayName = maskDisplayNameWithRole(displayName, localUserRole, participant.role, isHideAttendeeNamesEnabled);\n const remoteParticipantReaction = memoizedConvertToVideoTileReaction(participant.reactionState);\n const spotlight = participant.spotlight;\n return memoizedFn(toFlatCommunicationIdentifier(participant.identifier), participant.isMuted, checkIsSpeaking(participant), participant.videoStreams, state, displayName, participant.raisedHand, participant.contentSharingStream, remoteParticipantReaction, spotlight);\n });\n });\n};\nconst memoizedAllConvertRemoteParticipant = memoizeFnAll((userId: string, isMuted: boolean, isSpeaking: boolean, videoStreams: {\n [key: number]: RemoteVideoStreamState;\n}, state: RemoteParticipantConnectionState, displayName?: string, raisedHand?: RaisedHandState, contentSharingStream?: HTMLElement, reaction?: Reaction, spotlight?: Spotlight): VideoGalleryRemoteParticipant => {\n return convertRemoteParticipantToVideoGalleryRemoteParticipant(userId, isMuted, isSpeaking, videoStreams, state, displayName, raisedHand, contentSharingStream, reaction, spotlight);\n});\n\n/** @private */\nexport const convertRemoteParticipantToVideoGalleryRemoteParticipant = (userId: string, isMuted: boolean, isSpeaking: boolean, videoStreams: {\n [key: number]: RemoteVideoStreamState;\n}, state: RemoteParticipantConnectionState, displayName?: string, raisedHand?: RaisedHandState, contentSharingStream?: HTMLElement, reaction?: Reaction, spotlight?: Spotlight): VideoGalleryRemoteParticipant => {\n const rawVideoStreamsArray = Object.values(videoStreams);\n let videoStream: VideoGalleryStream | undefined = undefined;\n let screenShareStream: VideoGalleryStream | undefined = undefined;\n\n /**\n * There is a bug from the calling sdk where if a user leaves and rejoins immediately\n * it adds 2 more potential streams this remote participant can use. The old 2 streams\n * still show as available and that is how we got a frozen stream in this case. The stopgap\n * until streams accurately reflect their availability is to always prioritize the latest streams of a certain type\n * e.g findLast instead of find\n */\n const sdkRemoteVideoStream = Object.values(rawVideoStreamsArray).findLast(i => i.mediaStreamType === 'Video' && i.isAvailable) || Object.values(rawVideoStreamsArray).findLast(i => i.mediaStreamType === 'Video');\n const sdkScreenShareStream = Object.values(rawVideoStreamsArray).findLast(i => i.mediaStreamType === 'ScreenSharing' && i.isAvailable) || Object.values(rawVideoStreamsArray).findLast(i => i.mediaStreamType === 'ScreenSharing');\n if (sdkRemoteVideoStream) {\n videoStream = convertRemoteVideoStreamToVideoGalleryStream(sdkRemoteVideoStream);\n }\n if (sdkScreenShareStream) {\n screenShareStream = convertRemoteVideoStreamToVideoGalleryStream(sdkScreenShareStream);\n }\n if (contentSharingStream) {\n screenShareStream = convertRemoteContentSharingStreamToVideoGalleryStream(contentSharingStream);\n }\n return {\n userId,\n displayName,\n isMuted,\n isSpeaking,\n videoStream,\n screenShareStream,\n isScreenSharingOn: screenShareStream !== undefined && screenShareStream.isAvailable,\n raisedHand,\n reaction,\n spotlight\n };\n};\nconst convertRemoteVideoStreamToVideoGalleryStream = (stream: RemoteVideoStreamState): VideoGalleryStream => {\n return {\n id: stream.id,\n isAvailable: stream.isAvailable,\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n isReceiving: stream.isReceiving,\n isMirrored: stream.view?.isMirrored,\n renderElement: stream.view?.target,\n scalingMode: stream.view?.scalingMode,\n streamSize: stream.streamSize\n };\n};\nconst convertRemoteContentSharingStreamToVideoGalleryStream = (stream: HTMLElement): VideoGalleryStream => {\n return {\n isAvailable: !!stream,\n isReceiving: true,\n isMirrored: false,\n renderElement: stream\n };\n};\n\n/** @private */\nexport const memoizeLocalParticipant = memoizeOne((identifier, displayName, isMuted, isScreenSharingOn, localVideoStream, role, raisedHand, reaction, localSpotlight, capabilities) => ({\n userId: identifier,\n displayName: displayName ?? '',\n isMuted: isMuted,\n isScreenSharingOn: isScreenSharingOn,\n videoStream: {\n isAvailable: !!localVideoStream,\n isMirrored: localVideoStream?.view?.isMirrored,\n renderElement: localVideoStream?.view?.target\n },\n role,\n raisedHand: raisedHand,\n reaction,\n spotlight: localSpotlight,\n capabilities\n}));\n\n/** @private */\nexport const memoizeSpotlightedParticipantIds = memoizeOne(spotlightedParticipants => spotlightedParticipants?.map((p: SpotlightedParticipant) => toFlatCommunicationIdentifier(p.identifier)));"]}
@@ -6,7 +6,6 @@ import { getDisplayName, getDominantSpeakers, getIdentifier, getIsMuted, getIsSc
6
6
  /* @conditional-compile-remove(hide-attendee-name) */
7
7
  import { isHideAttendeeNamesEnabled } from './baseSelectors';
8
8
  import { getOptimalVideoCount } from './baseSelectors';
9
- import { _updateUserDisplayNames } from './utils/callUtils';
10
9
  import { checkIsSpeaking } from './utils/SelectorUtils';
11
10
  import { _videoGalleryRemoteParticipantsMemo, _dominantSpeakersWithFlatId, convertRemoteParticipantToVideoGalleryRemoteParticipant, memoizeLocalParticipant } from './utils/videoGalleryUtils';
12
11
  import { memoizeSpotlightedParticipantIds } from './utils/videoGalleryUtils';
@@ -40,8 +39,6 @@ export const videoGallerySelector = createSelector([getScreenShareRemoteParticip
40
39
  };
41
40
  });
42
41
  const updateUserDisplayNamesTrampoline = (remoteParticipants) => {
43
- /* @conditional-compile-remove(PSTN-calls) */
44
- return _updateUserDisplayNames(remoteParticipants);
45
42
  return remoteParticipants;
46
43
  };
47
44
  //# sourceMappingURL=videoGallerySelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"videoGallerySelector.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-component-bindings/src/videoGallerySelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { CallClientState, RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { VideoGalleryRemoteParticipant, VideoGalleryLocalParticipant } from '@internal/react-components';\nimport { createSelector } from 'reselect';\nimport { CallingBaseSelectorProps, getDisplayName, getDominantSpeakers, getIdentifier, getIsMuted, getIsScreenSharingOn, getLocalVideoStreams, getRole, getScreenShareRemoteParticipant } from './baseSelectors';\n/* @conditional-compile-remove(hide-attendee-name) */\nimport { isHideAttendeeNamesEnabled } from './baseSelectors';\nimport { getOptimalVideoCount } from './baseSelectors';\nimport { _updateUserDisplayNames } from './utils/callUtils';\nimport { checkIsSpeaking } from './utils/SelectorUtils';\nimport { _videoGalleryRemoteParticipantsMemo, _dominantSpeakersWithFlatId, convertRemoteParticipantToVideoGalleryRemoteParticipant, memoizeLocalParticipant } from './utils/videoGalleryUtils';\nimport { memoizeSpotlightedParticipantIds } from './utils/videoGalleryUtils';\nimport { getLocalParticipantRaisedHand } from './baseSelectors';\nimport { getLocalParticipantReactionState } from './baseSelectors';\nimport { memoizedConvertToVideoTileReaction } from './utils/participantListSelectorUtils';\nimport { getRemoteParticipantsExcludingConsumers } from './getRemoteParticipantsExcludingConsumers';\nimport { getSpotlightCallFeature, getCapabilities } from './baseSelectors';\n\n/**\n * Selector type for {@link VideoGallery} component.\n *\n * @public\n */\nexport type VideoGallerySelector = (state: CallClientState, props: CallingBaseSelectorProps) => {\n screenShareParticipant?: VideoGalleryRemoteParticipant;\n localParticipant: VideoGalleryLocalParticipant;\n remoteParticipants: VideoGalleryRemoteParticipant[];\n dominantSpeakers?: string[];\n optimalVideoCount?: number;\n spotlightedParticipants?: string[];\n maxParticipantsToSpotlight?: number;\n};\n\n/**\n * Provides data attributes to {@link VideoGallery} component.\n * @public\n */\nexport const videoGallerySelector: VideoGallerySelector = createSelector([getScreenShareRemoteParticipant, getRemoteParticipantsExcludingConsumers, getLocalVideoStreams, getIsMuted, getIsScreenSharingOn, getDisplayName, getIdentifier, getDominantSpeakers, getOptimalVideoCount, getRole, getLocalParticipantRaisedHand, /* @conditional-compile-remove(hide-attendee-name) */\nisHideAttendeeNamesEnabled, getLocalParticipantReactionState, getSpotlightCallFeature, getCapabilities], (screenShareRemoteParticipantId, remoteParticipants, localVideoStreams, isMuted, isScreenSharingOn, displayName: string | undefined, identifier: string, dominantSpeakers, optimalVideoCount, role, raisedHand, /* @conditional-compile-remove(hide-attendee-name) */\nisHideAttendeeNamesEnabled, localParticipantReaction, spotlightCallFeature, capabilities) => {\n const screenShareRemoteParticipant = screenShareRemoteParticipantId && remoteParticipants ? remoteParticipants[screenShareRemoteParticipantId] : undefined;\n const localVideoStream = localVideoStreams?.find(i => i.mediaStreamType === 'Video');\n const dominantSpeakerIds = _dominantSpeakersWithFlatId(dominantSpeakers);\n const dominantSpeakersMap: Record<string, number> = {};\n dominantSpeakerIds?.forEach((speaker, idx) => dominantSpeakersMap[speaker] = idx);\n const noRemoteParticipants: RemoteParticipantState[] = [];\n const localParticipantReactionState = memoizedConvertToVideoTileReaction(localParticipantReaction);\n const spotlightedParticipantIds = memoizeSpotlightedParticipantIds(spotlightCallFeature?.spotlightedParticipants);\n return {\n screenShareParticipant: screenShareRemoteParticipant ? convertRemoteParticipantToVideoGalleryRemoteParticipant(toFlatCommunicationIdentifier(screenShareRemoteParticipant.identifier), screenShareRemoteParticipant.isMuted, checkIsSpeaking(screenShareRemoteParticipant), screenShareRemoteParticipant.videoStreams, screenShareRemoteParticipant.state, screenShareRemoteParticipant.displayName, screenShareRemoteParticipant.raisedHand, screenShareRemoteParticipant.contentSharingStream, undefined, screenShareRemoteParticipant.spotlight) : undefined,\n localParticipant: memoizeLocalParticipant(identifier, displayName, isMuted, isScreenSharingOn, localVideoStream, role, raisedHand, localParticipantReactionState, spotlightCallFeature?.localParticipantSpotlight, capabilities),\n remoteParticipants: _videoGalleryRemoteParticipantsMemo(updateUserDisplayNamesTrampoline(remoteParticipants ? Object.values(remoteParticipants) : noRemoteParticipants), /* @conditional-compile-remove(hide-attendee-name) */\n isHideAttendeeNamesEnabled, /* @conditional-compile-remove(hide-attendee-name) */\n role),\n dominantSpeakers: dominantSpeakerIds,\n maxRemoteVideoStreams: optimalVideoCount,\n spotlightedParticipants: spotlightedParticipantIds,\n maxParticipantsToSpotlight: spotlightCallFeature?.maxParticipantsToSpotlight\n };\n});\nconst updateUserDisplayNamesTrampoline = (remoteParticipants: RemoteParticipantState[]): RemoteParticipantState[] => {\n /* @conditional-compile-remove(PSTN-calls) */\n return _updateUserDisplayNames(remoteParticipants);\n return remoteParticipants;\n};"]}
1
+ {"version":3,"file":"videoGallerySelector.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-component-bindings/src/videoGallerySelector.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,6BAA6B,EAAE,gCAAgC;AAGxE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAA4B,cAAc,EAAE,mBAAmB,EAAE,aAAa,EAAE,UAAU,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,OAAO,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AACjN,qDAAqD;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,mCAAmC,EAAE,2BAA2B,EAAE,uDAAuD,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/L,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,uCAAuC,EAAE,MAAM,2CAA2C,CAAC;AACpG,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAiB3E;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAyB,cAAc,CAAC,CAAC,+BAA+B,EAAE,uCAAuC,EAAE,oBAAoB,EAAE,UAAU,EAAE,oBAAoB,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,OAAO,EAAE,6BAA6B,EAAE,qDAAqD;IACnX,0BAA0B,EAAE,gCAAgC,EAAE,uBAAuB,EAAE,eAAe,CAAC,EAAE,CAAC,8BAA8B,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAA+B,EAAE,UAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,IAAI,EAAE,UAAU,EAAE,qDAAqD,CAC9W,0BAA0B,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,YAAY,EAAE,EAAE;IAC1F,MAAM,4BAA4B,GAAG,8BAA8B,IAAI,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3J,MAAM,gBAAgB,GAAG,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,OAAO,CAAC,CAAC;IACrF,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;IACzE,MAAM,mBAAmB,GAA2B,EAAE,CAAC;IACvD,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;IAClF,MAAM,oBAAoB,GAA6B,EAAE,CAAC;IAC1D,MAAM,6BAA6B,GAAG,kCAAkC,CAAC,wBAAwB,CAAC,CAAC;IACnG,MAAM,yBAAyB,GAAG,gCAAgC,CAAC,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,uBAAuB,CAAC,CAAC;IAClH,OAAO;QACL,sBAAsB,EAAE,4BAA4B,CAAC,CAAC,CAAC,uDAAuD,CAAC,6BAA6B,CAAC,4BAA4B,CAAC,UAAU,CAAC,EAAE,4BAA4B,CAAC,OAAO,EAAE,eAAe,CAAC,4BAA4B,CAAC,EAAE,4BAA4B,CAAC,YAAY,EAAE,4BAA4B,CAAC,KAAK,EAAE,4BAA4B,CAAC,WAAW,EAAE,4BAA4B,CAAC,UAAU,EAAE,4BAA4B,CAAC,oBAAoB,EAAE,SAAS,EAAE,4BAA4B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/hB,gBAAgB,EAAE,uBAAuB,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,EAAE,6BAA6B,EAAE,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,yBAAyB,EAAE,YAAY,CAAC;QAChO,kBAAkB,EAAE,mCAAmC,CAAC,gCAAgC,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,qDAAqD,CAC9N,0BAA0B,EAAE,qDAAqD,CACjF,IAAI,CAAC;QACL,gBAAgB,EAAE,kBAAkB;QACpC,qBAAqB,EAAE,iBAAiB;QACxC,uBAAuB,EAAE,yBAAyB;QAClD,0BAA0B,EAAE,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,0BAA0B;KAC7E,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,MAAM,gCAAgC,GAAG,CAAC,kBAA4C,EAA4B,EAAE;IAClH,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { CallClientState, RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { VideoGalleryRemoteParticipant, VideoGalleryLocalParticipant } from '@internal/react-components';\nimport { createSelector } from 'reselect';\nimport { CallingBaseSelectorProps, getDisplayName, getDominantSpeakers, getIdentifier, getIsMuted, getIsScreenSharingOn, getLocalVideoStreams, getRole, getScreenShareRemoteParticipant } from './baseSelectors';\n/* @conditional-compile-remove(hide-attendee-name) */\nimport { isHideAttendeeNamesEnabled } from './baseSelectors';\nimport { getOptimalVideoCount } from './baseSelectors';\nimport { _updateUserDisplayNames } from './utils/callUtils';\nimport { checkIsSpeaking } from './utils/SelectorUtils';\nimport { _videoGalleryRemoteParticipantsMemo, _dominantSpeakersWithFlatId, convertRemoteParticipantToVideoGalleryRemoteParticipant, memoizeLocalParticipant } from './utils/videoGalleryUtils';\nimport { memoizeSpotlightedParticipantIds } from './utils/videoGalleryUtils';\nimport { getLocalParticipantRaisedHand } from './baseSelectors';\nimport { getLocalParticipantReactionState } from './baseSelectors';\nimport { memoizedConvertToVideoTileReaction } from './utils/participantListSelectorUtils';\nimport { getRemoteParticipantsExcludingConsumers } from './getRemoteParticipantsExcludingConsumers';\nimport { getSpotlightCallFeature, getCapabilities } from './baseSelectors';\n\n/**\n * Selector type for {@link VideoGallery} component.\n *\n * @public\n */\nexport type VideoGallerySelector = (state: CallClientState, props: CallingBaseSelectorProps) => {\n screenShareParticipant?: VideoGalleryRemoteParticipant;\n localParticipant: VideoGalleryLocalParticipant;\n remoteParticipants: VideoGalleryRemoteParticipant[];\n dominantSpeakers?: string[];\n optimalVideoCount?: number;\n spotlightedParticipants?: string[];\n maxParticipantsToSpotlight?: number;\n};\n\n/**\n * Provides data attributes to {@link VideoGallery} component.\n * @public\n */\nexport const videoGallerySelector: VideoGallerySelector = createSelector([getScreenShareRemoteParticipant, getRemoteParticipantsExcludingConsumers, getLocalVideoStreams, getIsMuted, getIsScreenSharingOn, getDisplayName, getIdentifier, getDominantSpeakers, getOptimalVideoCount, getRole, getLocalParticipantRaisedHand, /* @conditional-compile-remove(hide-attendee-name) */\nisHideAttendeeNamesEnabled, getLocalParticipantReactionState, getSpotlightCallFeature, getCapabilities], (screenShareRemoteParticipantId, remoteParticipants, localVideoStreams, isMuted, isScreenSharingOn, displayName: string | undefined, identifier: string, dominantSpeakers, optimalVideoCount, role, raisedHand, /* @conditional-compile-remove(hide-attendee-name) */\nisHideAttendeeNamesEnabled, localParticipantReaction, spotlightCallFeature, capabilities) => {\n const screenShareRemoteParticipant = screenShareRemoteParticipantId && remoteParticipants ? remoteParticipants[screenShareRemoteParticipantId] : undefined;\n const localVideoStream = localVideoStreams?.find(i => i.mediaStreamType === 'Video');\n const dominantSpeakerIds = _dominantSpeakersWithFlatId(dominantSpeakers);\n const dominantSpeakersMap: Record<string, number> = {};\n dominantSpeakerIds?.forEach((speaker, idx) => dominantSpeakersMap[speaker] = idx);\n const noRemoteParticipants: RemoteParticipantState[] = [];\n const localParticipantReactionState = memoizedConvertToVideoTileReaction(localParticipantReaction);\n const spotlightedParticipantIds = memoizeSpotlightedParticipantIds(spotlightCallFeature?.spotlightedParticipants);\n return {\n screenShareParticipant: screenShareRemoteParticipant ? convertRemoteParticipantToVideoGalleryRemoteParticipant(toFlatCommunicationIdentifier(screenShareRemoteParticipant.identifier), screenShareRemoteParticipant.isMuted, checkIsSpeaking(screenShareRemoteParticipant), screenShareRemoteParticipant.videoStreams, screenShareRemoteParticipant.state, screenShareRemoteParticipant.displayName, screenShareRemoteParticipant.raisedHand, screenShareRemoteParticipant.contentSharingStream, undefined, screenShareRemoteParticipant.spotlight) : undefined,\n localParticipant: memoizeLocalParticipant(identifier, displayName, isMuted, isScreenSharingOn, localVideoStream, role, raisedHand, localParticipantReactionState, spotlightCallFeature?.localParticipantSpotlight, capabilities),\n remoteParticipants: _videoGalleryRemoteParticipantsMemo(updateUserDisplayNamesTrampoline(remoteParticipants ? Object.values(remoteParticipants) : noRemoteParticipants), /* @conditional-compile-remove(hide-attendee-name) */\n isHideAttendeeNamesEnabled, /* @conditional-compile-remove(hide-attendee-name) */\n role),\n dominantSpeakers: dominantSpeakerIds,\n maxRemoteVideoStreams: optimalVideoCount,\n spotlightedParticipants: spotlightedParticipantIds,\n maxParticipantsToSpotlight: spotlightCallFeature?.maxParticipantsToSpotlight\n };\n});\nconst updateUserDisplayNamesTrampoline = (remoteParticipants: RemoteParticipantState[]): RemoteParticipantState[] => {\n return remoteParticipants;\n};"]}
@@ -1,5 +1,5 @@
1
1
  import { Call, CallAgent, IncomingCall } from '@azure/communication-calling';
2
- import { TeamsCall as TeamsCallBeta, CallCommon as CallCommonBeta, CallAgentCommon as CallAgentCommonBeta, TeamsCallAgent as TeamsCallAgentBeta, IncomingCallCommon as IncomingCallCommonBeta } from '@azure/communication-calling';
2
+ import { TeamsCall as TeamsCallBeta, CallCommon as CallCommonBeta, CallAgentCommon as CallAgentCommonBeta, IncomingCallCommon as IncomingCallCommonBeta } from '@azure/communication-calling';
3
3
  /**
4
4
  * @public
5
5
  * The common interface for all types of Calls
@@ -14,10 +14,6 @@ export type CallAgentCommon = CallAgent | /* @conditional-compile-remove(teams-i
14
14
  * @beta
15
15
  */
16
16
  export type TeamsCall = never | /* @conditional-compile-remove(teams-identity-support) */ TeamsCallBeta;
17
- /**
18
- * @beta
19
- */
20
- export type TeamsCallAgent = never | /* @conditional-compile-remove(teams-identity-support) */ TeamsCallAgentBeta;
21
17
  /**
22
18
  * @public
23
19
  * The common interface for all types of IncomingCalls
@@ -1 +1 @@
1
- {"version":3,"file":"BetaToStableTypes.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/BetaToStableTypes.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// This is for mapping new types from beta, which does not exist in stable sdk.\n// These mappings are necessary to bypass type check of conditional compilation\n// Remove these types when the feature get stabilized in stable sdk\n\n// For example, CallCommon doesn't exist in stable call sdk, so it will be still Call type\n// So we remove CallCommonBeta type in stable\n// In beta, Call | CallCommon = CallCommon because Call is just a super set of CallCommon\n\nimport { Call, CallAgent, IncomingCall } from '@azure/communication-calling';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { TeamsCall as TeamsCallBeta, CallCommon as CallCommonBeta, CallAgentCommon as CallAgentCommonBeta, TeamsCallAgent as TeamsCallAgentBeta, IncomingCallCommon as IncomingCallCommonBeta } from '@azure/communication-calling';\n\n/**\n * @public\n * The common interface for all types of Calls\n */\nexport type CallCommon = Call | /* @conditional-compile-remove(teams-identity-support) */CallCommonBeta;\n\n/**\n * @public\n * The common interface for all types of CallAgents\n */\nexport type CallAgentCommon = CallAgent | /* @conditional-compile-remove(teams-identity-support) */CallAgentCommonBeta;\n\n/**\n * @beta\n */\nexport type TeamsCall = never | /* @conditional-compile-remove(teams-identity-support) */TeamsCallBeta;\n\n/**\n * @beta\n */\nexport type TeamsCallAgent = never | /* @conditional-compile-remove(teams-identity-support) */TeamsCallAgentBeta;\n\n/**\n * @public\n * The common interface for all types of IncomingCalls\n */\nexport type IncomingCallCommon = IncomingCall | /* @conditional-compile-remove(teams-identity-support) */IncomingCallCommonBeta;"]}
1
+ {"version":3,"file":"BetaToStableTypes.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/BetaToStableTypes.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// This is for mapping new types from beta, which does not exist in stable sdk.\n// These mappings are necessary to bypass type check of conditional compilation\n// Remove these types when the feature get stabilized in stable sdk\n\n// For example, CallCommon doesn't exist in stable call sdk, so it will be still Call type\n// So we remove CallCommonBeta type in stable\n// In beta, Call | CallCommon = CallCommon because Call is just a super set of CallCommon\n\nimport { Call, CallAgent, IncomingCall } from '@azure/communication-calling';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { TeamsCall as TeamsCallBeta, CallCommon as CallCommonBeta, CallAgentCommon as CallAgentCommonBeta, IncomingCallCommon as IncomingCallCommonBeta } from '@azure/communication-calling';\n\n/**\n * @public\n * The common interface for all types of Calls\n */\nexport type CallCommon = Call | /* @conditional-compile-remove(teams-identity-support) */CallCommonBeta;\n\n/**\n * @public\n * The common interface for all types of CallAgents\n */\nexport type CallAgentCommon = CallAgent | /* @conditional-compile-remove(teams-identity-support) */CallAgentCommonBeta;\n\n/**\n * @beta\n */\nexport type TeamsCall = never | /* @conditional-compile-remove(teams-identity-support) */TeamsCallBeta;\n\n/**\n * @public\n * The common interface for all types of IncomingCalls\n */\nexport type IncomingCallCommon = IncomingCall | /* @conditional-compile-remove(teams-identity-support) */IncomingCallCommonBeta;"]}