@azure/communication-react 1.5.1-beta.3 → 1.5.1-beta.5

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 (864) hide show
  1. package/CHANGELOG.beta.md +55 -1
  2. package/CHANGELOG.json +489 -0
  3. package/dist/communication-react.d.ts +275 -20
  4. package/dist/dist-cjs/communication-react/index.js +5866 -4916
  5. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  6. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  17. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  18. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  19. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  20. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  21. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  22. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +4 -4
  23. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  24. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.d.ts +0 -1
  25. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +18 -2
  26. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
  27. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +57 -20
  28. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  29. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +4 -0
  30. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +60 -20
  31. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  32. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +2 -2
  33. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -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.js +6 -2
  36. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  37. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  39. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  40. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  41. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +10 -17
  43. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  44. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  45. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  46. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +3 -6
  47. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  48. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  49. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  50. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +5 -7
  52. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  53. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  54. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +8 -13
  55. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  56. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +5 -18
  57. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  58. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  59. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -1
  60. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  61. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +71 -61
  62. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  63. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +18 -1
  64. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  65. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +4 -1
  66. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +26 -10
  67. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  68. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +8 -7
  69. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  70. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +77 -68
  71. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  72. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  73. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  74. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +1 -0
  75. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +25 -1
  76. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  77. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  78. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +4 -0
  79. package/dist/dist-esm/calling-stateful-client/src/Converter.js +21 -6
  80. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  81. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.d.ts +9 -0
  82. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +63 -54
  83. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  84. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +16 -14
  85. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  86. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  87. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.d.ts +1 -0
  88. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +40 -5
  89. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  90. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.d.ts +28 -0
  91. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js +49 -0
  92. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js.map +1 -0
  93. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  94. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  95. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  96. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  97. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +67 -65
  98. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +31 -33
  100. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  101. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js +11 -8
  102. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js.map +1 -1
  103. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +1 -1
  104. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
  105. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +8 -7
  106. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  107. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  108. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +1 -1
  109. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  110. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +3 -3
  111. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  112. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js +7 -6
  113. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -1
  114. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +1 -0
  115. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  116. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  117. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +4 -4
  118. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  119. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +3 -3
  120. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  121. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +14 -13
  122. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  123. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +1 -1
  124. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +10 -3
  125. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  126. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  127. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  128. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  129. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  130. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +10 -25
  131. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  132. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  133. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  134. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  135. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  136. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +7 -3
  137. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  138. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +1 -3
  139. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  140. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  141. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -10
  142. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  143. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  144. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +9 -5
  145. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  146. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  147. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +10 -7
  148. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  149. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  150. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +67 -57
  151. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  152. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +127 -113
  153. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  154. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +1 -3
  155. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  156. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  157. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  158. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  159. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  160. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  161. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  162. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  163. package/dist/dist-esm/communication-react/src/index.d.ts +1 -1
  164. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  165. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  166. package/dist/dist-esm/northstar-wrapper/src/index.js +2 -0
  167. package/dist/dist-esm/northstar-wrapper/src/index.js.LICENSE.txt +41 -0
  168. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.d.ts +20 -0
  169. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js +47 -0
  170. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js.map +1 -0
  171. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.d.ts +10 -0
  172. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.js +14 -0
  173. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.js.map +1 -0
  174. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.d.ts +10 -0
  175. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js +29 -0
  176. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js.map +1 -0
  177. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.d.ts +7 -0
  178. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js +32 -0
  179. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js.map +1 -0
  180. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.d.ts +9 -0
  181. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js +10 -0
  182. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js.map +1 -0
  183. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.d.ts +8 -0
  184. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js +19 -0
  185. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js.map +1 -0
  186. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  187. package/dist/dist-esm/react-components/src/components/CameraButton.d.ts +8 -0
  188. package/dist/dist-esm/react-components/src/components/CameraButton.js +36 -12
  189. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  190. package/dist/dist-esm/react-components/src/components/Caption.js +2 -3
  191. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
  192. package/dist/dist-esm/react-components/src/components/CaptionsBanner.d.ts +1 -0
  193. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +7 -8
  194. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  195. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js +14 -16
  196. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -1
  197. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.d.ts +1 -1
  198. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +9 -8
  199. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  200. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +17 -36
  201. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  202. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.d.ts +1 -2
  203. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +8 -13
  204. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  205. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +33 -23
  206. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  207. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.d.ts +1 -2
  208. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +33 -53
  209. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  210. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +49 -63
  211. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  212. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  213. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  214. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +4 -7
  215. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  216. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +2 -2
  217. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  218. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  219. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  220. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  221. package/dist/dist-esm/react-components/src/components/ControlBar.js +14 -10
  222. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  223. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +4 -14
  224. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  225. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +14 -3
  226. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  227. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +10 -4
  228. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -1
  229. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +31 -14
  230. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -1
  231. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js +8 -5
  232. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
  233. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +6 -24
  234. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -1
  235. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +20 -12
  236. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +1 -1
  237. package/dist/dist-esm/react-components/src/components/DevicesButton.js +21 -16
  238. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  239. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +44 -36
  240. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  241. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js +4 -4
  242. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  243. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +6 -2
  244. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  245. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +6 -6
  246. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  247. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +23 -11
  248. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  249. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +3 -3
  250. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  251. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  252. package/dist/dist-esm/react-components/src/components/EndCallButton.js +7 -3
  253. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  254. package/dist/dist-esm/react-components/src/components/ErrorBar.d.ts +4 -0
  255. package/dist/dist-esm/react-components/src/components/ErrorBar.js +4 -2
  256. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  257. package/dist/dist-esm/react-components/src/components/FileCard.js +3 -2
  258. package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
  259. package/dist/dist-esm/react-components/src/components/FileCardGroup.js +1 -1
  260. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
  261. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +10 -9
  262. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  263. package/dist/dist-esm/react-components/src/components/FileUploadCards.js +7 -8
  264. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
  265. package/dist/dist-esm/react-components/src/components/GridLayout.js +37 -37
  266. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  267. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +2 -2
  268. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  269. package/dist/dist-esm/react-components/src/components/HoldButton.js +1 -1
  270. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -1
  271. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +9 -7
  272. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  273. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +1 -1
  274. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +46 -10
  275. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  276. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +5 -3
  277. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  278. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +9 -27
  279. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  280. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js +40 -27
  281. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  282. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +2 -3
  283. package/dist/dist-esm/react-components/src/components/MessageThread.js +92 -157
  284. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  285. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +14 -17
  286. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  287. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +101 -94
  288. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  289. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +17 -15
  290. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  291. package/dist/dist-esm/react-components/src/components/ParticipantList.js +10 -20
  292. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  293. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +32 -46
  294. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  295. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  296. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  297. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  298. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  299. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +14 -29
  300. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  301. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +2 -2
  302. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  303. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js +2 -2
  304. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +1 -1
  305. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +14 -6
  306. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  307. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +4 -4
  308. package/dist/dist-esm/react-components/src/components/SendBox.js +27 -23
  309. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  310. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +2 -2
  311. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  312. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  313. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js +4 -2
  314. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -1
  315. package/dist/dist-esm/react-components/src/components/StreamMedia.js +3 -3
  316. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  317. package/dist/dist-esm/react-components/src/components/SystemMessage.d.ts +1 -1
  318. package/dist/dist-esm/react-components/src/components/SystemMessage.js +4 -2
  319. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  320. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +10 -10
  321. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  322. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +6 -9
  323. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  324. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +1 -1
  325. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  326. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +1 -1
  327. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  328. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +8 -4
  329. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  330. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +1 -1
  331. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  332. package/dist/dist-esm/react-components/src/components/VerticalGallery.js +34 -19
  333. package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
  334. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js +1 -3
  335. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js.map +1 -1
  336. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +17 -5
  337. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  338. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.d.ts +1 -1
  339. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js +16 -57
  340. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
  341. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.d.ts +11 -0
  342. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +53 -0
  343. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -0
  344. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +16 -37
  345. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  346. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +10 -10
  347. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  348. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +25 -56
  349. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  350. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  351. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +7 -7
  352. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  353. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +5 -16
  354. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
  355. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +6 -8
  356. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  357. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +4 -2
  358. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -1
  359. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js +6 -1
  360. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js.map +1 -1
  361. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +32 -7
  362. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  363. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js +11 -2
  364. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js.map +1 -1
  365. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js.map +1 -1
  366. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +1 -1
  367. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  368. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteVideoTile.styles.js.map +1 -1
  369. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +3 -1
  370. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -1
  371. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +11 -10
  372. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
  373. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js +28 -22
  374. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -1
  375. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +5 -10
  376. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  377. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +29 -18
  378. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  379. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js.map +1 -1
  380. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +24 -39
  381. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  382. package/dist/dist-esm/react-components/src/components/VideoGallery.js +27 -90
  383. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  384. package/dist/dist-esm/react-components/src/components/VideoTile.js +52 -34
  385. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  386. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  387. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -1
  388. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js +4 -3
  389. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  390. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -1
  391. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +12 -3
  392. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  393. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -1
  394. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  395. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  396. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js +6 -7
  397. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  398. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  399. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  400. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js.map +1 -1
  401. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.d.ts +3 -3
  402. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +11 -12
  403. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  404. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  405. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +1 -1
  406. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +12 -3
  407. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  408. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +1 -0
  409. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  410. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  411. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.d.ts +0 -4
  412. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +10 -8
  413. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  414. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +1 -1
  415. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +3 -0
  416. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  417. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  418. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +1 -0
  419. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  420. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  421. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +1 -1
  422. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js.map +1 -1
  423. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +13 -2
  424. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  425. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  426. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  427. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  428. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  429. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  430. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +7 -4
  431. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  432. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  433. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -1
  434. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js.map +1 -1
  435. package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
  436. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  437. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js +1 -10
  438. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  439. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js +3 -1
  440. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js.map +1 -1
  441. package/dist/dist-esm/react-components/src/components/utils.js +13 -10
  442. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  443. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +6 -8
  444. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  445. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  446. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  447. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  448. package/dist/dist-esm/react-components/src/index.d.ts +1 -1
  449. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  450. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  451. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  452. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +7 -2
  453. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +7 -2
  454. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +5 -1
  455. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +7 -2
  456. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +7 -2
  457. package/dist/dist-esm/react-components/src/localization/locales/index.js +42 -14
  458. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  459. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +7 -2
  460. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +7 -2
  461. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +7 -2
  462. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +7 -2
  463. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +7 -2
  464. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +7 -2
  465. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +7 -2
  466. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +7 -2
  467. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +7 -2
  468. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js.map +1 -1
  469. package/dist/dist-esm/react-components/src/permissions/index.js.map +1 -1
  470. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +7 -4
  471. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  472. package/dist/dist-esm/react-components/src/theming/icons.d.ts +2 -0
  473. package/dist/dist-esm/react-components/src/theming/icons.js +44 -25
  474. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  475. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -1
  476. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  477. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  478. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  479. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js.map +1 -1
  480. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  481. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  482. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.d.ts +9 -0
  483. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.js +4 -0
  484. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.js.map +1 -0
  485. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  486. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  487. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  488. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  489. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  490. package/dist/dist-esm/react-components/src/types/index.d.ts +1 -0
  491. package/dist/dist-esm/react-components/src/types/index.js +1 -0
  492. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  493. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +12 -0
  494. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +50 -41
  495. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  496. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +36 -0
  497. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  498. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +23 -5
  499. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +122 -93
  500. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  501. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +107 -0
  502. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -9
  503. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  504. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  505. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  506. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js +3 -1
  507. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -1
  508. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  509. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +2 -2
  510. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  511. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +1 -0
  512. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  513. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +4 -0
  514. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +95 -81
  515. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  516. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +47 -22
  517. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  518. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +141 -133
  519. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -1
  520. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +7 -1
  521. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  522. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +1 -1
  523. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  524. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +7 -1
  525. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  526. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +4 -5
  527. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  528. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +4 -4
  529. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -1
  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 +22 -32
  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 +30 -33
  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 +40 -18
  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.js +29 -27
  540. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  541. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  542. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  543. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +2 -2
  544. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  545. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.d.ts +14 -0
  546. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +55 -0
  547. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -0
  548. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.d.ts +58 -0
  549. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.js +31 -0
  550. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.js.map +1 -0
  551. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.d.ts +17 -0
  552. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +47 -0
  553. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -0
  554. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.d.ts +9 -0
  555. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +75 -0
  556. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -0
  557. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  558. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  559. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.d.ts +5 -4
  560. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +2 -1
  561. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  562. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.d.ts +2 -7
  563. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +6 -9
  564. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +1 -1
  565. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +11 -19
  566. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  567. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +2 -5
  568. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  569. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +6 -8
  570. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  571. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +2 -5
  572. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  573. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +1 -1
  574. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -1
  575. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +1 -1
  576. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  577. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +8 -8
  578. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  579. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +15 -7
  580. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  581. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  582. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  583. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  584. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +2 -0
  585. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  586. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +4 -0
  587. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +3 -7
  588. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  589. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +2 -0
  590. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +71 -71
  591. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  592. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +4 -0
  593. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +7 -15
  594. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  595. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.d.ts +4 -0
  596. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +7 -17
  597. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  598. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +2 -2
  599. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  600. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +3 -3
  601. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -1
  602. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  603. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  604. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  605. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.d.ts +7 -0
  606. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js +20 -0
  607. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +1 -0
  608. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +10 -0
  609. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +10 -0
  610. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  611. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  612. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  613. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  614. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  615. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  616. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  617. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  618. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +2 -2
  619. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +5 -7
  620. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  621. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +1 -1
  622. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +1 -1
  623. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  624. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +4 -4
  625. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  626. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  627. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -4
  628. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  629. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  630. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  631. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  632. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +5 -5
  633. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +4 -4
  634. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  635. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  636. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  637. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  638. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +2 -2
  639. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  640. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/videoBackgroundErrorsSelector.d.ts +7 -0
  641. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/videoBackgroundErrorsSelector.js +17 -0
  642. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/videoBackgroundErrorsSelector.js.map +1 -0
  643. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  644. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  645. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +6 -2
  646. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  647. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.d.ts +9 -1
  648. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +50 -7
  649. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  650. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  651. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.d.ts +4 -0
  652. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +4 -1
  653. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  654. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +4 -1
  655. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  656. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -1
  657. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +4 -1
  658. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  659. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  660. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +1 -0
  661. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  662. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  663. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  664. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +1 -0
  665. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  666. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +10 -2
  667. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  668. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +11 -9
  669. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  670. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +22 -1
  671. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +46 -32
  672. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  673. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  674. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +104 -164
  675. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  676. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/{ChatButton.d.ts → ChatButton/ChatButton.d.ts} +1 -1
  677. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/{ChatButton.js → ChatButton/ChatButton.js} +2 -2
  678. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js.map +1 -0
  679. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/{ChatButtonWithUnreadMessagesBadge.d.ts → ChatButton/ChatButtonWithUnreadMessagesBadge.d.ts} +2 -2
  680. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/{ChatButtonWithUnreadMessagesBadge.js → ChatButton/ChatButtonWithUnreadMessagesBadge.js} +10 -12
  681. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js.map +1 -0
  682. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/{NotificationIcon.js → ChatButton/NotificationIcon.js} +6 -3
  683. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js.map +1 -0
  684. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  685. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +8 -1
  686. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +47 -48
  687. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  688. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +34 -0
  689. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  690. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +7 -0
  691. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +31 -1
  692. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  693. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  694. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js +1 -1
  695. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  696. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  697. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  698. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +1 -1
  699. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  700. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +5 -0
  701. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +10 -2
  702. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  703. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  704. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +2 -2
  705. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  706. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +5 -3
  707. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  708. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +19 -21
  709. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  710. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +1 -1
  711. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -1
  712. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +5 -3
  713. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +1 -1
  714. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  715. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -2
  716. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +42 -39
  717. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  718. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +20 -15
  719. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  720. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -2
  721. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  722. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  723. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
  724. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +6 -11
  725. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  726. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js.map +1 -1
  727. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  728. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +5 -3
  729. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  730. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +1 -3
  731. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  732. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  733. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +1 -1
  734. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -1
  735. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  736. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -1
  737. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +6 -6
  738. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +5 -3
  739. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +1 -1
  740. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +6 -2
  741. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  742. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +9 -9
  743. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  744. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +26 -24
  745. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  746. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -1
  747. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +3 -8
  748. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  749. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +14 -5
  750. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  751. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +23 -9
  752. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  753. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -1
  754. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +8 -7
  755. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -1
  756. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js +16 -12
  757. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -1
  758. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js +1 -1
  759. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js.map +1 -1
  760. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +5 -1
  761. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  762. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +5 -5
  763. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +52 -55
  764. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  765. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js +27 -31
  766. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  767. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +44 -22
  768. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  769. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js +1 -1
  770. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -1
  771. package/dist/dist-esm/react-composites/src/composites/common/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -0
  772. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +65 -33
  773. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  774. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +1 -1
  775. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  776. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.js +7 -10
  777. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.js.map +1 -1
  778. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.styles.js.map +1 -1
  779. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js +1 -1
  780. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js.map +1 -1
  781. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +7 -9
  782. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  783. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  784. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  785. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +8 -6
  786. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  787. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +0 -9
  788. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +34 -25
  789. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  790. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +15 -7
  791. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +1 -1
  792. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +1 -1
  793. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.d.ts +4 -4
  794. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +44 -7
  795. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  796. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.d.ts +8 -5
  797. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +19 -12
  798. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  799. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.d.ts +12 -0
  800. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +140 -0
  801. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -0
  802. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  803. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  804. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +6 -0
  805. package/dist/dist-esm/react-composites/src/composites/common/icons.js +10 -4
  806. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  807. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.js.map +1 -1
  808. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  809. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +16 -5
  810. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  811. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +51 -12
  812. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  813. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.d.ts +4 -0
  814. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +32 -5
  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 +22 -4
  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/types/CommonCallControlOptions.d.ts +8 -0
  819. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  820. package/dist/dist-esm/react-composites/src/composites/common/utils.js +12 -17
  821. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  822. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  823. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  824. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  825. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  826. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +5 -1
  827. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +5 -1
  828. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +5 -1
  829. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +5 -1
  830. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +5 -1
  831. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  832. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +5 -1
  833. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +5 -1
  834. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +5 -1
  835. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +5 -1
  836. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +5 -1
  837. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +5 -1
  838. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +5 -1
  839. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +5 -1
  840. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +5 -1
  841. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  842. package/package.json +28 -27
  843. package/dist/dist-esm/react-components/src/components/VoiceOverButton.d.ts +0 -7
  844. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js +0 -32
  845. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js.map +0 -1
  846. package/dist/dist-esm/react-components/src/components/styles/VoiceOverButton.style.d.ts +0 -9
  847. package/dist/dist-esm/react-components/src/components/styles/VoiceOverButton.style.js +0 -26
  848. package/dist/dist-esm/react-components/src/components/styles/VoiceOverButton.style.js.map +0 -1
  849. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.d.ts +0 -24
  850. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js +0 -80
  851. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js.map +0 -1
  852. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.d.ts +0 -16
  853. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js +0 -38
  854. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js.map +0 -1
  855. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.d.ts +0 -34
  856. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js +0 -90
  857. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js.map +0 -1
  858. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js.map +0 -1
  859. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js.map +0 -1
  860. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.js.map +0 -1
  861. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js.map +0 -1
  862. /package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/{NotificationIcon.d.ts → ChatButton/NotificationIcon.d.ts} +0 -0
  863. /package/dist/dist-esm/react-composites/src/composites/{CallWithChatComposite → common}/ConvertContextualMenuItemToDrawerMenuItem.d.ts +0 -0
  864. /package/dist/dist-esm/react-composites/src/composites/{CallWithChatComposite → common}/ConvertContextualMenuItemToDrawerMenuItem.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/utils/Utils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { CallAdapterState, CallCompositePage, END_CALL_PAGES } from '../adapter/CallAdapter';\nimport { _isInCall, _isPreviewOn, _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport { CallControlOptions } from '../types/CallControlOptions';\nimport { CallState, RemoteParticipantState } 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';\nimport { AdapterStateModifier } from '../adapter/AzureCommunicationCallAdapter';\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 =\n (callControlOptions instanceof Object ? ({ ...callControlOptions } as CallControlOptions) : callControlOptions) ??\n {};\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\n/**\n * @private\n * This is the util function to create a participant modifier for remote participantList\n * It memoize previous original participant items and only update the changed participant\n * It takes in one modifier function to generate one single participant object, it returns undefined if the object keeps unmodified\n */\nexport const createParticipantModifier = (\n createModifiedParticipant: (id: string, participant: RemoteParticipantState) => RemoteParticipantState | undefined\n): AdapterStateModifier => {\n let previousParticipantState:\n | {\n [keys: string]: RemoteParticipantState;\n }\n | undefined = undefined;\n let modifiedParticipants = {};\n const memoizedParticipants: {\n [id: string]: { originalRef: RemoteParticipantState; newParticipant: RemoteParticipantState };\n } = {};\n\n return (state: CallAdapterState) => {\n // if root state is the same, we don't need to update the participants\n if (state.call?.remoteParticipants !== previousParticipantState) {\n modifiedParticipants = {};\n const originalParticipants = state.call?.remoteParticipants;\n for (const key in originalParticipants) {\n const modifiedParticipant = createModifiedParticipant(key, originalParticipants[key]);\n if (modifiedParticipant === undefined) {\n modifiedParticipants[key] = originalParticipants[key];\n continue;\n }\n // Generate the new item if original cached item has been changed\n if (memoizedParticipants[key]?.originalRef !== originalParticipants[key]) {\n memoizedParticipants[key] = {\n newParticipant: modifiedParticipant,\n originalRef: originalParticipants[key]\n };\n }\n\n // the modified participant is always coming from the memoized cache, whether is was refreshed\n // from the previous closure or not\n modifiedParticipants[key] = memoizedParticipants[key].newParticipant;\n }\n\n previousParticipantState = state.call?.remoteParticipants;\n }\n return {\n ...state,\n call: state.call\n ? {\n ...state.call,\n remoteParticipants: modifiedParticipants\n }\n : undefined\n };\n };\n};\n\"../../../../../calling-component-bindings/src\"\"../../../../../calling-stateful-client/src\""]}
1
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/utils/Utils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { CallAdapterState, CallCompositePage, END_CALL_PAGES } from '../adapter/CallAdapter';\nimport { _isInCall, _isPreviewOn, _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport { CallControlOptions } from '../types/CallControlOptions';\nimport { CallState, RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { CommunicationIdentifier, isCommunicationUserIdentifier, isMicrosoftTeamsUserIdentifier, isPhoneNumberIdentifier, isUnknownIdentifier } from '@azure/communication-common';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { EnvironmentInfo } from '@azure/communication-calling';\nimport { AdapterStateModifier } from '../adapter/AzureCommunicationCallAdapter';\nimport { AdapterError } from '../../common/adapters';\n/* @conditional-compile-remove(video-background-effects) */\nimport { BackgroundBlurEffect, BackgroundReplacementEffect } from '@azure/communication-calling-effects';\n/* @conditional-compile-remove(video-background-effects) */\nimport { SelectedVideoBackgroundEffect } from '../adapter/CallAdapter';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoDeviceInfo, VideoEffectProcessor } from '@azure/communication-calling';\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 = (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\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 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) & /* @conditional-compile-remove(unsupported-browser) */((call: CallState | undefined, previousCall: CallState | undefined, unsupportedBrowserInfo?: {\n environmentInfo?: EnvironmentInfo;\n unsupportedBrowserVersionOptedIn?: boolean;\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 = (call, previousCall?, unsupportedBrowserInfo?): CallCompositePage => {\n /* @conditional-compile-remove(unsupported-browser) */\n if (isUnsupportedEnvironment(unsupportedBrowserInfo.environmentInfo, unsupportedBrowserInfo.unsupportedBrowserVersionOptedIn)) {\n return 'unsupportedEnvironment';\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 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 = (page: 'accessDeniedTeamsMeeting' | 'call' | 'configuration' | 'joinCallFailedDueToNoNetwork' | 'leftCall' | 'lobby' | 'removedFromCall' | /* @conditional-compile-remove(PSTN-calls) */'hold' | /* @conditional-compile-remove(rooms) */'roomNotFound' | /* @conditional-compile-remove(rooms) */'deniedPermissionToRoom' | /* @conditional-compile-remove(unsupported-browser) */'unsupportedEnvironment'): boolean => 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 } as CallControlOptions) : 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/* @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({\n name: ('camera' as PermissionName)\n })).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({\n name: ('microphone' as PermissionName)\n })).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 (setVideoState: (state: PermissionState | 'unsupported') => void, setAudioState: (state: PermissionState | 'unsupported') => void): Promise<void> => {\n const [cameraResult, microphoneResult] = await Promise.all([queryCameraPermissionFromPermissionsAPI(), queryMicrophonePermissionFromPermissionsAPI()]);\n setVideoState(cameraResult);\n setAudioState(microphoneResult);\n};\n/* @conditional-compile-remove(unsupported-browser) */\nconst isUnsupportedEnvironment = (environmentInfo?: EnvironmentInfo, unsupportedBrowserVersionOptedIn?: boolean): boolean => {\n return !!(environmentInfo?.isSupportedBrowser === false || environmentInfo?.isSupportedBrowserVersion === false && !unsupportedBrowserVersionOptedIn || environmentInfo?.isSupportedPlatform === false);\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 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 | /* @conditional-compile-remove(unsupported-browser) */EnvironmentInfo): 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\n/**\n * @private\n * This is the util function to create a participant modifier for remote participantList\n * It memoize previous original participant items and only update the changed participant\n * It takes in one modifier function to generate one single participant object, it returns undefined if the object keeps unmodified\n */\nexport const createParticipantModifier = (createModifiedParticipant: (id: string, participant: RemoteParticipantState) => RemoteParticipantState | undefined): AdapterStateModifier => {\n let previousParticipantState: {\n [keys: string]: RemoteParticipantState;\n } | undefined = undefined;\n let modifiedParticipants = {};\n const memoizedParticipants: {\n [id: string]: {\n originalRef: RemoteParticipantState;\n newParticipant: RemoteParticipantState;\n };\n } = {};\n return (state: CallAdapterState) => {\n // if root state is the same, we don't need to update the participants\n if (state.call?.remoteParticipants !== previousParticipantState) {\n modifiedParticipants = {};\n const originalParticipants = state.call?.remoteParticipants;\n for (const key in originalParticipants) {\n const modifiedParticipant = createModifiedParticipant(key, originalParticipants[key]);\n if (modifiedParticipant === undefined) {\n modifiedParticipants[key] = originalParticipants[key];\n continue;\n }\n // Generate the new item if original cached item has been changed\n if (memoizedParticipants[key]?.originalRef !== originalParticipants[key]) {\n memoizedParticipants[key] = {\n newParticipant: modifiedParticipant,\n originalRef: originalParticipants[key]\n };\n }\n\n // the modified participant is always coming from the memoized cache, whether is was refreshed\n // from the previous closure or not\n modifiedParticipants[key] = memoizedParticipants[key].newParticipant;\n }\n previousParticipantState = state.call?.remoteParticipants;\n }\n return {\n ...state,\n call: state.call ? {\n ...state.call,\n remoteParticipants: modifiedParticipants\n } : undefined\n };\n };\n};\n\n/**\n * @private\n */\nexport interface DismissedError {\n dismissedAt: Date;\n activeSince?: Date;\n}\n\n/**\n * @private\n */\nexport const dismissVideoEffectsError = (toDismiss: AdapterError): DismissedError => {\n const now = new Date(Date.now());\n const toDismissTimestamp = toDismiss.timestamp ?? now;\n\n // Record that this error was dismissed for the first time right now.\n return {\n dismissedAt: now > toDismissTimestamp ? now : toDismissTimestamp,\n activeSince: toDismiss.timestamp\n };\n};\n\n/* @conditional-compile-remove(video-background-effects) */\n/** @private */\nexport const getBackgroundEffectFromSelectedEffect = (selectedEffect: SelectedVideoBackgroundEffect | undefined): VideoEffectProcessor | undefined => selectedEffect?.effectName === 'blur' ? new BackgroundBlurEffect() : selectedEffect?.effectName === 'replacement' ? new BackgroundReplacementEffect({\n backgroundImageUrl: selectedEffect.backgroundImageUrl\n}) : undefined;\n\n/* @conditional-compile-remove(video-background-effects) */\n/**\n * @remarks this logic should mimic the onToggleCamera in the common call handlers.\n * @private\n */\nexport const getSelectedCameraFromAdapterState = (state: CallAdapterState): VideoDeviceInfo | undefined => state.devices.selectedCamera || state.devices.cameras[0];\"../../../../../calling-component-bindings/src\"\"../../../../../calling-stateful-client/src\""]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/utils/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,cAAc,SAAS,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport * from './Utils';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/utils/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,cAAc,SAAS,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport * from './Utils';"]}
@@ -1,26 +1,21 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
3
  import React, { useCallback, useState, useMemo, useEffect, useRef } from 'react';
4
- import { LayerHost, mergeStyles, Stack } from '@fluentui/react';
5
- import { CallComposite } from '../CallComposite';
6
- import { CallAdapterProvider } from '../CallComposite/adapter/CallAdapterProvider';
7
- import { CommonCallControlBar } from '../common/ControlBar/CommonCallControlBar';
8
- import { callCompositeContainerStyles, compositeOuterContainerStyles, controlBarContainerStyles } from './styles/CallWithChatCompositeStyles';
4
+ import { mergeStyles, Stack } from '@fluentui/react';
5
+ import { callCompositeContainerStyles, compositeOuterContainerStyles } from './styles/CallWithChatCompositeStyles';
9
6
  import { CallWithChatBackedCallAdapter } from './adapter/CallWithChatBackedCallAdapter';
10
7
  import { CallWithChatBackedChatAdapter } from './adapter/CallWithChatBackedChatAdapter';
8
+ import { ChatComposite } from '../ChatComposite';
11
9
  import { BaseProvider } from '../common/BaseComposite';
12
- import { ChatAdapterProvider } from '../ChatComposite/adapter/ChatAdapterProvider';
13
- import { PreparedMoreDrawer } from '../common/Drawer/PreparedMoreDrawer';
14
- import { _useContainerHeight, _useContainerWidth } from "../../../../react-components/src";
10
+ import { useTheme } from "../../../../react-components/src";
15
11
  import { useId } from '@fluentui/react-hooks';
16
- import { CallWithChatPane } from './CallWithChatPane';
17
12
  import { containerDivStyles } from '../common/ContainerRectProps';
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
13
  import { useCallWithChatCompositeStrings } from './hooks/useCallWithChatCompositeStrings';
23
- import { drawerContainerStyles } from '../CallComposite/styles/CallComposite.styles';
14
+ import { CallCompositeInner } from '../CallComposite/CallComposite';
15
+ import { ChatButtonWithUnreadMessagesBadge } from './ChatButton/ChatButtonWithUnreadMessagesBadge';
16
+ import { getDesktopCommonButtonStyles } from '../common/ControlBar/CommonCallControlBar';
17
+ import { isDisabled } from '../CallComposite/utils';
18
+ import { SidePaneHeader } from '../common/SidePaneHeader';
24
19
  const CallWithChatScreen = (props) => {
25
20
  const { callWithChatAdapter, fluentTheme, formFactor = 'desktop' } = props;
26
21
  const mobileView = formFactor === 'mobile';
@@ -30,10 +25,8 @@ const CallWithChatScreen = (props) => {
30
25
  const callAdapter = useMemo(() => new CallWithChatBackedCallAdapter(callWithChatAdapter), [callWithChatAdapter]);
31
26
  const [currentCallState, setCurrentCallState] = useState();
32
27
  const [currentPage, setCurrentPage] = useState();
33
- const [activePane, setActivePane] = useState('none');
28
+ const [isChatOpen, setIsChatOpen] = useState(false);
34
29
  const containerRef = useRef(null);
35
- const containerWidth = _useContainerWidth(containerRef);
36
- const containerHeight = _useContainerHeight(containerRef);
37
30
  useEffect(() => {
38
31
  const updateCallWithChatPage = (newState) => {
39
32
  var _a;
@@ -46,105 +39,70 @@ const CallWithChatScreen = (props) => {
46
39
  callWithChatAdapter.offStateChange(updateCallWithChatPage);
47
40
  };
48
41
  }, [callWithChatAdapter]);
49
- const closePane = useCallback(() => {
50
- setActivePane('none');
51
- }, [setActivePane]);
52
42
  const chatProps = useMemo(() => {
53
43
  return {
54
44
  adapter: new CallWithChatBackedChatAdapter(callWithChatAdapter)
55
45
  };
56
46
  }, [callWithChatAdapter]);
57
- const modalLayerHostId = useId('modalLayerhost');
58
- const isInLobbyOrConnecting = currentPage === 'lobby';
59
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
60
- const isInLocalHold = currentPage === 'hold';
61
- const hasJoinedCall = !!(currentPage && hasJoinedCallFn(currentPage, currentCallState !== null && currentCallState !== void 0 ? currentCallState : 'None'));
62
- const showControlBar = isInLobbyOrConnecting || hasJoinedCall;
63
- const isMobileWithActivePane = mobileView && hasJoinedCall && activePane !== 'none';
64
47
  /** Constant setting of id for the parent stack of the composite */
65
48
  const compositeParentDivId = useId('callWithChatCompositeParentDiv-internal');
66
- const toggleChat = useCallback(() => {
67
- if (activePane === 'chat' || !hasJoinedCall) {
68
- setActivePane('none');
69
- }
70
- else {
71
- setActivePane('chat');
72
- // timeout is required to give the window time to render the sendbox so we have something to send focus to.
73
- // TODO: Selecting elements in the DOM via attributes is not stable. We should expose an API from ChatComposite to be able to focus on the sendbox.
74
- const chatFocusTimeout = setInterval(() => {
75
- const callWithChatCompositeRootDiv = document.querySelector(`[id="${compositeParentDivId}"]`);
76
- const sendbox = callWithChatCompositeRootDiv === null || callWithChatCompositeRootDiv === void 0 ? void 0 : callWithChatCompositeRootDiv.querySelector(`[id="sendbox"]`);
77
- if (sendbox !== null) {
78
- sendbox.focus();
79
- clearInterval(chatFocusTimeout);
80
- }
81
- }, 3);
82
- setTimeout(() => {
49
+ const closeChat = useCallback(() => {
50
+ setIsChatOpen(false);
51
+ }, []);
52
+ const openChat = useCallback(() => {
53
+ setIsChatOpen(true);
54
+ // timeout is required to give the window time to render the sendbox so we have something to send focus to.
55
+ // TODO: Selecting elements in the DOM via attributes is not stable. We should expose an API from ChatComposite to be able to focus on the sendbox.
56
+ const chatFocusTimeout = setInterval(() => {
57
+ const callWithChatCompositeRootDiv = document.querySelector(`[id="${compositeParentDivId}"]`);
58
+ const sendbox = callWithChatCompositeRootDiv === null || callWithChatCompositeRootDiv === void 0 ? void 0 : callWithChatCompositeRootDiv.querySelector(`[id="sendbox"]`);
59
+ if (sendbox !== null) {
60
+ sendbox.focus();
83
61
  clearInterval(chatFocusTimeout);
84
- }, 300);
85
- }
86
- }, [activePane, setActivePane, compositeParentDivId, hasJoinedCall]);
87
- const togglePeople = useCallback(() => {
88
- if (activePane === 'people' || !hasJoinedCall) {
89
- setActivePane('none');
90
- }
91
- else {
92
- setActivePane('people');
93
- }
94
- }, [activePane, setActivePane, hasJoinedCall]);
95
- const selectChat = useCallback(() => {
96
- if (hasJoinedCall) {
97
- setActivePane('chat');
98
- }
99
- }, [setActivePane, hasJoinedCall]);
100
- const selectPeople = useCallback(() => {
101
- if (hasJoinedCall) {
102
- setActivePane('people');
62
+ }
63
+ }, 3);
64
+ setTimeout(() => {
65
+ clearInterval(chatFocusTimeout);
66
+ }, 300);
67
+ }, [compositeParentDivId]);
68
+ const isOnHold = isOnHoldTrampoline(currentPage);
69
+ useEffect(() => {
70
+ if (isOnHold) {
71
+ closeChat();
103
72
  }
104
- }, [setActivePane, hasJoinedCall]);
105
- const [showDrawer, setShowDrawer] = useState(false);
106
- const onMoreButtonClicked = useCallback(() => {
107
- closePane();
108
- setShowDrawer(true);
109
- }, [closePane]);
110
- const closeDrawer = useCallback(() => {
111
- setShowDrawer(false);
112
- }, []);
113
- const onMoreDrawerPeopleClicked = useCallback(() => {
114
- setShowDrawer(false);
115
- togglePeople();
116
- }, [togglePeople]);
117
- // On mobile, when there is an active call and some side pane is active,
118
- // we hide the call composite via CSS to show only the pane.
119
- // We only set `display` to `none` instead of unmounting the call composite component tree
120
- // to avoid the performance cost of rerendering video streams when we later show the composite again.
121
- const callCompositeContainerCSS = useMemo(() => {
122
- return { display: isMobileWithActivePane ? 'none' : 'flex' };
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) */
73
+ }, [closeChat, isOnHold]);
74
+ const hasJoinedCall = !!(currentPage && hasJoinedCallFn(currentPage, currentCallState !== null && currentCallState !== void 0 ? currentCallState : 'None'));
75
+ const toggleChat = useCallback(() => {
76
+ isChatOpen || !hasJoinedCall ? closeChat() : openChat();
77
+ }, [closeChat, hasJoinedCall, isChatOpen, openChat]);
135
78
  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
79
+ const chatButtonStrings = useMemo(() => ({
80
+ label: callWithChatStrings.chatButtonLabel,
81
+ tooltipOffContent: callWithChatStrings.chatButtonTooltipOpen,
82
+ tooltipOnContent: callWithChatStrings.chatButtonTooltipClose
141
83
  }), [callWithChatStrings]);
142
- /* @conditional-compile-remove(PSTN-calls) */
143
- const alternateCallerId = callAdapter.getState().alternateCallerId;
144
- /* @conditional-compile-remove(close-captions) */
145
- const isTeamsCall = callAdapter.getState().isTeamsCall;
84
+ const theme = useTheme();
85
+ const commonButtonStyles = useMemo(() => !mobileView ? getDesktopCommonButtonStyles(theme) : undefined, [mobileView, theme]);
86
+ const showChatButton = checkShowChatButton(props.callControls);
87
+ const chatButtonDisabled = showChatButton && (checkChatButtonIsDisabled(props.callControls) || !hasJoinedCall || isOnHold);
88
+ const chatTabHeaderProps = useMemo(() => mobileView && showChatButton ? {
89
+ onClick: toggleChat,
90
+ disabled: chatButtonDisabled
91
+ } : undefined, [chatButtonDisabled, mobileView, toggleChat, showChatButton]);
92
+ const customChatButton = useCallback((args) => ({
93
+ placement: mobileView ? 'primary' : 'secondary',
94
+ onRenderButton: () => React.createElement(ChatButtonWithUnreadMessagesBadge, { chatAdapter: chatProps.adapter, isChatPaneVisible: isChatOpen, checked: isChatOpen, showLabel: args.displayType !== 'compact', onClick: toggleChat, disabled: chatButtonDisabled, strings: chatButtonStrings, styles: commonButtonStyles, newMessageLabel: callWithChatStrings.chatButtonNewMessageNotificationLabel })
95
+ }), [callWithChatStrings.chatButtonNewMessageNotificationLabel, chatButtonStrings, chatProps.adapter, commonButtonStyles, isChatOpen, chatButtonDisabled, mobileView, toggleChat]);
96
+ const callControlOptionsFromProps = useMemo(() => (Object.assign({}, (typeof props.callControls === 'object' ? props.callControls : {}))), [props.callControls]);
97
+ const injectedCustomButtonsFromProps = useMemo(() => {
98
+ var _a;
99
+ /* @conditional-compile-remove(control-bar-button-injection) */
100
+ return [...((_a = callControlOptionsFromProps.onFetchCustomButtonProps) !== null && _a !== void 0 ? _a : [])];
101
+ return [];
102
+ }, [callControlOptionsFromProps]);
146
103
  const callCompositeOptions = useMemo(() => ({
147
- callControls: false,
104
+ callControls: props.callControls === false ? false : Object.assign(Object.assign({}, callControlOptionsFromProps), { onFetchCustomButtonProps: [...(showChatButton ? [customChatButton] : []),
105
+ ...injectedCustomButtonsFromProps], legacyControlBarExperience: false }),
148
106
  /* @conditional-compile-remove(call-readiness) */
149
107
  deviceChecks: props.deviceChecks,
150
108
  /* @conditional-compile-remove(call-readiness) */
@@ -153,54 +111,41 @@ const CallWithChatScreen = (props) => {
153
111
  onPermissionsTroubleshootingClick: props.onPermissionsTroubleshootingClick,
154
112
  /* @conditional-compile-remove(unsupported-browser) */
155
113
  onEnvironmentInfoTroubleshootingClick: props.onEnvironmentInfoTroubleshootingClick
156
- }), [
157
- /* @conditional-compile-remove(call-readiness) */
114
+ }), [props.callControls, callControlOptionsFromProps, showChatButton, customChatButton, injectedCustomButtonsFromProps,
158
115
  props.deviceChecks,
159
- /* @conditional-compile-remove(unsupported-browser) */
160
116
  props.onEnvironmentInfoTroubleshootingClick,
161
- /* @conditional-compile-remove(call-readiness) */
162
117
  props.onNetworkingTroubleShootingClick,
163
- /* @conditional-compile-remove(call-readiness) */
164
- props.onPermissionsTroubleshootingClick
165
- ]);
166
- return (React.createElement("div", { ref: containerRef, className: mergeStyles(containerDivStyles) },
118
+ props.onPermissionsTroubleshootingClick]);
119
+ const onRenderChatContent = useCallback(() => React.createElement(ChatComposite, Object.assign({}, chatProps, { fluentTheme: theme, options: {
120
+ topic: false,
121
+ /* @conditional-compile-remove(chat-composite-participant-pane) */
122
+ participantPane: false,
123
+ /* @conditional-compile-remove(file-sharing) */
124
+ fileSharing: props.fileSharing
125
+ }, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData })), [chatProps, /* @conditional-compile-remove(file-sharing) */ props.fileSharing, props.onFetchAvatarPersonaData, theme]);
126
+ const sidePaneHeaderRenderer = useCallback(() => { var _a; return React.createElement(SidePaneHeader, { headingText: callWithChatStrings.chatPaneTitle, onClose: closeChat, dismissSidePaneButtonAriaLabel: (_a = callWithChatStrings.dismissSidePaneButtonLabel) !== null && _a !== void 0 ? _a : '', mobileView: mobileView }); }, [callWithChatStrings.chatPaneTitle, callWithChatStrings.dismissSidePaneButtonLabel, closeChat, mobileView]);
127
+ const sidePaneContentRenderer = useMemo(() => hasJoinedCall ? onRenderChatContent : undefined, [hasJoinedCall, onRenderChatContent]);
128
+ const sidePaneRenderer = useMemo(() => ({
129
+ contentRenderer: sidePaneContentRenderer,
130
+ headerRenderer: sidePaneHeaderRenderer,
131
+ id: 'chat'
132
+ }), [sidePaneContentRenderer, sidePaneHeaderRenderer]);
133
+ const overrideSidePaneProps = useMemo(() => ({
134
+ renderer: sidePaneRenderer,
135
+ isActive: isChatOpen,
136
+ persistRenderingWhenClosed: true
137
+ }), [isChatOpen, sidePaneRenderer]);
138
+ const onSidePaneIdChange = useCallback(sidePaneId => {
139
+ // If the pane is switched to something other than chat, removing rendering chat.
140
+ if (sidePaneId && sidePaneId !== 'chat') {
141
+ closeChat();
142
+ }
143
+ }, [closeChat]);
144
+ return React.createElement("div", { ref: containerRef, className: mergeStyles(containerDivStyles) },
167
145
  React.createElement(Stack, { verticalFill: true, grow: true, styles: compositeOuterContainerStyles, id: compositeParentDivId },
168
146
  React.createElement(Stack, { horizontal: true, grow: true },
169
- React.createElement(Stack.Item, { grow: true, styles: callCompositeContainerStyles(mobileView),
170
- // Perf: Instead of removing the video gallery from DOM, we hide it to prevent re-renders.
171
- style: callCompositeContainerCSS },
172
- React.createElement(CallComposite, Object.assign({}, props, { formFactor: formFactor, options: callCompositeOptions, adapter: callAdapter, fluentTheme: fluentTheme }))),
173
- 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,
174
- /* @conditional-compile-remove(file-sharing) */
175
- fileSharing: props.fileSharing, rtl: props.rtl, callControls: typeof props.callControls !== 'boolean' ? props.callControls : undefined }))),
176
- showControlBar && !isMobileWithActivePane && (React.createElement(ChatAdapterProvider, { adapter: chatProps.adapter },
177
- React.createElement(Stack.Item, { styles: controlBarContainerStyles },
178
- React.createElement(CommonCallControlBar, { callAdapter: callAdapter, chatAdapter: chatProps.adapter, chatButtonChecked: activePane === 'chat', onChatButtonClicked: toggleChat, peopleButtonChecked: activePane === 'people', onPeopleButtonClicked: togglePeople, onMoreButtonClicked: onMoreButtonClicked, mobileView: mobileView, disableButtonsForLobbyPage: isInLobbyOrConnecting,
179
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
180
- disableButtonsForHoldScreen: isInLocalHold, callControls: props.callControls, containerHeight: containerHeight, containerWidth: containerWidth,
181
- /* @conditional-compile-remove(PSTN-calls) */
182
- onClickShowDialpad: alternateCallerId ? onClickShowDialpad : undefined,
183
- /* @conditional-compile-remove(close-captions) */
184
- isCaptionsSupported: isTeamsCall && hasJoinedCall, rtl: props.rtl })))),
185
- showControlBar && showDrawer && (React.createElement(ChatAdapterProvider, { adapter: chatProps.adapter },
186
- React.createElement(CallAdapterProvider, { adapter: callAdapter },
187
- React.createElement(Stack, { styles: drawerContainerStyles() },
188
- React.createElement(PreparedMoreDrawer, { callControls: props.callControls, onLightDismiss: closeDrawer, onPeopleButtonClicked: onMoreDrawerPeopleClicked,
189
- /* @conditional-compile-remove(PSTN-calls) */
190
- onClickShowDialpad: alternateCallerId ? onClickShowDialpad : undefined,
191
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
192
- disableButtonsForHoldScreen: isInLocalHold,
193
- /* @conditional-compile-remove(close-captions) */
194
- isCaptionsSupported: isTeamsCall && hasJoinedCall }))))),
195
- /* @conditional-compile-remove(PSTN-calls) */
196
- showControlBar && showDtmfDialpad && (React.createElement(ChatAdapterProvider, { adapter: chatProps.adapter },
197
- React.createElement(CallAdapterProvider, { adapter: callAdapter },
198
- React.createElement(Stack, { styles: drawerContainerStyles() },
199
- React.createElement(SendDtmfDialpad, { isMobile: mobileView, strings: dialpadStrings, showDialpad: showDtmfDialpad, onDismissDialpad: onDismissDtmfDialpad }))))),
200
- // This layer host is for ModalLocalAndRemotePIP in CallWithChatPane. This LayerHost cannot be inside the CallWithChatPane
201
- // because when the CallWithChatPane is hidden, ie. style property display is 'none', it takes up no space. This causes problems when dragging
202
- // the Modal because the draggable bounds thinks it has no space and will always return to its initial position after dragging.
203
- mobileView && React.createElement(LayerHost, { id: modalLayerHostId, className: mergeStyles(modalLayerHostStyle) }))));
147
+ React.createElement(Stack.Item, { grow: true, styles: callCompositeContainerStyles(mobileView) },
148
+ React.createElement(CallCompositeInner, Object.assign({}, props, { formFactor: formFactor, options: callCompositeOptions, adapter: callAdapter, fluentTheme: fluentTheme, callInvitationUrl: props.joinInvitationURL, overrideSidePane: overrideSidePaneProps, onSidePaneIdChange: onSidePaneIdChange, mobileChatTabHeader: chatTabHeaderProps }))))));
204
149
  };
205
150
  /**
206
151
  * CallWithChatComposite brings together key components to provide a full call with chat experience out of the box.
@@ -209,21 +154,17 @@ const CallWithChatScreen = (props) => {
209
154
  */
210
155
  export const CallWithChatComposite = (props) => {
211
156
  const { adapter, fluentTheme, rtl, formFactor, joinInvitationURL, options } = props;
212
- return (React.createElement(BaseProvider, { fluentTheme: fluentTheme, rtl: rtl, locale: props.locale, icons: props.icons },
157
+ return React.createElement(BaseProvider, { fluentTheme: fluentTheme, rtl: rtl, locale: props.locale, icons: props.icons },
213
158
  React.createElement(CallWithChatScreen, Object.assign({}, props, {
214
- /* @conditional-compile-remove(call-readiness) */
215
- 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,
216
- /* @conditional-compile-remove(file-sharing) */
217
- fileSharing: options === null || options === void 0 ? void 0 : options.fileSharing }))));
159
+ /* @conditional-compile-remove(call-readiness) */ 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,
160
+ /* @conditional-compile-remove(file-sharing) */ fileSharing: options === null || options === void 0 ? void 0 : options.fileSharing })));
218
161
  };
219
162
  const hasJoinedCallFn = (page, callStatus) => {
220
163
  /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(one-to-n-calling) */
221
- return ((page === 'call' &&
222
- (callStatus === 'Connected' || callStatus === 'RemoteHold' || callStatus === 'Disconnecting')) ||
223
- (page === 'hold' && (callStatus === 'LocalHold' || callStatus === 'Disconnecting')));
164
+ return page === 'call' && (callStatus === 'Connected' || callStatus === 'RemoteHold' || callStatus === 'Disconnecting') || page === 'hold' && (callStatus === 'LocalHold' || callStatus === 'Disconnecting');
224
165
  return page === 'call' && (callStatus === 'Connected' || callStatus === 'Disconnecting');
225
166
  };
226
- const showShowChatTabHeaderButton = (callControls) => {
167
+ const checkShowChatButton = (callControls) => {
227
168
  if (callControls === undefined || callControls === true) {
228
169
  return true;
229
170
  }
@@ -232,13 +173,12 @@ const showShowChatTabHeaderButton = (callControls) => {
232
173
  }
233
174
  return callControls.chatButton !== false;
234
175
  };
235
- const showShowPeopleTabHeaderButton = (callControls) => {
236
- if (callControls === undefined || callControls === true) {
237
- return true;
238
- }
239
- if (callControls === false) {
240
- return false;
241
- }
242
- return callControls.peopleButton !== false;
176
+ const checkChatButtonIsDisabled = (callControls) => {
177
+ return typeof callControls === 'object' && isDisabled(callControls === null || callControls === void 0 ? void 0 : callControls.chatButton);
178
+ };
179
+ const isOnHoldTrampoline = (page) => {
180
+ /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
181
+ return page === 'hold';
182
+ return false;
243
183
  };
244
184
  //# sourceMappingURL=CallWithChatComposite.js.map