@azure/communication-react 1.4.3-alpha-202301150014.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (842) hide show
  1. package/CHANGELOG.json +1047 -0
  2. package/CHANGELOG.stable.md +79 -2
  3. package/dist/communication-react.d.ts +29 -1976
  4. package/dist/dist-cjs/communication-react/index.js +6443 -10799
  5. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  6. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/identifier.js +64 -3
  13. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  17. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  18. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  19. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  20. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  21. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  22. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +1 -11
  23. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +0 -12
  24. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  25. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +0 -13
  26. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +5 -20
  27. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  28. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +49 -20
  29. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  30. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +1 -11
  31. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +31 -35
  32. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  33. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +1 -11
  34. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +1 -13
  36. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  37. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  39. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +1 -4
  40. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +0 -22
  41. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  43. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +0 -6
  44. package/dist/dist-esm/calling-component-bindings/src/index.js +0 -8
  45. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  46. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +10 -31
  47. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  48. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  49. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts +3 -4
  50. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +3 -6
  52. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  53. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts +2 -14
  54. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js +1 -20
  55. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  56. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  57. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  58. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +0 -14
  59. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +4 -25
  60. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  61. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.d.ts +0 -5
  62. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +0 -11
  63. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  64. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +9 -25
  65. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  66. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +5 -21
  67. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  68. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +5 -6
  69. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  70. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -15
  71. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  72. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +1 -2
  73. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +67 -62
  74. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  75. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +1 -27
  76. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  77. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +1 -7
  78. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +4 -56
  79. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  80. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +8 -7
  81. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  82. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +64 -56
  83. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  84. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  85. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  86. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +0 -1
  87. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +3 -9
  88. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  89. package/dist/dist-esm/calling-stateful-client/src/Converter.js +8 -13
  90. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  91. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +57 -51
  92. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  93. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +16 -14
  94. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  95. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  96. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +15 -3
  97. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  98. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.d.ts +0 -1
  100. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js +0 -8
  101. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  102. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  103. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.d.ts +0 -1
  104. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +0 -8
  105. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  106. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +1 -25
  107. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +40 -69
  108. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  109. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +13 -3
  110. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  111. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  112. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +2 -2
  113. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +0 -8
  114. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  115. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +3 -3
  116. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  117. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js +7 -6
  118. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -1
  119. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +0 -2
  120. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  121. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  122. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +4 -4
  123. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  124. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +3 -3
  125. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  126. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +14 -13
  127. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  128. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +1 -4
  129. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +10 -3
  130. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  131. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  132. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  133. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  134. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  135. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +10 -41
  136. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  137. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  138. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  139. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  140. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  141. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +7 -3
  142. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  143. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +1 -3
  144. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  145. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  146. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  147. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  148. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +9 -5
  149. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  150. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  151. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +12 -7
  152. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  153. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  154. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +67 -57
  155. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  156. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +127 -113
  157. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  158. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  159. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  160. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  161. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  162. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  163. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  164. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  165. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  166. package/dist/dist-esm/communication-react/src/index.d.ts +0 -21
  167. package/dist/dist-esm/communication-react/src/index.js +0 -14
  168. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  169. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  170. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  171. package/dist/dist-esm/react-components/src/components/CameraButton.js +6 -6
  172. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  173. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +8 -7
  174. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  175. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +17 -36
  176. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  177. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +4 -8
  178. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  179. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +30 -24
  180. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  181. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +24 -55
  182. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  183. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +11 -7
  184. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  185. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  186. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  187. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +4 -7
  188. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  189. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +2 -2
  190. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  191. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  192. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  193. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  194. package/dist/dist-esm/react-components/src/components/ControlBar.js +14 -10
  195. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  196. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +4 -14
  197. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  198. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +14 -3
  199. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  200. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js +8 -5
  201. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
  202. package/dist/dist-esm/react-components/src/components/DevicesButton.js +30 -7
  203. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  204. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +44 -42
  205. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  206. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.d.ts +0 -1
  207. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js +2 -18
  208. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  209. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +6 -2
  210. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  211. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.d.ts +0 -4
  212. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +6 -6
  213. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  214. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +23 -11
  215. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  216. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.d.ts +0 -4
  217. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +3 -3
  218. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  219. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  220. package/dist/dist-esm/react-components/src/components/EndCallButton.js +7 -3
  221. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  222. package/dist/dist-esm/react-components/src/components/ErrorBar.js +5 -2
  223. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  224. package/dist/dist-esm/react-components/src/components/FileCard.js +3 -2
  225. package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
  226. package/dist/dist-esm/react-components/src/components/FileCardGroup.js +1 -1
  227. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
  228. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +9 -12
  229. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  230. package/dist/dist-esm/react-components/src/components/FileUploadCards.js +7 -8
  231. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
  232. package/dist/dist-esm/react-components/src/components/GridLayout.js +37 -37
  233. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  234. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +2 -2
  235. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  236. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +7 -5
  237. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  238. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +12 -5
  239. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  240. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +5 -3
  241. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  242. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +9 -27
  243. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  244. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js +36 -23
  245. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  246. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +1 -23
  247. package/dist/dist-esm/react-components/src/components/MessageThread.js +97 -157
  248. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  249. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +6 -9
  250. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  251. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +101 -94
  252. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  253. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +0 -13
  254. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +21 -22
  255. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  256. package/dist/dist-esm/react-components/src/components/ParticipantList.js +9 -25
  257. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  258. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +32 -46
  259. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  260. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  261. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  262. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  263. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  264. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts +1 -2
  265. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +12 -68
  266. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  267. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +2 -2
  268. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  269. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +12 -6
  270. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  271. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +0 -35
  272. package/dist/dist-esm/react-components/src/components/SendBox.js +8 -32
  273. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  274. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +2 -2
  275. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  276. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  277. package/dist/dist-esm/react-components/src/components/StreamMedia.js +3 -3
  278. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  279. package/dist/dist-esm/react-components/src/components/SystemMessage.js +4 -2
  280. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  281. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +10 -10
  282. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  283. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +6 -9
  284. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  285. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.d.ts +1 -1
  286. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +1 -12
  287. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  288. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +1 -13
  289. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  290. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +0 -20
  291. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  292. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.d.ts +1 -1
  293. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +1 -12
  294. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  295. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +8 -25
  296. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  297. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +14 -11
  298. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  299. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +16 -33
  300. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  301. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  302. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +7 -7
  303. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  304. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +6 -8
  305. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  306. package/dist/dist-esm/react-components/src/components/VideoGallery/VideoGalleryResponsiveHorizontalGallery.js +7 -2
  307. package/dist/dist-esm/react-components/src/components/VideoGallery/VideoGalleryResponsiveHorizontalGallery.js.map +1 -1
  308. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js +6 -1
  309. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js.map +1 -1
  310. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +29 -8
  311. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  312. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js +11 -2
  313. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js.map +1 -1
  314. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +1 -1
  315. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  316. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteVideoTile.styles.js.map +1 -1
  317. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +10 -10
  318. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
  319. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +5 -10
  320. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  321. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.d.ts +0 -2
  322. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +30 -31
  323. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  324. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +14 -38
  325. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  326. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +0 -66
  327. package/dist/dist-esm/react-components/src/components/VideoGallery.js +19 -147
  328. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  329. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +1 -22
  330. package/dist/dist-esm/react-components/src/components/VideoTile.js +46 -98
  331. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  332. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js +10 -3
  333. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js.map +1 -1
  334. package/dist/dist-esm/react-components/src/components/index.d.ts +0 -13
  335. package/dist/dist-esm/react-components/src/components/index.js +0 -8
  336. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  337. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +12 -3
  338. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  339. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  340. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  341. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  342. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  343. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  344. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js.map +1 -1
  345. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +4 -1
  346. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  347. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  348. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +7 -2
  349. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  350. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +1 -0
  351. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  352. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  353. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +10 -2
  354. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  355. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +3 -0
  356. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  357. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  358. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +2 -2
  359. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  360. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  361. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +13 -2
  362. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  363. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  364. package/dist/dist-esm/react-components/src/components/styles/VoiceOverButton.style.js.map +1 -1
  365. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  366. package/dist/dist-esm/react-components/src/components/utils/common.js +0 -4
  367. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  368. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  369. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  370. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +5 -2
  371. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  372. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  373. package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
  374. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  375. package/dist/dist-esm/react-components/src/components/utils/useLongPress.d.ts +0 -1
  376. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js +2 -15
  377. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  378. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js +3 -1
  379. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js.map +1 -1
  380. package/dist/dist-esm/react-components/src/components/utils.js +8 -9
  381. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  382. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +10 -14
  383. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  384. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  385. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  386. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  387. package/dist/dist-esm/react-components/src/index.d.ts +0 -2
  388. package/dist/dist-esm/react-components/src/index.js +0 -2
  389. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  390. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +0 -54
  391. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  392. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  393. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +96 -6
  394. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +95 -5
  395. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +2 -1
  396. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +95 -5
  397. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +96 -6
  398. package/dist/dist-esm/react-components/src/localization/locales/index.js +42 -14
  399. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  400. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +95 -5
  401. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +95 -5
  402. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +95 -5
  403. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +95 -5
  404. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +96 -6
  405. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +95 -5
  406. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +96 -6
  407. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +95 -5
  408. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +95 -5
  409. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +6 -3
  410. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  411. package/dist/dist-esm/react-components/src/theming/icons.d.ts +0 -20
  412. package/dist/dist-esm/react-components/src/theming/icons.js +11 -121
  413. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  414. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  415. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  416. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  417. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +0 -7
  418. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  419. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  420. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  421. package/dist/dist-esm/react-components/src/types/OnRender.d.ts +0 -8
  422. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  423. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.d.ts +0 -3
  424. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js +0 -2
  425. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  426. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  427. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +0 -8
  428. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js +0 -2
  429. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  430. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  431. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +0 -89
  432. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +17 -95
  433. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  434. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +0 -120
  435. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  436. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +6 -77
  437. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +31 -248
  438. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  439. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +1 -107
  440. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -9
  441. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  442. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  443. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  444. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  445. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +2 -3
  446. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +2 -8
  447. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  448. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +0 -5
  449. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js +0 -2
  450. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  451. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +0 -3
  452. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +10 -76
  453. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  454. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +0 -2
  455. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +13 -135
  456. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  457. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +0 -2
  458. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +0 -21
  459. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  460. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +2 -20
  461. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  462. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +0 -2
  463. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +0 -21
  464. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  465. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +4 -5
  466. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  467. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +2 -2
  468. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  469. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +22 -32
  470. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  471. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +0 -1
  472. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +19 -66
  473. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  474. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +21 -16
  475. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  476. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts +0 -2
  477. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +17 -25
  478. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  479. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  480. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  481. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +2 -2
  482. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  483. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  484. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  485. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +1 -1
  486. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  487. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +5 -44
  488. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  489. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +2 -5
  490. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  491. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +6 -8
  492. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  493. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +2 -5
  494. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  495. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +1 -3
  496. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  497. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +9 -13
  498. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  499. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +6 -27
  500. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  501. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  502. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  503. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  504. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +0 -7
  505. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js +0 -2
  506. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  507. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +0 -1
  508. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +2 -8
  509. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  510. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +0 -8
  511. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +12 -140
  512. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  513. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.d.ts +0 -1
  514. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +7 -19
  515. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  516. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +2 -2
  517. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  518. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  519. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  520. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  521. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +0 -10
  522. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +0 -10
  523. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  524. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  525. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  526. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  527. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  528. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  529. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  530. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  531. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +2 -2
  532. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +5 -11
  533. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  534. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +1 -1
  535. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +1 -1
  536. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  537. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +4 -4
  538. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  539. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  540. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -4
  541. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  542. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  543. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  544. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  545. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +5 -5
  546. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +4 -4
  547. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  548. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  549. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  550. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  551. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +2 -2
  552. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  553. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  554. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  555. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +6 -2
  556. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  557. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +6 -2
  558. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  559. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  560. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +0 -2
  561. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  562. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +4 -1
  563. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  564. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +4 -1
  565. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  566. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  567. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  568. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  569. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  570. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +1 -0
  571. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  572. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +3 -23
  573. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  574. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +11 -9
  575. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  576. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +3 -15
  577. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +12 -106
  578. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  579. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  580. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +4 -87
  581. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +14 -78
  582. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  583. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.d.ts +0 -1
  584. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js +15 -41
  585. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js.map +1 -1
  586. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.d.ts +0 -2
  587. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js +12 -34
  588. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js.map +1 -1
  589. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js +1 -1
  590. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js.map +1 -1
  591. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js +7 -9
  592. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  593. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  594. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js +6 -3
  595. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js.map +1 -1
  596. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeopleButton.js +1 -1
  597. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeopleButton.js.map +1 -1
  598. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.d.ts +0 -1
  599. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.js.map +1 -1
  600. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +0 -32
  601. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  602. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +4 -25
  603. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +7 -139
  604. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  605. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +0 -60
  606. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  607. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +2 -10
  608. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +1 -39
  609. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  610. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +0 -9
  611. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +1 -31
  612. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  613. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  614. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js +21 -67
  615. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js.map +1 -1
  616. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  617. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.d.ts +0 -1
  618. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  619. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +1 -1
  620. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  621. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +0 -22
  622. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +2 -10
  623. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  624. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  625. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +0 -20
  626. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +2 -6
  627. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  628. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +5 -3
  629. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  630. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +9 -41
  631. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  632. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +0 -4
  633. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  634. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +0 -9
  635. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +25 -88
  636. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  637. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.d.ts +0 -28
  638. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +1 -154
  639. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  640. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -13
  641. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  642. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +0 -2
  643. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  644. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
  645. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +6 -18
  646. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  647. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js.map +1 -1
  648. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  649. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +5 -3
  650. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  651. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +1 -3
  652. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  653. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  654. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +0 -3
  655. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  656. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +6 -2
  657. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  658. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +1 -5
  659. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +6 -17
  660. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  661. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.d.ts +0 -5
  662. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +4 -10
  663. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  664. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +14 -5
  665. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  666. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +5 -1
  667. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  668. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js +1 -1
  669. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js.map +1 -1
  670. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +6 -21
  671. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  672. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  673. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  674. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +8 -6
  675. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  676. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +1 -6
  677. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +5 -24
  678. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  679. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.d.ts +1 -2
  680. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +18 -6
  681. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  682. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.d.ts +1 -2
  683. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +8 -10
  684. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  685. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  686. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +1 -33
  687. package/dist/dist-esm/react-composites/src/composites/common/icons.js +5 -19
  688. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  689. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  690. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +16 -6
  691. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  692. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +51 -12
  693. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  694. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +22 -5
  695. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  696. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +22 -4
  697. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  698. package/dist/dist-esm/react-composites/src/composites/common/utils.js +12 -17
  699. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  700. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  701. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  702. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  703. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  704. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +17 -3
  705. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +17 -3
  706. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +17 -3
  707. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +17 -3
  708. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  709. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +17 -3
  710. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +17 -3
  711. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +17 -3
  712. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +17 -3
  713. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +17 -3
  714. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +17 -3
  715. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +17 -3
  716. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +17 -3
  717. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +17 -3
  718. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  719. package/package.json +14 -15
  720. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +0 -43
  721. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +0 -81
  722. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +0 -1
  723. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +0 -19
  724. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +0 -89
  725. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +0 -1
  726. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.d.ts +0 -23
  727. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +0 -48
  728. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +0 -1
  729. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +0 -69
  730. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +0 -37
  731. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +0 -1
  732. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +0 -75
  733. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +0 -58
  734. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +0 -1
  735. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +0 -105
  736. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +0 -86
  737. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +0 -1
  738. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +0 -86
  739. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +0 -31
  740. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +0 -1
  741. package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +0 -49
  742. package/dist/dist-esm/react-components/src/components/HoldButton.js +0 -25
  743. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +0 -1
  744. package/dist/dist-esm/react-components/src/components/VideoGallery/PinnedParticipantsLayout.d.ts +0 -25
  745. package/dist/dist-esm/react-components/src/components/VideoGallery/PinnedParticipantsLayout.js +0 -65
  746. package/dist/dist-esm/react-components/src/components/VideoGallery/PinnedParticipantsLayout.js.map +0 -1
  747. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.d.ts +0 -9
  748. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +0 -18
  749. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +0 -1
  750. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.d.ts +0 -6
  751. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js +0 -9
  752. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js.map +0 -1
  753. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.d.ts +0 -10
  754. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +0 -29
  755. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +0 -1
  756. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +0 -58
  757. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +0 -144
  758. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +0 -1
  759. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +0 -38
  760. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +0 -92
  761. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +0 -1
  762. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +0 -26
  763. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +0 -67
  764. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +0 -1
  765. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +0 -7
  766. package/dist/dist-esm/react-components/src/components/utils/merge.js +0 -16
  767. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +0 -1
  768. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.d.ts +0 -61
  769. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js +0 -74
  770. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js.map +0 -1
  771. package/dist/dist-esm/react-components/src/permissions/index.d.ts +0 -2
  772. package/dist/dist-esm/react-components/src/permissions/index.js +0 -4
  773. package/dist/dist-esm/react-components/src/permissions/index.js.map +0 -1
  774. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +0 -6
  775. package/dist/dist-esm/react-components/src/theming/icons.styles.js +0 -25
  776. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +0 -1
  777. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.d.ts +0 -24
  778. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js +0 -80
  779. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js.map +0 -1
  780. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +0 -48
  781. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +0 -210
  782. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +0 -1
  783. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.d.ts +0 -12
  784. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +0 -93
  785. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +0 -1
  786. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.d.ts +0 -17
  787. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +0 -63
  788. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +0 -1
  789. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.d.ts +0 -8
  790. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +0 -26
  791. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +0 -1
  792. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.d.ts +0 -16
  793. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js +0 -38
  794. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js.map +0 -1
  795. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +0 -15
  796. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +0 -38
  797. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +0 -1
  798. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +0 -15
  799. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +0 -54
  800. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +0 -1
  801. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.d.ts +0 -32
  802. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +0 -81
  803. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +0 -1
  804. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.d.ts +0 -67
  805. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js +0 -75
  806. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js.map +0 -1
  807. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.d.ts +0 -13
  808. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js +0 -65
  809. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js.map +0 -1
  810. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +0 -18
  811. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +0 -18
  812. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +0 -1
  813. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.d.ts +0 -15
  814. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +0 -21
  815. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +0 -1
  816. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +0 -6
  817. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +0 -11
  818. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +0 -1
  819. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +0 -12
  820. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +0 -13
  821. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +0 -1
  822. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +0 -23
  823. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +0 -12
  824. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +0 -1
  825. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +0 -22
  826. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +0 -105
  827. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +0 -1
  828. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts +0 -17
  829. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +0 -32
  830. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +0 -1
  831. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +0 -22
  832. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +0 -60
  833. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +0 -1
  834. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts +0 -15
  835. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +0 -61
  836. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +0 -1
  837. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.d.ts +0 -17
  838. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +0 -42
  839. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +0 -1
  840. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.d.ts +0 -11
  841. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js +0 -40
  842. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +0 -1
@@ -43,10 +43,10 @@ export const useParticipantChangedAnnouncement = () => {
43
43
  setAnnouncerString(string);
44
44
  };
45
45
  useMemo(() => {
46
- const currentIds = currentParticipants.map((p) => toFlatCommunicationIdentifier(p.identifier));
47
- const previousIds = previousParticipants.current.map((p) => toFlatCommunicationIdentifier(p.identifier));
48
- const whoJoined = currentParticipants.filter((p) => !previousIds.includes(toFlatCommunicationIdentifier(p.identifier)));
49
- const whoLeft = previousParticipants.current.filter((p) => !currentIds.includes(toFlatCommunicationIdentifier(p.identifier)));
46
+ const currentIds = currentParticipants.map(p => toFlatCommunicationIdentifier(p.identifier));
47
+ const previousIds = previousParticipants.current.map(p => toFlatCommunicationIdentifier(p.identifier));
48
+ const whoJoined = currentParticipants.filter(p => !previousIds.includes(toFlatCommunicationIdentifier(p.identifier)));
49
+ const whoLeft = previousParticipants.current.filter(p => !currentIds.includes(toFlatCommunicationIdentifier(p.identifier)));
50
50
  if (whoJoined.length > 0) {
51
51
  resetAnnoucement(createAnnouncmentString('joined', whoJoined, strings));
52
52
  }
@@ -73,22 +73,24 @@ export const createAnnouncmentString = (direction, participants, strings) => {
73
73
  * Filter participants into two arrays to put all the unnamed participants at the back of the
74
74
  * names being announced.
75
75
  */
76
- const unnamedParticipants = participants.filter((p) => !p.displayName);
77
- const namedParicipants = participants.filter((p) => p.displayName);
76
+ const unnamedParticipants = participants.filter(p => p.displayName === undefined);
77
+ const namedParicipants = participants.filter(p => p.displayName);
78
78
  const sortedParticipants = namedParicipants.concat(unnamedParticipants);
79
79
  /**
80
80
  * if there are only unnamed participants present in the array announce a special unnamed participants
81
81
  * only string.
82
82
  */
83
- if (sortedParticipants.filter((p) => p.displayName).length === 0 && sortedParticipants.length > 1) {
83
+ if (sortedParticipants.filter(p => p.displayName).length === 0 && sortedParticipants.length > 1) {
84
84
  return _formatString(direction === 'joined' ? strings.manyUnnamedParticipantsJoined : strings.manyUnnamedParticipantsLeft, {
85
85
  numOfParticipants: (sortedParticipants.length - 1).toString()
86
86
  });
87
87
  }
88
- const participantNames = sortedParticipants.map((p) => { var _a; return (_a = p.displayName) !== null && _a !== void 0 ? _a : strings.unnamedParticipantString; });
88
+ const participantNames = sortedParticipants.map(p => { var _a; return (_a = p.displayName) !== null && _a !== void 0 ? _a : strings.unnamedParticipantString; });
89
89
  switch (sortedParticipants.length) {
90
90
  case 1:
91
- return _formatString(direction === 'joined' ? strings.participantJoinedNoticeString : strings.participantLeftNoticeString, { displayName: participantNames[0] });
91
+ return _formatString(direction === 'joined' ? strings.participantJoinedNoticeString : strings.participantLeftNoticeString, {
92
+ displayName: participantNames[0]
93
+ });
92
94
  case 2:
93
95
  return _formatString(direction === 'joined' ? strings.twoParticipantJoinedNoticeString : strings.twoParticipantLeftNoticeString, {
94
96
  displayName1: participantNames[0],
@@ -1 +1 @@
1
- {"version":3,"file":"MediaGalleryUtils.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { toFlatCommunicationIdentifier, _formatString } from '@internal/acs-ui-common';\nimport { RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { useMemo, useRef, useState } from 'react';\nimport { useLocale } from '../../localization';\nimport { useSelector } from '../hooks/useSelector';\nimport { getRemoteParticipantsConnectedSelector } from '../selectors/mediaGallerySelector';\n\ntype ParticipantChangedAnnouncmentStrings = {\n participantJoinedNoticeString: string;\n twoParticipantJoinedNoticeString: string;\n threeParticipantJoinedNoticeString: string;\n participantLeftNoticeString: string;\n twoParticipantLeftNoticeString: string;\n threeParticipantLeftNoticeString: string;\n unnamedParticipantString: string;\n manyParticipantsJoined: string;\n manyParticipantsLeft: string;\n manyUnnamedParticipantsJoined: string;\n manyUnnamedParticipantsLeft: string;\n};\n\n/**\n * sets the announcement string whenever a Participant comes or goes from a call to be\n * used by the system narrator.\n *\n * @returns string to be used by the narrator and Announcer component\n *\n * @internal\n */\nexport const useParticipantChangedAnnouncement = (): string => {\n const locale = useLocale().strings.call;\n const strings = useMemo(() => {\n return {\n participantJoinedNoticeString: locale.participantJoinedNoticeString,\n twoParticipantJoinedNoticeString: locale.twoParticipantJoinedNoticeString,\n threeParticipantJoinedNoticeString: locale.threeParticipantJoinedNoticeString,\n participantLeftNoticeString: locale.participantLeftNoticeString,\n twoParticipantLeftNoticeString: locale.twoParticipantLeftNoticeString,\n threeParticipantLeftNoticeString: locale.threeParticipantLeftNoticeString,\n unnamedParticipantString: locale.unnamedParticipantString,\n manyParticipantsJoined: locale.manyParticipantsJoined,\n manyParticipantsLeft: locale.manyParticipantsLeft,\n manyUnnamedParticipantsJoined: locale.manyUnnamedParticipantsJoined,\n manyUnnamedParticipantsLeft: locale.manyUnnamedParticipantsLeft\n };\n }, [locale]);\n const [announcerString, setAnnouncerString] = useState<string>('');\n const currentParticipants = useSelector(getRemoteParticipantsConnectedSelector);\n /**\n * We want to use a useRef here since we want to not fire this hook based on the previous participants\n * this allows this value to be used in the hook without being in the dependency array.\n *\n * Note: By definition if this hook is used in another component it is not pure anymore.\n */\n const previousParticipants = useRef<RemoteParticipantState[]>(currentParticipants);\n\n const resetAnnoucement = (string: string): void => {\n setAnnouncerString(string);\n };\n\n useMemo(() => {\n const currentIds = currentParticipants.map((p) => toFlatCommunicationIdentifier(p.identifier));\n const previousIds = previousParticipants.current.map((p) => toFlatCommunicationIdentifier(p.identifier));\n const whoJoined = currentParticipants.filter(\n (p) => !previousIds.includes(toFlatCommunicationIdentifier(p.identifier))\n );\n const whoLeft = previousParticipants.current.filter(\n (p) => !currentIds.includes(toFlatCommunicationIdentifier(p.identifier))\n );\n if (whoJoined.length > 0) {\n resetAnnoucement(createAnnouncmentString('joined', whoJoined, strings));\n }\n if (whoLeft.length > 0) {\n resetAnnoucement(createAnnouncmentString('left', whoLeft, strings));\n }\n // Update cached value at the end.\n previousParticipants.current = currentParticipants;\n }, [currentParticipants, strings]);\n return announcerString;\n};\n\n/**\n * Generates the announcement string for when a participant joins or leaves a call.\n */\nexport const createAnnouncmentString = (\n direction: 'joined' | 'left',\n participants: RemoteParticipantState[],\n strings: ParticipantChangedAnnouncmentStrings\n): string => {\n /**\n * If there are no participants return empty string.\n */\n if (participants.length === 0) {\n return '';\n }\n /**\n * Filter participants into two arrays to put all the unnamed participants at the back of the\n * names being announced.\n */\n const unnamedParticipants = participants.filter((p) => !p.displayName);\n const namedParicipants = participants.filter((p) => p.displayName);\n const sortedParticipants = namedParicipants.concat(unnamedParticipants);\n\n /**\n * if there are only unnamed participants present in the array announce a special unnamed participants\n * only string.\n */\n if (sortedParticipants.filter((p) => p.displayName).length === 0 && sortedParticipants.length > 1) {\n return _formatString(\n direction === 'joined' ? strings.manyUnnamedParticipantsJoined : strings.manyUnnamedParticipantsLeft,\n {\n numOfParticipants: (sortedParticipants.length - 1).toString()\n }\n );\n }\n const participantNames = sortedParticipants.map((p) => p.displayName ?? strings.unnamedParticipantString);\n\n switch (sortedParticipants.length) {\n case 1:\n return _formatString(\n direction === 'joined' ? strings.participantJoinedNoticeString : strings.participantLeftNoticeString,\n { displayName: participantNames[0] }\n );\n case 2:\n return _formatString(\n direction === 'joined' ? strings.twoParticipantJoinedNoticeString : strings.twoParticipantLeftNoticeString,\n {\n displayName1: participantNames[0],\n displayName2: participantNames[1]\n }\n );\n case 3:\n return _formatString(\n direction === 'joined' ? strings.threeParticipantJoinedNoticeString : strings.threeParticipantLeftNoticeString,\n {\n displayName1: participantNames[0],\n displayName2: participantNames[1],\n displayName3: participantNames[2]\n }\n );\n }\n\n /**\n * If we have more than 3 participants joining we need to do something more to announce them\n * appropriately.\n *\n * We don't want to announce every name when more than 3 participants join at once so\n * we parse out the first 3 names we have and announce those with the number of others.\n */\n\n const numberOfExtraParticipants = sortedParticipants.length - 3;\n\n return _formatString(direction === 'joined' ? strings.manyParticipantsJoined : strings.manyParticipantsLeft, {\n displayName1: sortedParticipants[0].displayName ?? strings.unnamedParticipantString,\n displayName2: sortedParticipants[1].displayName ?? strings.unnamedParticipantString,\n displayName3: sortedParticipants[2].displayName ?? strings.unnamedParticipantString,\n numOfParticipants: numberOfExtraParticipants.toString()\n });\n};\n\"../../../../../acs-ui-common/src\"\"../../../../../calling-stateful-client/src\""]}
1
+ {"version":3,"file":"MediaGalleryUtils.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { toFlatCommunicationIdentifier, _formatString } from '@internal/acs-ui-common';\nimport { RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { useMemo, useRef, useState } from 'react';\nimport { useLocale } from '../../localization';\nimport { useSelector } from '../hooks/useSelector';\nimport { getRemoteParticipantsConnectedSelector } from '../selectors/mediaGallerySelector';\ntype ParticipantChangedAnnouncmentStrings = {\n participantJoinedNoticeString: string;\n twoParticipantJoinedNoticeString: string;\n threeParticipantJoinedNoticeString: string;\n participantLeftNoticeString: string;\n twoParticipantLeftNoticeString: string;\n threeParticipantLeftNoticeString: string;\n unnamedParticipantString: string;\n manyParticipantsJoined: string;\n manyParticipantsLeft: string;\n manyUnnamedParticipantsJoined: string;\n manyUnnamedParticipantsLeft: string;\n};\n\n/**\n * sets the announcement string whenever a Participant comes or goes from a call to be\n * used by the system narrator.\n *\n * @returns string to be used by the narrator and Announcer component\n *\n * @internal\n */\nexport const useParticipantChangedAnnouncement = (): string => {\n const locale = useLocale().strings.call;\n const strings = useMemo(() => {\n return {\n participantJoinedNoticeString: locale.participantJoinedNoticeString,\n twoParticipantJoinedNoticeString: locale.twoParticipantJoinedNoticeString,\n threeParticipantJoinedNoticeString: locale.threeParticipantJoinedNoticeString,\n participantLeftNoticeString: locale.participantLeftNoticeString,\n twoParticipantLeftNoticeString: locale.twoParticipantLeftNoticeString,\n threeParticipantLeftNoticeString: locale.threeParticipantLeftNoticeString,\n unnamedParticipantString: locale.unnamedParticipantString,\n manyParticipantsJoined: locale.manyParticipantsJoined,\n manyParticipantsLeft: locale.manyParticipantsLeft,\n manyUnnamedParticipantsJoined: locale.manyUnnamedParticipantsJoined,\n manyUnnamedParticipantsLeft: locale.manyUnnamedParticipantsLeft\n };\n }, [locale]);\n const [announcerString, setAnnouncerString] = useState<string>('');\n const currentParticipants = useSelector(getRemoteParticipantsConnectedSelector);\n /**\n * We want to use a useRef here since we want to not fire this hook based on the previous participants\n * this allows this value to be used in the hook without being in the dependency array.\n *\n * Note: By definition if this hook is used in another component it is not pure anymore.\n */\n const previousParticipants = useRef<RemoteParticipantState[]>(currentParticipants);\n const resetAnnoucement = (string: string): void => {\n setAnnouncerString(string);\n };\n useMemo(() => {\n const currentIds = currentParticipants.map(p => toFlatCommunicationIdentifier(p.identifier));\n const previousIds = previousParticipants.current.map(p => toFlatCommunicationIdentifier(p.identifier));\n const whoJoined = currentParticipants.filter(p => !previousIds.includes(toFlatCommunicationIdentifier(p.identifier)));\n const whoLeft = previousParticipants.current.filter(p => !currentIds.includes(toFlatCommunicationIdentifier(p.identifier)));\n if (whoJoined.length > 0) {\n resetAnnoucement(createAnnouncmentString('joined', whoJoined, strings));\n }\n if (whoLeft.length > 0) {\n resetAnnoucement(createAnnouncmentString('left', whoLeft, strings));\n }\n // Update cached value at the end.\n previousParticipants.current = currentParticipants;\n }, [currentParticipants, strings]);\n return announcerString;\n};\n\n/**\n * Generates the announcement string for when a participant joins or leaves a call.\n */\nexport const createAnnouncmentString = (direction: 'joined' | 'left', participants: RemoteParticipantState[], strings: ParticipantChangedAnnouncmentStrings): string => {\n /**\n * If there are no participants return empty string.\n */\n if (participants.length === 0) {\n return '';\n }\n /**\n * Filter participants into two arrays to put all the unnamed participants at the back of the\n * names being announced.\n */\n const unnamedParticipants = participants.filter(p => p.displayName === undefined);\n const namedParicipants = participants.filter(p => p.displayName);\n const sortedParticipants = namedParicipants.concat(unnamedParticipants);\n\n /**\n * if there are only unnamed participants present in the array announce a special unnamed participants\n * only string.\n */\n if (sortedParticipants.filter(p => p.displayName).length === 0 && sortedParticipants.length > 1) {\n return _formatString(direction === 'joined' ? strings.manyUnnamedParticipantsJoined : strings.manyUnnamedParticipantsLeft, {\n numOfParticipants: (sortedParticipants.length - 1).toString()\n });\n }\n const participantNames = sortedParticipants.map(p => p.displayName ?? strings.unnamedParticipantString);\n switch (sortedParticipants.length) {\n case 1:\n return _formatString(direction === 'joined' ? strings.participantJoinedNoticeString : strings.participantLeftNoticeString, {\n displayName: participantNames[0]\n });\n case 2:\n return _formatString(direction === 'joined' ? strings.twoParticipantJoinedNoticeString : strings.twoParticipantLeftNoticeString, {\n displayName1: participantNames[0],\n displayName2: participantNames[1]\n });\n case 3:\n return _formatString(direction === 'joined' ? strings.threeParticipantJoinedNoticeString : strings.threeParticipantLeftNoticeString, {\n displayName1: participantNames[0],\n displayName2: participantNames[1],\n displayName3: participantNames[2]\n });\n }\n\n /**\n * If we have more than 3 participants joining we need to do something more to announce them\n * appropriately.\n *\n * We don't want to announce every name when more than 3 participants join at once so\n * we parse out the first 3 names we have and announce those with the number of others.\n */\n\n const numberOfExtraParticipants = sortedParticipants.length - 3;\n return _formatString(direction === 'joined' ? strings.manyParticipantsJoined : strings.manyParticipantsLeft, {\n displayName1: sortedParticipants[0].displayName ?? strings.unnamedParticipantString,\n displayName2: sortedParticipants[1].displayName ?? strings.unnamedParticipantString,\n displayName3: sortedParticipants[2].displayName ?? strings.unnamedParticipantString,\n numOfParticipants: numberOfExtraParticipants.toString()\n });\n};\"../../../../../acs-ui-common/src\"\"../../../../../calling-stateful-client/src\""]}
@@ -2,7 +2,6 @@ import { CallAdapterState, CallCompositePage } from '../adapter/CallAdapter';
2
2
  import { CallControlOptions } from '../types/CallControlOptions';
3
3
  import { CallState } from "../../../../../calling-stateful-client/src";
4
4
  import { CommunicationIdentifier } from '@azure/communication-common';
5
- import { EnvironmentInfo } from '@azure/communication-calling';
6
5
  /**
7
6
  * @private
8
7
  */
@@ -17,10 +16,7 @@ export declare const reduceCallControlsForMobile: (callControlOptions: CallContr
17
16
  /**
18
17
  * type definition for conditional-compilation
19
18
  */
20
- declare type GetCallCompositePageFunction = ((call: CallState | undefined, previousCall: CallState | undefined) => CallCompositePage) & ((call: CallState | undefined, previousCall: CallState | undefined, unsupportedBrowserInfo?: {
21
- environmentInfo?: EnvironmentInfo;
22
- unsupportedBrowserVersionOptedIn?: boolean;
23
- }) => CallCompositePage);
19
+ declare type GetCallCompositePageFunction = ((call: CallState | undefined, previousCall: CallState | undefined) => CallCompositePage);
24
20
  /**
25
21
  * Get the current call composite page based on the current call composite state
26
22
  *
@@ -36,7 +32,7 @@ declare type GetCallCompositePageFunction = ((call: CallState | undefined, previ
36
32
  */
37
33
  export declare const getCallCompositePage: GetCallCompositePageFunction;
38
34
  /** @private */
39
- export declare const IsCallEndedPage: (page: 'accessDeniedTeamsMeeting' | 'call' | 'configuration' | 'joinCallFailedDueToNoNetwork' | 'leftCall' | 'lobby' | 'removedFromCall' | /* @conditional-compile-remove(PSTN-calls) */ 'hold' | /* @conditional-compile-remove(rooms) */ 'roomNotFound' | /* @conditional-compile-remove(rooms) */ 'deniedPermissionToRoom' | /* @conditional-compile-remove(unsupported-browser) */ 'unsupportedEnvironment') => boolean;
35
+ export declare const IsCallEndedPage: (page: 'accessDeniedTeamsMeeting' | 'call' | 'configuration' | 'joinCallFailedDueToNoNetwork' | 'leftCall' | 'lobby' | 'removedFromCall') => boolean;
40
36
  /**
41
37
  * Creates a new call control options object and sets the correct values for disabling
42
38
  * the buttons provided in the `disabledControls` array.
@@ -58,14 +54,6 @@ export declare const disableCallControls: (callControlOptions: CallControlOption
58
54
  export declare const isDisabled: (option: boolean | {
59
55
  disabled: boolean;
60
56
  } | undefined) => boolean;
61
- /**
62
- *
63
- * This function uses permission API to determine if device permission state is granted, prompt or denied
64
- * @returns whether device permission state is granted, prompt or denied
65
- * If permission API is not supported on this browser, permission state is set to unsupported.
66
- * @private
67
- */
68
- export declare const getDevicePermissionState: (setVideoState: (state: PermissionState | 'unsupported') => void, setAudioState: (state: PermissionState | 'unsupported') => void) => Promise<void>;
69
57
  /**
70
58
  * Check if an object is identifier.
71
59
  *
@@ -78,6 +66,6 @@ export declare const isValidIdentifier: (identifier: CommunicationIdentifier) =>
78
66
  * Check if we are using safari browser
79
67
  * @private
80
68
  */
81
- export declare const _isSafari: (environmentInfo: undefined | /* @conditional-compile-remove(unsupported-browser) */ EnvironmentInfo) => boolean;
69
+ export declare const _isSafari: (environmentInfo: undefined) => boolean;
82
70
  export {};
83
71
  //# sourceMappingURL=Utils.d.ts.map
@@ -1,30 +1,17 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
- return new (P || (P = Promise))(function (resolve, reject) {
6
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
- step((generator = generator.apply(thisArg, _arguments || [])).next());
10
- });
11
- };
12
3
  import { END_CALL_PAGES } from '../adapter/CallAdapter';
13
4
  import { _isInCall, _isPreviewOn, _isInLobbyOrConnecting } from "../../../../../calling-component-bindings/src";
14
5
  import { isCommunicationUserIdentifier, isMicrosoftTeamsUserIdentifier, isPhoneNumberIdentifier, isUnknownIdentifier } from '@azure/communication-common';
15
6
  const ACCESS_DENIED_TEAMS_MEETING_SUB_CODE = 5854;
16
7
  const REMOTE_PSTN_USER_HUNG_UP = 560000;
17
8
  const REMOVED_FROM_CALL_SUB_CODES = [5000, 5300, REMOTE_PSTN_USER_HUNG_UP];
18
- /* @conditional-compile-remove(rooms) */
19
- const ROOM_NOT_FOUND_SUB_CODE = 5751;
20
- /* @conditional-compile-remove(rooms) */
21
- const DENIED_PERMISSION_TO_ROOM_SUB_CODE = 5828;
22
9
  /**
23
10
  * @private
24
11
  */
25
12
  export const isCameraOn = (state) => {
26
13
  if (state.call) {
27
- const stream = state.call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video');
14
+ const stream = state.call.localVideoStreams.find(stream => stream.mediaStreamType === 'Video');
28
15
  return !!stream;
29
16
  }
30
17
  else {
@@ -65,7 +52,7 @@ var CallEndReasons;
65
52
  CallEndReasons[CallEndReasons["DENIED_PERMISSION_TO_ROOM"] = 4] = "DENIED_PERMISSION_TO_ROOM";
66
53
  })(CallEndReasons || (CallEndReasons = {}));
67
54
  const getCallEndReason = (call) => {
68
- var _a, _b, _c, _d, _e;
55
+ var _a, _b, _c;
69
56
  const remoteParticipantsEndedArray = Array.from(Object.values(call.remoteParticipantsEnded));
70
57
  /**
71
58
  * Handle the special case in a PSTN call where removing the last user kicks the caller out of the call.
@@ -74,9 +61,7 @@ const getCallEndReason = (call) => {
74
61
  * If yes, the caller was kicked out of the call, but we need to show them that they left the call.
75
62
  * Note: This check will only work for 1:1 PSTN Calls. The subcode is different for 1:N PSTN calls, and we do not need to handle that case.
76
63
  */
77
- if (remoteParticipantsEndedArray.length === 1 &&
78
- isPhoneNumberIdentifier(remoteParticipantsEndedArray[0].identifier) &&
79
- ((_a = call.callEndReason) === null || _a === void 0 ? void 0 : _a.subCode) !== REMOTE_PSTN_USER_HUNG_UP) {
64
+ if (remoteParticipantsEndedArray.length === 1 && isPhoneNumberIdentifier(remoteParticipantsEndedArray[0].identifier) && ((_a = call.callEndReason) === null || _a === void 0 ? void 0 : _a.subCode) !== REMOTE_PSTN_USER_HUNG_UP) {
80
65
  return CallEndReasons.LEFT_CALL;
81
66
  }
82
67
  if (((_b = call.callEndReason) === null || _b === void 0 ? void 0 : _b.subCode) && call.callEndReason.subCode === ACCESS_DENIED_TEAMS_MEETING_SUB_CODE) {
@@ -85,14 +70,6 @@ const getCallEndReason = (call) => {
85
70
  if (((_c = call.callEndReason) === null || _c === void 0 ? void 0 : _c.subCode) && REMOVED_FROM_CALL_SUB_CODES.includes(call.callEndReason.subCode)) {
86
71
  return CallEndReasons.REMOVED_FROM_CALL;
87
72
  }
88
- /* @conditional-compile-remove(rooms) */
89
- if (((_d = call.callEndReason) === null || _d === void 0 ? void 0 : _d.subCode) && call.callEndReason.subCode === ROOM_NOT_FOUND_SUB_CODE) {
90
- return CallEndReasons.ROOM_NOT_FOUND;
91
- }
92
- /* @conditional-compile-remove(rooms) */
93
- if (((_e = call.callEndReason) === null || _e === void 0 ? void 0 : _e.subCode) && call.callEndReason.subCode === DENIED_PERMISSION_TO_ROOM_SUB_CODE) {
94
- return CallEndReasons.DENIED_PERMISSION_TO_ROOM;
95
- }
96
73
  if (call.callEndReason) {
97
74
  // No error codes match, assume the user simply left the call regularly
98
75
  return CallEndReasons.LEFT_CALL;
@@ -113,10 +90,6 @@ const getCallEndReason = (call) => {
113
90
  * @private
114
91
  */
115
92
  export const getCallCompositePage = (call, previousCall, unsupportedBrowserInfo) => {
116
- /* @conditional-compile-remove(unsupported-browser) */
117
- if (isUnsupportedEnvironment(unsupportedBrowserInfo.environmentInfo, unsupportedBrowserInfo.unsupportedBrowserVersionOptedIn)) {
118
- return 'unsupportedEnvironment';
119
- }
120
93
  if (call) {
121
94
  // Must check for ongoing call *before* looking at any previous calls.
122
95
  // If the composite completes one call and joins another, the previous calls
@@ -127,8 +100,6 @@ export const getCallCompositePage = (call, previousCall, unsupportedBrowserInfo)
127
100
  // `LocalHold` needs to be checked before `isInCall` since it is also a state that's considered in call.
128
101
  }
129
102
  else if ((call === null || call === void 0 ? void 0 : call.state) === 'LocalHold') {
130
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
131
- return 'hold';
132
103
  return 'call';
133
104
  }
134
105
  else if (_isInCall(call === null || call === void 0 ? void 0 : call.state)) {
@@ -145,13 +116,6 @@ export const getCallCompositePage = (call, previousCall, unsupportedBrowserInfo)
145
116
  }
146
117
  if (previousCall) {
147
118
  const reason = getCallEndReason(previousCall);
148
- /* @conditional-compile-remove(rooms) */
149
- switch (reason) {
150
- case CallEndReasons.ROOM_NOT_FOUND:
151
- return 'roomNotFound';
152
- case CallEndReasons.DENIED_PERMISSION_TO_ROOM:
153
- return 'deniedPermissionToRoom';
154
- }
155
119
  switch (reason) {
156
120
  case CallEndReasons.ACCESS_DENIED:
157
121
  return 'accessDeniedTeamsMeeting';
@@ -168,16 +132,7 @@ export const getCallCompositePage = (call, previousCall, unsupportedBrowserInfo)
168
132
  return 'configuration';
169
133
  };
170
134
  /** @private */
171
- export const IsCallEndedPage = (
172
- /**
173
- * Explicitly listing the pages of this function intentionally.
174
- * This protects against adding a new composite page that should be marked as an callEndedPage.
175
- * EndCallPages are used to trigger onCallEnded events so this could easily be missed.
176
- * When you add a new composite page this will throw a compiler error. If this new page is an
177
- * EndCallPage ensure you update the END_CALL_PAGES. Afterwards update the `page` parameter
178
- * type below to allow your new page, i.e. add `| <your new page>
179
- */
180
- page) => END_CALL_PAGES.includes(page);
135
+ export const IsCallEndedPage = (page) => END_CALL_PAGES.includes(page);
181
136
  /**
182
137
  * Creates a new call control options object and sets the correct values for disabling
183
138
  * the buttons provided in the `disabledControls` array.
@@ -196,14 +151,18 @@ export const disableCallControls = (callControlOptions, disabledControls) => {
196
151
  let newOptions = (_a = (callControlOptions instanceof Object ? Object.assign({}, callControlOptions) : callControlOptions)) !== null && _a !== void 0 ? _a : {};
197
152
  if (newOptions === true || newOptions === undefined) {
198
153
  newOptions = disabledControls.reduce((acc, key) => {
199
- acc[key] = { disabled: true };
154
+ acc[key] = {
155
+ disabled: true
156
+ };
200
157
  return acc;
201
158
  }, {});
202
159
  }
203
160
  else {
204
- disabledControls.forEach((key) => {
161
+ disabledControls.forEach(key => {
205
162
  if (newOptions[key] !== false) {
206
- newOptions[key] = { disabled: true };
163
+ newOptions[key] = {
164
+ disabled: true
165
+ };
207
166
  }
208
167
  });
209
168
  }
@@ -223,54 +182,6 @@ export const isDisabled = (option) => {
223
182
  }
224
183
  return option.disabled;
225
184
  };
226
- /* @conditional-compile-remove(call-readiness) */
227
- /**
228
- * @returns Permissions state for the camera.
229
- */
230
- const queryCameraPermissionFromPermissionsAPI = () => __awaiter(void 0, void 0, void 0, function* () {
231
- try {
232
- return (yield navigator.permissions.query({ name: 'camera' })).state;
233
- }
234
- catch (e) {
235
- console.info('permissions API is not supported by browser', e);
236
- return 'unsupported';
237
- }
238
- });
239
- /* @conditional-compile-remove(call-readiness) */
240
- /**
241
- * @returns Permissions state for the microphone.
242
- */
243
- const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter(void 0, void 0, void 0, function* () {
244
- try {
245
- return (yield navigator.permissions.query({ name: 'microphone' })).state;
246
- }
247
- catch (e) {
248
- console.info('permissions API is not supported by browser', e);
249
- return 'unsupported';
250
- }
251
- });
252
- /* @conditional-compile-remove(call-readiness) */
253
- /**
254
- *
255
- * This function uses permission API to determine if device permission state is granted, prompt or denied
256
- * @returns whether device permission state is granted, prompt or denied
257
- * If permission API is not supported on this browser, permission state is set to unsupported.
258
- * @private
259
- */
260
- export const getDevicePermissionState = (setVideoState, setAudioState) => __awaiter(void 0, void 0, void 0, function* () {
261
- const [cameraResult, microphoneResult] = yield Promise.all([
262
- queryCameraPermissionFromPermissionsAPI(),
263
- queryMicrophonePermissionFromPermissionsAPI()
264
- ]);
265
- setVideoState(cameraResult);
266
- setAudioState(microphoneResult);
267
- });
268
- /* @conditional-compile-remove(unsupported-browser) */
269
- const isUnsupportedEnvironment = (environmentInfo, unsupportedBrowserVersionOptedIn) => {
270
- return !!((environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.isSupportedBrowser) === false ||
271
- ((environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.isSupportedBrowserVersion) === false && !unsupportedBrowserVersionOptedIn) ||
272
- (environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.isSupportedPlatform) === false);
273
- };
274
185
  /**
275
186
  * Check if an object is identifier.
276
187
  *
@@ -279,18 +190,13 @@ const isUnsupportedEnvironment = (environmentInfo, unsupportedBrowserVersionOpte
279
190
  * @private
280
191
  */
281
192
  export const isValidIdentifier = (identifier) => {
282
- return (isCommunicationUserIdentifier(identifier) ||
283
- isPhoneNumberIdentifier(identifier) ||
284
- isMicrosoftTeamsUserIdentifier(identifier) ||
285
- isUnknownIdentifier(identifier));
193
+ return isCommunicationUserIdentifier(identifier) || isPhoneNumberIdentifier(identifier) || isMicrosoftTeamsUserIdentifier(identifier) || isUnknownIdentifier(identifier);
286
194
  };
287
195
  /**
288
196
  * Check if we are using safari browser
289
197
  * @private
290
198
  */
291
199
  export const _isSafari = (environmentInfo) => {
292
- /* @conditional-compile-remove(unsupported-browser) */
293
- return (environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.environment.browser) === 'safari';
294
200
  return /^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent);
295
201
  };
296
202
  //# sourceMappingURL=Utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/utils/Utils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { CallAdapterState, CallCompositePage, END_CALL_PAGES } from '../adapter/CallAdapter';\nimport { _isInCall, _isPreviewOn, _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport { CallControlOptions } from '../types/CallControlOptions';\nimport { CallState } from '@internal/calling-stateful-client';\nimport {\n CommunicationIdentifier,\n isCommunicationUserIdentifier,\n isMicrosoftTeamsUserIdentifier,\n isPhoneNumberIdentifier,\n isUnknownIdentifier\n} from '@azure/communication-common';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { EnvironmentInfo } from '@azure/communication-calling';\n\nconst ACCESS_DENIED_TEAMS_MEETING_SUB_CODE = 5854;\nconst REMOTE_PSTN_USER_HUNG_UP = 560000;\nconst REMOVED_FROM_CALL_SUB_CODES = [5000, 5300, REMOTE_PSTN_USER_HUNG_UP];\n/* @conditional-compile-remove(rooms) */\nconst ROOM_NOT_FOUND_SUB_CODE = 5751;\n/* @conditional-compile-remove(rooms) */\nconst DENIED_PERMISSION_TO_ROOM_SUB_CODE = 5828;\n\n/**\n * @private\n */\nexport const isCameraOn = (state: CallAdapterState): boolean => {\n if (state.call) {\n const stream = state.call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video');\n return !!stream;\n } else {\n if (state.devices.selectedCamera) {\n const previewOn = _isPreviewOn(state.devices);\n return previewOn;\n }\n }\n return false;\n};\n\n/**\n * Reduce the set of call controls visible on mobile.\n * For example do not show screenshare button.\n *\n * @private\n */\nexport const reduceCallControlsForMobile = (\n callControlOptions: CallControlOptions | boolean | undefined\n): CallControlOptions | false => {\n if (callControlOptions === false) {\n return false;\n }\n\n // Ensure call controls a valid object.\n const reduceCallControlOptions = callControlOptions === true ? {} : callControlOptions || {};\n\n // Set to compressed mode when composite is optimized for mobile\n reduceCallControlOptions.displayType = 'compact';\n\n // Do not show screen share button when composite is optimized for mobile unless the developer\n // has explicitly opted in.\n if (reduceCallControlOptions.screenShareButton !== true) {\n reduceCallControlOptions.screenShareButton = false;\n }\n\n return reduceCallControlOptions;\n};\n\nenum CallEndReasons {\n LEFT_CALL,\n ACCESS_DENIED,\n REMOVED_FROM_CALL,\n ROOM_NOT_FOUND,\n DENIED_PERMISSION_TO_ROOM\n}\n\nconst getCallEndReason = (call: CallState): CallEndReasons => {\n const remoteParticipantsEndedArray = Array.from(Object.values(call.remoteParticipantsEnded));\n /**\n * Handle the special case in a PSTN call where removing the last user kicks the caller out of the call.\n * The code and subcode is the same as when a user is removed from a teams interop call.\n * Hence, we look at the last remote participant removed to determine if the last participant removed was a phone number.\n * If yes, the caller was kicked out of the call, but we need to show them that they left the call.\n * Note: This check will only work for 1:1 PSTN Calls. The subcode is different for 1:N PSTN calls, and we do not need to handle that case.\n */\n if (\n remoteParticipantsEndedArray.length === 1 &&\n isPhoneNumberIdentifier(remoteParticipantsEndedArray[0].identifier) &&\n call.callEndReason?.subCode !== REMOTE_PSTN_USER_HUNG_UP\n ) {\n return CallEndReasons.LEFT_CALL;\n }\n\n if (call.callEndReason?.subCode && call.callEndReason.subCode === ACCESS_DENIED_TEAMS_MEETING_SUB_CODE) {\n return CallEndReasons.ACCESS_DENIED;\n }\n\n if (call.callEndReason?.subCode && REMOVED_FROM_CALL_SUB_CODES.includes(call.callEndReason.subCode)) {\n return CallEndReasons.REMOVED_FROM_CALL;\n }\n\n /* @conditional-compile-remove(rooms) */\n if (call.callEndReason?.subCode && call.callEndReason.subCode === ROOM_NOT_FOUND_SUB_CODE) {\n return CallEndReasons.ROOM_NOT_FOUND;\n }\n\n /* @conditional-compile-remove(rooms) */\n if (call.callEndReason?.subCode && call.callEndReason.subCode === DENIED_PERMISSION_TO_ROOM_SUB_CODE) {\n return CallEndReasons.DENIED_PERMISSION_TO_ROOM;\n }\n\n if (call.callEndReason) {\n // No error codes match, assume the user simply left the call regularly\n return CallEndReasons.LEFT_CALL;\n }\n\n throw new Error('No matching call end reason');\n};\n\n/**\n * type definition for conditional-compilation\n */\ntype GetCallCompositePageFunction = ((\n call: CallState | undefined,\n previousCall: CallState | undefined\n) => CallCompositePage) &\n /* @conditional-compile-remove(unsupported-browser) */ ((\n call: CallState | undefined,\n previousCall: CallState | undefined,\n unsupportedBrowserInfo?: {\n environmentInfo?: EnvironmentInfo;\n unsupportedBrowserVersionOptedIn?: boolean;\n }\n ) => CallCompositePage);\n/**\n * Get the current call composite page based on the current call composite state\n *\n * @param Call - The current call state\n * @param previousCall - The state of the most recent previous call that has ended.\n *\n * @remarks - The previousCall state is needed to determine if the call has ended.\n * When the call ends a new call object is created, and so we must lookback at the\n * previous call state to understand how the call has ended. If there is no previous\n * call we know that this is a fresh call and can display the configuration page.\n *\n * @private\n */\nexport const getCallCompositePage: GetCallCompositePageFunction = (\n call,\n previousCall?,\n unsupportedBrowserInfo?\n): CallCompositePage => {\n /* @conditional-compile-remove(unsupported-browser) */\n if (\n isUnsupportedEnvironment(\n unsupportedBrowserInfo.environmentInfo,\n unsupportedBrowserInfo.unsupportedBrowserVersionOptedIn\n )\n ) {\n return 'unsupportedEnvironment';\n }\n\n if (call) {\n // Must check for ongoing call *before* looking at any previous calls.\n // If the composite completes one call and joins another, the previous calls\n // will be populated, but not relevant for determining the page.\n\n // `_isInLobbyOrConnecting` needs to be checked first because `_isInCall` also returns true when call is in lobby.\n if (_isInLobbyOrConnecting(call?.state)) {\n return 'lobby';\n // `LocalHold` needs to be checked before `isInCall` since it is also a state that's considered in call.\n } else if (call?.state === 'LocalHold') {\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n return 'hold';\n return 'call';\n } else if (_isInCall(call?.state)) {\n return 'call';\n } else {\n // When the call object has been constructed after clicking , but before 'connecting' has been\n // set on the call object, we continue to show the configuration screen.\n // The call object does not correctly reflect local device state until `call.state` moves to `connecting`.\n // Moving to the 'lobby' page too soon leads to components that depend on the `call` object to show incorrect\n // transitional state.\n return 'configuration';\n }\n }\n\n if (previousCall) {\n const reason = getCallEndReason(previousCall);\n /* @conditional-compile-remove(rooms) */\n switch (reason) {\n case CallEndReasons.ROOM_NOT_FOUND:\n return 'roomNotFound';\n case CallEndReasons.DENIED_PERMISSION_TO_ROOM:\n return 'deniedPermissionToRoom';\n }\n switch (reason) {\n case CallEndReasons.ACCESS_DENIED:\n return 'accessDeniedTeamsMeeting';\n case CallEndReasons.REMOVED_FROM_CALL:\n return 'removedFromCall';\n case CallEndReasons.LEFT_CALL:\n if (previousCall.diagnostics.network.latest.noNetwork) {\n return 'joinCallFailedDueToNoNetwork';\n }\n return 'leftCall';\n }\n }\n\n // No call state - show starting page (configuration)\n return 'configuration';\n};\n\n/** @private */\nexport const IsCallEndedPage = (\n /**\n * Explicitly listing the pages of this function intentionally.\n * This protects against adding a new composite page that should be marked as an callEndedPage.\n * EndCallPages are used to trigger onCallEnded events so this could easily be missed.\n * When you add a new composite page this will throw a compiler error. If this new page is an\n * EndCallPage ensure you update the END_CALL_PAGES. Afterwards update the `page` parameter\n * type below to allow your new page, i.e. add `| <your new page>\n */\n page:\n | 'accessDeniedTeamsMeeting'\n | 'call'\n | 'configuration'\n | 'joinCallFailedDueToNoNetwork'\n | 'leftCall'\n | 'lobby'\n | 'removedFromCall'\n | /* @conditional-compile-remove(PSTN-calls) */ 'hold'\n | /* @conditional-compile-remove(rooms) */ 'roomNotFound'\n | /* @conditional-compile-remove(rooms) */ 'deniedPermissionToRoom'\n | /* @conditional-compile-remove(unsupported-browser) */ 'unsupportedEnvironment'\n): boolean => END_CALL_PAGES.includes(page);\n\n/**\n * Creates a new call control options object and sets the correct values for disabling\n * the buttons provided in the `disabledControls` array.\n * Returns a new object without changing the original object.\n * @param callControlOptions options for the call control component that need to be modified.\n * @param disabledControls An array of controls to disable.\n * @returns a copy of callControlOptions with disabledControls disabled\n * @private\n */\nexport const disableCallControls = (\n callControlOptions: CallControlOptions | boolean | undefined,\n disabledControls: (keyof CallControlOptions)[]\n): CallControlOptions | boolean | undefined => {\n if (callControlOptions === false) {\n return false;\n }\n // Ensure we clone the prop if it is an object to ensure we do not mutate the original prop.\n let newOptions = (callControlOptions instanceof Object ? { ...callControlOptions } : callControlOptions) ?? {};\n if (newOptions === true || newOptions === undefined) {\n newOptions = disabledControls.reduce((acc, key) => {\n acc[key] = { disabled: true };\n return acc;\n }, {});\n } else {\n disabledControls.forEach((key) => {\n if (newOptions[key] !== false) {\n newOptions[key] = { disabled: true };\n }\n });\n }\n return newOptions;\n};\n\n/**\n * Check if a disabled object is provided for a button and returns if the button is disabled.\n * A button is only disabled if is explicitly set to disabled.\n *\n * @param option\n * @returns whether a button is disabled\n * @private\n */\nexport const isDisabled = (option: boolean | { disabled: boolean } | undefined): boolean => {\n if (option === undefined || typeof option === 'boolean') {\n return false;\n }\n\n return option.disabled;\n};\n\n/* @conditional-compile-remove(call-readiness) */\n/**\n * @returns Permissions state for the camera.\n */\nconst queryCameraPermissionFromPermissionsAPI = async (): Promise<PermissionState | 'unsupported'> => {\n try {\n return (await navigator.permissions.query({ name: 'camera' as PermissionName })).state;\n } catch (e) {\n console.info('permissions API is not supported by browser', e);\n return 'unsupported';\n }\n};\n\n/* @conditional-compile-remove(call-readiness) */\n/**\n * @returns Permissions state for the microphone.\n */\nconst queryMicrophonePermissionFromPermissionsAPI = async (): Promise<PermissionState | 'unsupported'> => {\n try {\n return (await navigator.permissions.query({ name: 'microphone' as PermissionName })).state;\n } catch (e) {\n console.info('permissions API is not supported by browser', e);\n return 'unsupported';\n }\n};\n\n/* @conditional-compile-remove(call-readiness) */\n/**\n *\n * This function uses permission API to determine if device permission state is granted, prompt or denied\n * @returns whether device permission state is granted, prompt or denied\n * If permission API is not supported on this browser, permission state is set to unsupported.\n * @private\n */\nexport const getDevicePermissionState = async (\n setVideoState: (state: PermissionState | 'unsupported') => void,\n setAudioState: (state: PermissionState | 'unsupported') => void\n): Promise<void> => {\n const [cameraResult, microphoneResult] = await Promise.all([\n queryCameraPermissionFromPermissionsAPI(),\n queryMicrophonePermissionFromPermissionsAPI()\n ]);\n setVideoState(cameraResult);\n setAudioState(microphoneResult);\n};\n/* @conditional-compile-remove(unsupported-browser) */\nconst isUnsupportedEnvironment = (\n environmentInfo?: EnvironmentInfo,\n unsupportedBrowserVersionOptedIn?: boolean\n): boolean => {\n return !!(\n environmentInfo?.isSupportedBrowser === false ||\n (environmentInfo?.isSupportedBrowserVersion === false && !unsupportedBrowserVersionOptedIn) ||\n environmentInfo?.isSupportedPlatform === false\n );\n};\n\n/**\n * Check if an object is identifier.\n *\n * @param identifier\n * @returns whether an identifier is one of identifier types (for runtime validation)\n * @private\n */\nexport const isValidIdentifier = (identifier: CommunicationIdentifier): boolean => {\n return (\n isCommunicationUserIdentifier(identifier) ||\n isPhoneNumberIdentifier(identifier) ||\n isMicrosoftTeamsUserIdentifier(identifier) ||\n isUnknownIdentifier(identifier)\n );\n};\n\n/**\n * Check if we are using safari browser\n * @private\n */\nexport const _isSafari = (\n environmentInfo: undefined | /* @conditional-compile-remove(unsupported-browser) */ EnvironmentInfo\n): boolean => {\n /* @conditional-compile-remove(unsupported-browser) */\n return environmentInfo?.environment.browser === 'safari';\n return /^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent);\n};\n\"../../../../../calling-component-bindings/src\"\"../../../../../calling-stateful-client/src\""]}
1
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/utils/Utils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { CallAdapterState, CallCompositePage, END_CALL_PAGES } from '../adapter/CallAdapter';\nimport { _isInCall, _isPreviewOn, _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport { CallControlOptions } from '../types/CallControlOptions';\nimport { CallState } from '@internal/calling-stateful-client';\nimport { CommunicationIdentifier, isCommunicationUserIdentifier, isMicrosoftTeamsUserIdentifier, isPhoneNumberIdentifier, isUnknownIdentifier } from '@azure/communication-common';\nconst ACCESS_DENIED_TEAMS_MEETING_SUB_CODE = 5854;\nconst REMOTE_PSTN_USER_HUNG_UP = 560000;\nconst REMOVED_FROM_CALL_SUB_CODES = [5000, 5300, REMOTE_PSTN_USER_HUNG_UP];\n/**\n * @private\n */\nexport const isCameraOn = (state: CallAdapterState): boolean => {\n if (state.call) {\n const stream = state.call.localVideoStreams.find(stream => stream.mediaStreamType === 'Video');\n return !!stream;\n } else {\n if (state.devices.selectedCamera) {\n const previewOn = _isPreviewOn(state.devices);\n return previewOn;\n }\n }\n return false;\n};\n\n/**\n * Reduce the set of call controls visible on mobile.\n * For example do not show screenshare button.\n *\n * @private\n */\nexport const reduceCallControlsForMobile = (callControlOptions: CallControlOptions | boolean | undefined): CallControlOptions | false => {\n if (callControlOptions === false) {\n return false;\n }\n\n // Ensure call controls a valid object.\n const reduceCallControlOptions = callControlOptions === true ? {} : callControlOptions || {};\n\n // Set to compressed mode when composite is optimized for mobile\n reduceCallControlOptions.displayType = 'compact';\n\n // Do not show screen share button when composite is optimized for mobile unless the developer\n // has explicitly opted in.\n if (reduceCallControlOptions.screenShareButton !== true) {\n reduceCallControlOptions.screenShareButton = false;\n }\n return reduceCallControlOptions;\n};\nenum CallEndReasons {\n LEFT_CALL,\n ACCESS_DENIED,\n REMOVED_FROM_CALL,\n ROOM_NOT_FOUND,\n DENIED_PERMISSION_TO_ROOM,\n}\nconst getCallEndReason = (call: CallState): CallEndReasons => {\n const remoteParticipantsEndedArray = Array.from(Object.values(call.remoteParticipantsEnded));\n /**\n * Handle the special case in a PSTN call where removing the last user kicks the caller out of the call.\n * The code and subcode is the same as when a user is removed from a teams interop call.\n * Hence, we look at the last remote participant removed to determine if the last participant removed was a phone number.\n * If yes, the caller was kicked out of the call, but we need to show them that they left the call.\n * Note: This check will only work for 1:1 PSTN Calls. The subcode is different for 1:N PSTN calls, and we do not need to handle that case.\n */\n if (remoteParticipantsEndedArray.length === 1 && isPhoneNumberIdentifier(remoteParticipantsEndedArray[0].identifier) && call.callEndReason?.subCode !== REMOTE_PSTN_USER_HUNG_UP) {\n return CallEndReasons.LEFT_CALL;\n }\n if (call.callEndReason?.subCode && call.callEndReason.subCode === ACCESS_DENIED_TEAMS_MEETING_SUB_CODE) {\n return CallEndReasons.ACCESS_DENIED;\n }\n if (call.callEndReason?.subCode && REMOVED_FROM_CALL_SUB_CODES.includes(call.callEndReason.subCode)) {\n return CallEndReasons.REMOVED_FROM_CALL;\n }\n if (call.callEndReason) {\n // No error codes match, assume the user simply left the call regularly\n return CallEndReasons.LEFT_CALL;\n }\n throw new Error('No matching call end reason');\n};\n\n/**\n * type definition for conditional-compilation\n */\ntype GetCallCompositePageFunction = ((call: CallState | undefined, previousCall: CallState | undefined) => CallCompositePage);\n/**\n * Get the current call composite page based on the current call composite state\n *\n * @param Call - The current call state\n * @param previousCall - The state of the most recent previous call that has ended.\n *\n * @remarks - The previousCall state is needed to determine if the call has ended.\n * When the call ends a new call object is created, and so we must lookback at the\n * previous call state to understand how the call has ended. If there is no previous\n * call we know that this is a fresh call and can display the configuration page.\n *\n * @private\n */\nexport const getCallCompositePage: GetCallCompositePageFunction = (call, previousCall?, unsupportedBrowserInfo?): CallCompositePage => {\n if (call) {\n // Must check for ongoing call *before* looking at any previous calls.\n // If the composite completes one call and joins another, the previous calls\n // will be populated, but not relevant for determining the page.\n\n // `_isInLobbyOrConnecting` needs to be checked first because `_isInCall` also returns true when call is in lobby.\n if (_isInLobbyOrConnecting(call?.state)) {\n return 'lobby';\n // `LocalHold` needs to be checked before `isInCall` since it is also a state that's considered in call.\n } else if (call?.state === 'LocalHold') {\n return 'call';\n } else if (_isInCall(call?.state)) {\n return 'call';\n } else {\n // When the call object has been constructed after clicking , but before 'connecting' has been\n // set on the call object, we continue to show the configuration screen.\n // The call object does not correctly reflect local device state until `call.state` moves to `connecting`.\n // Moving to the 'lobby' page too soon leads to components that depend on the `call` object to show incorrect\n // transitional state.\n return 'configuration';\n }\n }\n if (previousCall) {\n const reason = getCallEndReason(previousCall);\n switch (reason) {\n case CallEndReasons.ACCESS_DENIED:\n return 'accessDeniedTeamsMeeting';\n case CallEndReasons.REMOVED_FROM_CALL:\n return 'removedFromCall';\n case CallEndReasons.LEFT_CALL:\n if (previousCall.diagnostics.network.latest.noNetwork) {\n return 'joinCallFailedDueToNoNetwork';\n }\n return 'leftCall';\n }\n }\n\n // No call state - show starting page (configuration)\n return 'configuration';\n};\n\n/** @private */\nexport const IsCallEndedPage = (page: 'accessDeniedTeamsMeeting' | 'call' | 'configuration' | 'joinCallFailedDueToNoNetwork' | 'leftCall' | 'lobby' | 'removedFromCall'): boolean => END_CALL_PAGES.includes(page);\n\n/**\n * Creates a new call control options object and sets the correct values for disabling\n * the buttons provided in the `disabledControls` array.\n * Returns a new object without changing the original object.\n * @param callControlOptions options for the call control component that need to be modified.\n * @param disabledControls An array of controls to disable.\n * @returns a copy of callControlOptions with disabledControls disabled\n * @private\n */\nexport const disableCallControls = (callControlOptions: CallControlOptions | boolean | undefined, disabledControls: (keyof CallControlOptions)[]): CallControlOptions | boolean | undefined => {\n if (callControlOptions === false) {\n return false;\n }\n // Ensure we clone the prop if it is an object to ensure we do not mutate the original prop.\n let newOptions = (callControlOptions instanceof Object ? {\n ...callControlOptions\n } : callControlOptions) ?? {};\n if (newOptions === true || newOptions === undefined) {\n newOptions = disabledControls.reduce((acc, key) => {\n acc[key] = {\n disabled: true\n };\n return acc;\n }, {});\n } else {\n disabledControls.forEach(key => {\n if (newOptions[key] !== false) {\n newOptions[key] = {\n disabled: true\n };\n }\n });\n }\n return newOptions;\n};\n\n/**\n * Check if a disabled object is provided for a button and returns if the button is disabled.\n * A button is only disabled if is explicitly set to disabled.\n *\n * @param option\n * @returns whether a button is disabled\n * @private\n */\nexport const isDisabled = (option: boolean | {\n disabled: boolean;\n} | undefined): boolean => {\n if (option === undefined || typeof option === 'boolean') {\n return false;\n }\n return option.disabled;\n};\n/**\n * Check if an object is identifier.\n *\n * @param identifier\n * @returns whether an identifier is one of identifier types (for runtime validation)\n * @private\n */\nexport const isValidIdentifier = (identifier: CommunicationIdentifier): boolean => {\n return isCommunicationUserIdentifier(identifier) || isPhoneNumberIdentifier(identifier) || isMicrosoftTeamsUserIdentifier(identifier) || isUnknownIdentifier(identifier);\n};\n\n/**\n * Check if we are using safari browser\n * @private\n */\nexport const _isSafari = (environmentInfo: undefined): boolean => {\n return /^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent);\n};\"../../../../../calling-component-bindings/src\"\"../../../../../calling-stateful-client/src\""]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/utils/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,cAAc,SAAS,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport * from './Utils';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/utils/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,cAAc,SAAS,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport * from './Utils';"]}
@@ -4,9 +4,6 @@ import { CallControlDisplayType } from '../CallComposite';
4
4
  import { CallWithChatAdapter } from './adapter/CallWithChatAdapter';
5
5
  import { BaseCompositeProps } from '../common/BaseComposite';
6
6
  import { CallWithChatCompositeIcons } from '../common/icons';
7
- import { FileSharingOptions } from '../ChatComposite';
8
- import { CustomCallWithChatControlButtonCallback } from './CustomButton';
9
- import { DeviceCheckOptions } from '../CallComposite/CallComposite';
10
7
  /**
11
8
  * Props required for the {@link CallWithChatComposite}
12
9
  *
@@ -46,62 +43,6 @@ export declare type CallWithChatCompositeOptions = {
46
43
  * If using the boolean values, true will cause default behavior across the whole control bar. False hides the whole control bar.
47
44
  */
48
45
  callControls?: boolean | CallWithChatControlOptions;
49
- /**
50
- * Properties for configuring the File Sharing feature.
51
- * If undefined, file sharing feature will be disabled.
52
- * @beta
53
- */
54
- fileSharing?: FileSharingOptions;
55
- /**
56
- * Device permissions check options for your call.
57
- * Here you can choose what device permissions you prompt the user for,
58
- * as well as what device permissions must be accepted before starting a call.
59
- */
60
- deviceChecks?: DeviceCheckOptions;
61
- /**
62
- * Callback you may provide to supply users with further steps to troubleshoot why they have been
63
- * unable to grant your site the required permissions for the call.
64
- *
65
- * @example
66
- * ```ts
67
- * onPermissionsTroubleshootingClick: () =>
68
- * window.open('https://contoso.com/permissions-troubleshooting', '_blank');
69
- * ```
70
- *
71
- * @remarks
72
- * if this is not supplied, the composite will not show a 'further troubleshooting' link.
73
- */
74
- onPermissionsTroubleshootingClick?: (permissionsState: {
75
- camera: PermissionState;
76
- microphone: PermissionState;
77
- }) => void;
78
- /**
79
- * Optional callback to supply users with further troubleshooting steps for network issues
80
- * experienced when connecting to a call.
81
- *
82
- * @example
83
- * ```ts
84
- * onNetworkingTroubleShootingClick?: () =>
85
- * window.open('https://contoso.com/network-troubleshooting', '_blank');
86
- * ```
87
- *
88
- * @remarks
89
- * if this is not supplied, the composite will not show a 'network troubleshooting' link.
90
- */
91
- onNetworkingTroubleShootingClick?: () => void;
92
- /**
93
- * Callback you may provide to supply users with a provided page to showcase supported browsers by ACS.
94
- *
95
- * @example
96
- * ```ts
97
- * onBrowserTroubleShootingClick?: () =>
98
- * window.open('https://contoso.com/browser-troubleshooting', '_blank');
99
- * ```
100
- *
101
- * @remarks
102
- * if this is not supplied, the composite will not show a unsupported browser page.
103
- */
104
- onEnvironmentInfoTroubleshootingClick?: () => void;
105
46
  };
106
47
  /**
107
48
  * {@link CallWithChatComposite} Call controls to show or hide buttons on the calling control bar.
@@ -123,16 +64,12 @@ export interface CallWithChatControlOptions {
123
64
  * Show or Hide Microphone button during a call.
124
65
  * @defaultValue true
125
66
  */
126
- microphoneButton?: boolean | /* @conditional-compile-remove(PSTN-calls) */ {
127
- disabled: boolean;
128
- };
67
+ microphoneButton?: boolean;
129
68
  /**
130
69
  * Show or Hide Camera Button during a call
131
70
  * @defaultValue true
132
71
  */
133
- cameraButton?: boolean | /* @conditional-compile-remove(PSTN-calls) */ {
134
- disabled: boolean;
135
- };
72
+ cameraButton?: boolean;
136
73
  /**
137
74
  * Show, Hide or Disable the screen share button during a call.
138
75
  * @defaultValue true
@@ -149,32 +86,12 @@ export interface CallWithChatControlOptions {
149
86
  * Show or hide the chat button in the call-with-chat composite control bar.
150
87
  * @defaultValue true
151
88
  */
152
- chatButton?: boolean | /* @conditional-compile-remove(PSTN-calls) */ {
153
- disabled: boolean;
154
- };
89
+ chatButton?: boolean;
155
90
  /**
156
91
  * Show or hide the people button in the call-with-chat composite control bar.
157
92
  * @defaultValue true
158
93
  */
159
- peopleButton?: boolean | /* @conditional-compile-remove(PSTN-calls) */ {
160
- disabled: boolean;
161
- };
162
- /**
163
- * Inject custom buttons in the call controls.
164
- *
165
- * @beta
166
- */
167
- onFetchCustomButtonProps?: CustomCallWithChatControlButtonCallback[];
168
- /**
169
- * Show or hide the more button in the call-with-chat control bar.
170
- */
171
- moreButton?: boolean;
172
- /**
173
- * Show or hide the hold button in the bottom sheet drawer
174
- */
175
- holdButton?: boolean | {
176
- disabled: boolean;
177
- };
94
+ peopleButton?: boolean;
178
95
  }
179
96
  /**
180
97
  * CallWithChatComposite brings together key components to provide a full call with chat experience out of the box.