@azure/communication-react 1.5.0 → 1.5.2-alpha-202301190014.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 (839) hide show
  1. package/dist/communication-react.d.ts +1975 -28
  2. package/dist/dist-cjs/communication-react/index.js +12525 -8218
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  6. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/identifier.js +3 -64
  11. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  17. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  18. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  19. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  20. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +11 -1
  21. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +12 -0
  22. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  23. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +13 -0
  24. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +20 -5
  25. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  26. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +20 -49
  27. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  28. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +11 -1
  29. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +35 -31
  30. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  31. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +11 -1
  32. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  33. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +13 -1
  34. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +43 -0
  36. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +81 -0
  37. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -0
  38. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  39. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  40. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +4 -1
  41. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +22 -0
  42. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  43. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  44. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +6 -0
  45. package/dist/dist-esm/calling-component-bindings/src/index.js +8 -0
  46. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  47. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +31 -10
  48. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  49. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  50. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts +4 -3
  51. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  52. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +6 -3
  53. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  54. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts +14 -2
  55. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js +20 -1
  56. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  57. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  58. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  59. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +14 -0
  60. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +25 -4
  61. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  62. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.d.ts +5 -0
  63. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +11 -0
  64. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  65. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +25 -9
  66. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  67. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +21 -5
  68. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  69. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +6 -5
  70. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  71. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +15 -1
  72. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  73. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +2 -1
  74. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +62 -67
  75. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  76. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +27 -1
  77. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  78. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +7 -1
  79. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +56 -4
  80. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  81. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +7 -8
  82. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  83. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +56 -64
  84. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  85. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  86. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  87. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +1 -0
  88. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +9 -3
  89. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  90. package/dist/dist-esm/calling-stateful-client/src/Converter.js +13 -8
  91. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  92. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +51 -57
  93. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  94. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +14 -16
  95. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  96. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  97. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +3 -15
  98. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  100. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.d.ts +1 -0
  101. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js +8 -0
  102. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  103. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  104. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.d.ts +1 -0
  105. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +8 -0
  106. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  107. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +25 -1
  108. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +69 -40
  109. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  110. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +3 -13
  111. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  112. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +19 -0
  113. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +89 -0
  114. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -0
  115. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.d.ts +23 -0
  116. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +48 -0
  117. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -0
  118. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  119. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +2 -2
  120. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +8 -0
  121. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  122. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +3 -3
  123. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  124. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js +6 -7
  125. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -1
  126. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +2 -0
  127. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  128. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  129. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +4 -4
  130. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  131. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +3 -3
  132. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  133. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +13 -14
  134. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  135. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +4 -1
  136. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +3 -10
  137. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  138. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  139. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  140. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  141. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  142. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +41 -10
  143. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  144. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  145. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  146. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  147. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  148. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +3 -7
  149. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  150. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +3 -1
  151. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  152. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  153. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  154. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  155. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +5 -9
  156. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  157. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  158. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +7 -12
  159. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  160. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  161. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +57 -67
  162. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  163. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +113 -127
  164. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  165. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  166. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  167. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  168. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  169. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  170. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  171. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  172. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  173. package/dist/dist-esm/communication-react/src/index.d.ts +21 -0
  174. package/dist/dist-esm/communication-react/src/index.js +14 -0
  175. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  176. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  177. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  178. package/dist/dist-esm/react-components/src/components/CameraButton.js +6 -6
  179. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  180. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +7 -8
  181. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  182. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +36 -17
  183. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  184. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +8 -4
  185. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  186. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +24 -30
  187. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  188. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +55 -24
  189. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  190. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +7 -11
  191. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  192. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  193. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  194. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +7 -4
  195. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  196. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +2 -2
  197. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  198. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  199. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  200. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  201. package/dist/dist-esm/react-components/src/components/ControlBar.js +10 -14
  202. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  203. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +14 -4
  204. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  205. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +3 -14
  206. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  207. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +69 -0
  208. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +37 -0
  209. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -0
  210. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +75 -0
  211. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +58 -0
  212. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -0
  213. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js +5 -8
  214. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
  215. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +105 -0
  216. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +86 -0
  217. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -0
  218. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +86 -0
  219. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +31 -0
  220. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +1 -0
  221. package/dist/dist-esm/react-components/src/components/DevicesButton.js +7 -30
  222. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  223. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +42 -44
  224. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  225. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.d.ts +1 -0
  226. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js +18 -2
  227. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  228. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +2 -6
  229. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  230. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.d.ts +4 -0
  231. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +6 -6
  232. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  233. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +11 -23
  234. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  235. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.d.ts +4 -0
  236. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +3 -3
  237. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  238. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  239. package/dist/dist-esm/react-components/src/components/EndCallButton.js +3 -7
  240. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  241. package/dist/dist-esm/react-components/src/components/ErrorBar.js +2 -5
  242. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  243. package/dist/dist-esm/react-components/src/components/FileCard.js +2 -3
  244. package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
  245. package/dist/dist-esm/react-components/src/components/FileCardGroup.js +1 -1
  246. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
  247. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +12 -9
  248. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  249. package/dist/dist-esm/react-components/src/components/FileUploadCards.js +8 -7
  250. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
  251. package/dist/dist-esm/react-components/src/components/GridLayout.js +37 -37
  252. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  253. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +2 -2
  254. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  255. package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +49 -0
  256. package/dist/dist-esm/react-components/src/components/HoldButton.js +25 -0
  257. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -0
  258. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +5 -7
  259. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  260. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +5 -12
  261. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  262. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +3 -5
  263. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  264. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +27 -9
  265. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  266. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js +23 -36
  267. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  268. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +23 -1
  269. package/dist/dist-esm/react-components/src/components/MessageThread.js +157 -97
  270. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  271. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +9 -6
  272. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  273. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +94 -101
  274. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  275. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +13 -0
  276. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +22 -21
  277. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  278. package/dist/dist-esm/react-components/src/components/ParticipantList.js +25 -9
  279. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  280. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +46 -32
  281. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  282. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  283. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  284. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  285. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  286. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts +2 -1
  287. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +68 -12
  288. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  289. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +2 -2
  290. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  291. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +6 -12
  292. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  293. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +35 -0
  294. package/dist/dist-esm/react-components/src/components/SendBox.js +32 -8
  295. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  296. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +2 -2
  297. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  298. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  299. package/dist/dist-esm/react-components/src/components/StreamMedia.js +3 -3
  300. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  301. package/dist/dist-esm/react-components/src/components/SystemMessage.js +2 -4
  302. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  303. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +10 -10
  304. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  305. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +9 -6
  306. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  307. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.d.ts +1 -1
  308. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +12 -1
  309. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  310. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +13 -1
  311. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  312. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +20 -0
  313. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  314. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.d.ts +1 -1
  315. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +12 -1
  316. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  317. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +31 -12
  318. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  319. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +11 -14
  320. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  321. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +39 -20
  322. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  323. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.d.ts +4 -0
  324. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  325. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +7 -7
  326. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  327. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +8 -6
  328. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  329. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.d.ts +9 -0
  330. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +18 -0
  331. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -0
  332. package/dist/dist-esm/react-components/src/components/VideoGallery/VideoGalleryResponsiveHorizontalGallery.js +2 -7
  333. package/dist/dist-esm/react-components/src/components/VideoGallery/VideoGalleryResponsiveHorizontalGallery.js.map +1 -1
  334. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js +1 -6
  335. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js.map +1 -1
  336. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +8 -29
  337. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  338. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js +2 -11
  339. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js.map +1 -1
  340. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.d.ts +6 -0
  341. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js +9 -0
  342. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js.map +1 -0
  343. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +1 -1
  344. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  345. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteVideoTile.styles.js.map +1 -1
  346. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.d.ts +10 -0
  347. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +29 -0
  348. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -0
  349. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +10 -10
  350. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
  351. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +10 -5
  352. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  353. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.d.ts +2 -0
  354. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +31 -30
  355. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  356. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.d.ts +7 -16
  357. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +55 -26
  358. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  359. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +66 -0
  360. package/dist/dist-esm/react-components/src/components/VideoGallery.js +140 -20
  361. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  362. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +22 -1
  363. package/dist/dist-esm/react-components/src/components/VideoTile.js +98 -46
  364. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  365. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js +3 -10
  366. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js.map +1 -1
  367. package/dist/dist-esm/react-components/src/components/index.d.ts +13 -0
  368. package/dist/dist-esm/react-components/src/components/index.js +8 -0
  369. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  370. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +58 -0
  371. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +144 -0
  372. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -0
  373. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +3 -12
  374. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  375. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  376. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  377. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  378. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  379. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  380. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js.map +1 -1
  381. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +1 -4
  382. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  383. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  384. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +2 -7
  385. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  386. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +0 -1
  387. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  388. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  389. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +2 -10
  390. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  391. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +38 -0
  392. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +92 -0
  393. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +1 -0
  394. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +0 -3
  395. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  396. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  397. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +2 -2
  398. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  399. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  400. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +26 -0
  401. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +67 -0
  402. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +1 -0
  403. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +2 -13
  404. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  405. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  406. package/dist/dist-esm/react-components/src/components/styles/VoiceOverButton.style.js.map +1 -1
  407. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  408. package/dist/dist-esm/react-components/src/components/utils/common.js +4 -0
  409. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  410. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  411. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  412. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +2 -5
  413. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  414. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  415. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +7 -0
  416. package/dist/dist-esm/react-components/src/components/utils/merge.js +16 -0
  417. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -0
  418. package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
  419. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  420. package/dist/dist-esm/react-components/src/components/utils/useLongPress.d.ts +1 -0
  421. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js +15 -2
  422. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  423. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js +1 -3
  424. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js.map +1 -1
  425. package/dist/dist-esm/react-components/src/components/utils.js +9 -8
  426. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  427. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +14 -10
  428. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  429. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  430. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  431. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  432. package/dist/dist-esm/react-components/src/index.d.ts +2 -0
  433. package/dist/dist-esm/react-components/src/index.js +2 -0
  434. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  435. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +54 -0
  436. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  437. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  438. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +6 -96
  439. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +5 -95
  440. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +1 -2
  441. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +5 -95
  442. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +6 -96
  443. package/dist/dist-esm/react-components/src/localization/locales/index.js +14 -42
  444. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  445. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +5 -95
  446. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +5 -95
  447. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +5 -95
  448. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +5 -95
  449. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +6 -96
  450. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +5 -95
  451. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +6 -96
  452. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +5 -95
  453. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +5 -95
  454. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.d.ts +61 -0
  455. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js +74 -0
  456. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js.map +1 -0
  457. package/dist/dist-esm/react-components/src/permissions/index.d.ts +2 -0
  458. package/dist/dist-esm/react-components/src/permissions/index.js +4 -0
  459. package/dist/dist-esm/react-components/src/permissions/index.js.map +1 -0
  460. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +3 -6
  461. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  462. package/dist/dist-esm/react-components/src/theming/icons.d.ts +20 -0
  463. package/dist/dist-esm/react-components/src/theming/icons.js +121 -11
  464. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  465. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +6 -0
  466. package/dist/dist-esm/react-components/src/theming/icons.styles.js +25 -0
  467. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -0
  468. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  469. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  470. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  471. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +7 -0
  472. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  473. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  474. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  475. package/dist/dist-esm/react-components/src/types/OnRender.d.ts +8 -0
  476. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  477. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.d.ts +3 -0
  478. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js +2 -0
  479. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  480. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  481. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +8 -0
  482. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js +2 -0
  483. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  484. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  485. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +89 -0
  486. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +95 -17
  487. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  488. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +120 -0
  489. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  490. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +77 -6
  491. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +248 -31
  492. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  493. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +107 -1
  494. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +9 -1
  495. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  496. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  497. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  498. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  499. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +3 -2
  500. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +8 -2
  501. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  502. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +5 -0
  503. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js +2 -0
  504. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  505. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +3 -0
  506. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +76 -10
  507. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  508. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +2 -0
  509. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +135 -13
  510. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  511. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.d.ts +24 -0
  512. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js +80 -0
  513. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js.map +1 -0
  514. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +48 -0
  515. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +210 -0
  516. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -0
  517. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +2 -0
  518. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +21 -0
  519. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  520. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +20 -2
  521. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  522. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +2 -0
  523. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +21 -0
  524. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  525. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +5 -4
  526. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  527. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.d.ts +12 -0
  528. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +93 -0
  529. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -0
  530. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +2 -2
  531. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  532. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +32 -22
  533. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  534. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +1 -0
  535. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +66 -19
  536. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  537. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +16 -21
  538. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  539. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts +2 -0
  540. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +25 -17
  541. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  542. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  543. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  544. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +2 -2
  545. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  546. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  547. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  548. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +1 -1
  549. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  550. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.d.ts +17 -0
  551. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +63 -0
  552. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +1 -0
  553. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +44 -5
  554. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  555. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +5 -2
  556. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  557. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +8 -6
  558. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  559. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +5 -2
  560. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  561. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.d.ts +8 -0
  562. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +26 -0
  563. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -0
  564. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +3 -1
  565. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  566. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +13 -9
  567. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  568. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +27 -6
  569. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  570. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  571. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  572. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  573. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.d.ts +16 -0
  574. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js +38 -0
  575. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js.map +1 -0
  576. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +7 -0
  577. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js +2 -0
  578. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  579. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +1 -0
  580. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +8 -2
  581. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  582. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +8 -0
  583. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +140 -12
  584. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  585. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +15 -0
  586. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +38 -0
  587. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -0
  588. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.d.ts +1 -0
  589. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +19 -7
  590. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  591. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +2 -2
  592. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  593. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +15 -0
  594. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +54 -0
  595. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -0
  596. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  597. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  598. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  599. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +10 -0
  600. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +10 -0
  601. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  602. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  603. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  604. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  605. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  606. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  607. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  608. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  609. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +2 -2
  610. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +11 -5
  611. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  612. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +1 -1
  613. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +1 -1
  614. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  615. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +4 -4
  616. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  617. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  618. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -4
  619. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  620. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  621. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  622. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  623. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +5 -5
  624. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +4 -4
  625. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  626. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  627. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  628. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  629. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +2 -2
  630. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  631. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  632. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  633. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +2 -6
  634. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  635. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +2 -6
  636. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  637. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  638. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +2 -0
  639. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  640. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +1 -4
  641. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  642. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.d.ts +32 -0
  643. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +81 -0
  644. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -0
  645. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +1 -4
  646. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  647. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  648. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  649. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  650. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  651. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +0 -1
  652. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  653. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +23 -3
  654. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  655. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +9 -11
  656. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  657. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +15 -3
  658. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +106 -12
  659. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  660. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  661. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +87 -4
  662. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +78 -14
  663. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  664. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.d.ts +1 -0
  665. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js +41 -15
  666. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js.map +1 -1
  667. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.d.ts +2 -0
  668. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js +34 -12
  669. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js.map +1 -1
  670. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js +1 -1
  671. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js.map +1 -1
  672. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js +9 -7
  673. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  674. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  675. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.d.ts +67 -0
  676. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js +75 -0
  677. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js.map +1 -0
  678. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js +3 -6
  679. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js.map +1 -1
  680. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeopleButton.js +1 -1
  681. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeopleButton.js.map +1 -1
  682. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.d.ts +1 -0
  683. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.js.map +1 -1
  684. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +32 -0
  685. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  686. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +25 -4
  687. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +139 -7
  688. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  689. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +60 -0
  690. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  691. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +10 -2
  692. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +39 -1
  693. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  694. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +9 -0
  695. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +31 -1
  696. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  697. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  698. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.d.ts +13 -0
  699. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js +65 -0
  700. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js.map +1 -0
  701. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js +67 -21
  702. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js.map +1 -1
  703. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  704. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.d.ts +1 -0
  705. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  706. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +1 -1
  707. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  708. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +22 -0
  709. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +10 -2
  710. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  711. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  712. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +20 -0
  713. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +6 -2
  714. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  715. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +3 -5
  716. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  717. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +41 -9
  718. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  719. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +18 -0
  720. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +18 -0
  721. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -0
  722. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.d.ts +15 -0
  723. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +21 -0
  724. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +1 -0
  725. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +4 -0
  726. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  727. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +9 -0
  728. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +88 -25
  729. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  730. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.d.ts +28 -0
  731. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +154 -1
  732. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  733. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +13 -2
  734. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  735. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +2 -0
  736. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  737. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
  738. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +18 -6
  739. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  740. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js.map +1 -1
  741. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  742. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +3 -5
  743. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  744. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +3 -1
  745. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  746. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  747. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +6 -0
  748. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +11 -0
  749. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -0
  750. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +3 -0
  751. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  752. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +12 -0
  753. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +13 -0
  754. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -0
  755. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +23 -0
  756. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +12 -0
  757. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +1 -0
  758. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +2 -6
  759. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  760. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +5 -1
  761. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +17 -6
  762. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  763. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +22 -0
  764. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +105 -0
  765. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -0
  766. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts +17 -0
  767. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +32 -0
  768. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -0
  769. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.d.ts +5 -0
  770. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +10 -4
  771. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  772. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +5 -14
  773. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  774. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +22 -0
  775. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +60 -0
  776. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -0
  777. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts +15 -0
  778. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +61 -0
  779. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -0
  780. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +1 -5
  781. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  782. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js +1 -1
  783. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js.map +1 -1
  784. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +21 -6
  785. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  786. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  787. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  788. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +6 -8
  789. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  790. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +6 -1
  791. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +24 -5
  792. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  793. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.d.ts +17 -0
  794. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +42 -0
  795. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +1 -0
  796. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.d.ts +11 -0
  797. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js +40 -0
  798. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +1 -0
  799. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.d.ts +2 -1
  800. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +6 -18
  801. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  802. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.d.ts +2 -1
  803. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +10 -8
  804. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  805. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  806. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +33 -1
  807. package/dist/dist-esm/react-composites/src/composites/common/icons.js +19 -5
  808. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  809. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  810. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +6 -16
  811. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  812. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +12 -51
  813. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  814. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +5 -22
  815. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  816. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +4 -22
  817. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  818. package/dist/dist-esm/react-composites/src/composites/common/utils.js +17 -12
  819. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  820. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  821. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  822. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  823. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  824. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +3 -17
  825. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +3 -17
  826. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +3 -17
  827. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +3 -17
  828. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  829. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +3 -17
  830. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +3 -17
  831. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +3 -17
  832. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +3 -17
  833. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +3 -17
  834. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +3 -17
  835. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +3 -17
  836. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +3 -17
  837. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +3 -17
  838. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  839. package/package.json +15 -14
@@ -1,17 +1,30 @@
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
+ };
3
12
  import { END_CALL_PAGES } from '../adapter/CallAdapter';
4
13
  import { _isInCall, _isPreviewOn, _isInLobbyOrConnecting } from "../../../../../calling-component-bindings/src";
5
14
  import { isCommunicationUserIdentifier, isMicrosoftTeamsUserIdentifier, isPhoneNumberIdentifier, isUnknownIdentifier } from '@azure/communication-common';
6
15
  const ACCESS_DENIED_TEAMS_MEETING_SUB_CODE = 5854;
7
16
  const REMOTE_PSTN_USER_HUNG_UP = 560000;
8
17
  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;
9
22
  /**
10
23
  * @private
11
24
  */
12
25
  export const isCameraOn = (state) => {
13
26
  if (state.call) {
14
- const stream = state.call.localVideoStreams.find(stream => stream.mediaStreamType === 'Video');
27
+ const stream = state.call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video');
15
28
  return !!stream;
16
29
  }
17
30
  else {
@@ -52,7 +65,7 @@ var CallEndReasons;
52
65
  CallEndReasons[CallEndReasons["DENIED_PERMISSION_TO_ROOM"] = 4] = "DENIED_PERMISSION_TO_ROOM";
53
66
  })(CallEndReasons || (CallEndReasons = {}));
54
67
  const getCallEndReason = (call) => {
55
- var _a, _b, _c;
68
+ var _a, _b, _c, _d, _e;
56
69
  const remoteParticipantsEndedArray = Array.from(Object.values(call.remoteParticipantsEnded));
57
70
  /**
58
71
  * Handle the special case in a PSTN call where removing the last user kicks the caller out of the call.
@@ -61,7 +74,9 @@ const getCallEndReason = (call) => {
61
74
  * If yes, the caller was kicked out of the call, but we need to show them that they left the call.
62
75
  * 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.
63
76
  */
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) {
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) {
65
80
  return CallEndReasons.LEFT_CALL;
66
81
  }
67
82
  if (((_b = call.callEndReason) === null || _b === void 0 ? void 0 : _b.subCode) && call.callEndReason.subCode === ACCESS_DENIED_TEAMS_MEETING_SUB_CODE) {
@@ -70,6 +85,14 @@ const getCallEndReason = (call) => {
70
85
  if (((_c = call.callEndReason) === null || _c === void 0 ? void 0 : _c.subCode) && REMOVED_FROM_CALL_SUB_CODES.includes(call.callEndReason.subCode)) {
71
86
  return CallEndReasons.REMOVED_FROM_CALL;
72
87
  }
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
+ }
73
96
  if (call.callEndReason) {
74
97
  // No error codes match, assume the user simply left the call regularly
75
98
  return CallEndReasons.LEFT_CALL;
@@ -90,6 +113,10 @@ const getCallEndReason = (call) => {
90
113
  * @private
91
114
  */
92
115
  export const getCallCompositePage = (call, previousCall, unsupportedBrowserInfo) => {
116
+ /* @conditional-compile-remove(unsupported-browser) */
117
+ if (isUnsupportedEnvironment(unsupportedBrowserInfo.environmentInfo, unsupportedBrowserInfo.unsupportedBrowserVersionOptedIn)) {
118
+ return 'unsupportedEnvironment';
119
+ }
93
120
  if (call) {
94
121
  // Must check for ongoing call *before* looking at any previous calls.
95
122
  // If the composite completes one call and joins another, the previous calls
@@ -100,6 +127,8 @@ export const getCallCompositePage = (call, previousCall, unsupportedBrowserInfo)
100
127
  // `LocalHold` needs to be checked before `isInCall` since it is also a state that's considered in call.
101
128
  }
102
129
  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';
103
132
  return 'call';
104
133
  }
105
134
  else if (_isInCall(call === null || call === void 0 ? void 0 : call.state)) {
@@ -116,6 +145,13 @@ export const getCallCompositePage = (call, previousCall, unsupportedBrowserInfo)
116
145
  }
117
146
  if (previousCall) {
118
147
  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
+ }
119
155
  switch (reason) {
120
156
  case CallEndReasons.ACCESS_DENIED:
121
157
  return 'accessDeniedTeamsMeeting';
@@ -132,7 +168,16 @@ export const getCallCompositePage = (call, previousCall, unsupportedBrowserInfo)
132
168
  return 'configuration';
133
169
  };
134
170
  /** @private */
135
- export const IsCallEndedPage = (page) => END_CALL_PAGES.includes(page);
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);
136
181
  /**
137
182
  * Creates a new call control options object and sets the correct values for disabling
138
183
  * the buttons provided in the `disabledControls` array.
@@ -151,18 +196,14 @@ export const disableCallControls = (callControlOptions, disabledControls) => {
151
196
  let newOptions = (_a = (callControlOptions instanceof Object ? Object.assign({}, callControlOptions) : callControlOptions)) !== null && _a !== void 0 ? _a : {};
152
197
  if (newOptions === true || newOptions === undefined) {
153
198
  newOptions = disabledControls.reduce((acc, key) => {
154
- acc[key] = {
155
- disabled: true
156
- };
199
+ acc[key] = { disabled: true };
157
200
  return acc;
158
201
  }, {});
159
202
  }
160
203
  else {
161
- disabledControls.forEach(key => {
204
+ disabledControls.forEach((key) => {
162
205
  if (newOptions[key] !== false) {
163
- newOptions[key] = {
164
- disabled: true
165
- };
206
+ newOptions[key] = { disabled: true };
166
207
  }
167
208
  });
168
209
  }
@@ -182,6 +223,54 @@ export const isDisabled = (option) => {
182
223
  }
183
224
  return option.disabled;
184
225
  };
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
+ };
185
274
  /**
186
275
  * Check if an object is identifier.
187
276
  *
@@ -190,13 +279,18 @@ export const isDisabled = (option) => {
190
279
  * @private
191
280
  */
192
281
  export const isValidIdentifier = (identifier) => {
193
- return isCommunicationUserIdentifier(identifier) || isPhoneNumberIdentifier(identifier) || isMicrosoftTeamsUserIdentifier(identifier) || isUnknownIdentifier(identifier);
282
+ return (isCommunicationUserIdentifier(identifier) ||
283
+ isPhoneNumberIdentifier(identifier) ||
284
+ isMicrosoftTeamsUserIdentifier(identifier) ||
285
+ isUnknownIdentifier(identifier));
194
286
  };
195
287
  /**
196
288
  * Check if we are using safari browser
197
289
  * @private
198
290
  */
199
291
  export const _isSafari = (environmentInfo) => {
292
+ /* @conditional-compile-remove(unsupported-browser) */
293
+ return (environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.environment.browser) === 'safari';
200
294
  return /^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent);
201
295
  };
202
296
  //# sourceMappingURL=Utils.js.map
@@ -1 +1 @@
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
+ {"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 +1 @@
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';"]}
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"]}
@@ -4,6 +4,9 @@ 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';
7
10
  /**
8
11
  * Props required for the {@link CallWithChatComposite}
9
12
  *
@@ -43,6 +46,62 @@ export declare type CallWithChatCompositeOptions = {
43
46
  * If using the boolean values, true will cause default behavior across the whole control bar. False hides the whole control bar.
44
47
  */
45
48
  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;
46
105
  };
47
106
  /**
48
107
  * {@link CallWithChatComposite} Call controls to show or hide buttons on the calling control bar.
@@ -64,12 +123,16 @@ export interface CallWithChatControlOptions {
64
123
  * Show or Hide Microphone button during a call.
65
124
  * @defaultValue true
66
125
  */
67
- microphoneButton?: boolean;
126
+ microphoneButton?: boolean | /* @conditional-compile-remove(PSTN-calls) */ {
127
+ disabled: boolean;
128
+ };
68
129
  /**
69
130
  * Show or Hide Camera Button during a call
70
131
  * @defaultValue true
71
132
  */
72
- cameraButton?: boolean;
133
+ cameraButton?: boolean | /* @conditional-compile-remove(PSTN-calls) */ {
134
+ disabled: boolean;
135
+ };
73
136
  /**
74
137
  * Show, Hide or Disable the screen share button during a call.
75
138
  * @defaultValue true
@@ -86,12 +149,32 @@ export interface CallWithChatControlOptions {
86
149
  * Show or hide the chat button in the call-with-chat composite control bar.
87
150
  * @defaultValue true
88
151
  */
89
- chatButton?: boolean;
152
+ chatButton?: boolean | /* @conditional-compile-remove(PSTN-calls) */ {
153
+ disabled: boolean;
154
+ };
90
155
  /**
91
156
  * Show or hide the people button in the call-with-chat composite control bar.
92
157
  * @defaultValue true
93
158
  */
94
- peopleButton?: boolean;
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
+ };
95
178
  }
96
179
  /**
97
180
  * CallWithChatComposite brings together key components to provide a full call with chat experience out of the box.
@@ -16,6 +16,10 @@ import { useId } from '@fluentui/react-hooks';
16
16
  import { CallWithChatPane } from './CallWithChatPane';
17
17
  import { containerDivStyles } from '../common/ContainerRectProps';
18
18
  import { modalLayerHostStyle } from '../common/styles/ModalLocalAndRemotePIP.styles';
19
+ /* @conditional-compile-remove(PSTN-calls) */
20
+ import { SendDtmfDialpad } from '../common/SendDtmfDialpad';
21
+ /* @conditional-compile-remove(PSTN-calls) */
22
+ import { useCallWithChatCompositeStrings } from './hooks/useCallWithChatCompositeStrings';
19
23
  import { drawerContainerStyles } from '../CallComposite/styles/CallComposite.styles';
20
24
  const CallWithChatScreen = (props) => {
21
25
  const { callWithChatAdapter, fluentTheme, formFactor = 'desktop' } = props;
@@ -52,6 +56,8 @@ const CallWithChatScreen = (props) => {
52
56
  }, [callWithChatAdapter]);
53
57
  const modalLayerHostId = useId('modalLayerhost');
54
58
  const isInLobbyOrConnecting = currentPage === 'lobby';
59
+ /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
60
+ const isInLocalHold = currentPage === 'hold';
55
61
  const hasJoinedCall = !!(currentPage && hasJoinedCallFn(currentPage, currentCallState !== null && currentCallState !== void 0 ? currentCallState : 'None'));
56
62
  const showControlBar = isInLobbyOrConnecting || hasJoinedCall;
57
63
  const isMobileWithActivePane = mobileView && hasJoinedCall && activePane !== 'none';
@@ -113,32 +119,82 @@ const CallWithChatScreen = (props) => {
113
119
  // We only set `display` to `none` instead of unmounting the call composite component tree
114
120
  // to avoid the performance cost of rerendering video streams when we later show the composite again.
115
121
  const callCompositeContainerCSS = useMemo(() => {
116
- return {
117
- display: isMobileWithActivePane ? 'none' : 'flex'
118
- };
122
+ return { display: isMobileWithActivePane ? 'none' : 'flex' };
119
123
  }, [isMobileWithActivePane]);
124
+ /* @conditional-compile-remove(PSTN-calls) */
125
+ const [showDtmfDialpad, setShowDtmfDialpad] = useState(false);
126
+ /* @conditional-compile-remove(PSTN-calls) */
127
+ const onDismissDtmfDialpad = () => {
128
+ setShowDtmfDialpad(false);
129
+ };
130
+ /* @conditional-compile-remove(PSTN-calls) */
131
+ const onClickShowDialpad = () => {
132
+ setShowDtmfDialpad(true);
133
+ };
134
+ /* @conditional-compile-remove(PSTN-calls) */
135
+ const callWithChatStrings = useCallWithChatCompositeStrings();
136
+ /* @conditional-compile-remove(PSTN-calls) */
137
+ const dialpadStrings = useMemo(() => ({
138
+ dialpadModalAriaLabel: callWithChatStrings.dialpadModalAriaLabel,
139
+ dialpadCloseModalButtonAriaLabel: callWithChatStrings.dialpadCloseModalButtonAriaLabel,
140
+ placeholderText: callWithChatStrings.dtmfDialpadPlaceholderText
141
+ }), [callWithChatStrings]);
142
+ /* @conditional-compile-remove(PSTN-calls) */
143
+ const alternateCallerId = callAdapter.getState().alternateCallerId;
120
144
  const callCompositeOptions = useMemo(() => ({
121
- callControls: false
122
- }), []);
123
- return React.createElement("div", { ref: containerRef, className: mergeStyles(containerDivStyles) },
145
+ callControls: false,
146
+ /* @conditional-compile-remove(call-readiness) */
147
+ deviceChecks: props.deviceChecks,
148
+ /* @conditional-compile-remove(call-readiness) */
149
+ onNetworkingTroubleShootingClick: props.onNetworkingTroubleShootingClick,
150
+ /* @conditional-compile-remove(call-readiness) */
151
+ onPermissionsTroubleshootingClick: props.onPermissionsTroubleshootingClick,
152
+ /* @conditional-compile-remove(unsupported-browser) */
153
+ onEnvironmentInfoTroubleshootingClick: props.onEnvironmentInfoTroubleshootingClick
154
+ }), [
155
+ /* @conditional-compile-remove(call-readiness) */
156
+ props.deviceChecks,
157
+ /* @conditional-compile-remove(unsupported-browser) */
158
+ props.onEnvironmentInfoTroubleshootingClick,
159
+ /* @conditional-compile-remove(call-readiness) */
160
+ props.onNetworkingTroubleShootingClick,
161
+ /* @conditional-compile-remove(call-readiness) */
162
+ props.onPermissionsTroubleshootingClick
163
+ ]);
164
+ return (React.createElement("div", { ref: containerRef, className: mergeStyles(containerDivStyles) },
124
165
  React.createElement(Stack, { verticalFill: true, grow: true, styles: compositeOuterContainerStyles, id: compositeParentDivId },
125
166
  React.createElement(Stack, { horizontal: true, grow: true },
126
167
  React.createElement(Stack.Item, { grow: true, styles: callCompositeContainerStyles,
127
168
  // Perf: Instead of removing the video gallery from DOM, we hide it to prevent re-renders.
128
169
  style: callCompositeContainerCSS },
129
170
  React.createElement(CallComposite, Object.assign({}, props, { formFactor: formFactor, options: callCompositeOptions, adapter: callAdapter, fluentTheme: fluentTheme }))),
130
- chatProps.adapter && callAdapter && hasJoinedCall && React.createElement(CallWithChatPane, { chatCompositeProps: chatProps, inviteLink: props.joinInvitationURL, onClose: closePane, chatAdapter: chatProps.adapter, callAdapter: callAdapter, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, onChatButtonClicked: showShowChatTabHeaderButton(props.callControls) ? selectChat : undefined, onPeopleButtonClicked: showShowPeopleTabHeaderButton(props.callControls) ? selectPeople : undefined, modalLayerHostId: modalLayerHostId, mobileView: mobileView, activePane: activePane, rtl: props.rtl, callControls: typeof props.callControls !== 'boolean' ? props.callControls : undefined })),
131
- showControlBar && !isMobileWithActivePane && React.createElement(ChatAdapterProvider, { adapter: chatProps.adapter },
171
+ chatProps.adapter && callAdapter && hasJoinedCall && (React.createElement(CallWithChatPane, { chatCompositeProps: chatProps, inviteLink: props.joinInvitationURL, onClose: closePane, chatAdapter: chatProps.adapter, callAdapter: callAdapter, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, onChatButtonClicked: showShowChatTabHeaderButton(props.callControls) ? selectChat : undefined, onPeopleButtonClicked: showShowPeopleTabHeaderButton(props.callControls) ? selectPeople : undefined, modalLayerHostId: modalLayerHostId, mobileView: mobileView, activePane: activePane,
172
+ /* @conditional-compile-remove(file-sharing) */
173
+ fileSharing: props.fileSharing, rtl: props.rtl, callControls: typeof props.callControls !== 'boolean' ? props.callControls : undefined }))),
174
+ showControlBar && !isMobileWithActivePane && (React.createElement(ChatAdapterProvider, { adapter: chatProps.adapter },
132
175
  React.createElement(Stack.Item, { styles: controlBarContainerStyles },
133
- React.createElement(CallWithChatControlBar, { callAdapter: callAdapter, chatAdapter: chatProps.adapter, chatButtonChecked: activePane === 'chat', onChatButtonClicked: toggleChat, peopleButtonChecked: activePane === 'people', onPeopleButtonClicked: togglePeople, onMoreButtonClicked: onMoreButtonClicked, mobileView: mobileView, disableButtonsForLobbyPage: isInLobbyOrConnecting, callControls: props.callControls, containerHeight: containerHeight, containerWidth: containerWidth }))),
134
- showControlBar && showDrawer && React.createElement(ChatAdapterProvider, { adapter: chatProps.adapter },
176
+ React.createElement(CallWithChatControlBar, { callAdapter: callAdapter, chatAdapter: chatProps.adapter, chatButtonChecked: activePane === 'chat', onChatButtonClicked: toggleChat, peopleButtonChecked: activePane === 'people', onPeopleButtonClicked: togglePeople, onMoreButtonClicked: onMoreButtonClicked, mobileView: mobileView, disableButtonsForLobbyPage: isInLobbyOrConnecting,
177
+ /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
178
+ disableButtonsForHoldScreen: isInLocalHold, callControls: props.callControls, containerHeight: containerHeight, containerWidth: containerWidth,
179
+ /* @conditional-compile-remove(PSTN-calls) */
180
+ onClickShowDialpad: alternateCallerId ? onClickShowDialpad : undefined })))),
181
+ showControlBar && showDrawer && (React.createElement(ChatAdapterProvider, { adapter: chatProps.adapter },
182
+ React.createElement(CallAdapterProvider, { adapter: callAdapter },
183
+ React.createElement(Stack, { styles: drawerContainerStyles() },
184
+ React.createElement(PreparedMoreDrawer, { callControls: props.callControls, onLightDismiss: closeDrawer, onPeopleButtonClicked: onMoreDrawerPeopleClicked,
185
+ /* @conditional-compile-remove(PSTN-calls) */
186
+ onClickShowDialpad: alternateCallerId ? onClickShowDialpad : undefined,
187
+ /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
188
+ disableButtonsForHoldScreen: isInLocalHold }))))),
189
+ /* @conditional-compile-remove(PSTN-calls) */
190
+ showControlBar && showDtmfDialpad && (React.createElement(ChatAdapterProvider, { adapter: chatProps.adapter },
135
191
  React.createElement(CallAdapterProvider, { adapter: callAdapter },
136
192
  React.createElement(Stack, { styles: drawerContainerStyles() },
137
- React.createElement(PreparedMoreDrawer, { callControls: props.callControls, onLightDismiss: closeDrawer, onPeopleButtonClicked: onMoreDrawerPeopleClicked })))),
193
+ React.createElement(SendDtmfDialpad, { isMobile: mobileView, strings: dialpadStrings, showDialpad: showDtmfDialpad, onDismissDialpad: onDismissDtmfDialpad }))))),
138
194
  // This layer host is for ModalLocalAndRemotePIP in CallWithChatPane. This LayerHost cannot be inside the CallWithChatPane
139
195
  // because when the CallWithChatPane is hidden, ie. style property display is 'none', it takes up no space. This causes problems when dragging
140
196
  // the Modal because the draggable bounds thinks it has no space and will always return to its initial position after dragging.
141
- mobileView && React.createElement(LayerHost, { id: modalLayerHostId, className: mergeStyles(modalLayerHostStyle) })));
197
+ mobileView && React.createElement(LayerHost, { id: modalLayerHostId, className: mergeStyles(modalLayerHostStyle) }))));
142
198
  };
143
199
  /**
144
200
  * CallWithChatComposite brings together key components to provide a full call with chat experience out of the box.
@@ -147,10 +203,18 @@ const CallWithChatScreen = (props) => {
147
203
  */
148
204
  export const CallWithChatComposite = (props) => {
149
205
  const { adapter, fluentTheme, rtl, formFactor, joinInvitationURL, options } = props;
150
- return React.createElement(BaseProvider, { fluentTheme: fluentTheme, rtl: rtl, locale: props.locale, icons: props.icons },
151
- React.createElement(CallWithChatScreen, Object.assign({}, props, { callWithChatAdapter: adapter, formFactor: formFactor, callControls: options === null || options === void 0 ? void 0 : options.callControls, joinInvitationURL: joinInvitationURL, fluentTheme: fluentTheme })));
206
+ return (React.createElement(BaseProvider, { fluentTheme: fluentTheme, rtl: rtl, locale: props.locale, icons: props.icons },
207
+ React.createElement(CallWithChatScreen, Object.assign({}, props, {
208
+ /* @conditional-compile-remove(call-readiness) */
209
+ deviceChecks: options === null || options === void 0 ? void 0 : options.deviceChecks, callWithChatAdapter: adapter, formFactor: formFactor, callControls: options === null || options === void 0 ? void 0 : options.callControls, joinInvitationURL: joinInvitationURL, fluentTheme: fluentTheme,
210
+ /* @conditional-compile-remove(file-sharing) */
211
+ fileSharing: options === null || options === void 0 ? void 0 : options.fileSharing }))));
152
212
  };
153
213
  const hasJoinedCallFn = (page, callStatus) => {
214
+ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(one-to-n-calling) */
215
+ return ((page === 'call' &&
216
+ (callStatus === 'Connected' || callStatus === 'RemoteHold' || callStatus === 'Disconnecting')) ||
217
+ (page === 'hold' && (callStatus === 'LocalHold' || callStatus === 'Disconnecting')));
154
218
  return page === 'call' && (callStatus === 'Connected' || callStatus === 'Disconnecting');
155
219
  };
156
220
  const showShowChatTabHeaderButton = (callControls) => {