@azure/communication-react 1.4.0 → 1.4.1-beta.1

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 (833) hide show
  1. package/{CHANGELOG.md → CHANGELOG.beta.md} +47 -283
  2. package/CHANGELOG.json +507 -0
  3. package/CHANGELOG.stable.md +287 -0
  4. package/dist/communication-react.d.ts +1781 -58
  5. package/dist/dist-cjs/communication-react/index.js +17182 -13123
  6. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/identifier.js +7 -24
  14. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js +2 -1
  17. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  18. package/dist/dist-esm/acs-ui-common/src/logEvent.js +2 -0
  19. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  20. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  21. package/dist/dist-esm/acs-ui-common/src/safeStringify.js +2 -1
  22. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  23. package/dist/dist-esm/acs-ui-common/src/telemetry.d.ts +10 -0
  24. package/dist/dist-esm/acs-ui-common/src/telemetry.js +10 -0
  25. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  26. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  27. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  28. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +9 -0
  29. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +10 -0
  30. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  31. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +13 -0
  32. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +27 -9
  33. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  34. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +22 -46
  35. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  36. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +51 -0
  37. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +270 -0
  38. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -0
  39. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.d.ts +20 -0
  40. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +36 -0
  41. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -0
  42. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +7 -43
  43. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +26 -266
  44. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  45. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +43 -0
  46. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +81 -0
  47. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -0
  48. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  49. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js +17 -5
  50. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +7 -3
  52. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +29 -0
  53. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  54. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js +6 -3
  55. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  56. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +6 -0
  57. package/dist/dist-esm/calling-component-bindings/src/index.js +8 -0
  58. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  59. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +26 -9
  60. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  61. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js +2 -0
  62. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  63. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts +12 -2
  64. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js +27 -1
  65. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  66. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +8 -3
  67. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  68. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts +16 -2
  69. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js +27 -1
  70. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  71. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  72. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js +2 -0
  73. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  74. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +11 -0
  75. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +19 -3
  76. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  77. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.d.ts +7 -1
  78. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +11 -0
  79. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  80. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +13 -4
  81. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  82. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +21 -5
  83. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  84. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +26 -0
  85. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js +4 -0
  86. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -0
  87. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +16 -2
  88. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js +42 -187
  89. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  90. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +53 -0
  91. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +204 -0
  92. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -0
  93. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +21 -1
  94. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js +4 -1
  95. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  96. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +4 -0
  97. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +60 -10
  98. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +12 -80
  100. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  101. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.d.ts +13 -0
  102. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +88 -0
  103. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -0
  104. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js +2 -1
  105. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  106. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  107. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +3 -2
  108. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +19 -8
  109. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  110. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +4 -3
  111. package/dist/dist-esm/calling-stateful-client/src/Converter.js +15 -8
  112. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  113. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +58 -55
  114. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  115. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.d.ts +2 -1
  116. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +16 -16
  117. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  118. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.d.ts +3 -3
  119. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js +4 -1
  120. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  121. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +11 -18
  122. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  123. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  124. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.d.ts +1 -0
  125. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js +12 -1
  126. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  127. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +4 -1
  128. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  129. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.d.ts +1 -0
  130. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +14 -2
  131. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  132. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +23 -0
  133. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +52 -36
  134. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  135. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +21 -23
  136. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  137. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +19 -0
  138. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +89 -0
  139. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -0
  140. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.d.ts +23 -0
  141. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +48 -0
  142. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -0
  143. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js +4 -1
  144. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  145. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +19 -0
  146. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +35 -0
  147. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -0
  148. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +5 -3
  149. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  150. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +8 -0
  151. package/dist/dist-esm/calling-stateful-client/src/index-public.js +4 -0
  152. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -0
  153. package/dist/dist-esm/calling-stateful-client/src/index.d.ts +3 -5
  154. package/dist/dist-esm/calling-stateful-client/src/index.js +2 -1
  155. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  156. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +6 -4
  157. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  158. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +3 -3
  159. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  160. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +21 -18
  161. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  162. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +4 -1
  163. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +11 -13
  164. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  165. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  166. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  167. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js +4 -1
  168. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  169. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  170. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +48 -13
  171. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  172. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  173. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  174. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  175. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js +2 -0
  176. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  177. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +5 -8
  178. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  179. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +7 -2
  180. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  181. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  182. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  183. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js +4 -1
  184. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  185. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +17 -16
  186. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  187. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  188. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +16 -15
  189. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  190. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  191. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +59 -68
  192. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  193. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +115 -121
  194. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  195. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +2 -0
  196. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  197. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  198. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js +2 -0
  199. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  200. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js +2 -0
  201. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  202. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js +2 -0
  203. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  204. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js +2 -0
  205. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  206. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js +2 -0
  207. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  208. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js +2 -0
  209. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  210. package/dist/dist-esm/communication-react/src/index.d.ts +20 -2
  211. package/dist/dist-esm/communication-react/src/index.js +13 -1
  212. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  213. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  214. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  215. package/dist/dist-esm/react-components/src/components/CameraButton.js +10 -9
  216. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  217. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +7 -8
  218. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  219. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +38 -17
  220. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  221. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +12 -5
  222. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  223. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +26 -31
  224. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  225. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +63 -28
  226. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  227. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +9 -12
  228. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  229. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  230. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  231. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +19 -10
  232. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  233. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +4 -3
  234. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  235. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  236. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  237. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  238. package/dist/dist-esm/react-components/src/components/ControlBar.js +13 -15
  239. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  240. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +14 -4
  241. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  242. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +6 -15
  243. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  244. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +69 -0
  245. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +37 -0
  246. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -0
  247. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +75 -0
  248. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +58 -0
  249. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -0
  250. package/dist/dist-esm/react-components/src/components/{DevicePermissionDropdown.d.ts → DevicePermissions/DevicePermissionDropdown.d.ts} +4 -0
  251. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js +27 -0
  252. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -0
  253. package/dist/dist-esm/react-components/src/components/DevicePermissions/DomainPermissions.d.ts +101 -0
  254. package/dist/dist-esm/react-components/src/components/DevicePermissions/DomainPermissions.js +80 -0
  255. package/dist/dist-esm/react-components/src/components/DevicePermissions/DomainPermissions.js.map +1 -0
  256. package/dist/dist-esm/react-components/src/components/DevicePermissions/DomainPermissionsScaffolding.d.ts +86 -0
  257. package/dist/dist-esm/react-components/src/components/DevicePermissions/DomainPermissionsScaffolding.js +31 -0
  258. package/dist/dist-esm/react-components/src/components/DevicePermissions/DomainPermissionsScaffolding.js.map +1 -0
  259. package/dist/dist-esm/react-components/src/components/DevicesButton.js +7 -30
  260. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  261. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +48 -48
  262. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  263. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  264. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +2 -6
  265. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  266. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +12 -9
  267. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  268. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +11 -23
  269. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  270. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +4 -3
  271. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  272. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  273. package/dist/dist-esm/react-components/src/components/EndCallButton.js +5 -8
  274. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  275. package/dist/dist-esm/react-components/src/components/ErrorBar.js +4 -6
  276. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  277. package/dist/dist-esm/react-components/src/components/FileCard.js +4 -4
  278. package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
  279. package/dist/dist-esm/react-components/src/components/FileCardGroup.js +1 -1
  280. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
  281. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +14 -10
  282. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  283. package/dist/dist-esm/react-components/src/components/FileUploadCards.js +10 -8
  284. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
  285. package/dist/dist-esm/react-components/src/components/GridLayout.js +55 -44
  286. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  287. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +4 -3
  288. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  289. package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +49 -0
  290. package/dist/dist-esm/react-components/src/components/HoldButton.js +25 -0
  291. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -0
  292. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +7 -8
  293. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  294. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +6 -12
  295. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  296. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +3 -5
  297. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  298. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +28 -9
  299. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  300. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js +27 -36
  301. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  302. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +23 -1
  303. package/dist/dist-esm/react-components/src/components/MessageThread.js +188 -120
  304. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  305. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +17 -11
  306. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  307. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +137 -137
  308. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  309. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +15 -0
  310. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +19 -16
  311. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  312. package/dist/dist-esm/react-components/src/components/ParticipantList.js +25 -9
  313. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  314. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +44 -31
  315. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  316. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  317. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  318. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  319. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  320. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +18 -5
  321. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  322. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +6 -4
  323. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  324. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +6 -12
  325. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  326. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +35 -0
  327. package/dist/dist-esm/react-components/src/components/SendBox.js +37 -10
  328. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  329. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +4 -3
  330. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  331. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  332. package/dist/dist-esm/react-components/src/components/StreamMedia.js +5 -4
  333. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  334. package/dist/dist-esm/react-components/src/components/SystemMessage.js +2 -4
  335. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  336. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.d.ts +2 -1
  337. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +29 -17
  338. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  339. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +15 -9
  340. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  341. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.d.ts +32 -0
  342. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +33 -0
  343. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -0
  344. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +7 -7
  345. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  346. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +8 -6
  347. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  348. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +1 -1
  349. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  350. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +13 -6
  351. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  352. package/dist/dist-esm/react-components/src/components/VideoGallery.js +97 -44
  353. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  354. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +11 -0
  355. package/dist/dist-esm/react-components/src/components/VideoTile.js +36 -32
  356. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  357. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js +4 -10
  358. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js.map +1 -1
  359. package/dist/dist-esm/react-components/src/components/index.d.ts +16 -2
  360. package/dist/dist-esm/react-components/src/components/index.js +11 -1
  361. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  362. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +58 -0
  363. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +144 -0
  364. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -0
  365. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +3 -12
  366. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  367. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js +2 -0
  368. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  369. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js +0 -2
  370. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  371. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.d.ts +38 -0
  372. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.js +92 -0
  373. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.js.map +1 -0
  374. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  375. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  376. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js +2 -0
  377. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  378. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js.map +1 -1
  379. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +1 -4
  380. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  381. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  382. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +10 -11
  383. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  384. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +0 -1
  385. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  386. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  387. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +3 -11
  388. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  389. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +0 -3
  390. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  391. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  392. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.d.ts +1 -5
  393. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +0 -12
  394. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  395. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  396. package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.d.ts +22 -0
  397. package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.js +53 -0
  398. package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.js.map +1 -0
  399. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +18 -39
  400. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  401. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.d.ts +4 -0
  402. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +6 -0
  403. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  404. package/dist/dist-esm/react-components/src/components/styles/VoiceOverButton.style.js.map +1 -1
  405. package/dist/dist-esm/react-components/src/components/utils/Datetime.js +10 -4
  406. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  407. package/dist/dist-esm/react-components/src/components/utils/common.js +6 -0
  408. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  409. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  410. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js +10 -5
  411. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  412. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +7 -7
  413. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  414. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  415. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +7 -0
  416. package/dist/dist-esm/react-components/src/components/utils/merge.js +16 -0
  417. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -0
  418. package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
  419. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  420. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  421. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js +1 -3
  422. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js.map +1 -1
  423. package/dist/dist-esm/react-components/src/components/utils.d.ts +4 -0
  424. package/dist/dist-esm/react-components/src/components/utils.js +21 -11
  425. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  426. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +21 -13
  427. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  428. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  429. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  430. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  431. package/dist/dist-esm/react-components/src/index.d.ts +2 -0
  432. package/dist/dist-esm/react-components/src/index.js +2 -0
  433. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  434. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +42 -0
  435. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  436. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  437. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +56 -2
  438. package/dist/dist-esm/react-components/src/localization/locales/index.js +16 -42
  439. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  440. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.d.ts +61 -0
  441. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js +74 -0
  442. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js.map +1 -0
  443. package/dist/dist-esm/react-components/src/permissions/index.d.ts +2 -0
  444. package/dist/dist-esm/react-components/src/permissions/index.js +4 -0
  445. package/dist/dist-esm/react-components/src/permissions/index.js.map +1 -0
  446. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +7 -8
  447. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  448. package/dist/dist-esm/react-components/src/theming/icons.d.ts +15 -0
  449. package/dist/dist-esm/react-components/src/theming/icons.js +113 -12
  450. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  451. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +6 -0
  452. package/dist/dist-esm/react-components/src/theming/icons.styles.js +25 -0
  453. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -0
  454. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  455. package/dist/dist-esm/react-components/src/theming/themeUtils.js +4 -1
  456. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  457. package/dist/dist-esm/react-components/src/theming/themes.js +2 -0
  458. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  459. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +7 -0
  460. package/dist/dist-esm/react-components/src/types/ChatMessage.js +2 -0
  461. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  462. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  463. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js +2 -0
  464. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  465. package/dist/dist-esm/react-components/src/types/OnRender.d.ts +3 -0
  466. package/dist/dist-esm/react-components/src/types/OnRender.js +2 -0
  467. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  468. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.d.ts +3 -0
  469. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js +2 -0
  470. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  471. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  472. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +6 -0
  473. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  474. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  475. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +76 -0
  476. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +110 -18
  477. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  478. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +120 -0
  479. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  480. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +52 -6
  481. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +167 -47
  482. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  483. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +51 -1
  484. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +11 -1
  485. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  486. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  487. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  488. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  489. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +2 -0
  490. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  491. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +3 -0
  492. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +76 -10
  493. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  494. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +2 -0
  495. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +136 -13
  496. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  497. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.d.ts +24 -0
  498. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js +80 -0
  499. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js.map +1 -0
  500. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageCameraDropdown.d.ts +2 -0
  501. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageCameraDropdown.js +23 -0
  502. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageCameraDropdown.js.map +1 -1
  503. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageErrorBar.d.ts +28 -0
  504. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageErrorBar.js +32 -0
  505. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageErrorBar.js.map +1 -0
  506. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageMicDropdown.d.ts +2 -0
  507. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageMicDropdown.js +25 -0
  508. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageMicDropdown.js.map +1 -1
  509. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +5 -4
  510. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  511. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.d.ts +12 -0
  512. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +93 -0
  513. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -0
  514. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +3 -3
  515. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  516. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +35 -23
  517. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  518. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +2 -0
  519. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +73 -20
  520. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  521. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +16 -21
  522. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  523. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +4 -14
  524. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  525. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  526. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  527. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +4 -3
  528. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  529. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  530. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  531. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +1 -1
  532. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  533. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.d.ts +17 -0
  534. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +63 -0
  535. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +1 -0
  536. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +41 -4
  537. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  538. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +5 -2
  539. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  540. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +12 -8
  541. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  542. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +5 -2
  543. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  544. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.d.ts +8 -0
  545. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +26 -0
  546. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -0
  547. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +3 -1
  548. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  549. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +7 -9
  550. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  551. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +29 -6
  552. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  553. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  554. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  555. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  556. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.d.ts +16 -0
  557. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js +38 -0
  558. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js.map +1 -0
  559. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +2 -0
  560. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  561. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +1 -0
  562. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +10 -4
  563. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  564. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +8 -0
  565. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +139 -12
  566. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  567. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +15 -0
  568. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +36 -0
  569. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -0
  570. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.d.ts +1 -0
  571. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +21 -8
  572. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  573. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +2 -2
  574. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  575. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +13 -0
  576. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +26 -0
  577. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -0
  578. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  579. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  580. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  581. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +5 -0
  582. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +7 -0
  583. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  584. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  585. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  586. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  587. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  588. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  589. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  590. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  591. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +2 -2
  592. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +13 -6
  593. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  594. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +1 -1
  595. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +3 -1
  596. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  597. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +4 -4
  598. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +2 -0
  599. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  600. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  601. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -2
  602. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  603. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  604. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  605. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  606. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +2 -2
  607. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +2 -2
  608. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  609. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  610. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  611. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  612. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +2 -2
  613. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  614. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  615. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  616. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.d.ts +6 -2
  617. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +11 -10
  618. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  619. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +2 -6
  620. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  621. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js +2 -0
  622. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  623. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +4 -2
  624. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  625. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +4 -4
  626. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  627. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.d.ts +32 -0
  628. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +81 -0
  629. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -0
  630. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +3 -4
  631. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  632. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  633. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  634. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  635. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js +2 -0
  636. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  637. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +0 -1
  638. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  639. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +23 -3
  640. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js +2 -0
  641. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  642. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +9 -1
  643. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +77 -17
  644. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  645. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  646. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +78 -4
  647. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +77 -18
  648. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  649. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.d.ts +1 -0
  650. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js +43 -16
  651. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js.map +1 -1
  652. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.d.ts +2 -0
  653. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js +36 -14
  654. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js.map +1 -1
  655. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js +1 -1
  656. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js.map +1 -1
  657. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js +11 -7
  658. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  659. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.js +2 -0
  660. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  661. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.d.ts +67 -0
  662. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js +75 -0
  663. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js.map +1 -0
  664. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js +3 -6
  665. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js.map +1 -1
  666. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeopleButton.js +1 -1
  667. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeopleButton.js.map +1 -1
  668. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.d.ts +1 -0
  669. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.js.map +1 -1
  670. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +32 -0
  671. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  672. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +22 -4
  673. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +140 -11
  674. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  675. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +56 -0
  676. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  677. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +9 -2
  678. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +36 -1
  679. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  680. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +9 -0
  681. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +34 -1
  682. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  683. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js +4 -2
  684. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  685. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.d.ts +13 -0
  686. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js +65 -0
  687. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js.map +1 -0
  688. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js +67 -21
  689. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js.map +1 -1
  690. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js +2 -1
  691. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  692. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.d.ts +1 -0
  693. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  694. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +3 -1
  695. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  696. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +11 -0
  697. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +10 -2
  698. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  699. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.d.ts +0 -2
  700. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js +2 -13
  701. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  702. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +20 -0
  703. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +8 -2
  704. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  705. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +3 -5
  706. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  707. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +41 -9
  708. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  709. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +18 -0
  710. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +18 -0
  711. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -0
  712. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.d.ts +15 -0
  713. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +21 -0
  714. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +1 -0
  715. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +4 -0
  716. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  717. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +9 -0
  718. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +111 -36
  719. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  720. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.d.ts +28 -0
  721. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +156 -1
  722. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  723. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +13 -2
  724. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js +2 -0
  725. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  726. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +7 -0
  727. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  728. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
  729. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +18 -6
  730. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  731. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js +2 -0
  732. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js.map +1 -1
  733. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  734. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +6 -6
  735. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  736. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +5 -1
  737. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  738. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  739. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +6 -0
  740. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +11 -0
  741. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -0
  742. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +3 -0
  743. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  744. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +12 -0
  745. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +13 -0
  746. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -0
  747. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +23 -0
  748. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +12 -0
  749. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +1 -0
  750. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +2 -6
  751. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  752. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +5 -1
  753. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +17 -6
  754. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  755. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +22 -0
  756. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +105 -0
  757. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -0
  758. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts +17 -0
  759. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +32 -0
  760. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -0
  761. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +10 -4
  762. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  763. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +15 -14
  764. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  765. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +22 -0
  766. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +60 -0
  767. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -0
  768. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts +15 -0
  769. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +61 -0
  770. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -0
  771. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +3 -5
  772. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  773. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +22 -6
  774. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  775. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  776. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  777. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +7 -9
  778. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  779. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +7 -1
  780. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +26 -7
  781. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  782. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.d.ts +17 -0
  783. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +42 -0
  784. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +1 -0
  785. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.d.ts +11 -0
  786. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js +40 -0
  787. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +1 -0
  788. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.d.ts +2 -1
  789. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +6 -18
  790. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  791. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.d.ts +2 -1
  792. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +10 -8
  793. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  794. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  795. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +28 -1
  796. package/dist/dist-esm/react-composites/src/composites/common/icons.js +23 -8
  797. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  798. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js +2 -0
  799. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  800. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +5 -16
  801. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  802. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +12 -51
  803. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  804. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +5 -22
  805. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  806. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +6 -22
  807. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  808. package/dist/dist-esm/react-composites/src/composites/common/utils.js +17 -12
  809. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  810. package/dist/dist-esm/react-composites/src/composites/index.js +2 -0
  811. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  812. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  813. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  814. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  815. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +2 -2
  816. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +2 -2
  817. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +2 -2
  818. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +2 -2
  819. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js +2 -0
  820. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  821. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +2 -2
  822. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +2 -2
  823. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +2 -2
  824. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +2 -2
  825. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +2 -2
  826. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +2 -2
  827. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +2 -2
  828. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +2 -2
  829. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +2 -2
  830. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  831. package/package.json +12 -12
  832. package/dist/dist-esm/react-components/src/components/DevicePermissionDropdown.js +0 -29
  833. package/dist/dist-esm/react-components/src/components/DevicePermissionDropdown.js.map +0 -1
@@ -20,7 +20,8 @@ export const StreamMedia = (props) => {
20
20
  const container = containerEl.current;
21
21
  if (!container) {
22
22
  return;
23
- } // If videoStreamElement changes, we clear the container to make sure we don't have duplicate, and replace it with
23
+ }
24
+ // If videoStreamElement changes, we clear the container to make sure we don't have duplicate, and replace it with
24
25
  // the new videoStreamElement. If videoStreamElement is undefined nothing is appended and container should be empty
25
26
  // and we don't render anyting.
26
27
  container.innerHTML = '';
@@ -39,9 +40,9 @@ export const StreamMedia = (props) => {
39
40
  setPipEnabled(false);
40
41
  };
41
42
  }, [videoStreamElement]);
42
- return React.createElement("div", { className: container() },
43
+ return (React.createElement("div", { className: container() },
43
44
  React.createElement("div", { "data-ui-id": "stream-media-container", className: mergeStyles(isMirrored && pipEnabled ? invertedVideoInPipStyle(theme) : mediaContainer(theme), styles === null || styles === void 0 ? void 0 : styles.root), ref: containerEl }),
44
- loadingState === 'loading' && React.createElement("div", { className: loadingSpinnerContainer() },
45
- React.createElement(Spinner, { "data-ui-id": "stream-media-loading-spinner", styles: loadSpinnerStyles })));
45
+ loadingState === 'loading' && (React.createElement("div", { className: loadingSpinnerContainer() },
46
+ React.createElement(Spinner, { "data-ui-id": "stream-media-loading-spinner", styles: loadSpinnerStyles })))));
46
47
  };
47
48
  //# sourceMappingURL=StreamMedia.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StreamMedia.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/components/StreamMedia.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,SAAS,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC7I,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAiCtC;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAuB,EAAe,EAAE;IAClE,MAAM,WAAW,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,EACJ,UAAU,EACV,kBAAkB,EAClB,MAAM,EACN,YAAY,GAAG,MAAM,EACtB,GAAG,KAAK,CAAC;IACV,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC;QAEtC,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR,CAAC,kHAAkH;QACpH,mHAAmH;QACnH,+BAA+B;QAG/B,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;QACzB,aAAa,CAAC,KAAK,CAAC,CAAC;QAErB,IAAI,kBAAkB,EAAE;YACtB,kBAAkB,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,GAAG,EAAE;gBAChE,aAAa,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;YACH,kBAAkB,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,GAAG,EAAE;gBAChE,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,SAAS,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;SAC3C;QAED,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;YACzB,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACzB,OAAO,6BAAK,SAAS,EAAE,SAAS,EAAE;QAC9B,2CAAgB,wBAAwB,EAAC,SAAS,EAAE,WAAW,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,GAAI;QACrL,YAAY,KAAK,SAAS,IAAI,6BAAK,SAAS,EAAE,uBAAuB,EAAE;YACpE,oBAAC,OAAO,kBAAY,8BAA8B,EAAC,MAAM,EAAE,iBAAiB,GAAI,CAC5E,CACJ,CAAC;AACX,CAAC,CAAC"}
1
+ {"version":3,"file":"StreamMedia.js","sourceRoot":"","sources":["../../../../../../react-components/src/components/StreamMedia.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,SAAS,EACT,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA+BtC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAuB,EAAe,EAAE;IAClE,MAAM,WAAW,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC;IAChF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC;QACtC,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QAED,kHAAkH;QAClH,mHAAmH;QACnH,+BAA+B;QAC/B,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;QACzB,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,kBAAkB,EAAE;YACtB,kBAAkB,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,GAAG,EAAE;gBAChE,aAAa,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;YACH,kBAAkB,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,GAAG,EAAE;gBAChE,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,SAAS,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;SAC3C;QAED,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC;YACzB,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEzB,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE;QACzB,2CACa,wBAAwB,EACnC,SAAS,EAAE,WAAW,CACpB,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,EACjF,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CACb,EACD,GAAG,EAAE,WAAW,GAChB;QACD,YAAY,KAAK,SAAS,IAAI,CAC7B,6BAAK,SAAS,EAAE,uBAAuB,EAAE;YACvC,oBAAC,OAAO,kBAAY,8BAA8B,EAAC,MAAM,EAAE,iBAAiB,GAAI,CAC5E,CACP,CACG,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { mergeStyles, Spinner } from '@fluentui/react';\nimport React, { useEffect, useRef, useState } from 'react';\nimport {\n invertedVideoInPipStyle,\n mediaContainer,\n container,\n loadingSpinnerContainer,\n loadSpinnerStyles\n} from './styles/StreamMedia.styles';\nimport { useTheme } from '../theming';\nimport { BaseCustomStyles } from '../types';\n\n/**\n * Whether the stream is loading or not.\n * @public\n */\nexport type LoadingState = 'loading' | 'none';\n\n/**\n * Props for {@link StreamMedia}.\n *\n * @public\n */\nexport interface StreamMediaProps {\n /** Video stream element to render. */\n videoStreamElement: HTMLElement | null;\n /** Decides whether to mirror the video or not. */\n isMirrored?: boolean;\n /** Whether the stream is loading data */\n loadingState?: LoadingState;\n /**\n * Allows users to pass in an object contains custom CSS styles.\n * @Example\n * ```\n * <StreamMedia styles={{ root: { background: 'blue' } }} />\n * ```\n */\n styles?: BaseCustomStyles;\n}\n\n/**\n * Utility component to convert an HTMLElement with a video stream into a JSX element.\n *\n * Use to convert an HTMLElement returned by headless calling API into a component that can be rendered as a {@link VideoTile}.\n *\n * @public\n */\nexport const StreamMedia = (props: StreamMediaProps): JSX.Element => {\n const containerEl = useRef<HTMLDivElement>(null);\n const theme = useTheme();\n\n const { isMirrored, videoStreamElement, styles, loadingState = 'none' } = props;\n const [pipEnabled, setPipEnabled] = useState(false);\n\n useEffect(() => {\n const container = containerEl.current;\n if (!container) {\n return;\n }\n\n // If videoStreamElement changes, we clear the container to make sure we don't have duplicate, and replace it with\n // the new videoStreamElement. If videoStreamElement is undefined nothing is appended and container should be empty\n // and we don't render anyting.\n container.innerHTML = '';\n setPipEnabled(false);\n if (videoStreamElement) {\n videoStreamElement.addEventListener('enterpictureinpicture', () => {\n setPipEnabled(true);\n });\n videoStreamElement.addEventListener('leavepictureinpicture', () => {\n setPipEnabled(false);\n });\n container.appendChild(videoStreamElement);\n }\n\n return () => {\n container.innerHTML = '';\n setPipEnabled(false);\n };\n }, [videoStreamElement]);\n\n return (\n <div className={container()}>\n <div\n data-ui-id=\"stream-media-container\"\n className={mergeStyles(\n isMirrored && pipEnabled ? invertedVideoInPipStyle(theme) : mediaContainer(theme),\n styles?.root\n )}\n ref={containerEl}\n />\n {loadingState === 'loading' && (\n <div className={loadingSpinnerContainer()}>\n <Spinner data-ui-id=\"stream-media-loading-spinner\" styles={loadSpinnerStyles} />\n </div>\n )}\n </div>\n );\n};\n"]}
@@ -9,10 +9,8 @@ import { systemMessageIconStyle } from './styles/SystemMessage.styles';
9
9
  export const SystemMessage = (props) => {
10
10
  const { iconName, content } = props;
11
11
  const Icon = React.createElement(FontIcon, { iconName: iconName, className: mergeStyles(systemMessageIconStyle) });
12
- return React.createElement(Stack, { horizontal: true, className: mergeStyles(props === null || props === void 0 ? void 0 : props.containerStyle), tabIndex: 0 },
12
+ return (React.createElement(Stack, { horizontal: true, className: mergeStyles(props === null || props === void 0 ? void 0 : props.containerStyle), tabIndex: 0 },
13
13
  Icon,
14
- React.createElement(Text, { style: {
15
- wordBreak: 'break-word'
16
- }, role: "status", title: content }, content));
14
+ React.createElement(Text, { style: { wordBreak: 'break-word' }, role: "status", title: content }, content)));
17
15
  };
18
16
  //# sourceMappingURL=SystemMessage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SystemMessage.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/components/SystemMessage.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAU,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE7E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AA4BvE;;GAEG;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAe,EAAE;IACtE,MAAM,EACJ,QAAQ,EACR,OAAO,EACR,GAAG,KAAK,CAAC;IACV,MAAM,IAAI,GAAgB,oBAAC,QAAQ,IAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,sBAAsB,CAAC,GAAI,CAAC;IAC3G,OAAO,oBAAC,KAAK,IAAC,UAAU,QAAC,SAAS,EAAE,WAAW,CAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAyB,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC1F,IAAI;QACL,oBAAC,IAAI,IAAC,KAAK,EAAE;gBACb,SAAS,EAAE,YAAY;aACxB,EAAE,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,OAAO,IAC1B,OAAO,CACH,CACD,CAAC;AACb,CAAC,CAAC"}
1
+ {"version":3,"file":"SystemMessage.js","sourceRoot":"","sources":["../../../../../../react-components/src/components/SystemMessage.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAU,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE7E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AA2BvE;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAe,EAAE;IACtE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACpC,MAAM,IAAI,GAAgB,oBAAC,QAAQ,IAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,sBAAsB,CAAC,GAAI,CAAC;IAE3G,OAAO,CACL,oBAAC,KAAK,IAAC,UAAU,QAAC,SAAS,EAAE,WAAW,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAwB,CAAC,EAAE,QAAQ,EAAE,CAAC;QACnF,IAAI;QACL,oBAAC,IAAI,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,OAAO,IACnE,OAAO,CACH,CACD,CACT,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { IStyle, FontIcon, mergeStyles, Stack, Text } from '@fluentui/react';\nimport { ComponentSlotStyle } from '@fluentui/react-northstar';\nimport React from 'react';\nimport { systemMessageIconStyle } from './styles/SystemMessage.styles';\n\n/**\n * Todo: We need to add more types of system messages that we support.\n *\n * @private\n */\nexport type SystemMessageIconTypes = 'PeopleAdd' | 'PeopleBlock' | 'Edit';\n\n/**\n * @private\n */\nexport type SystemMessageProps = {\n /**\n * Icon name for the system message.\n */\n iconName: SystemMessageIconTypes;\n /**\n * Content string for the system message.\n */\n content: string;\n /*\n * Custom CSS Style for the system message container.\n */\n containerStyle?: ComponentSlotStyle;\n};\n\n/**\n * @private\n */\nexport const SystemMessage = (props: SystemMessageProps): JSX.Element => {\n const { iconName, content } = props;\n const Icon: JSX.Element = <FontIcon iconName={iconName} className={mergeStyles(systemMessageIconStyle)} />;\n\n return (\n <Stack horizontal className={mergeStyles(props?.containerStyle as IStyle)} tabIndex={0}>\n {Icon}\n <Text style={{ wordBreak: 'break-word' }} role=\"status\" title={content}>\n {content}\n </Text>\n </Stack>\n );\n};\n"]}
@@ -6,7 +6,8 @@ import { ErrorBarProps } from './ErrorBar';
6
6
  * @internal
7
7
  */
8
8
  export interface _TroubleshootingGuideErrorBarStrings {
9
- linkText?: string;
9
+ devicePermissionLinkText?: string;
10
+ networkTroubleshootingLinkText?: string;
10
11
  dismissButtonText?: string;
11
12
  }
12
13
  /**
@@ -3,7 +3,7 @@
3
3
  import React, { useEffect, useState } from 'react';
4
4
  import { Link, MessageBar, MessageBarButton, Stack, useTheme } from '@fluentui/react';
5
5
  import { useLocale } from '../localization';
6
- import { dismissButtonStyle, linkStyle, messageBarStyle } from './styles/TroubleshootingGuideErrorBar.styles';
6
+ import { dismissButtonStyle, messageBarStyle } from './styles/TroubleshootingGuideErrorBar.styles';
7
7
  import { dismissError, dropDismissalsForInactiveErrors, errorsToShow, messageBarIconProps, messageBarType } from './utils';
8
8
  /**
9
9
  * @internal
@@ -11,31 +11,43 @@ import { dismissError, dropDismissalsForInactiveErrors, errorsToShow, messageBar
11
11
  */
12
12
  export const _TroubleshootingGuideErrorBar = (props) => {
13
13
  var _a;
14
- const theme = useTheme(); // error bar strings
14
+ const theme = useTheme();
15
+ // error bar strings
15
16
  const localeStrings = useLocale().strings.errorBar;
16
17
  const strings = (_a = props.strings) !== null && _a !== void 0 ? _a : localeStrings;
17
18
  const [dismissedErrors, setDismissedErrors] = useState([]);
18
19
  const { onPermissionsTroubleshootingClick, onNetworkingTroubleshootingClick, permissionsState = {
19
20
  camera: 'denied',
20
21
  microphone: 'denied'
21
- }, troubleshootingGuideStrings } = props; // dropDismissalsForInactiveErrors only returns a new object if `dismissedErrors` actually changes.
22
+ }, troubleshootingGuideStrings } = props;
23
+ // dropDismissalsForInactiveErrors only returns a new object if `dismissedErrors` actually changes.
22
24
  // Without this behaviour, this `useEffect` block would cause a render loop.
23
25
  useEffect(() => setDismissedErrors(dropDismissalsForInactiveErrors(props.activeErrorMessages, dismissedErrors)), [props.activeErrorMessages, dismissedErrors]);
24
26
  const toShow = errorsToShow(props.activeErrorMessages, dismissedErrors);
25
- return React.createElement(Stack, { "data-ui-id": "error-bar-stack" }, toShow.map(error => React.createElement(MessageBar, Object.assign({}, props, { styles: messageBarStyle(theme, messageBarType(error.type)), key: error.type, messageBarType: messageBarType(error.type), messageBarIconProps: messageBarIconProps(error.type), actions: React.createElement(MessageBarButton, { text: troubleshootingGuideStrings.dismissButtonText, styles: dismissButtonStyle(theme), onClick: () => {
26
- setDismissedErrors(dismissError(dismissedErrors, error));
27
- }, ariaLabel: strings.dismissButtonAriaLabel }), isMultiline: false }), onPermissionsTroubleshootingClick || onNetworkingTroubleshootingClick ? React.createElement("div", null,
28
- strings[error.type],
29
- React.createElement(Link, { styles: linkStyle(theme), onClick: () => {
30
- if (onPermissionsTroubleshootingClick) {
27
+ return (React.createElement(Stack, { "data-ui-id": "error-bar-stack" }, toShow.map((error) => {
28
+ const devicePermissionErrorBar = (React.createElement("div", null,
29
+ strings[error.type],
30
+ ' ',
31
+ onPermissionsTroubleshootingClick && (React.createElement(Link, { onClick: () => {
31
32
  onPermissionsTroubleshootingClick(permissionsState);
32
- }
33
- else if (onNetworkingTroubleshootingClick) {
34
- onNetworkingTroubleshootingClick();
35
- }
36
- }, underline: true },
37
- React.createElement("span", null, troubleshootingGuideStrings.linkText))) : React.createElement("div", null,
38
- strings[error.type],
39
- " "))));
33
+ }, underline: true },
34
+ React.createElement("span", null, troubleshootingGuideStrings.devicePermissionLinkText)))));
35
+ const networkErrorBar = (React.createElement("div", null,
36
+ strings[error.type],
37
+ ' ',
38
+ onNetworkingTroubleshootingClick && (React.createElement(Link, { onClick: onNetworkingTroubleshootingClick, underline: true },
39
+ React.createElement("span", null, troubleshootingGuideStrings.networkTroubleshootingLinkText)))));
40
+ return (React.createElement(MessageBar, Object.assign({}, props, { styles: messageBarStyle(theme, messageBarType(error.type)), key: error.type, messageBarType: messageBarType(error.type), messageBarIconProps: messageBarIconProps(error.type), actions: React.createElement(MessageBarButton, { text: troubleshootingGuideStrings.dismissButtonText, styles: dismissButtonStyle(theme), onClick: () => {
41
+ setDismissedErrors(dismissError(dismissedErrors, error));
42
+ }, ariaLabel: strings.dismissButtonAriaLabel }), isMultiline: false }), showErrorBar(error.type, devicePermissionErrorBar, networkErrorBar)));
43
+ })));
44
+ };
45
+ const showErrorBar = (errorType, devicePermissionErrorBar, networkErrorBar) => {
46
+ if (errorType === 'callNetworkQualityLow') {
47
+ return networkErrorBar;
48
+ }
49
+ else {
50
+ return devicePermissionErrorBar;
51
+ }
40
52
  };
41
53
  //# sourceMappingURL=TroubleshootingGuideErrorBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TroubleshootingGuideErrorBar.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/components/TroubleshootingGuideErrorBar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TroubleshootingGuideErrorBar.js","sourceRoot":"","sources":["../../../../../../react-components/src/components/TroubleshootingGuideErrorBar.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,EAEL,YAAY,EACZ,+BAA+B,EAC/B,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACf,MAAM,SAAS,CAAC;AA+DjB;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,KAAyC,EAAe,EAAE;;IACtG,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,oBAAoB;IACpB,MAAM,aAAa,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnD,MAAM,OAAO,GAAG,MAAA,KAAK,CAAC,OAAO,mCAAI,aAAa,CAAC;IAE/C,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAmB,EAAE,CAAC,CAAC;IAE7E,MAAM,EACJ,iCAAiC,EACjC,gCAAgC,EAChC,gBAAgB,GAAG;QACjB,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,QAAQ;KACrB,EACD,2BAA2B,EAC5B,GAAG,KAAK,CAAC;IAEV,mGAAmG;IACnG,4EAA4E;IAC5E,SAAS,CACP,GAAG,EAAE,CAAC,kBAAkB,CAAC,+BAA+B,CAAC,KAAK,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC,EACrG,CAAC,KAAK,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAC7C,CAAC;IAEF,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;IAExE,OAAO,CACL,oBAAC,KAAK,kBAAY,iBAAiB,IAChC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACpB,MAAM,wBAAwB,GAAG,CAC/B;YACG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,GAAG;YACxB,iCAAiC,IAAI,CACpC,oBAAC,IAAI,IACH,OAAO,EAAE,GAAG,EAAE;oBACZ,iCAAiC,CAAC,gBAAgB,CAAC,CAAC;gBACtD,CAAC,EACD,SAAS;gBAET,kCAAO,2BAA2B,CAAC,wBAAwB,CAAQ,CAC9D,CACR,CACG,CACP,CAAC;QAEF,MAAM,eAAe,GAAG,CACtB;YACG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,GAAG;YACxB,gCAAgC,IAAI,CACnC,oBAAC,IAAI,IAAC,OAAO,EAAE,gCAAgC,EAAE,SAAS;gBACxD,kCAAO,2BAA2B,CAAC,8BAA8B,CAAQ,CACpE,CACR,CACG,CACP,CAAC;QAEF,OAAO,CACL,oBAAC,UAAU,oBACL,KAAK,IACT,MAAM,EAAE,eAAe,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC1D,GAAG,EAAE,KAAK,CAAC,IAAI,EACf,cAAc,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAC1C,mBAAmB,EAAE,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,EACpD,OAAO,EACL,oBAAC,gBAAgB,IACf,IAAI,EAAE,2BAA2B,CAAC,iBAAiB,EACnD,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,EACjC,OAAO,EAAE,GAAG,EAAE;oBACZ,kBAAkB,CAAC,YAAY,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC3D,CAAC,EACD,SAAS,EAAE,OAAO,CAAC,sBAAsB,GACzC,EAEJ,WAAW,EAAE,KAAK,KAEjB,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,wBAAwB,EAAE,eAAe,CAAC,CACzD,CACd,CAAC;IACJ,CAAC,CAAC,CACI,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,SAAiB,EACjB,wBAAqC,EACrC,eAA4B,EACf,EAAE;IACf,IAAI,SAAS,KAAK,uBAAuB,EAAE;QACzC,OAAO,eAAe,CAAC;KACxB;SAAM;QACL,OAAO,wBAAwB,CAAC;KACjC;AACH,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport React, { useEffect, useState } from 'react';\nimport { Link, MessageBar, MessageBarButton, Stack, useTheme } from '@fluentui/react';\nimport { useLocale } from '../localization';\nimport { ErrorBarProps } from './ErrorBar';\nimport { dismissButtonStyle, messageBarStyle } from './styles/TroubleshootingGuideErrorBar.styles';\nimport {\n DismissedError,\n dismissError,\n dropDismissalsForInactiveErrors,\n errorsToShow,\n messageBarIconProps,\n messageBarType\n} from './utils';\n\n/**\n * Strings for {@link _TroubleshootingGuideErrorBar}.\n *\n * @internal\n */\nexport interface _TroubleshootingGuideErrorBarStrings {\n devicePermissionLinkText?: string;\n networkTroubleshootingLinkText?: string;\n dismissButtonText?: string;\n}\n\n/**\n * Props for {@link _TroubleshootingGuideErrorBar}.\n *\n * @internal\n */\nexport interface _TroubleshootingGuideErrorBarProps extends ErrorBarProps {\n /**\n * permissions state for camera/microphone\n */\n permissionsState?: {\n camera: PermissionState;\n microphone: PermissionState;\n };\n /**\n * Callback you may provide to supply users with further steps to troubleshoot why they have been\n * unable to grant your site the required permissions for the call.\n *\n * @example\n * ```ts\n * onPermissionsTroubleshootingClick: () =>\n * window.open('https://contoso.com/permissions-troubleshooting', '_blank');\n * ```\n *\n * @remarks\n * if this is not supplied, the composite will not show a 'further troubleshooting' link.\n */\n onPermissionsTroubleshootingClick?: (permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n }) => void;\n /**\n * Optional callback to supply users with further troubleshooting steps for network issues\n * experienced when connecting to a call.\n *\n * @example\n * ```ts\n * onNetworkingTroubleshootingClick?: () =>\n * window.open('https://contoso.com/network-troubleshooting', '_blank');\n * ```\n *\n * @remarks\n * if this is not supplied, the composite will not show a 'network troubleshooting' link.\n */\n onNetworkingTroubleshootingClick?: () => void;\n /**\n * strings related to trouble shooting guidance link and dismiss button\n */\n troubleshootingGuideStrings: _TroubleshootingGuideErrorBarStrings;\n}\n\n/**\n * @internal\n * A component to show device Permission/network connection related errors, contains link that leads to further trouble shooting guide\n */\nexport const _TroubleshootingGuideErrorBar = (props: _TroubleshootingGuideErrorBarProps): JSX.Element => {\n const theme = useTheme();\n // error bar strings\n const localeStrings = useLocale().strings.errorBar;\n const strings = props.strings ?? localeStrings;\n\n const [dismissedErrors, setDismissedErrors] = useState<DismissedError[]>([]);\n\n const {\n onPermissionsTroubleshootingClick,\n onNetworkingTroubleshootingClick,\n permissionsState = {\n camera: 'denied',\n microphone: 'denied'\n },\n troubleshootingGuideStrings\n } = props;\n\n // dropDismissalsForInactiveErrors only returns a new object if `dismissedErrors` actually changes.\n // Without this behaviour, this `useEffect` block would cause a render loop.\n useEffect(\n () => setDismissedErrors(dropDismissalsForInactiveErrors(props.activeErrorMessages, dismissedErrors)),\n [props.activeErrorMessages, dismissedErrors]\n );\n\n const toShow = errorsToShow(props.activeErrorMessages, dismissedErrors);\n\n return (\n <Stack data-ui-id=\"error-bar-stack\">\n {toShow.map((error) => {\n const devicePermissionErrorBar = (\n <div>\n {strings[error.type]}{' '}\n {onPermissionsTroubleshootingClick && (\n <Link\n onClick={() => {\n onPermissionsTroubleshootingClick(permissionsState);\n }}\n underline\n >\n <span>{troubleshootingGuideStrings.devicePermissionLinkText}</span>\n </Link>\n )}\n </div>\n );\n\n const networkErrorBar = (\n <div>\n {strings[error.type]}{' '}\n {onNetworkingTroubleshootingClick && (\n <Link onClick={onNetworkingTroubleshootingClick} underline>\n <span>{troubleshootingGuideStrings.networkTroubleshootingLinkText}</span>\n </Link>\n )}\n </div>\n );\n\n return (\n <MessageBar\n {...props}\n styles={messageBarStyle(theme, messageBarType(error.type))}\n key={error.type}\n messageBarType={messageBarType(error.type)}\n messageBarIconProps={messageBarIconProps(error.type)}\n actions={\n <MessageBarButton\n text={troubleshootingGuideStrings.dismissButtonText}\n styles={dismissButtonStyle(theme)}\n onClick={() => {\n setDismissedErrors(dismissError(dismissedErrors, error));\n }}\n ariaLabel={strings.dismissButtonAriaLabel}\n />\n }\n isMultiline={false}\n >\n {showErrorBar(error.type, devicePermissionErrorBar, networkErrorBar)}\n </MessageBar>\n );\n })}\n </Stack>\n );\n};\n\nconst showErrorBar = (\n errorType: string,\n devicePermissionErrorBar: JSX.Element,\n networkErrorBar: JSX.Element\n): JSX.Element => {\n if (errorType === 'callNetworkQualityLow') {\n return networkErrorBar;\n } else {\n return devicePermissionErrorBar;\n }\n};\n"]}
@@ -17,9 +17,10 @@ const MAXIMUM_LENGTH_OF_TYPING_USERS = 35;
17
17
  const getUsersElement = (typingUsers, delimiter, onRenderUser, userDisplayNameStyles) => {
18
18
  const userElements = [];
19
19
  typingUsers.forEach((user, index) => {
20
- userElements.push(onRenderUser ? onRenderUser(user) : React.createElement(Text, { className: mergeStyles(userDisplayNameStyles), key: `user-${index}` }, user.displayName));
20
+ userElements.push(onRenderUser ? (onRenderUser(user)) : (React.createElement(Text, { className: mergeStyles(userDisplayNameStyles), key: `user-${index}` }, user.displayName)));
21
21
  userElements.push(React.createElement(Text, { key: `comma-${index}` }, `${delimiter}`));
22
- }); // pop last comma
22
+ });
23
+ // pop last comma
23
24
  userElements.pop();
24
25
  return React.createElement(React.Fragment, null, userElements);
25
26
  };
@@ -31,7 +32,7 @@ const getUsersElement = (typingUsers, delimiter, onRenderUser, userDisplayNameSt
31
32
  */
32
33
  const getNamesString = (typingUsers, delimiter) => {
33
34
  const userNames = [];
34
- typingUsers.forEach(user => {
35
+ typingUsers.forEach((user) => {
35
36
  if (user.displayName) {
36
37
  userNames.push(user.displayName);
37
38
  }
@@ -95,7 +96,9 @@ const getIndicatorString = (strings, namesString, numTypingUsers, numTypingUsers
95
96
  return strings.multipleUsersAbbreviateOne.replace('{users}', namesString);
96
97
  }
97
98
  if (numTypingUsers > 1 && numTypingUsersAbbreviated > 1) {
98
- return strings.multipleUsersAbbreviateMany.replace('{users}', namesString).replace('{numOthers}', `${numTypingUsersAbbreviated}`);
99
+ return strings.multipleUsersAbbreviateMany
100
+ .replace('{users}', namesString)
101
+ .replace('{numOthers}', `${numTypingUsersAbbreviated}`);
99
102
  }
100
103
  return undefined;
101
104
  };
@@ -107,11 +110,13 @@ const IndicatorComponent = (typingUsers, strings, onRenderUser, styles) => {
107
110
  if (!typingUser.displayName) {
108
111
  continue;
109
112
  }
110
- let additionalCharCount = typingUser.displayName.length; // The typing users will be separated by the delimiter. We account for that additional length when we generate the final string.
113
+ let additionalCharCount = typingUser.displayName.length;
114
+ // The typing users will be separated by the delimiter. We account for that additional length when we generate the final string.
111
115
  if (typingUsersMentioned.length > 0) {
112
116
  additionalCharCount += strings.delimiter.length;
113
117
  }
114
- if (totalCharacterCount + additionalCharCount <= MAXIMUM_LENGTH_OF_TYPING_USERS || typingUsersMentioned.length === 0) {
118
+ if (totalCharacterCount + additionalCharCount <= MAXIMUM_LENGTH_OF_TYPING_USERS ||
119
+ typingUsersMentioned.length === 0) {
115
120
  typingUsersMentioned.push(typingUser);
116
121
  totalCharacterCount += additionalCharCount;
117
122
  }
@@ -123,7 +128,7 @@ const IndicatorComponent = (typingUsers, strings, onRenderUser, styles) => {
123
128
  const numUserNotMentioned = typingUsers.length - typingUsersMentioned.length;
124
129
  const spanElements = getSpanElements(strings, usersElement, typingUsers.length, numUserNotMentioned);
125
130
  const labelString = getIndicatorString(strings, getNamesString(typingUsersMentioned, strings.delimiter), typingUsers.length, numUserNotMentioned);
126
- return React.createElement("div", { "data-ui-id": ids.typingIndicator, className: mergeStyles(typingIndicatorStringStyle, styles === null || styles === void 0 ? void 0 : styles.typingString), key: "typingStringKey", role: "status", "aria-label": labelString }, spanElements);
131
+ return (React.createElement("div", { "data-ui-id": ids.typingIndicator, className: mergeStyles(typingIndicatorStringStyle, styles === null || styles === void 0 ? void 0 : styles.typingString), key: "typingStringKey", role: "status", "aria-label": labelString }, spanElements));
127
132
  };
128
133
  /**
129
134
  * Component to notify local user when one or more participants in the chat thread are typing.
@@ -133,7 +138,7 @@ const IndicatorComponent = (typingUsers, strings, onRenderUser, styles) => {
133
138
  export const TypingIndicator = (props) => {
134
139
  const { typingUsers, onRenderUser, styles } = props;
135
140
  const { strings } = useLocale();
136
- const typingUsersToRender = typingUsers.filter(typingUser => typingUser.displayName !== undefined);
141
+ const typingUsersToRender = typingUsers.filter((typingUser) => typingUser.displayName !== undefined);
137
142
  const indicatorComponent = IndicatorComponent(typingUsersToRender, Object.assign(Object.assign({}, strings.typingIndicator), props.strings), onRenderUser, styles);
138
143
  return React.createElement(Stack, { className: mergeStyles(typingIndicatorContainerStyle, styles === null || styles === void 0 ? void 0 : styles.root) }, indicatorComponent);
139
144
  };
@@ -152,7 +157,8 @@ const formatInlineElements = (str, vars) => {
152
157
  if (!vars) {
153
158
  return [];
154
159
  }
155
- const elements = []; // regex to search for the pattern "{}"
160
+ const elements = [];
161
+ // regex to search for the pattern "{}"
156
162
  const placeholdersRegex = /{(\w+)}/g;
157
163
  const regex = RegExp(placeholdersRegex);
158
164
  let array = regex.exec(str);
@@ -1 +1 @@
1
- {"version":3,"file":"TypingIndicator.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/components/TypingIndicator.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypingIndicator.js","sourceRoot":"","sources":["../../../../../../react-components/src/components/TypingIndicator.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE5G,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAU,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AA0HhD,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAE1C;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,CACtB,WAAuC,EACvC,SAAiB,EACjB,YAA+D,EAC/D,qBAA8B,EACjB,EAAE;IACf,MAAM,YAAY,GAAkB,EAAE,CAAC;IACvC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAClC,YAAY,CAAC,IAAI,CACf,YAAY,CAAC,CAAC,CAAC,CACb,YAAY,CAAC,IAAI,CAAC,CACnB,CAAC,CAAC,CAAC,CACF,oBAAC,IAAI,IAAC,SAAS,EAAE,WAAW,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,QAAQ,KAAK,EAAE,IACtE,IAAI,CAAC,WAAW,CACZ,CACR,CACF,CAAC;QACF,YAAY,CAAC,IAAI,CAAC,oBAAC,IAAI,IAAC,GAAG,EAAE,SAAS,KAAK,EAAE,IAAG,GAAG,SAAS,EAAE,CAAQ,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IACH,iBAAiB;IACjB,YAAY,CAAC,GAAG,EAAE,CAAC;IACnB,OAAO,0CAAG,YAAY,CAAI,CAAC;AAC7B,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,cAAc,GAAG,CAAC,WAAuC,EAAE,SAAiB,EAAU,EAAE;IAC5F,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAClC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,eAAe,GAAG,CACtB,OAA+B,EAC/B,YAAyB,EACzB,cAAsB,EACtB,yBAAiC,EAClB,EAAE;IACjB,IAAI,SAAS,GAAgC,EAAE,CAAC;IAChD,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,cAAc,KAAK,CAAC,EAAE;QACxB,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;QAClC,SAAS,GAAG;YACV,IAAI,EAAE,YAAY;SACnB,CAAC;KACH;SAAM,IAAI,cAAc,GAAG,CAAC,IAAI,yBAAyB,KAAK,CAAC,EAAE;QAChE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;QACrC,SAAS,GAAG;YACV,KAAK,EAAE,YAAY;SACpB,CAAC;KACH;SAAM,IAAI,cAAc,GAAG,CAAC,IAAI,yBAAyB,KAAK,CAAC,EAAE;QAChE,YAAY,GAAG,OAAO,CAAC,0BAA0B,CAAC;QAClD,SAAS,GAAG;YACV,KAAK,EAAE,YAAY;SACpB,CAAC;KACH;SAAM,IAAI,cAAc,GAAG,CAAC,IAAI,yBAAyB,GAAG,CAAC,EAAE;QAC9D,YAAY,GAAG,OAAO,CAAC,2BAA2B,CAAC;QACnD,SAAS,GAAG;YACV,KAAK,EAAE,YAAY;YACnB,SAAS,EAAE,0CAAG,yBAAyB,CAAI;SAC5C,CAAC;KACH;IAED,OAAO,oBAAoB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,kBAAkB,GAAG,CACzB,OAA+B,EAC/B,WAAmB,EACnB,cAAsB,EACtB,yBAAiC,EACb,EAAE;IACtB,IAAI,cAAc,KAAK,CAAC,EAAE;QACxB,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;KAC1D;IAED,IAAI,cAAc,GAAG,CAAC,IAAI,yBAAyB,KAAK,CAAC,EAAE;QACzD,OAAO,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;KAC9D;IAED,IAAI,cAAc,GAAG,CAAC,IAAI,yBAAyB,KAAK,CAAC,EAAE;QACzD,OAAO,OAAO,CAAC,0BAA0B,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;KAC3E;IAED,IAAI,cAAc,GAAG,CAAC,IAAI,yBAAyB,GAAG,CAAC,EAAE;QACvD,OAAO,OAAO,CAAC,2BAA2B;aACvC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC;aAC/B,OAAO,CAAC,aAAa,EAAE,GAAG,yBAAyB,EAAE,CAAC,CAAC;KAC3D;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CACzB,WAAuC,EACvC,OAA+B,EAC/B,YAA+D,EAC/D,MAAmC,EACtB,EAAE;IACf,MAAM,oBAAoB,GAA+B,EAAE,CAAC;IAC5D,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;IAE7B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;QACpC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;YAC3B,SAAS;SACV;QAED,IAAI,mBAAmB,GAAG,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC;QACxD,gIAAgI;QAChI,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,mBAAmB,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;SACjD;QAED,IACE,mBAAmB,GAAG,mBAAmB,IAAI,8BAA8B;YAC3E,oBAAoB,CAAC,MAAM,KAAK,CAAC,EACjC;YACA,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtC,mBAAmB,IAAI,mBAAmB,CAAC;SAC5C;aAAM;YACL,MAAM;SACP;KACF;IAED,MAAM,YAAY,GAAgB,eAAe,CAC/C,oBAAoB,EACpB,OAAO,CAAC,SAAS,EACjB,YAAY,EACZ,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,qBAAqB,CAC9B,CAAC;IAEF,MAAM,mBAAmB,GAAG,WAAW,CAAC,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC;IAC7E,MAAM,YAAY,GAAkB,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAEpH,MAAM,WAAW,GAAG,kBAAkB,CACpC,OAAO,EACP,cAAc,CAAC,oBAAoB,EAAE,OAAO,CAAC,SAAS,CAAC,EACvD,WAAW,CAAC,MAAM,EAClB,mBAAmB,CACpB,CAAC;IAEF,OAAO,CACL,2CACc,GAAG,CAAC,eAAe,EAC/B,SAAS,EAAE,WAAW,CAAC,0BAA0B,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,EACxE,GAAG,EAAC,iBAAiB,EACrB,IAAI,EAAC,QAAQ,gBACD,WAAW,IAEtB,YAAY,CACT,CACP,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA2B,EAAe,EAAE;IAC1E,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACpD,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC;IAEhC,MAAM,mBAAmB,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC;IAErG,MAAM,kBAAkB,GAAG,kBAAkB,CAC3C,mBAAmB,kCACd,OAAO,CAAC,eAAe,GAAK,KAAK,CAAC,OAAO,GAC9C,YAAY,EACZ,MAAM,CACP,CAAC;IAEF,OAAO,oBAAC,KAAK,IAAC,SAAS,EAAE,WAAW,CAAC,6BAA6B,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,IAAG,kBAAkB,CAAS,CAAC;AAClH,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAE,IAA8B,EAAiB,EAAE;IAC1F,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,EAAE,CAAC;KACX;IACD,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,EAAE,CAAC;KACX;IAED,MAAM,QAAQ,GAAkB,EAAE,CAAC;IAEnC,uCAAuC;IACvC,MAAM,iBAAiB,GAAG,UAAU,CAAC;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACxC,IAAI,KAAK,GAA2B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,OAAO,KAAK,KAAK,IAAI,EAAE;QACrB,IAAI,IAAI,KAAK,KAAK,CAAC,KAAK,EAAE;YACxB,QAAQ,CAAC,IAAI,CAAC,oBAAC,IAAI,IAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,IAAG,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAQ,CAAC,CAAC;SACtF;QACD,QAAQ,CAAC,IAAI,CAAC,oBAAC,IAAI,IAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,IAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAQ,CAAC,CAAC;QACrG,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;QACvB,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACzB;IACD,QAAQ,CAAC,IAAI,CAAC,oBAAC,IAAI,IAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,IAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAQ,CAAC,CAAC;IACxE,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { typingIndicatorContainerStyle, typingIndicatorStringStyle } from './styles/TypingIndicator.styles';\n\nimport React from 'react';\nimport { BaseCustomStyles, CommunicationParticipant } from '../types';\nimport { IStyle, mergeStyles, Stack, Text } from '@fluentui/react';\nimport { useLocale } from '../localization/LocalizationProvider';\nimport { useIdentifiers } from '../identifiers';\nimport { _IObjectMap } from '@internal/acs-ui-common';\n\n/**\n * Fluent styles for {@link TypingIndicator}.\n *\n * @public\n */\nexport interface TypingIndicatorStylesProps extends BaseCustomStyles {\n /** Styles for each typing user's displayName. */\n typingUserDisplayName?: IStyle;\n /** Styles for the typing string. */\n typingString?: IStyle;\n}\n\n/**\n * Strings of {@link TypingIndicator} that can be overridden.\n *\n * @public\n */\nexport interface TypingIndicatorStrings {\n /**\n * String template to use when one user is typing. Placeholders: [user].\n * @example\n * ```\n * <TypingIndicator\n * strings={{ multipleUsersAbbreviateOne: '{users} is typing...' }}\n * typingUsers={[{ userId: 'user1', displayName: 'Claire' }]}\n * />\n * ```\n * would be 'Claire is typing...'\n **/\n singleUser: string;\n /**\n * String template to use when multiple users are typing. Placeholders: [users].\n * @example\n * ```\n * <TypingIndicator\n * strings={{ multipleUsers: '{users} are typing...' }}\n * typingUsers={[\n * { userId: 'user1', displayName: 'Claire' },\n * { userId: 'user2', displayName: 'Christopher' }\n * ]}\n * />\n * ```\n * would be 'Claire, Chris are typing...'\n **/\n multipleUsers: string;\n /**\n * String template to use when multiple users are typing with one other user abbreviated. Placeholders: [users].\n * @example\n * ```typescript\n * <TypingIndicator\n * strings={{ multipleUsersAbbreviateOne: '{users} and 1 other are typing...' }}\n * typingUsers={[\n * { userId: 'user1', displayName: 'Claire Romanov' },\n * { userId: 'user2', displayName: 'Christopher Rutherford' }\n * ]}\n * />\n * ```\n * would be 'Claire Romanov and 1 other are typing...'\n **/\n multipleUsersAbbreviateOne: string;\n /**\n * String template to use when multiple users are typing with one other user abbreviated. Placeholders: [users, numOthers].\n * @example\n * ```\n * <TypingIndicator\n * strings={{ multipleUsersAbbreviateMany: '{users} and {numOthers} others are typing...' }}\n * typingUsers={[\n * { userId: 'user1', displayName: 'Claire Romanov' },\n * { userId: 'user2', displayName: 'Christopher Rutherford' },\n * { userId: 'user3', displayName: 'Jill Vernblom' }\n * ]}\n * />\n * ```\n * would be 'Claire Romanov and 2 others are typing...'\n **/\n multipleUsersAbbreviateMany: string;\n /**\n * String to use as delimiter to separate multiple users.\n * @example\n * ```\n * <TypingIndicator\n * strings={{ delimiter: ' + ' }}\n * typingUsers={[\n * { userId: 'user1', displayName: 'Claire' },\n * { userId: 'user2', displayName: 'Chris' },\n * { userId: 'user3', displayName: 'Jill' }\n * ]}\n * />\n * ```\n * would be 'Claire + Chris + Jill are typing...'\n **/\n delimiter: string;\n}\n\n/**\n * Props for {@link TypingIndicator}.\n *\n * @public\n */\nexport interface TypingIndicatorProps {\n /** List of the typing users. */\n typingUsers: CommunicationParticipant[];\n /** Callback to render typing users */\n onRenderUser?: (users: CommunicationParticipant) => JSX.Element;\n /**\n * Allows users to pass in an object contains custom CSS styles.\n * @Example\n * ```\n * <TypingIndicator styles={{ root: { background: 'blue' } }} />\n * ```\n */\n styles?: TypingIndicatorStylesProps;\n\n /**\n * Optional strings to override in component\n */\n strings?: Partial<TypingIndicatorStrings>;\n}\n\nconst MAXIMUM_LENGTH_OF_TYPING_USERS = 35;\n\n/**\n * Helper function to create element wrapping all typing users\n * @param typingUsers typing users\n * @param delimiter string to separate typing users\n * @param onRenderUser optional callback to render each typing user\n * @param userDisplayNameStyles optional additional IStyle to apply to each element containing users name\n * @returns element wrapping all typing users\n */\nconst getUsersElement = (\n typingUsers: CommunicationParticipant[],\n delimiter: string,\n onRenderUser?: (users: CommunicationParticipant) => JSX.Element,\n userDisplayNameStyles?: IStyle\n): JSX.Element => {\n const userElements: JSX.Element[] = [];\n typingUsers.forEach((user, index) => {\n userElements.push(\n onRenderUser ? (\n onRenderUser(user)\n ) : (\n <Text className={mergeStyles(userDisplayNameStyles)} key={`user-${index}`}>\n {user.displayName}\n </Text>\n )\n );\n userElements.push(<Text key={`comma-${index}`}>{`${delimiter}`}</Text>);\n });\n // pop last comma\n userElements.pop();\n return <>{userElements}</>;\n};\n\n/**\n * Helper function to get a string of all typing users\n * @param typingUsers typing users\n * @param delimiter string to separate typing users\n * @returns string of all typing users\n */\nconst getNamesString = (typingUsers: CommunicationParticipant[], delimiter: string): string => {\n const userNames: string[] = [];\n\n typingUsers.forEach((user) => {\n if (user.displayName) {\n userNames.push(user.displayName);\n }\n });\n return userNames.join(delimiter);\n};\n\n/**\n * Helper function to create span elements making up the typing indicator string\n * @param strings TypingIndicatorStrings containing strings to create span elements\n * @param usersElement JSX.Element containing all typing users\n * @param numTypingUsers number of total typing users\n * @param numUserNotMentioned number of typing users abbreviated\n * @returns array of span elements making up the typing indicator string\n */\nconst getSpanElements = (\n strings: TypingIndicatorStrings,\n usersElement: JSX.Element,\n numTypingUsers: number,\n numTypingUsersAbbreviated: number\n): JSX.Element[] => {\n let variables: Record<string, JSX.Element> = {};\n let typingString = '';\n if (numTypingUsers === 1) {\n typingString = strings.singleUser;\n variables = {\n user: usersElement\n };\n } else if (numTypingUsers > 1 && numTypingUsersAbbreviated === 0) {\n typingString = strings.multipleUsers;\n variables = {\n users: usersElement\n };\n } else if (numTypingUsers > 1 && numTypingUsersAbbreviated === 1) {\n typingString = strings.multipleUsersAbbreviateOne;\n variables = {\n users: usersElement\n };\n } else if (numTypingUsers > 1 && numTypingUsersAbbreviated > 1) {\n typingString = strings.multipleUsersAbbreviateMany;\n variables = {\n users: usersElement,\n numOthers: <>{numTypingUsersAbbreviated}</>\n };\n }\n\n return formatInlineElements(typingString, variables);\n};\n\n/**\n * Helper function to get the string making up the typing indicator string\n * @param strings TypingIndicatorStrings containing strings to create span elements\n * @param namesString string of all typing users\n * @param numTypingUsers number of total typing users\n * @param numUserNotMentioned number of typing users abbreviated\n * @returns typing indicator string\n */\nconst getIndicatorString = (\n strings: TypingIndicatorStrings,\n namesString: string,\n numTypingUsers: number,\n numTypingUsersAbbreviated: number\n): string | undefined => {\n if (numTypingUsers === 1) {\n return strings.singleUser.replace('{user}', namesString);\n }\n\n if (numTypingUsers > 1 && numTypingUsersAbbreviated === 0) {\n return strings.multipleUsers.replace('{users}', namesString);\n }\n\n if (numTypingUsers > 1 && numTypingUsersAbbreviated === 1) {\n return strings.multipleUsersAbbreviateOne.replace('{users}', namesString);\n }\n\n if (numTypingUsers > 1 && numTypingUsersAbbreviated > 1) {\n return strings.multipleUsersAbbreviateMany\n .replace('{users}', namesString)\n .replace('{numOthers}', `${numTypingUsersAbbreviated}`);\n }\n\n return undefined;\n};\n\nconst IndicatorComponent = (\n typingUsers: CommunicationParticipant[],\n strings: TypingIndicatorStrings,\n onRenderUser?: (users: CommunicationParticipant) => JSX.Element,\n styles?: TypingIndicatorStylesProps\n): JSX.Element => {\n const typingUsersMentioned: CommunicationParticipant[] = [];\n let totalCharacterCount = 0;\n const ids = useIdentifiers();\n\n for (const typingUser of typingUsers) {\n if (!typingUser.displayName) {\n continue;\n }\n\n let additionalCharCount = typingUser.displayName.length;\n // The typing users will be separated by the delimiter. We account for that additional length when we generate the final string.\n if (typingUsersMentioned.length > 0) {\n additionalCharCount += strings.delimiter.length;\n }\n\n if (\n totalCharacterCount + additionalCharCount <= MAXIMUM_LENGTH_OF_TYPING_USERS ||\n typingUsersMentioned.length === 0\n ) {\n typingUsersMentioned.push(typingUser);\n totalCharacterCount += additionalCharCount;\n } else {\n break;\n }\n }\n\n const usersElement: JSX.Element = getUsersElement(\n typingUsersMentioned,\n strings.delimiter,\n onRenderUser,\n styles?.typingUserDisplayName\n );\n\n const numUserNotMentioned = typingUsers.length - typingUsersMentioned.length;\n const spanElements: JSX.Element[] = getSpanElements(strings, usersElement, typingUsers.length, numUserNotMentioned);\n\n const labelString = getIndicatorString(\n strings,\n getNamesString(typingUsersMentioned, strings.delimiter),\n typingUsers.length,\n numUserNotMentioned\n );\n\n return (\n <div\n data-ui-id={ids.typingIndicator}\n className={mergeStyles(typingIndicatorStringStyle, styles?.typingString)}\n key=\"typingStringKey\"\n role=\"status\"\n aria-label={labelString}\n >\n {spanElements}\n </div>\n );\n};\n\n/**\n * Component to notify local user when one or more participants in the chat thread are typing.\n *\n * @public\n */\nexport const TypingIndicator = (props: TypingIndicatorProps): JSX.Element => {\n const { typingUsers, onRenderUser, styles } = props;\n const { strings } = useLocale();\n\n const typingUsersToRender = typingUsers.filter((typingUser) => typingUser.displayName !== undefined);\n\n const indicatorComponent = IndicatorComponent(\n typingUsersToRender,\n { ...strings.typingIndicator, ...props.strings },\n onRenderUser,\n styles\n );\n\n return <Stack className={mergeStyles(typingIndicatorContainerStyle, styles?.root)}>{indicatorComponent}</Stack>;\n};\n\n/**\n * Create an array of span elements by replacing the pattern \"\\{\\}\" in str with the elements\n * passed in as vars and creating inline elements from the rest\n *\n * @param str - The string to be formatted\n * @param vars - Variables to use to format the string\n * @returns formatted JSX elements\n */\nconst formatInlineElements = (str: string, vars: _IObjectMap<JSX.Element>): JSX.Element[] => {\n if (!str) {\n return [];\n }\n if (!vars) {\n return [];\n }\n\n const elements: JSX.Element[] = [];\n\n // regex to search for the pattern \"{}\"\n const placeholdersRegex = /{(\\w+)}/g;\n const regex = RegExp(placeholdersRegex);\n let array: RegExpExecArray | null = regex.exec(str);\n let prev = 0;\n while (array !== null) {\n if (prev !== array.index) {\n elements.push(<Text key={elements.length}>{str.substring(prev, array.index)}</Text>);\n }\n elements.push(<Text key={elements.length}>{vars[array[0].substring(1, array[0].length - 1)]}</Text>);\n prev = regex.lastIndex;\n array = regex.exec(str);\n }\n elements.push(<Text key={elements.length}>{str.substring(prev)}</Text>);\n return elements;\n};\n\"../../../acs-ui-common/src\""]}
@@ -0,0 +1,32 @@
1
+ /// <reference types="react" />
2
+ /**
3
+ * Strings for UnsupportedBrowser component
4
+ *
5
+ * @beta
6
+ */
7
+ export interface UnsupportedBrowserStrings {
8
+ /** String for the primary text */
9
+ primaryText: string;
10
+ /** String for the secondary text */
11
+ secondaryText: string;
12
+ /** String for the help link */
13
+ moreHelpLink: string;
14
+ }
15
+ /**
16
+ * props for UnsupportedBrowser UI
17
+ *
18
+ * @beta
19
+ */
20
+ export interface UnsupportedBrowserProps {
21
+ /** Handler to perform a action when the help link is actioned */
22
+ onTroubleshootingClick?: () => void;
23
+ /** String overrides for the component */
24
+ strings: UnsupportedBrowserStrings;
25
+ }
26
+ /**
27
+ * UI to display to the user that the browser they are using is not supported by calling application.
28
+ *
29
+ * @beta
30
+ */
31
+ export declare const UnsupportedBrowser: (props: UnsupportedBrowserProps) => JSX.Element;
32
+ //# sourceMappingURL=UnsupportedBrowser.d.ts.map
@@ -0,0 +1,33 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+ /* @conditional-compile-remove(unsupported-browser) */
4
+ import { Icon, Link, Stack, Text } from '@fluentui/react';
5
+ import React from 'react';
6
+ /* @conditional-compile-remove(unsupported-browser) */
7
+ import { useLocale } from '../localization';
8
+ /* @conditional-compile-remove(unsupported-browser) */
9
+ import { containerStyles, iconStyles, linkTextStyles, mainTextStyles, secondaryTextStyles } from './styles/UnsupportedBrowser.styles';
10
+ /* @conditional-compile-remove(unsupported-browser) */
11
+ const UnsupportedBrowserContainer = (props) => {
12
+ const { onTroubleshootingClick, strings } = props;
13
+ return (React.createElement(Stack, { styles: containerStyles },
14
+ React.createElement(Icon, { styles: iconStyles, iconName: "UnsupportedBrowserWarning", "data-ui-id": "unsupportedBrowserIcon" }),
15
+ React.createElement(Text, { styles: mainTextStyles }, strings.primaryText),
16
+ React.createElement(Text, { styles: secondaryTextStyles }, strings.secondaryText),
17
+ onTroubleshootingClick && (React.createElement(Link, { styles: linkTextStyles, onClick: () => {
18
+ onTroubleshootingClick();
19
+ }, "data-ui-id": "unsupportedBrowserLink" }, strings.moreHelpLink))));
20
+ };
21
+ /**
22
+ * UI to display to the user that the browser they are using is not supported by calling application.
23
+ *
24
+ * @beta
25
+ */
26
+ export const UnsupportedBrowser = (props) => {
27
+ /* @conditional-compile-remove(unsupported-browser) */
28
+ const strings = useLocale().strings.UnsupportedBrowser;
29
+ /* @conditional-compile-remove(unsupported-browser) */
30
+ return React.createElement(UnsupportedBrowserContainer, Object.assign({}, props, { strings: strings }));
31
+ return React.createElement(React.Fragment, null);
32
+ };
33
+ //# sourceMappingURL=UnsupportedBrowser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnsupportedBrowser.js","sourceRoot":"","sources":["../../../../../../react-components/src/components/UnsupportedBrowser.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,sDAAsD;AACtD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAG1D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,sDAAsD;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,sDAAsD;AACtD,OAAO,EACL,eAAe,EACf,UAAU,EACV,cAAc,EACd,cAAc,EACd,mBAAmB,EACpB,MAAM,oCAAoC,CAAC;AA4B5C,sDAAsD;AACtD,MAAM,2BAA2B,GAAG,CAAC,KAA8B,EAAe,EAAE;IAClF,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAClD,OAAO,CACL,oBAAC,KAAK,IAAC,MAAM,EAAE,eAAe;QAC5B,oBAAC,IAAI,IAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAC,2BAA2B,gBAAY,wBAAwB,GAAQ;QAC1G,oBAAC,IAAI,IAAC,MAAM,EAAE,cAAc,IAAG,OAAO,CAAC,WAAW,CAAQ;QAC1D,oBAAC,IAAI,IAAC,MAAM,EAAE,mBAAmB,IAAG,OAAO,CAAC,aAAa,CAAQ;QAChE,sBAAsB,IAAI,CACzB,oBAAC,IAAI,IACH,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,GAAG,EAAE;gBACZ,sBAAsB,EAAE,CAAC;YAC3B,CAAC,gBACU,wBAAwB,IAElC,OAAO,CAAC,YAAY,CAChB,CACR,CACK,CACT,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAA8B,EAAe,EAAE;IAChF,sDAAsD;IACtD,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACvD,sDAAsD;IACtD,OAAO,oBAAC,2BAA2B,oBAAK,KAAK,IAAE,OAAO,EAAE,OAAO,IAAI,CAAC;IACpE,OAAO,yCAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/* @conditional-compile-remove(unsupported-browser) */\nimport { Icon, Link, Stack, Text } from '@fluentui/react';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { _pxToRem } from '@internal/acs-ui-common';\nimport React from 'react';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { useLocale } from '../localization';\n/* @conditional-compile-remove(unsupported-browser) */\nimport {\n containerStyles,\n iconStyles,\n linkTextStyles,\n mainTextStyles,\n secondaryTextStyles\n} from './styles/UnsupportedBrowser.styles';\n\n/**\n * Strings for UnsupportedBrowser component\n *\n * @beta\n */\nexport interface UnsupportedBrowserStrings {\n /** String for the primary text */\n primaryText: string;\n /** String for the secondary text */\n secondaryText: string;\n /** String for the help link */\n moreHelpLink: string;\n}\n\n/**\n * props for UnsupportedBrowser UI\n *\n * @beta\n */\nexport interface UnsupportedBrowserProps {\n /** Handler to perform a action when the help link is actioned */\n onTroubleshootingClick?: () => void;\n /** String overrides for the component */\n strings: UnsupportedBrowserStrings;\n}\n\n/* @conditional-compile-remove(unsupported-browser) */\nconst UnsupportedBrowserContainer = (props: UnsupportedBrowserProps): JSX.Element => {\n const { onTroubleshootingClick, strings } = props;\n return (\n <Stack styles={containerStyles}>\n <Icon styles={iconStyles} iconName=\"UnsupportedBrowserWarning\" data-ui-id=\"unsupportedBrowserIcon\"></Icon>\n <Text styles={mainTextStyles}>{strings.primaryText}</Text>\n <Text styles={secondaryTextStyles}>{strings.secondaryText}</Text>\n {onTroubleshootingClick && (\n <Link\n styles={linkTextStyles}\n onClick={() => {\n onTroubleshootingClick();\n }}\n data-ui-id=\"unsupportedBrowserLink\"\n >\n {strings.moreHelpLink}\n </Link>\n )}\n </Stack>\n );\n};\n\n/**\n * UI to display to the user that the browser they are using is not supported by calling application.\n *\n * @beta\n */\nexport const UnsupportedBrowser = (props: UnsupportedBrowserProps): JSX.Element => {\n /* @conditional-compile-remove(unsupported-browser) */\n const strings = useLocale().strings.UnsupportedBrowser;\n /* @conditional-compile-remove(unsupported-browser) */\n return <UnsupportedBrowserContainer {...props} strings={strings} />;\n return <></>;\n};\n\"../../../acs-ui-common/src\""]}
@@ -18,14 +18,14 @@ export const LocalScreenShare = React.memo((props) => {
18
18
  if (!localParticipant || !localParticipant.isScreenSharingOn) {
19
19
  return null;
20
20
  }
21
- const localScreenSharingNotification = React.createElement(Stack, { horizontalAlign: "center", verticalAlign: "center", className: screenSharingContainerStyle },
22
- React.createElement(Stack, { horizontalAlign: "center", verticalAlign: "center", className: screenSharingNotificationContainerStyle(theme), tokens: {
23
- childrenGap: '1rem'
24
- } },
21
+ const localScreenSharingNotification = (React.createElement(Stack, { horizontalAlign: "center", verticalAlign: "center", className: screenSharingContainerStyle },
22
+ React.createElement(Stack, { horizontalAlign: "center", verticalAlign: "center", className: screenSharingNotificationContainerStyle(theme), tokens: { childrenGap: '1rem' } },
25
23
  React.createElement(Stack, { horizontal: true, verticalAlign: "center", className: screenSharingNotificationIconContainerStyle },
26
24
  React.createElement(Icon, { iconName: "ControlButtonScreenShareStart", className: screenSharingNotificationIconStyle(theme) })),
27
- React.createElement(Text, { className: screenSharingNotificationTextStyle, "aria-live": "polite" }, locale.strings.videoGallery.screenIsBeingSharedMessage)));
28
- const displayName = !(localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.displayName) ? locale.strings.videoGallery.displayNamePlaceholder : localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.displayName;
29
- return React.createElement(VideoTile, { displayName: displayName, isMuted: localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.isMuted, onRenderPlaceholder: () => React.createElement(React.Fragment, null) }, localScreenSharingNotification);
25
+ React.createElement(Text, { className: screenSharingNotificationTextStyle, "aria-live": "polite" }, locale.strings.videoGallery.screenIsBeingSharedMessage))));
26
+ const displayName = !(localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.displayName)
27
+ ? locale.strings.videoGallery.displayNamePlaceholder
28
+ : localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.displayName;
29
+ return (React.createElement(VideoTile, { displayName: displayName, isMuted: localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.isMuted, onRenderPlaceholder: () => React.createElement(React.Fragment, null) }, localScreenSharingNotification));
30
30
  });
31
31
  //# sourceMappingURL=LocalScreenShare.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LocalScreenShare.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-components/src/components/VideoGallery/LocalScreenShare.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAAE,uCAAuC,EAAE,2CAA2C,EAAE,kCAAkC,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AAC7O;;;;GAIG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,KAE3C,EAAE,EAAE;IACH,MAAM,EACJ,gBAAgB,EACjB,GAAG,KAAK,CAAC;IACV,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,IAAI,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE;QAC5D,OAAO,IAAI,CAAC;KACb;IAED,MAAM,8BAA8B,GAAG,oBAAC,KAAK,IAAC,eAAe,EAAC,QAAQ,EAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,2BAA2B;QAChI,oBAAC,KAAK,IAAC,eAAe,EAAC,QAAQ,EAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,uCAAuC,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE;gBAC1H,WAAW,EAAE,MAAM;aACpB;YACG,oBAAC,KAAK,IAAC,UAAU,QAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,2CAA2C;gBAC7F,oBAAC,IAAI,IAAC,QAAQ,EAAC,+BAA+B,EAAC,SAAS,EAAE,kCAAkC,CAAC,KAAK,CAAC,GAAI,CACjG;YACR,oBAAC,IAAI,IAAC,SAAS,EAAE,kCAAkC,eAAY,QAAQ,IACpE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,0BAA0B,CAClD,CACD,CACF,CAAC;IACX,MAAM,WAAW,GAAG,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,WAAW,CAAA,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC,CAAC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,WAAW,CAAC;IACxI,OAAO,oBAAC,SAAS,IAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,yCAAK,IAC3G,8BAA8B,CACrB,CAAC;AACjB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"LocalScreenShare.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/VideoGallery/LocalScreenShare.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACL,2BAA2B,EAC3B,uCAAuC,EACvC,2CAA2C,EAC3C,kCAAkC,EAClC,kCAAkC,EACnC,MAAM,kCAAkC,CAAC;AAE1C;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,KAAyD,EAAE,EAAE;IACvG,MAAM,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IAEnC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,IAAI,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE;QAC5D,OAAO,IAAI,CAAC;KACb;IAED,MAAM,8BAA8B,GAAG,CACrC,oBAAC,KAAK,IAAC,eAAe,EAAC,QAAQ,EAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,2BAA2B;QAC3F,oBAAC,KAAK,IACJ,eAAe,EAAC,QAAQ,EACxB,aAAa,EAAC,QAAQ,EACtB,SAAS,EAAE,uCAAuC,CAAC,KAAK,CAAC,EACzD,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;YAE/B,oBAAC,KAAK,IAAC,UAAU,QAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,2CAA2C;gBAC7F,oBAAC,IAAI,IAAC,QAAQ,EAAC,+BAA+B,EAAC,SAAS,EAAE,kCAAkC,CAAC,KAAK,CAAC,GAAI,CACjG;YACR,oBAAC,IAAI,IAAC,SAAS,EAAE,kCAAkC,eAAY,QAAQ,IACpE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,0BAA0B,CAClD,CACD,CACF,CACT,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,WAAW,CAAA;QAChD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,sBAAsB;QACpD,CAAC,CAAC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,WAAW,CAAC;IAElC,OAAO,CACL,oBAAC,SAAS,IAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,yCAAK,IACtG,8BAA8B,CACrB,CACb,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { Icon, Stack, Text } from '@fluentui/react';\nimport React from 'react';\nimport { useLocale } from '../../localization';\nimport { useTheme } from '../../theming';\nimport { VideoGalleryLocalParticipant } from '../../types';\nimport { VideoTile } from '../VideoTile';\nimport {\n screenSharingContainerStyle,\n screenSharingNotificationContainerStyle,\n screenSharingNotificationIconContainerStyle,\n screenSharingNotificationIconStyle,\n screenSharingNotificationTextStyle\n} from './styles/LocalScreenShare.styles';\n\n/**\n * A memoized version of local screen share component. React.memo is used for a performance\n * boost by memoizing the same rendered component to avoid rerendering this when the parent component rerenders.\n * https://reactjs.org/docs/react-api.html#reactmemo\n */\nexport const LocalScreenShare = React.memo((props: { localParticipant: VideoGalleryLocalParticipant }) => {\n const { localParticipant } = props;\n\n const theme = useTheme();\n const locale = useLocale();\n\n if (!localParticipant || !localParticipant.isScreenSharingOn) {\n return null;\n }\n\n const localScreenSharingNotification = (\n <Stack horizontalAlign=\"center\" verticalAlign=\"center\" className={screenSharingContainerStyle}>\n <Stack\n horizontalAlign=\"center\"\n verticalAlign=\"center\"\n className={screenSharingNotificationContainerStyle(theme)}\n tokens={{ childrenGap: '1rem' }}\n >\n <Stack horizontal verticalAlign=\"center\" className={screenSharingNotificationIconContainerStyle}>\n <Icon iconName=\"ControlButtonScreenShareStart\" className={screenSharingNotificationIconStyle(theme)} />\n </Stack>\n <Text className={screenSharingNotificationTextStyle} aria-live=\"polite\">\n {locale.strings.videoGallery.screenIsBeingSharedMessage}\n </Text>\n </Stack>\n </Stack>\n );\n\n const displayName = !localParticipant?.displayName\n ? locale.strings.videoGallery.displayNamePlaceholder\n : localParticipant?.displayName;\n\n return (\n <VideoTile displayName={displayName} isMuted={localParticipant?.isMuted} onRenderPlaceholder={() => <></>}>\n {localScreenSharingNotification}\n </VideoTile>\n );\n});\n"]}
@@ -24,13 +24,15 @@ export const RemoteScreenShare = React.memo((props) => {
24
24
  onDisposeRemoteStreamView && onDisposeRemoteStreamView(userId);
25
25
  };
26
26
  }, [onDisposeRemoteStreamView, userId]);
27
- const loadingMessage = displayName ? _formatString(locale.strings.videoGallery.screenShareLoadingMessage, {
28
- participant: displayName
29
- }) : '';
30
- return React.createElement(VideoTile, { displayName: displayName, isMuted: isMuted, renderElement: renderElement ? React.createElement(StreamMedia, { videoStreamElement: renderElement, loadingState: isReceiving === false ? 'loading' : 'none' }) : undefined, onRenderPlaceholder: () => React.createElement(LoadingSpinner, { loadingMessage: loadingMessage }) });
27
+ const loadingMessage = displayName
28
+ ? _formatString(locale.strings.videoGallery.screenShareLoadingMessage, {
29
+ participant: displayName
30
+ })
31
+ : '';
32
+ return (React.createElement(VideoTile, { displayName: displayName, isMuted: isMuted, renderElement: renderElement ? (React.createElement(StreamMedia, { videoStreamElement: renderElement, loadingState: isReceiving === false ? 'loading' : 'none' })) : undefined, onRenderPlaceholder: () => React.createElement(LoadingSpinner, { loadingMessage: loadingMessage }) }));
31
33
  });
32
34
  const LoadingSpinner = (props) => {
33
- return React.createElement(Stack, { verticalAlign: "center", className: loadingStyle },
34
- React.createElement(Spinner, { label: props.loadingMessage, size: SpinnerSize.xSmall, "aria-live": 'assertive' }));
35
+ return (React.createElement(Stack, { verticalAlign: "center", className: loadingStyle },
36
+ React.createElement(Spinner, { label: props.loadingMessage, size: SpinnerSize.xSmall, "aria-live": 'assertive' })));
35
37
  };
36
38
  //# sourceMappingURL=RemoteScreenShare.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteScreenShare.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-components/src/components/VideoGallery/RemoteScreenShare.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,sCAAgC;AACxD;;;;GAIG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,KAU5C,EAAE,EAAE;IACH,MAAM,EACJ,MAAM,EACN,WAAW,EACX,OAAO,EACP,aAAa,EACb,wBAAwB,EACxB,yBAAyB,EACzB,WAAW,EACZ,GAAG,KAAK,CAAC;IACV,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,IAAI,CAAC,aAAa,EAAE;QAClB,wBAAwB,IAAI,wBAAwB,CAAC,MAAM,CAAC,CAAC;KAC9D;IAED,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,oEAAoE;YACpE,yBAAyB,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACjE,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC,CAAC;IACxC,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,yBAAyB,EAAE;QACxG,WAAW,EAAE,WAAW;KACzB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACR,OAAO,oBAAC,SAAS,IAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,oBAAC,WAAW,IAAC,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,GAAI,CAAC,CAAC,CAAC,SAAS,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC,oBAAC,cAAc,IAAC,cAAc,EAAE,cAAc,GAAI,GAAI,CAAC;AAC3S,CAAC,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CAAC,KAEvB,EAAe,EAAE;IAChB,OAAO,oBAAC,KAAK,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,YAAY;QACxD,oBAAC,OAAO,IAAC,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,eAAa,WAAW,GAAI,CACpF,CAAC;AACb,CAAC,CAAC"}
1
+ {"version":3,"file":"RemoteScreenShare.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/VideoGallery/RemoteScreenShare.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,sCAAgC;AAExD;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CACzC,CAAC,KAaA,EAAE,EAAE;IACH,MAAM,EACJ,MAAM,EACN,WAAW,EACX,OAAO,EACP,aAAa,EACb,wBAAwB,EACxB,yBAAyB,EACzB,WAAW,EACZ,GAAG,KAAK,CAAC;IACV,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,IAAI,CAAC,aAAa,EAAE;QAClB,wBAAwB,IAAI,wBAAwB,CAAC,MAAM,CAAC,CAAC;KAC9D;IAED,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,oEAAoE;YACpE,yBAAyB,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACjE,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC,CAAC;IAExC,MAAM,cAAc,GAAG,WAAW;QAChC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,yBAAyB,EAAE;YACnE,WAAW,EAAE,WAAW;SACzB,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,CACL,oBAAC,SAAS,IACR,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,aAAa,EACX,aAAa,CAAC,CAAC,CAAC,CACd,oBAAC,WAAW,IAAC,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,GAAI,CAC7G,CAAC,CAAC,CAAC,SAAS,EAEf,mBAAmB,EAAE,GAAG,EAAE,CAAC,oBAAC,cAAc,IAAC,cAAc,EAAE,cAAc,GAAI,GAC7E,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,KAAiC,EAAe,EAAE;IACxE,OAAO,CACL,oBAAC,KAAK,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,YAAY;QACnD,oBAAC,OAAO,IAAC,KAAK,EAAE,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,eAAa,WAAW,GAAI,CACpF,CACT,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { Spinner, SpinnerSize, Stack } from '@fluentui/react';\nimport React, { useEffect } from 'react';\nimport { useLocale } from '../../localization';\nimport { StreamMedia } from '../StreamMedia';\nimport { VideoTile } from '../VideoTile';\nimport { CreateVideoStreamViewResult, VideoStreamOptions } from '../../types';\nimport { loadingStyle } from './styles/RemoteScreenShare.styles';\nimport { _formatString } from '@internal/acs-ui-common';\n\n/**\n * A memoized version of VideoTile for rendering the remote screen share stream. React.memo is used for a performance\n * boost by memoizing the same rendered component to avoid rerendering this when the parent component rerenders.\n * https://reactjs.org/docs/react-api.html#reactmemo\n */\nexport const RemoteScreenShare = React.memo(\n (props: {\n userId: string;\n displayName?: string;\n onCreateRemoteStreamView?: (\n userId: string,\n options?: VideoStreamOptions\n ) => Promise<void | CreateVideoStreamViewResult>;\n onDisposeRemoteStreamView?: (userId: string) => Promise<void>;\n isAvailable?: boolean;\n isReceiving?: boolean;\n isMuted?: boolean;\n isSpeaking?: boolean;\n renderElement?: HTMLElement;\n }) => {\n const {\n userId,\n displayName,\n isMuted,\n renderElement,\n onCreateRemoteStreamView,\n onDisposeRemoteStreamView,\n isReceiving\n } = props;\n const locale = useLocale();\n\n if (!renderElement) {\n onCreateRemoteStreamView && onCreateRemoteStreamView(userId);\n }\n\n useEffect(() => {\n return () => {\n // TODO: Isolate disposing behaviors for screenShare and videoStream\n onDisposeRemoteStreamView && onDisposeRemoteStreamView(userId);\n };\n }, [onDisposeRemoteStreamView, userId]);\n\n const loadingMessage = displayName\n ? _formatString(locale.strings.videoGallery.screenShareLoadingMessage, {\n participant: displayName\n })\n : '';\n\n return (\n <VideoTile\n displayName={displayName}\n isMuted={isMuted}\n renderElement={\n renderElement ? (\n <StreamMedia videoStreamElement={renderElement} loadingState={isReceiving === false ? 'loading' : 'none'} />\n ) : undefined\n }\n onRenderPlaceholder={() => <LoadingSpinner loadingMessage={loadingMessage} />}\n />\n );\n }\n);\n\nconst LoadingSpinner = (props: { loadingMessage: string }): JSX.Element => {\n return (\n <Stack verticalAlign=\"center\" className={loadingStyle}>\n <Spinner label={props.loadingMessage} size={SpinnerSize.xSmall} aria-live={'assertive'} />\n </Stack>\n );\n};\n\"../../../../acs-ui-common/src\""]}
@@ -1 +1 @@
1
- {"version":3,"file":"LocalScreenShare.styles.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,WAAW,EAAS,MAAM,iBAAiB,CAAC;AACrD;;GAEG;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAW,CAAC;IACrD,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;CACf,CAAC,CAAC;AACH;;GAEG;AAEH,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,KAAY,EAAU,EAAE,CAAC,WAAW,CAAC;IAC3F,eAAe,EAAE,SAAS;IAC1B,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;IAC1C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB;CACtC,CAAC,CAAC;AACH;;GAEG;AAEH,MAAM,CAAC,MAAM,2CAA2C,GAAG,WAAW,CAAC;IACrE,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,CAAC;CACd,CAAC,CAAC;AACH;;GAEG;AAEH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,KAAY,EAAU,EAAE,CAAC,WAAW,CAAC;IACtF,2FAA2F;IAC3F,SAAS,EAAE,YAAY;IACvB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe;CACrC,CAAC,CAAC;AACH;;GAEG;AAEH,MAAM,CAAC,MAAM,kCAAkC,GAAG,WAAW,CAAC;IAC5D,QAAQ,EAAE,MAAM;IAChB,kHAAkH;IAClH,KAAK,EAAE,SAAS;CACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"LocalScreenShare.styles.js","sourceRoot":"","sources":["../../../../../../../../react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,WAAW,EAAS,MAAM,iBAAiB,CAAC;AAErD;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAW,CAAC;IACrD,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;CACf,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,KAAY,EAAU,EAAE,CAC9E,WAAW,CAAC;IACV,eAAe,EAAE,SAAS;IAC1B,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;IAC1C,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB;CACtC,CAAC,CAAC;AAEL;;GAEG;AACH,MAAM,CAAC,MAAM,2CAA2C,GAAG,WAAW,CAAC;IACrE,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,CAAC;CACd,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,KAAY,EAAU,EAAE,CACzE,WAAW,CAAC;IACV,2FAA2F;IAC3F,SAAS,EAAE,YAAY;IACvB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe;CACrC,CAAC,CAAC;AAEL;;GAEG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,WAAW,CAAC;IAC5D,QAAQ,EAAE,MAAM;IAChB,kHAAkH;IAClH,KAAK,EAAE,SAAS;CACjB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { mergeStyles, Theme } from '@fluentui/react';\n\n/**\n * @private\n */\nexport const screenSharingContainerStyle = mergeStyles({\n width: '100%',\n height: '100%'\n});\n\n/**\n * @private\n */\nexport const screenSharingNotificationContainerStyle = (theme: Theme): string =>\n mergeStyles({\n backgroundColor: 'inherit',\n padding: '1rem',\n maxWidth: '95%',\n borderRadius: theme.effects.roundedCorner4,\n color: theme.palette.neutralSecondary\n });\n\n/**\n * @private\n */\nexport const screenSharingNotificationIconContainerStyle = mergeStyles({\n height: '2rem',\n lineHeight: 0\n});\n\n/**\n * @private\n */\nexport const screenSharingNotificationIconStyle = (theme: Theme): string =>\n mergeStyles({\n // svg is (20px x 20px) but path is only (16px x 12px), so need to scale at 2.5 to get 40px\n transform: 'scale(2.5)',\n color: theme.palette.neutralTertiary\n });\n\n/**\n * @private\n */\nexport const screenSharingNotificationTextStyle = mergeStyles({\n fontSize: '1rem',\n // Text component will take body color by default (white in Dark Mode), so forcing it to be parent container color\n color: 'inherit'\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteScreenShare.styles.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C;;GAEG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;IACtC,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;CACd,CAAC,CAAC"}
1
+ {"version":3,"file":"RemoteScreenShare.styles.js","sourceRoot":"","sources":["../../../../../../../../react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;IACtC,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;CACd,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { mergeStyles } from '@fluentui/react';\n\n/**\n * @private\n */\nexport const loadingStyle = mergeStyles({\n height: '100%',\n width: '100%'\n});\n"]}
@@ -23,11 +23,9 @@ const useVideoStreamLifecycleMaintainer = (props) => {
23
23
  const { isMirrored, isScreenSharingOn, isStreamAvailable, onCreateStreamView, onDisposeStreamView, renderElementExists, scalingMode } = props;
24
24
  useEffect(() => {
25
25
  if (isStreamAvailable && !renderElementExists) {
26
- onCreateStreamView === null || onCreateStreamView === void 0 ? void 0 : onCreateStreamView({
27
- isMirrored,
28
- scalingMode
29
- });
30
- } // Always clean up element to make tile up to date and be able to dispose correctly
26
+ onCreateStreamView === null || onCreateStreamView === void 0 ? void 0 : onCreateStreamView({ isMirrored, scalingMode });
27
+ }
28
+ // Always clean up element to make tile up to date and be able to dispose correctly
31
29
  return () => {
32
30
  if (renderElementExists) {
33
31
  // TODO: Remove `if isScreenSharingOn` when we isolate dispose behavior for screen share
@@ -36,7 +34,16 @@ const useVideoStreamLifecycleMaintainer = (props) => {
36
34
  }
37
35
  }
38
36
  };
39
- }, [isMirrored, isScreenSharingOn, isStreamAvailable, onCreateStreamView, onDisposeStreamView, renderElementExists, scalingMode]); // The execution order for above useEffect is onCreateRemoteStreamView =>(async time gap) RenderElement generated => element disposed => onDisposeRemoteStreamView
37
+ }, [
38
+ isMirrored,
39
+ isScreenSharingOn,
40
+ isStreamAvailable,
41
+ onCreateStreamView,
42
+ onDisposeStreamView,
43
+ renderElementExists,
44
+ scalingMode
45
+ ]);
46
+ // The execution order for above useEffect is onCreateRemoteStreamView =>(async time gap) RenderElement generated => element disposed => onDisposeRemoteStreamView
40
47
  // Element disposed could happen during async time gap, which still cause leaks for unused renderElement.
41
48
  // Need to do an entire cleanup when remoteTile gets disposed and make sure element gets correctly disposed
42
49
  useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"useVideoStreamLifecycleMaintainer.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAe3C;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,iCAAiC,GAAG,CAAC,KAA0C,EAAQ,EAAE;IAC7F,MAAM,EACJ,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACZ,GAAG,KAAK,CAAC;IACV,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,iBAAiB,IAAI,CAAC,mBAAmB,EAAE;YAC7C,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAG;gBACnB,UAAU;gBACV,WAAW;aACZ,CAAC,CAAC;SACJ,CAAC,mFAAmF;QAGrF,OAAO,GAAG,EAAE;YACV,IAAI,mBAAmB,EAAE;gBACvB,wFAAwF;gBACxF,IAAI,CAAC,iBAAiB,EAAE;oBACtB,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,EAAI,CAAC;iBACzB;aACF;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,kKAAkK;IACrS,yGAAyG;IACzG,2GAA2G;IAE3G,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,wFAAwF;YACxF,IAAI,CAAC,iBAAiB,EAAE;gBACtB,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,EAAI,CAAC;aACzB;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAQF;;;;GAIG;AAEH,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,KAA+C,EAAQ,EAAE;IAC9G,MAAM,EACJ,uBAAuB,EACvB,wBAAwB,EACzB,GAAG,KAAK,CAAC;IACV,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,OAA4B,EAAE,EAAE;QACxE,OAAO,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAG,OAAO,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAC9B,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE;QAC7C,wBAAwB,aAAxB,wBAAwB,uBAAxB,wBAAwB,EAAI,CAAC;IAC/B,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAC/B,OAAO,iCAAiC,iCAAM,KAAK,KACjD,kBAAkB;QAClB,mBAAmB,IACnB,CAAC;AACL,CAAC,CAAC;AAQF;;;;GAIG;AAEH,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,KAAgD,EAAQ,EAAE;IAChH,MAAM,EACJ,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EAC1B,GAAG,KAAK,CAAC;IACV,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,OAA4B,EAAE,EAAE;QACxE,OAAO,wBAAwB,aAAxB,wBAAwB,uBAAxB,wBAAwB,CAAG,mBAAmB,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC,EAAE,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACpD,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE;QAC7C,yBAAyB,aAAzB,yBAAyB,uBAAzB,yBAAyB,CAAG,mBAAmB,CAAC,CAAC;IACnD,CAAC,EAAE,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACrD,OAAO,iCAAiC,iCAAM,KAAK,KACjD,kBAAkB;QAClB,mBAAmB,IACnB,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"useVideoStreamLifecycleMaintainer.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAiB3C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,iCAAiC,GAAG,CAAC,KAA0C,EAAQ,EAAE;IAC7F,MAAM,EACJ,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACZ,GAAG,KAAK,CAAC;IAEV,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,iBAAiB,IAAI,CAAC,mBAAmB,EAAE;YAC7C,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAG,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;SACnD;QAED,mFAAmF;QACnF,OAAO,GAAG,EAAE;YACV,IAAI,mBAAmB,EAAE;gBACvB,wFAAwF;gBACxF,IAAI,CAAC,iBAAiB,EAAE;oBACtB,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,EAAI,CAAC;iBACzB;aACF;QACH,CAAC,CAAC;IACJ,CAAC,EAAE;QACD,UAAU;QACV,iBAAiB;QACjB,iBAAiB;QACjB,kBAAkB;QAClB,mBAAmB;QACnB,mBAAmB;QACnB,WAAW;KACZ,CAAC,CAAC;IAEH,kKAAkK;IAClK,yGAAyG;IACzG,2GAA2G;IAC3G,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,wFAAwF;YACxF,IAAI,CAAC,iBAAiB,EAAE;gBACtB,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,EAAI,CAAC;aACzB;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAQF;;;;GAIG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,KAA+C,EAAQ,EAAE;IAC9G,MAAM,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,GAAG,KAAK,CAAC;IACpE,MAAM,kBAAkB,GAAG,OAAO,CAChC,GAAG,EAAE,CAAC,CAAC,OAA4B,EAAE,EAAE;QACrC,OAAO,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAG,OAAO,CAAC,CAAC;IAC5C,CAAC,EACD,CAAC,uBAAuB,CAAC,CAC1B,CAAC;IACF,MAAM,mBAAmB,GAAG,OAAO,CACjC,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,wBAAwB,aAAxB,wBAAwB,uBAAxB,wBAAwB,EAAI,CAAC;IAC/B,CAAC,EACD,CAAC,wBAAwB,CAAC,CAC3B,CAAC;IACF,OAAO,iCAAiC,iCACnC,KAAK,KACR,kBAAkB;QAClB,mBAAmB,IACnB,CAAC;AACL,CAAC,CAAC;AAYF;;;;GAIG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,KAAgD,EAAQ,EAAE;IAChH,MAAM,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,GAAG,KAAK,CAAC;IAC3F,MAAM,kBAAkB,GAAG,OAAO,CAChC,GAAG,EAAE,CAAC,CAAC,OAA4B,EAAE,EAAE;QACrC,OAAO,wBAAwB,aAAxB,wBAAwB,uBAAxB,wBAAwB,CAAG,mBAAmB,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC,EACD,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,CAChD,CAAC;IACF,MAAM,mBAAmB,GAAG,OAAO,CACjC,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,yBAAyB,aAAzB,yBAAyB,uBAAzB,yBAAyB,CAAG,mBAAmB,CAAC,CAAC;IACnD,CAAC,EACD,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,CACjD,CAAC;IAEF,OAAO,iCAAiC,iCACnC,KAAK,KACR,kBAAkB;QAClB,mBAAmB,IACnB,CAAC;AACL,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { useEffect, useMemo } from 'react';\nimport { VideoStreamOptions, CreateVideoStreamViewResult, ViewScalingMode } from '../../types';\n\n/** @private */\nexport interface VideoStreamLifecycleMaintainerExtendableProps {\n isStreamAvailable?: boolean;\n renderElementExists?: boolean;\n isMirrored?: boolean;\n scalingMode?: ViewScalingMode;\n isScreenSharingOn?: boolean;\n}\n\ninterface VideoStreamLifecycleMaintainerProps extends VideoStreamLifecycleMaintainerExtendableProps {\n onCreateStreamView: (options?: VideoStreamOptions) => Promise<void | CreateVideoStreamViewResult> | undefined;\n onDisposeStreamView: () => void | undefined;\n}\n\n/**\n * Helper hook to maintain the video stream lifecycle. This calls onCreateStreamView and onDisposeStreamView\n * appropriately based on react lifecycle events and prop changes.\n *\n * @remarks\n *\n * Notes on handling changes to scaling mode:\n *\n * Ideally we have access to the original StreamRenderView and can call view.updateScalingMode() and do not need to recreate the stream view.\n * However, to support backwards compat we cannot guarantee this. If we don't have access to the original StreamRenderView we need to dispose\n * the old view and create a new one.\n *\n * Supporting both of these scenarios became too complex and fragile. When we introduce a breaking change this should be update to ensure that\n * onCreateStreamView _must_ return a view object with updateScalingMode and update logic in this hook to call view.updateScalingMode instead\n * of recreating the stream.\n *\n * @private\n */\nconst useVideoStreamLifecycleMaintainer = (props: VideoStreamLifecycleMaintainerProps): void => {\n const {\n isMirrored,\n isScreenSharingOn,\n isStreamAvailable,\n onCreateStreamView,\n onDisposeStreamView,\n renderElementExists,\n scalingMode\n } = props;\n\n useEffect(() => {\n if (isStreamAvailable && !renderElementExists) {\n onCreateStreamView?.({ isMirrored, scalingMode });\n }\n\n // Always clean up element to make tile up to date and be able to dispose correctly\n return () => {\n if (renderElementExists) {\n // TODO: Remove `if isScreenSharingOn` when we isolate dispose behavior for screen share\n if (!isScreenSharingOn) {\n onDisposeStreamView?.();\n }\n }\n };\n }, [\n isMirrored,\n isScreenSharingOn,\n isStreamAvailable,\n onCreateStreamView,\n onDisposeStreamView,\n renderElementExists,\n scalingMode\n ]);\n\n // The execution order for above useEffect is onCreateRemoteStreamView =>(async time gap) RenderElement generated => element disposed => onDisposeRemoteStreamView\n // Element disposed could happen during async time gap, which still cause leaks for unused renderElement.\n // Need to do an entire cleanup when remoteTile gets disposed and make sure element gets correctly disposed\n useEffect(() => {\n return () => {\n // TODO: Remove `if isScreenSharingOn` when we isolate dispose behavior for screen share\n if (!isScreenSharingOn) {\n onDisposeStreamView?.();\n }\n };\n }, [isScreenSharingOn, onDisposeStreamView]);\n};\n\n/** @private */\nexport interface LocalVideoStreamLifecycleMaintainerProps extends VideoStreamLifecycleMaintainerExtendableProps {\n onCreateLocalStreamView?: (options?: VideoStreamOptions) => Promise<void | CreateVideoStreamViewResult>;\n onDisposeLocalStreamView?: () => void;\n}\n\n/**\n * Extension of {@link useVideoStreamLifecycleMaintainer} specifically for local video streams\n *\n * @private\n */\nexport const useLocalVideoStreamLifecycleMaintainer = (props: LocalVideoStreamLifecycleMaintainerProps): void => {\n const { onCreateLocalStreamView, onDisposeLocalStreamView } = props;\n const onCreateStreamView = useMemo(\n () => (options?: VideoStreamOptions) => {\n return onCreateLocalStreamView?.(options);\n },\n [onCreateLocalStreamView]\n );\n const onDisposeStreamView = useMemo(\n () => () => {\n onDisposeLocalStreamView?.();\n },\n [onDisposeLocalStreamView]\n );\n return useVideoStreamLifecycleMaintainer({\n ...props,\n onCreateStreamView,\n onDisposeStreamView\n });\n};\n\n/** @private */\nexport interface RemoteVideoStreamLifecycleMaintainerProps extends VideoStreamLifecycleMaintainerExtendableProps {\n onCreateRemoteStreamView?: (\n userId: string,\n options?: VideoStreamOptions\n ) => Promise<void | CreateVideoStreamViewResult>;\n onDisposeRemoteStreamView?: (userId: string) => Promise<void>;\n remoteParticipantId: string;\n}\n\n/**\n * Extension of {@link useVideoStreamLifecycleMaintainer} specifically for remote video streams\n *\n * @private\n */\nexport const useRemoteVideoStreamLifecycleMaintainer = (props: RemoteVideoStreamLifecycleMaintainerProps): void => {\n const { remoteParticipantId, onCreateRemoteStreamView, onDisposeRemoteStreamView } = props;\n const onCreateStreamView = useMemo(\n () => (options?: VideoStreamOptions) => {\n return onCreateRemoteStreamView?.(remoteParticipantId, options);\n },\n [onCreateRemoteStreamView, remoteParticipantId]\n );\n const onDisposeStreamView = useMemo(\n () => () => {\n onDisposeRemoteStreamView?.(remoteParticipantId);\n },\n [onDisposeRemoteStreamView, remoteParticipantId]\n );\n\n return useVideoStreamLifecycleMaintainer({\n ...props,\n onCreateStreamView,\n onDisposeStreamView\n });\n};\n"]}