@azure/communication-react 1.7.0-beta.2 → 1.7.1-alpha-202308172328

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 (901) hide show
  1. package/dist/communication-react.d.ts +466 -47
  2. package/dist/dist-cjs/communication-react/index.js +6121 -4397
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  6. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/identifier.js +4 -1
  11. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  17. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  18. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  19. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  20. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +10 -0
  21. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +19 -2
  22. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  23. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +15 -0
  24. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +71 -12
  25. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  26. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +5 -4
  27. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
  28. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +20 -55
  29. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  30. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +16 -3
  31. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +74 -45
  32. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  33. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +2 -2
  34. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +15 -1
  36. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +5 -2
  37. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +4 -2
  39. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +4 -8
  40. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  41. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  43. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +13 -1
  44. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  45. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  46. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +3 -1
  47. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  48. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +1 -0
  49. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +53 -14
  50. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  52. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  53. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +6 -3
  54. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  55. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  56. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  57. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  58. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +9 -6
  59. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  60. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.d.ts +7 -3
  61. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +21 -8
  62. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  63. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +4 -2
  64. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +38 -15
  65. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  66. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +41 -7
  67. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  68. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  69. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -1
  70. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  71. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +65 -75
  72. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  73. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +48 -0
  74. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  75. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +6 -1
  76. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +57 -6
  77. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  78. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +7 -8
  79. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  80. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +74 -83
  81. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  82. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  83. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  84. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +2 -0
  85. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +22 -4
  86. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  87. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.d.ts +16 -0
  88. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js +24 -0
  89. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -0
  90. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  91. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +6 -0
  92. package/dist/dist-esm/calling-stateful-client/src/Converter.js +18 -8
  93. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  94. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +51 -57
  95. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  96. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +14 -16
  97. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  98. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +3 -15
  100. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  101. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js.map +1 -1
  102. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  103. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js +1 -3
  104. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js.map +1 -1
  105. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  106. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.d.ts +17 -0
  107. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js +35 -0
  108. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js.map +1 -0
  109. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  110. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  111. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +2 -0
  112. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +65 -67
  113. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  114. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +33 -31
  115. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  116. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js +8 -11
  117. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js.map +1 -1
  118. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +1 -1
  119. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
  120. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +7 -8
  121. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  122. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  123. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +1 -1
  124. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  125. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +3 -3
  126. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  127. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js +6 -7
  128. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -1
  129. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +3 -0
  130. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  131. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  132. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +4 -4
  133. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  134. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +3 -3
  135. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  136. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +13 -14
  137. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  138. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +1 -1
  139. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +3 -10
  140. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  141. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  142. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  143. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  144. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  145. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +33 -15
  146. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  147. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  148. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  149. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  150. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  151. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +3 -7
  152. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  153. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +3 -1
  154. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  155. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  156. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +10 -3
  157. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  158. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  159. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +5 -9
  160. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  161. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  162. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +7 -10
  163. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  164. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  165. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +57 -67
  166. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  167. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +114 -127
  168. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  169. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +3 -1
  170. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  171. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  172. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  173. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  174. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  175. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  176. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  177. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  178. package/dist/dist-esm/communication-react/src/index.d.ts +8 -2
  179. package/dist/dist-esm/communication-react/src/index.js +4 -0
  180. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  181. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  182. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js +3 -6
  183. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js.map +1 -1
  184. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.js.map +1 -1
  185. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js.map +1 -1
  186. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js +4 -10
  187. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js.map +1 -1
  188. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js +1 -1
  189. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js.map +1 -1
  190. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js +1 -1
  191. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js.map +1 -1
  192. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  193. package/dist/dist-esm/react-components/src/components/CameraButton.js +8 -19
  194. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  195. package/dist/dist-esm/react-components/src/components/Caption.js +2 -2
  196. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
  197. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +11 -10
  198. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  199. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js +16 -14
  200. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -1
  201. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +7 -8
  202. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  203. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +36 -17
  204. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  205. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.d.ts +6 -0
  206. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +18 -9
  207. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  208. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +27 -35
  209. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  210. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.d.ts +6 -0
  211. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +92 -35
  212. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  213. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +1 -0
  214. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +44 -28
  215. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  216. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +1 -1
  217. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  218. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  219. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +7 -4
  220. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  221. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +2 -2
  222. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  223. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  224. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  225. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  226. package/dist/dist-esm/react-components/src/components/ControlBar.js +10 -14
  227. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  228. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +14 -4
  229. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  230. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +3 -14
  231. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  232. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +4 -10
  233. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -1
  234. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +14 -31
  235. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -1
  236. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js +5 -8
  237. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
  238. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +24 -6
  239. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -1
  240. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +12 -20
  241. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +1 -1
  242. package/dist/dist-esm/react-components/src/components/DevicesButton.js +19 -27
  243. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  244. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +36 -44
  245. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  246. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js +4 -4
  247. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  248. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +2 -6
  249. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  250. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +6 -6
  251. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  252. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +11 -23
  253. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  254. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +6 -4
  255. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  256. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  257. package/dist/dist-esm/react-components/src/components/EndCallButton.js +3 -7
  258. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  259. package/dist/dist-esm/react-components/src/components/ErrorBar.js +9 -5
  260. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  261. package/dist/dist-esm/react-components/src/components/FileCard.js +2 -3
  262. package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
  263. package/dist/dist-esm/react-components/src/components/FileCardGroup.js +1 -1
  264. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
  265. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +17 -16
  266. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  267. package/dist/dist-esm/react-components/src/components/FileUploadCards.js +8 -7
  268. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
  269. package/dist/dist-esm/react-components/src/components/GridLayout.js +37 -37
  270. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  271. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +2 -2
  272. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  273. package/dist/dist-esm/react-components/src/components/HoldButton.js +1 -1
  274. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -1
  275. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +7 -9
  276. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  277. package/dist/dist-esm/react-components/src/components/ImageGallery.d.ts +52 -0
  278. package/dist/dist-esm/react-components/src/components/ImageGallery.js +56 -0
  279. package/dist/dist-esm/react-components/src/components/ImageGallery.js.map +1 -0
  280. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +8 -15
  281. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  282. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +3 -5
  283. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  284. package/dist/dist-esm/react-components/src/components/LocalVideoTile.d.ts +2 -0
  285. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +32 -10
  286. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  287. package/dist/dist-esm/react-components/src/components/MentionPopover.js +19 -11
  288. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -1
  289. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js +23 -36
  290. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  291. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +7 -1
  292. package/dist/dist-esm/react-components/src/components/MessageThread.js +165 -92
  293. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  294. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +17 -14
  295. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  296. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +94 -101
  297. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  298. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +15 -17
  299. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  300. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +15 -0
  301. package/dist/dist-esm/react-components/src/components/ParticipantList.js +97 -20
  302. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  303. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +46 -32
  304. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  305. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  306. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  307. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  308. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  309. package/dist/dist-esm/react-components/src/components/RaiseHandButton.d.ts +43 -0
  310. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js +45 -0
  311. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js.map +1 -0
  312. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +32 -15
  313. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  314. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +2 -2
  315. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  316. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js +2 -2
  317. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +1 -1
  318. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +6 -14
  319. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  320. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +1 -1
  321. package/dist/dist-esm/react-components/src/components/SendBox.js +17 -19
  322. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  323. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +2 -2
  324. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  325. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  326. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js +2 -4
  327. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -1
  328. package/dist/dist-esm/react-components/src/components/StreamMedia.js +3 -3
  329. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  330. package/dist/dist-esm/react-components/src/components/SystemMessage.js +2 -4
  331. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  332. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +70 -32
  333. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +1 -1
  334. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +52 -46
  335. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +1 -1
  336. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +10 -10
  337. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  338. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +9 -6
  339. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  340. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +1 -1
  341. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  342. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +1 -1
  343. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  344. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +4 -8
  345. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  346. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +1 -1
  347. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  348. package/dist/dist-esm/react-components/src/components/VerticalGallery.js +19 -34
  349. package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
  350. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js +3 -1
  351. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js.map +1 -1
  352. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +9 -13
  353. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  354. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js +13 -15
  355. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
  356. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +6 -3
  357. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -1
  358. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +43 -16
  359. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  360. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +10 -10
  361. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  362. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +69 -25
  363. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  364. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  365. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +7 -7
  366. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  367. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +16 -5
  368. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
  369. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +8 -6
  370. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  371. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +2 -4
  372. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -1
  373. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.d.ts +28 -0
  374. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js +145 -0
  375. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -0
  376. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js +1 -6
  377. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js.map +1 -1
  378. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.d.ts +1 -1
  379. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +10 -34
  380. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  381. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js +2 -11
  382. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js.map +1 -1
  383. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js.map +1 -1
  384. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +1 -1
  385. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  386. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteVideoTile.styles.js.map +1 -1
  387. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +1 -3
  388. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -1
  389. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +10 -11
  390. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
  391. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js +22 -28
  392. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -1
  393. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +10 -5
  394. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  395. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +18 -32
  396. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  397. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js.map +1 -1
  398. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.d.ts +2 -0
  399. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +58 -25
  400. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  401. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +2 -2
  402. package/dist/dist-esm/react-components/src/components/VideoGallery.js +112 -36
  403. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  404. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +3 -0
  405. package/dist/dist-esm/react-components/src/components/VideoTile.js +58 -54
  406. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  407. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.d.ts +7 -0
  408. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js +224 -0
  409. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js.map +1 -0
  410. package/dist/dist-esm/react-components/src/components/index.d.ts +5 -0
  411. package/dist/dist-esm/react-components/src/components/index.js +4 -0
  412. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  413. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -1
  414. package/dist/dist-esm/react-components/src/components/styles/Captions.style.d.ts +2 -2
  415. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js +9 -5
  416. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  417. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -1
  418. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +3 -12
  419. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  420. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -1
  421. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  422. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  423. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js +1 -3
  424. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  425. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  426. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  427. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js.map +1 -1
  428. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.d.ts +70 -0
  429. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.js +219 -0
  430. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.js.map +1 -0
  431. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +1 -4
  432. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  433. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +1 -1
  434. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  435. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +2 -8
  436. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  437. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +0 -1
  438. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  439. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  440. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +2 -10
  441. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  442. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +1 -1
  443. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +0 -3
  444. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  445. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  446. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +0 -1
  447. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  448. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  449. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +1 -1
  450. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js +0 -1
  451. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js.map +1 -1
  452. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +3 -17
  453. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  454. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  455. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  456. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  457. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  458. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  459. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +4 -7
  460. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  461. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  462. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -1
  463. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js.map +1 -1
  464. package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
  465. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  466. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js +10 -1
  467. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  468. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js +1 -3
  469. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js.map +1 -1
  470. package/dist/dist-esm/react-components/src/components/utils.js +13 -10
  471. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  472. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.d.ts +7 -0
  473. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +13 -7
  474. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  475. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  476. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  477. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  478. package/dist/dist-esm/react-components/src/index.d.ts +1 -2
  479. package/dist/dist-esm/react-components/src/index.js +0 -2
  480. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  481. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +6 -0
  482. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  483. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  484. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +10 -0
  485. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +11 -1
  486. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +10 -0
  487. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +10 -0
  488. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +10 -0
  489. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +10 -0
  490. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +10 -0
  491. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +10 -0
  492. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +10 -0
  493. package/dist/dist-esm/react-components/src/localization/locales/index.js +21 -63
  494. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  495. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +10 -0
  496. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +10 -0
  497. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +10 -0
  498. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +10 -0
  499. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +10 -0
  500. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +10 -0
  501. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +10 -0
  502. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +10 -0
  503. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +10 -0
  504. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +10 -0
  505. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +10 -0
  506. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +10 -0
  507. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +3 -6
  508. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  509. package/dist/dist-esm/react-components/src/theming/icons.d.ts +4 -0
  510. package/dist/dist-esm/react-components/src/theming/icons.js +30 -26
  511. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  512. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -1
  513. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  514. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  515. package/dist/dist-esm/react-components/src/theming/themes.d.ts +1 -0
  516. package/dist/dist-esm/react-components/src/theming/themes.js +6 -2
  517. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  518. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js.map +1 -1
  519. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  520. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  521. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.js.map +1 -1
  522. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  523. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  524. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.d.ts +10 -3
  525. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  526. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  527. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +7 -1
  528. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  529. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  530. package/dist/dist-esm/react-composites/src/Logger.js.map +1 -1
  531. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +10 -0
  532. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +59 -64
  533. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  534. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +20 -0
  535. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  536. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +13 -14
  537. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +180 -82
  538. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  539. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +94 -12
  540. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +9 -1
  541. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  542. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  543. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  544. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js +1 -3
  545. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -1
  546. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  547. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +4 -1
  548. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +12 -6
  549. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  550. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +1 -1
  551. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  552. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +4 -0
  553. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +68 -35
  554. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  555. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +2 -1
  556. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +56 -62
  557. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  558. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +133 -141
  559. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -1
  560. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +1 -7
  561. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  562. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +1 -1
  563. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  564. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +1 -7
  565. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  566. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +5 -4
  567. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  568. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +4 -4
  569. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -1
  570. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +2 -2
  571. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  572. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.d.ts +2 -0
  573. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +37 -23
  574. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  575. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +43 -32
  576. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  577. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +25 -34
  578. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  579. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts +3 -0
  580. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +81 -41
  581. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  582. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  583. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  584. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +2 -2
  585. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  586. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +35 -19
  587. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
  588. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.js.map +1 -1
  589. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.d.ts +3 -0
  590. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +7 -9
  591. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  592. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.d.ts +3 -1
  593. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +17 -10
  594. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -1
  595. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  596. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  597. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.d.ts +3 -0
  598. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +12 -2
  599. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  600. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.d.ts +6 -2
  601. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +7 -4
  602. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +1 -1
  603. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +29 -18
  604. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  605. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +5 -2
  606. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  607. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +17 -6
  608. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  609. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +5 -2
  610. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  611. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +1 -1
  612. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -1
  613. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.d.ts +12 -0
  614. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js +26 -0
  615. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js.map +1 -0
  616. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +13 -3
  617. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  618. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +8 -8
  619. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  620. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +25 -6
  621. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  622. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  623. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  624. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  625. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +1 -1
  626. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  627. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +2 -0
  628. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +26 -5
  629. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  630. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +68 -37
  631. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  632. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +13 -7
  633. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  634. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +15 -7
  635. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  636. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +3 -3
  637. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  638. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +23 -23
  639. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  640. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +3 -3
  641. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -1
  642. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  643. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  644. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  645. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js +2 -1
  646. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +1 -1
  647. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +14 -0
  648. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +13 -0
  649. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  650. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  651. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  652. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  653. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  654. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.d.ts +11 -0
  655. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.js +14 -0
  656. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.js.map +1 -0
  657. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  658. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  659. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  660. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +2 -2
  661. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +7 -5
  662. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  663. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +4 -4
  664. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +1 -1
  665. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  666. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +10 -8
  667. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +12 -2
  668. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  669. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  670. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -4
  671. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  672. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  673. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  674. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  675. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +5 -5
  676. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +4 -4
  677. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  678. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  679. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  680. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  681. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +5 -5
  682. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  683. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +6 -2
  684. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  685. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +2 -6
  686. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  687. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +2 -7
  688. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  689. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  690. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  691. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +1 -4
  692. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  693. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -1
  694. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +1 -4
  695. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  696. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  697. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +0 -1
  698. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  699. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  700. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  701. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +0 -1
  702. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  703. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js +6 -24
  704. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js.map +1 -1
  705. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +2 -2
  706. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  707. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  708. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +9 -11
  709. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  710. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js +2 -2
  711. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  712. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +4 -3
  713. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +35 -24
  714. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  715. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  716. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +10 -0
  717. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +67 -24
  718. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  719. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js +1 -1
  720. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js.map +1 -1
  721. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js +9 -7
  722. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  723. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js +3 -6
  724. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js.map +1 -1
  725. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js.map +1 -1
  726. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  727. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +7 -1
  728. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +69 -12
  729. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  730. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +25 -1
  731. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  732. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +4 -1
  733. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +15 -2
  734. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  735. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  736. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js +1 -1
  737. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  738. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  739. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  740. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +1 -1
  741. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  742. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +5 -0
  743. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +6 -0
  744. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  745. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  746. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +2 -2
  747. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  748. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +3 -5
  749. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  750. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +70 -19
  751. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  752. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +1 -1
  753. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -1
  754. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +3 -5
  755. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +1 -1
  756. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  757. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -2
  758. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +39 -38
  759. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  760. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +15 -20
  761. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  762. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -2
  763. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  764. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  765. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
  766. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +11 -6
  767. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  768. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js.map +1 -1
  769. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  770. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +3 -5
  771. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  772. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +3 -1
  773. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  774. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  775. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +1 -1
  776. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -1
  777. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  778. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -1
  779. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +6 -6
  780. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +3 -5
  781. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +1 -1
  782. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +2 -6
  783. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  784. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +9 -9
  785. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  786. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +23 -25
  787. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  788. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -1
  789. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +8 -3
  790. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  791. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +5 -14
  792. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  793. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +9 -23
  794. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  795. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -1
  796. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +6 -8
  797. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -1
  798. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js +12 -16
  799. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -1
  800. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js +1 -1
  801. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js.map +1 -1
  802. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +1 -5
  803. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  804. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +8 -1
  805. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +55 -45
  806. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  807. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js +32 -25
  808. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  809. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.d.ts +4 -0
  810. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +131 -50
  811. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  812. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js +1 -1
  813. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -1
  814. package/dist/dist-esm/react-composites/src/composites/common/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  815. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +52 -61
  816. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  817. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +1 -1
  818. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  819. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.js +10 -7
  820. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.js.map +1 -1
  821. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.styles.js.map +1 -1
  822. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js +1 -1
  823. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js.map +1 -1
  824. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +15 -13
  825. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  826. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  827. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  828. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +17 -9
  829. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  830. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +23 -13
  831. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  832. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +7 -15
  833. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +1 -1
  834. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +1 -1
  835. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +7 -15
  836. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  837. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +10 -8
  838. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  839. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +16 -11
  840. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
  841. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  842. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  843. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +20 -2
  844. package/dist/dist-esm/react-composites/src/composites/common/icons.js +19 -5
  845. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  846. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.d.ts +8 -0
  847. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.js +33 -0
  848. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.js.map +1 -0
  849. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.d.ts +8 -0
  850. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.js +32 -0
  851. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.js.map +1 -0
  852. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.js.map +1 -1
  853. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  854. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +5 -16
  855. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  856. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +12 -51
  857. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  858. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +6 -29
  859. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  860. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +4 -22
  861. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  862. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +7 -0
  863. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  864. package/dist/dist-esm/react-composites/src/composites/common/utils.js +17 -12
  865. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  866. package/dist/dist-esm/react-composites/src/composites/index.d.ts +2 -0
  867. package/dist/dist-esm/react-composites/src/composites/index.js +4 -0
  868. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  869. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  870. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  871. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  872. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +4 -2
  873. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +6 -4
  874. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +4 -2
  875. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +4 -2
  876. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +7 -2
  877. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +4 -2
  878. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +4 -2
  879. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +4 -2
  880. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +4 -2
  881. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  882. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +4 -2
  883. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +4 -2
  884. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +4 -2
  885. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +4 -2
  886. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +4 -2
  887. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +4 -2
  888. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +4 -2
  889. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +4 -2
  890. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +4 -2
  891. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +4 -2
  892. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +4 -2
  893. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +4 -2
  894. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  895. package/package.json +8 -8
  896. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.d.ts +0 -61
  897. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js +0 -74
  898. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js.map +0 -1
  899. package/dist/dist-esm/react-components/src/permissions/index.d.ts +0 -2
  900. package/dist/dist-esm/react-components/src/permissions/index.js +0 -4
  901. package/dist/dist-esm/react-components/src/permissions/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/utils/Utils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { CallAdapterState, CallCompositePage, END_CALL_PAGES } from '../adapter/CallAdapter';\nimport { _isInCall, _isPreviewOn, _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport { CallControlOptions } from '../types/CallControlOptions';\nimport { CallState, RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { isPhoneNumberIdentifier } from '@azure/communication-common';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { EnvironmentInfo } from '@azure/communication-calling';\nimport { AdapterStateModifier } from '../adapter/AzureCommunicationCallAdapter';\n/* @conditional-compile-remove(video-background-effects) */\nimport { BackgroundBlurEffect, BackgroundReplacementEffect } from '@azure/communication-calling-effects';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoBackgroundEffect } from '../adapter/CallAdapter';\nimport { VideoDeviceInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(video-background-effects) */\nimport { 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) & ((call: CallState | undefined, previousCall: CallState | undefined, /* @conditional-compile-remove(unsupported-browser) */unsupportedBrowserInfo?: {\n environmentInfo?: EnvironmentInfo;\n unsupportedBrowserVersionOptedIn?: boolean;\n}, /* @conditional-compile-remove(call-transfer) */transferCall?: CallState) => 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?, transferCall?: CallState): CallCompositePage => {\n /* @conditional-compile-remove(unsupported-browser) */\n if (isUnsupportedEnvironment(unsupportedBrowserInfo.environmentInfo, unsupportedBrowserInfo.unsupportedBrowserVersionOptedIn)) {\n return 'unsupportedEnvironment';\n }\n\n /* @conditional-compile-remove(call-transfer) */\n if (transferCall !== undefined) {\n return 'transferring';\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 (call?.state === 'Disconnecting') {\n return 'leaving';\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' | 'leaving' | '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' | /* @conditional-compile-remove(call-transfer) */'transferring'): 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 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/* @conditional-compile-remove(video-background-effects) */\n/** @private */\nexport const getBackgroundEffectFromSelectedEffect = (selectedEffect: VideoBackgroundEffect | undefined): VideoEffectProcessor | undefined => selectedEffect?.effectName === 'blur' ? new BackgroundBlurEffect() : selectedEffect?.effectName === 'replacement' ? new BackgroundReplacementEffect({\n backgroundImageUrl: selectedEffect.backgroundImageUrl\n}) : undefined;\n\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
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/utils/Utils.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;AAElC,OAAO,EAAuC,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,sBAAsB,EAAE,sDAA6C;AAGvG,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAYtE,MAAM,oCAAoC,GAAG,IAAI,CAAC;AAClD,MAAM,wBAAwB,GAAG,MAAM,CAAC;AACxC,MAAM,2BAA2B,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,wBAAwB,CAAC,CAAC;AAC3E,wCAAwC;AACxC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AACrC,wCAAwC;AACxC,MAAM,kCAAkC,GAAG,IAAI,CAAC;AAEhD;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAuB,EAAW,EAAE;IAC7D,IAAI,KAAK,CAAC,IAAI,EAAE;QACd,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,KAAK,OAAO,CAAC,CAAC;QACjG,OAAO,CAAC,CAAC,MAAM,CAAC;KACjB;SAAM;QACL,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE;YAChC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9C,OAAO,SAAS,CAAC;SAClB;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,kBAA4D,EAChC,EAAE;IAC9B,IAAI,kBAAkB,KAAK,KAAK,EAAE;QAChC,OAAO,KAAK,CAAC;KACd;IAED,uCAAuC;IACvC,MAAM,wBAAwB,GAAG,kBAAkB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC;IAE7F,gEAAgE;IAChE,wBAAwB,CAAC,WAAW,GAAG,SAAS,CAAC;IAEjD,8FAA8F;IAC9F,2BAA2B;IAC3B,IAAI,wBAAwB,CAAC,iBAAiB,KAAK,IAAI,EAAE;QACvD,wBAAwB,CAAC,iBAAiB,GAAG,KAAK,CAAC;KACpD;IAED,OAAO,wBAAwB,CAAC;AAClC,CAAC,CAAC;AAEF,IAAK,cAMJ;AAND,WAAK,cAAc;IACjB,6DAAS,CAAA;IACT,qEAAa,CAAA;IACb,6EAAiB,CAAA;IACjB,uEAAc,CAAA;IACd,6FAAyB,CAAA;AAC3B,CAAC,EANI,cAAc,KAAd,cAAc,QAMlB;AAED,MAAM,gBAAgB,GAAG,CAAC,IAAe,EAAkB,EAAE;;IAC3D,MAAM,4BAA4B,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAC7F;;;;;;OAMG;IACH,IACE,4BAA4B,CAAC,MAAM,KAAK,CAAC;QACzC,uBAAuB,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACnE,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,MAAK,wBAAwB,EACxD;QACA,OAAO,cAAc,CAAC,SAAS,CAAC;KACjC;IAED,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,KAAI,IAAI,CAAC,aAAa,CAAC,OAAO,KAAK,oCAAoC,EAAE;QACtG,OAAO,cAAc,CAAC,aAAa,CAAC;KACrC;IAED,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,KAAI,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;QACnG,OAAO,cAAc,CAAC,iBAAiB,CAAC;KACzC;IAED,wCAAwC;IACxC,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,KAAI,IAAI,CAAC,aAAa,CAAC,OAAO,KAAK,uBAAuB,EAAE;QACzF,OAAO,cAAc,CAAC,cAAc,CAAC;KACtC;IAED,wCAAwC;IACxC,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,KAAI,IAAI,CAAC,aAAa,CAAC,OAAO,KAAK,kCAAkC,EAAE;QACpG,OAAO,cAAc,CAAC,yBAAyB,CAAC;KACjD;IAED,IAAI,IAAI,CAAC,aAAa,EAAE;QACtB,uEAAuE;QACvE,OAAO,cAAc,CAAC,SAAS,CAAC;KACjC;IAED,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;AACjD,CAAC,CAAC;AAkBF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAiC,CAChE,IAAI,EACJ,YAAa,EACb,sBAAuB,EACvB,YAAwB,EACL,EAAE;IACrB,sDAAsD;IACtD,IACE,wBAAwB,CACtB,sBAAsB,CAAC,eAAe,EACtC,sBAAsB,CAAC,gCAAgC,CACxD,EACD;QACA,OAAO,wBAAwB,CAAC;KACjC;IAED,gDAAgD;IAChD,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,OAAO,cAAc,CAAC;KACvB;IAED,IAAI,IAAI,EAAE;QACR,sEAAsE;QACtE,4EAA4E;QAC5E,gEAAgE;QAEhE,kHAAkH;QAClH,IAAI,sBAAsB,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,EAAE;YACvC,OAAO,OAAO,CAAC;YACf,wGAAwG;SACzG;aAAM,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,MAAK,WAAW,EAAE;YACtC,6CAA6C,CAAC,mDAAmD;YACjG,OAAO,MAAM,CAAC;YACd,OAAO,MAAM,CAAC;SACf;aAAM,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,MAAK,eAAe,EAAE;YAC1C,OAAO,SAAS,CAAC;SAClB;aAAM,IAAI,SAAS,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,EAAE;YACjC,OAAO,MAAM,CAAC;SACf;aAAM;YACL,8FAA8F;YAC9F,wEAAwE;YACxE,0GAA0G;YAC1G,6GAA6G;YAC7G,sBAAsB;YACtB,OAAO,eAAe,CAAC;SACxB;KACF;IAED,IAAI,YAAY,EAAE;QAChB,MAAM,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAC9C,wCAAwC;QACxC,QAAQ,MAAM,EAAE;YACd,KAAK,cAAc,CAAC,cAAc;gBAChC,OAAO,cAAc,CAAC;YACxB,KAAK,cAAc,CAAC,yBAAyB;gBAC3C,OAAO,wBAAwB,CAAC;SACnC;QACD,QAAQ,MAAM,EAAE;YACd,KAAK,cAAc,CAAC,aAAa;gBAC/B,OAAO,0BAA0B,CAAC;YACpC,KAAK,cAAc,CAAC,iBAAiB;gBACnC,OAAO,iBAAiB,CAAC;YAC3B,KAAK,cAAc,CAAC,SAAS;gBAC3B,IAAI,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE;oBACrD,OAAO,8BAA8B,CAAC;iBACvC;gBACD,OAAO,UAAU,CAAC;SACrB;KACF;IAED,qDAAqD;IACrD,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF,eAAe;AACf,MAAM,CAAC,MAAM,eAAe,GAAG;AAC7B;;;;;;;GAOG;AACH,IAamE,EAC1D,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE5C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,kBAA4D,EAC5D,gBAA8C,EACJ,EAAE;;IAC5C,IAAI,kBAAkB,KAAK,KAAK,EAAE;QAChC,OAAO,KAAK,CAAC;KACd;IACD,4FAA4F;IAC5F,IAAI,UAAU,GACZ,MAAA,CAAC,kBAAkB,YAAY,MAAM,CAAC,CAAC,CAAE,kBAAK,kBAAkB,CAAyB,CAAC,CAAC,CAAC,kBAAkB,CAAC,mCAC/G,EAAE,CAAC;IACL,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,EAAE;QACnD,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAChD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC9B,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;KACR;SAAM;QACL,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;gBAC7B,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACtC;QACH,CAAC,CAAC,CAAC;KACJ;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAmD,EAAW,EAAE;IACzF,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE;QACvD,OAAO,KAAK,CAAC;KACd;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC;AACzB,CAAC,CAAC;AAEF,iDAAiD;AACjD;;GAEG;AACH,MAAM,uCAAuC,GAAG,GAAmD,EAAE;IACnG,IAAI;QACF,OAAO,CAAC,MAAM,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,QAA0B,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;KACxF;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,IAAI,CAAC,6CAA6C,EAAE,CAAC,CAAC,CAAC;QAC/D,OAAO,aAAa,CAAC;KACtB;AACH,CAAC,CAAA,CAAC;AAEF,iDAAiD;AACjD;;GAEG;AACH,MAAM,2CAA2C,GAAG,GAAmD,EAAE;IACvG,IAAI;QACF,OAAO,CAAC,MAAM,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,YAA8B,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;KAC5F;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,IAAI,CAAC,6CAA6C,EAAE,CAAC,CAAC,CAAC;QAC/D,OAAO,aAAa,CAAC;KACtB;AACH,CAAC,CAAA,CAAC;AAEF,iDAAiD;AACjD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,aAA+D,EAC/D,aAA+D,EAChD,EAAE;IACjB,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzD,uCAAuC,EAAE;QACzC,2CAA2C,EAAE;KAC9C,CAAC,CAAC;IACH,aAAa,CAAC,YAAY,CAAC,CAAC;IAC5B,aAAa,CAAC,gBAAgB,CAAC,CAAC;AAClC,CAAC,CAAA,CAAC;AACF,sDAAsD;AACtD,MAAM,wBAAwB,GAAG,CAC/B,eAAiC,EACjC,gCAA0C,EACjC,EAAE;IACX,OAAO,CAAC,CAAC,CACP,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,kBAAkB,MAAK,KAAK;QAC7C,CAAC,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,yBAAyB,MAAK,KAAK,IAAI,CAAC,gCAAgC,CAAC;QAC3F,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,mBAAmB,MAAK,KAAK,CAC/C,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,eAAmG,EAC1F,EAAE;IACX,sDAAsD;IACtD,OAAO,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,CAAC,OAAO,MAAK,QAAQ,CAAC;IACzD,OAAO,4CAA4C,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAChF,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,yBAAkH,EAC5F,EAAE;IACxB,IAAI,wBAAwB,GAIZ,SAAS,CAAC;IAC1B,IAAI,oBAAoB,GAAG,EAAE,CAAC;IAC9B,MAAM,oBAAoB,GAEtB,EAAE,CAAC;IAEP,OAAO,CAAC,KAAuB,EAAE,EAAE;;QACjC,sEAAsE;QACtE,IAAI,CAAA,MAAA,KAAK,CAAC,IAAI,0CAAE,kBAAkB,MAAK,wBAAwB,EAAE;YAC/D,oBAAoB,GAAG,EAAE,CAAC;YAC1B,MAAM,oBAAoB,GAAG,MAAA,KAAK,CAAC,IAAI,0CAAE,kBAAkB,CAAC;YAC5D,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE;gBACtC,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,GAAG,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtF,IAAI,mBAAmB,KAAK,SAAS,EAAE;oBACrC,oBAAoB,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;oBACtD,SAAS;iBACV;gBACD,iEAAiE;gBACjE,IAAI,CAAA,MAAA,oBAAoB,CAAC,GAAG,CAAC,0CAAE,WAAW,MAAK,oBAAoB,CAAC,GAAG,CAAC,EAAE;oBACxE,oBAAoB,CAAC,GAAG,CAAC,GAAG;wBAC1B,cAAc,EAAE,mBAAmB;wBACnC,WAAW,EAAE,oBAAoB,CAAC,GAAG,CAAC;qBACvC,CAAC;iBACH;gBAED,8FAA8F;gBAC9F,mCAAmC;gBACnC,oBAAoB,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC;aACtE;YAED,wBAAwB,GAAG,MAAA,KAAK,CAAC,IAAI,0CAAE,kBAAkB,CAAC;SAC3D;QACD,uCACK,KAAK,KACR,IAAI,EAAE,KAAK,CAAC,IAAI;gBACd,CAAC,iCACM,KAAK,CAAC,IAAI,KACb,kBAAkB,EAAE,oBAAoB,IAE5C,CAAC,CAAC,SAAS,IACb;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,2DAA2D;AAC3D,eAAe;AACf,MAAM,CAAC,MAAM,qCAAqC,GAAG,CACnD,cAAiD,EACjD,gCAAkE,EAChC,EAAE,CACpC,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU,MAAK,MAAM;IACnC,CAAC,CAAC,gCAAgC,CAAC,0BAA0B,EAAE;IAC/D,CAAC,CAAC,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU,MAAK,aAAa;QAC9C,CAAC,CAAC,gCAAgC,CAAC,iCAAiC,CAAC;YACjE,kBAAkB,EAAE,cAAc,CAAC,kBAAkB;SACtD,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;AAEhB;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,KAAuB,EAA+B,EAAE,CACxG,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC","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 { isPhoneNumberIdentifier } from '@azure/communication-common';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { EnvironmentInfo } from '@azure/communication-calling';\nimport { AdapterStateModifier } from '../adapter/AzureCommunicationCallAdapter';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoBackgroundEffectsDependency } from '@internal/calling-component-bindings';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoBackgroundEffect } from '../adapter/CallAdapter';\nimport { VideoDeviceInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoEffectProcessor } from '@azure/communication-calling';\n\nconst ACCESS_DENIED_TEAMS_MEETING_SUB_CODE = 5854;\nconst REMOTE_PSTN_USER_HUNG_UP = 560000;\nconst REMOVED_FROM_CALL_SUB_CODES = [5000, 5300, REMOTE_PSTN_USER_HUNG_UP];\n/* @conditional-compile-remove(rooms) */\nconst ROOM_NOT_FOUND_SUB_CODE = 5751;\n/* @conditional-compile-remove(rooms) */\nconst DENIED_PERMISSION_TO_ROOM_SUB_CODE = 5828;\n\n/**\n * @private\n */\nexport const isCameraOn = (state: CallAdapterState): boolean => {\n if (state.call) {\n const stream = state.call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video');\n return !!stream;\n } else {\n if (state.devices.selectedCamera) {\n const previewOn = _isPreviewOn(state.devices);\n return previewOn;\n }\n }\n return false;\n};\n\n/**\n * Reduce the set of call controls visible on mobile.\n * For example do not show screenshare button.\n *\n * @private\n */\nexport const reduceCallControlsForMobile = (\n callControlOptions: CallControlOptions | boolean | undefined\n): CallControlOptions | false => {\n if (callControlOptions === false) {\n return false;\n }\n\n // Ensure call controls a valid object.\n const reduceCallControlOptions = callControlOptions === true ? {} : callControlOptions || {};\n\n // Set to compressed mode when composite is optimized for mobile\n reduceCallControlOptions.displayType = 'compact';\n\n // Do not show screen share button when composite is optimized for mobile unless the developer\n // has explicitly opted in.\n if (reduceCallControlOptions.screenShareButton !== true) {\n reduceCallControlOptions.screenShareButton = false;\n }\n\n return reduceCallControlOptions;\n};\n\nenum CallEndReasons {\n LEFT_CALL,\n ACCESS_DENIED,\n REMOVED_FROM_CALL,\n ROOM_NOT_FOUND,\n DENIED_PERMISSION_TO_ROOM\n}\n\nconst getCallEndReason = (call: CallState): CallEndReasons => {\n const remoteParticipantsEndedArray = Array.from(Object.values(call.remoteParticipantsEnded));\n /**\n * Handle the special case in a PSTN call where removing the last user kicks the caller out of the call.\n * The code and subcode is the same as when a user is removed from a teams interop call.\n * Hence, we look at the last remote participant removed to determine if the last participant removed was a phone number.\n * If yes, the caller was kicked out of the call, but we need to show them that they left the call.\n * Note: This check will only work for 1:1 PSTN Calls. The subcode is different for 1:N PSTN calls, and we do not need to handle that case.\n */\n if (\n remoteParticipantsEndedArray.length === 1 &&\n isPhoneNumberIdentifier(remoteParticipantsEndedArray[0].identifier) &&\n call.callEndReason?.subCode !== REMOTE_PSTN_USER_HUNG_UP\n ) {\n return CallEndReasons.LEFT_CALL;\n }\n\n if (call.callEndReason?.subCode && call.callEndReason.subCode === ACCESS_DENIED_TEAMS_MEETING_SUB_CODE) {\n return CallEndReasons.ACCESS_DENIED;\n }\n\n if (call.callEndReason?.subCode && REMOVED_FROM_CALL_SUB_CODES.includes(call.callEndReason.subCode)) {\n return CallEndReasons.REMOVED_FROM_CALL;\n }\n\n /* @conditional-compile-remove(rooms) */\n if (call.callEndReason?.subCode && call.callEndReason.subCode === ROOM_NOT_FOUND_SUB_CODE) {\n return CallEndReasons.ROOM_NOT_FOUND;\n }\n\n /* @conditional-compile-remove(rooms) */\n if (call.callEndReason?.subCode && call.callEndReason.subCode === DENIED_PERMISSION_TO_ROOM_SUB_CODE) {\n return CallEndReasons.DENIED_PERMISSION_TO_ROOM;\n }\n\n if (call.callEndReason) {\n // No error codes match, assume the user simply left the call regularly\n return CallEndReasons.LEFT_CALL;\n }\n\n throw new Error('No matching call end reason');\n};\n\n/**\n * type definition for conditional-compilation\n */\ntype GetCallCompositePageFunction = ((\n call: CallState | undefined,\n previousCall: CallState | undefined\n) => CallCompositePage) &\n ((\n call: CallState | undefined,\n previousCall: CallState | undefined,\n /* @conditional-compile-remove(unsupported-browser) */ unsupportedBrowserInfo?: {\n environmentInfo?: EnvironmentInfo;\n unsupportedBrowserVersionOptedIn?: boolean;\n },\n /* @conditional-compile-remove(call-transfer) */ transferCall?: CallState\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 transferCall?: CallState\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 /* @conditional-compile-remove(call-transfer) */\n if (transferCall !== undefined) {\n return 'transferring';\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 (call?.state === 'Disconnecting') {\n return 'leaving';\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 | 'leaving'\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 | /* @conditional-compile-remove(call-transfer) */ 'transferring'\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 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\n/* @conditional-compile-remove(video-background-effects) */\n/** @private */\nexport const getBackgroundEffectFromSelectedEffect = (\n selectedEffect: VideoBackgroundEffect | undefined,\n VideoBackgroundEffectsDependency: VideoBackgroundEffectsDependency\n): VideoEffectProcessor | undefined =>\n selectedEffect?.effectName === 'blur'\n ? VideoBackgroundEffectsDependency.createBackgroundBlurEffect()\n : selectedEffect?.effectName === 'replacement'\n ? VideoBackgroundEffectsDependency.createBackgroundReplacementEffect({\n backgroundImageUrl: selectedEffect.backgroundImageUrl\n })\n : undefined;\n\n/**\n * @remarks this logic should mimic the onToggleCamera in the common call handlers.\n * @private\n */\nexport const getSelectedCameraFromAdapterState = (state: CallAdapterState): VideoDeviceInfo | undefined =>\n state.devices.selectedCamera || state.devices.cameras[0];\n\"../../../../../calling-component-bindings/src\"\"../../../../../calling-stateful-client/src\""]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/utils/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport * from './TrackErrors';\nexport * from './Utils';"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/utils/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport * from './TrackErrors';\nexport * from './Utils';\n"]}
@@ -5,6 +5,7 @@ import { CallWithChatCompositeIcons } from '../common/icons';
5
5
  import { FileSharingOptions } from '../ChatComposite';
6
6
  import { DeviceCheckOptions } from '../CallComposite/CallComposite';
7
7
  import { CommonCallControlOptions } from '../common/types/CommonCallControlOptions';
8
+ import { VideoGalleryLayout } from "../../../../react-components/src";
8
9
  /**
9
10
  * Props required for the {@link CallWithChatComposite}
10
11
  *
@@ -114,6 +115,15 @@ export declare type CallWithChatCompositeOptions = {
114
115
  * if this is not supplied, the composite will not show a unsupported browser page.
115
116
  */
116
117
  onEnvironmentInfoTroubleshootingClick?: () => void;
118
+ /**
119
+ * Options for controlling the starting layout of the composite's video gallery
120
+ */
121
+ galleryOptions?: {
122
+ /**
123
+ * Layout for the gallery when the call starts
124
+ */
125
+ layout?: VideoGalleryLayout;
126
+ };
117
127
  };
118
128
  /**
119
129
  * CallWithChatComposite brings together key components to provide a full call with chat experience out of the box.
@@ -83,20 +83,32 @@ const CallWithChatScreen = (props) => {
83
83
  tooltipOnContent: callWithChatStrings.chatButtonTooltipClose
84
84
  }), [callWithChatStrings]);
85
85
  const theme = useTheme();
86
- const commonButtonStyles = useMemo(() => !mobileView ? getDesktopCommonButtonStyles(theme) : undefined, [mobileView, theme]);
86
+ const commonButtonStyles = useMemo(() => (!mobileView ? getDesktopCommonButtonStyles(theme) : undefined), [mobileView, theme]);
87
87
  const showChatButton = checkShowChatButton(props.callControls);
88
88
  const chatButtonDisabled = showChatButton && (checkChatButtonIsDisabled(props.callControls) || !hasJoinedCall || isOnHold);
89
- const chatTabHeaderProps = useMemo(() => mobileView && showChatButton ? {
90
- onClick: toggleChat,
91
- disabled: chatButtonDisabled
92
- } : undefined, [chatButtonDisabled, mobileView, toggleChat, showChatButton]);
89
+ const chatTabHeaderProps = useMemo(() => mobileView && showChatButton
90
+ ? {
91
+ onClick: toggleChat,
92
+ disabled: chatButtonDisabled
93
+ }
94
+ : undefined, [chatButtonDisabled, mobileView, toggleChat, showChatButton]);
93
95
  const unreadChatMessagesCount = useUnreadMessagesTracker(chatProps.adapter, isChatOpen);
94
96
  const customChatButton = useCallback((args) => ({
95
97
  placement: mobileView ? 'primary' : 'secondary',
96
- onRenderButton: () => React.createElement(ChatButtonWithUnreadMessagesBadge, { checked: isChatOpen, showLabel: args.displayType !== 'compact', onClick: toggleChat, disabled: chatButtonDisabled, strings: chatButtonStrings, styles: commonButtonStyles, newMessageLabel: callWithChatStrings.chatButtonNewMessageNotificationLabel, unreadChatMessagesCount: unreadChatMessagesCount,
98
+ onRenderButton: () => (React.createElement(ChatButtonWithUnreadMessagesBadge, { checked: isChatOpen, showLabel: args.displayType !== 'compact', onClick: toggleChat, disabled: chatButtonDisabled, strings: chatButtonStrings, styles: commonButtonStyles, newMessageLabel: callWithChatStrings.chatButtonNewMessageNotificationLabel, unreadChatMessagesCount: unreadChatMessagesCount,
97
99
  // As chat is disabled when on hold, we don't want to show the unread badge when on hold
98
- hideUnreadChatMessagesBadge: isOnHold })
99
- }), [callWithChatStrings.chatButtonNewMessageNotificationLabel, chatButtonStrings, commonButtonStyles, isChatOpen, chatButtonDisabled, mobileView, toggleChat, unreadChatMessagesCount, isOnHold]);
100
+ hideUnreadChatMessagesBadge: isOnHold }))
101
+ }), [
102
+ callWithChatStrings.chatButtonNewMessageNotificationLabel,
103
+ chatButtonStrings,
104
+ commonButtonStyles,
105
+ isChatOpen,
106
+ chatButtonDisabled,
107
+ mobileView,
108
+ toggleChat,
109
+ unreadChatMessagesCount,
110
+ isOnHold
111
+ ]);
100
112
  const callControlOptionsFromProps = useMemo(() => (Object.assign({}, (typeof props.callControls === 'object' ? props.callControls : {}))), [props.callControls]);
101
113
  const injectedCustomButtonsFromProps = useMemo(() => {
102
114
  var _a;
@@ -105,8 +117,13 @@ const CallWithChatScreen = (props) => {
105
117
  return [];
106
118
  }, [callControlOptionsFromProps]);
107
119
  const callCompositeOptions = useMemo(() => ({
108
- callControls: props.callControls === false ? false : Object.assign(Object.assign({}, callControlOptionsFromProps), { onFetchCustomButtonProps: [...(showChatButton ? [customChatButton] : []),
109
- ...injectedCustomButtonsFromProps], legacyControlBarExperience: false }),
120
+ callControls: props.callControls === false
121
+ ? false
122
+ : Object.assign(Object.assign({}, callControlOptionsFromProps), { onFetchCustomButtonProps: [
123
+ ...(showChatButton ? [customChatButton] : []),
124
+ /* @conditional-compile-remove(control-bar-button-injection) */
125
+ ...injectedCustomButtonsFromProps
126
+ ], legacyControlBarExperience: false }),
110
127
  /* @conditional-compile-remove(call-readiness) */
111
128
  deviceChecks: props.deviceChecks,
112
129
  /* @conditional-compile-remove(call-readiness) */
@@ -114,21 +131,43 @@ const CallWithChatScreen = (props) => {
114
131
  /* @conditional-compile-remove(call-readiness) */
115
132
  onPermissionsTroubleshootingClick: props.onPermissionsTroubleshootingClick,
116
133
  /* @conditional-compile-remove(unsupported-browser) */
117
- onEnvironmentInfoTroubleshootingClick: props.onEnvironmentInfoTroubleshootingClick
118
- }), [props.callControls, callControlOptionsFromProps, showChatButton, customChatButton, injectedCustomButtonsFromProps,
134
+ onEnvironmentInfoTroubleshootingClick: props.onEnvironmentInfoTroubleshootingClick,
135
+ /* @conditional-compile-remove(gallery-layouts) */
136
+ galleryOptions: props.galleryOptions
137
+ }), [
138
+ props.callControls,
139
+ callControlOptionsFromProps,
140
+ showChatButton,
141
+ customChatButton,
142
+ injectedCustomButtonsFromProps,
143
+ /* @conditional-compile-remove(call-readiness) */
119
144
  props.deviceChecks,
145
+ /* @conditional-compile-remove(unsupported-browser) */
120
146
  props.onEnvironmentInfoTroubleshootingClick,
147
+ /* @conditional-compile-remove(call-readiness) */
121
148
  props.onNetworkingTroubleShootingClick,
122
- props.onPermissionsTroubleshootingClick]);
123
- const onRenderChatContent = useCallback(() => React.createElement(ChatComposite, Object.assign({}, chatProps, { fluentTheme: theme, options: {
149
+ /* @conditional-compile-remove(call-readiness) */
150
+ props.onPermissionsTroubleshootingClick,
151
+ /* @conditional-compile-remove(gallery-layouts) */
152
+ props.galleryOptions
153
+ ]);
154
+ const onRenderChatContent = useCallback(() => (React.createElement(ChatComposite, Object.assign({}, chatProps, { fluentTheme: theme, options: {
124
155
  topic: false,
125
156
  /* @conditional-compile-remove(chat-composite-participant-pane) */
126
157
  participantPane: false,
127
158
  /* @conditional-compile-remove(file-sharing) */
128
159
  fileSharing: props.fileSharing
129
- }, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData })), [chatProps, /* @conditional-compile-remove(file-sharing) */ props.fileSharing, props.onFetchAvatarPersonaData, theme]);
130
- 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]);
131
- const sidePaneContentRenderer = useMemo(() => hasJoinedCall ? onRenderChatContent : undefined, [hasJoinedCall, onRenderChatContent]);
160
+ }, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData }))), [
161
+ chatProps,
162
+ /* @conditional-compile-remove(file-sharing) */ props.fileSharing,
163
+ props.onFetchAvatarPersonaData,
164
+ theme
165
+ ]);
166
+ const sidePaneHeaderRenderer = useCallback(() => {
167
+ var _a;
168
+ return (React.createElement(SidePaneHeader, { headingText: callWithChatStrings.chatPaneTitle, onClose: closeChat, dismissSidePaneButtonAriaLabel: (_a = callWithChatStrings.dismissSidePaneButtonLabel) !== null && _a !== void 0 ? _a : '', mobileView: mobileView }));
169
+ }, [callWithChatStrings.chatPaneTitle, callWithChatStrings.dismissSidePaneButtonLabel, closeChat, mobileView]);
170
+ const sidePaneContentRenderer = useMemo(() => (hasJoinedCall ? onRenderChatContent : undefined), [hasJoinedCall, onRenderChatContent]);
132
171
  const sidePaneRenderer = useMemo(() => ({
133
172
  contentRenderer: sidePaneContentRenderer,
134
173
  headerRenderer: sidePaneHeaderRenderer,
@@ -139,17 +178,17 @@ const CallWithChatScreen = (props) => {
139
178
  isActive: isChatOpen,
140
179
  persistRenderingWhenClosed: true
141
180
  }), [isChatOpen, sidePaneRenderer]);
142
- const onSidePaneIdChange = useCallback(sidePaneId => {
181
+ const onSidePaneIdChange = useCallback((sidePaneId) => {
143
182
  // If the pane is switched to something other than chat, removing rendering chat.
144
183
  if (sidePaneId && sidePaneId !== 'chat') {
145
184
  closeChat();
146
185
  }
147
186
  }, [closeChat]);
148
- return React.createElement("div", { ref: containerRef, className: mergeStyles(containerDivStyles) },
187
+ return (React.createElement("div", { ref: containerRef, className: mergeStyles(containerDivStyles) },
149
188
  React.createElement(Stack, { verticalFill: true, grow: true, styles: compositeOuterContainerStyles, id: compositeParentDivId },
150
189
  React.createElement(Stack, { horizontal: true, grow: true },
151
190
  React.createElement(Stack.Item, { grow: true, styles: callCompositeContainerStyles(mobileView) },
152
- React.createElement(CallCompositeInner, Object.assign({}, props, { formFactor: formFactor, options: callCompositeOptions, adapter: callAdapter, fluentTheme: fluentTheme, callInvitationUrl: props.joinInvitationURL, overrideSidePane: overrideSidePaneProps, onSidePaneIdChange: onSidePaneIdChange, mobileChatTabHeader: chatTabHeaderProps }))))));
191
+ React.createElement(CallCompositeInner, Object.assign({}, props, { formFactor: formFactor, options: callCompositeOptions, adapter: callAdapter, fluentTheme: fluentTheme, callInvitationUrl: props.joinInvitationURL, overrideSidePane: overrideSidePaneProps, onSidePaneIdChange: onSidePaneIdChange, mobileChatTabHeader: chatTabHeaderProps })))))));
153
192
  };
154
193
  /**
155
194
  * CallWithChatComposite brings together key components to provide a full call with chat experience out of the box.
@@ -158,14 +197,18 @@ const CallWithChatScreen = (props) => {
158
197
  */
159
198
  export const CallWithChatComposite = (props) => {
160
199
  const { adapter, fluentTheme, rtl, formFactor, joinInvitationURL, options } = props;
161
- return React.createElement(BaseProvider, { fluentTheme: fluentTheme, rtl: rtl, locale: props.locale, icons: props.icons },
200
+ return (React.createElement(BaseProvider, { fluentTheme: fluentTheme, rtl: rtl, locale: props.locale, icons: props.icons },
162
201
  React.createElement(CallWithChatScreen, Object.assign({}, props, {
163
- /* @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,
164
- /* @conditional-compile-remove(file-sharing) */ fileSharing: options === null || options === void 0 ? void 0 : options.fileSharing })));
202
+ /* @conditional-compile-remove(call-readiness) */
203
+ 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,
204
+ /* @conditional-compile-remove(file-sharing) */
205
+ fileSharing: options === null || options === void 0 ? void 0 : options.fileSharing }))));
165
206
  };
166
207
  const hasJoinedCallFn = (page, callStatus) => {
167
208
  /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(one-to-n-calling) */
168
- return page === 'call' && (callStatus === 'Connected' || callStatus === 'RemoteHold' || callStatus === 'Disconnecting') || page === 'hold' && (callStatus === 'LocalHold' || callStatus === 'Disconnecting');
209
+ return ((page === 'call' &&
210
+ (callStatus === 'Connected' || callStatus === 'RemoteHold' || callStatus === 'Disconnecting')) ||
211
+ (page === 'hold' && (callStatus === 'LocalHold' || callStatus === 'Disconnecting')));
169
212
  return page === 'call' && (callStatus === 'Connected' || callStatus === 'Disconnecting');
170
213
  };
171
214
  const checkShowChatButton = (callControls) => {
@@ -1 +1 @@
1
- {"version":3,"file":"CallWithChatComposite.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport React, { useCallback, useState, useMemo, useEffect, useRef } from 'react';\nimport { mergeStyles, PartialTheme, Stack, Theme } from '@fluentui/react';\nimport { CallCompositePage } from '../CallComposite';\nimport { CallState } from '@azure/communication-calling';\nimport { callCompositeContainerStyles, compositeOuterContainerStyles } from './styles/CallWithChatCompositeStyles';\nimport { CallWithChatAdapter } from './adapter/CallWithChatAdapter';\nimport { CallWithChatBackedCallAdapter } from './adapter/CallWithChatBackedCallAdapter';\nimport { CallWithChatBackedChatAdapter } from './adapter/CallWithChatBackedChatAdapter';\nimport { CallAdapter } from '../CallComposite';\nimport { ChatComposite, ChatCompositeProps } from '../ChatComposite';\nimport { BaseProvider, BaseCompositeProps } from '../common/BaseComposite';\nimport { CallWithChatCompositeIcons } from '../common/icons';\nimport { AvatarPersonaDataCallback } from '../common/AvatarPersona';\nimport { CallWithChatAdapterState } from './state/CallWithChatAdapterState';\nimport { ParticipantMenuItemsCallback, _useContainerHeight, _useContainerWidth, useTheme } from '@internal/react-components';\nimport { useId } from '@fluentui/react-hooks';\n/* @conditional-compile-remove(file-sharing) */\nimport { FileSharingOptions } from '../ChatComposite';\nimport { containerDivStyles } from '../common/ContainerRectProps';\nimport { useCallWithChatCompositeStrings } from './hooks/useCallWithChatCompositeStrings';\nimport { CallCompositeInner, CallCompositeOptions } from '../CallComposite/CallComposite';\n/* @conditional-compile-remove(call-readiness) */\nimport { DeviceCheckOptions } from '../CallComposite/CallComposite';\nimport { CommonCallControlOptions, CustomCallControlButtonCallbackArgs, _CommonCallControlOptions } from '../common/types/CommonCallControlOptions';\nimport { ChatButtonWithUnreadMessagesBadge } from './ChatButton/ChatButtonWithUnreadMessagesBadge';\nimport { getDesktopCommonButtonStyles } from '../common/ControlBar/CommonCallControlBar';\nimport { InjectedSidePaneProps } from '../CallComposite/components/SidePane/SidePaneProvider';\nimport { isDisabled } from '../CallComposite/utils';\nimport { CustomCallControlButtonCallback } from '../common/ControlBar/CustomButton';\nimport { SidePaneHeader } from '../common/SidePaneHeader';\nimport { _CallControlOptions } from '../CallComposite/types/CallControlOptions';\nimport { useUnreadMessagesTracker } from './ChatButton/useUnreadMessagesTracker';\n\n/**\n * Props required for the {@link CallWithChatComposite}\n *\n * @public\n */\nexport interface CallWithChatCompositeProps extends BaseCompositeProps<CallWithChatCompositeIcons> {\n adapter: CallWithChatAdapter;\n /**\n * Fluent theme for the composite.\n *\n * Defaults to a light theme if undefined.\n */\n fluentTheme?: PartialTheme | Theme;\n /**\n * Optimizes the composite form factor for either desktop or mobile.\n * @remarks `mobile` is currently only optimized for Portrait mode on mobile devices and does not support landscape.\n * @defaultValue 'desktop'\n */\n formFactor?: 'desktop' | 'mobile';\n /**\n * URL that can be used to copy a call-with-chat invite to the Users clipboard.\n */\n joinInvitationURL?: string;\n /**\n * Flags to enable/disable or customize UI elements of the {@link CallWithChatComposite}\n */\n options?: CallWithChatCompositeOptions;\n}\n\n/**\n * Customization options for the control bar in calling with chat experience.\n *\n * @public\n */\nexport interface CallWithChatControlOptions extends CommonCallControlOptions {\n /**\n * Show or hide the chat button in the call-with-chat composite control bar.\n * @defaultValue true\n */\n chatButton?: boolean | /* @conditional-compile-remove(PSTN-calls) */{\n disabled: boolean;\n };\n}\n\n/**\n * Optional features of the {@link CallWithChatComposite}.\n *\n * @public\n */\nexport type CallWithChatCompositeOptions = {\n /**\n * Call control options to change what buttons show on the call-with-chat composite control bar.\n * If using the boolean values, true will cause default behavior across the whole control bar. False hides the whole control bar.\n */\n callControls?: boolean | CallWithChatControlOptions;\n /* @conditional-compile-remove(file-sharing) */\n /**\n * Properties for configuring the File Sharing feature.\n * If undefined, file sharing feature will be disabled.\n * @beta\n */\n fileSharing?: FileSharingOptions;\n /* @conditional-compile-remove(call-readiness) */\n /**\n * Device permissions check options for your call.\n * Here you can choose what device permissions you prompt the user for,\n * as well as what device permissions must be accepted before starting a call.\n */\n deviceChecks?: DeviceCheckOptions;\n /* @conditional-compile-remove(call-readiness) */\n /**\n * Callback you may provide to supply users with further steps to troubleshoot why they have been\n * unable to grant your site the required permissions for the call.\n *\n * @example\n * ```ts\n * onPermissionsTroubleshootingClick: () =>\n * window.open('https://contoso.com/permissions-troubleshooting', '_blank');\n * ```\n *\n * @remarks\n * if this is not supplied, the composite will not show a 'further troubleshooting' link.\n */\n onPermissionsTroubleshootingClick?: (permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n }) => void;\n /* @conditional-compile-remove(call-readiness) */\n /**\n * Optional callback to supply users with further troubleshooting steps for network issues\n * experienced when connecting to a call.\n *\n * @example\n * ```ts\n * onNetworkingTroubleShootingClick?: () =>\n * window.open('https://contoso.com/network-troubleshooting', '_blank');\n * ```\n *\n * @remarks\n * if this is not supplied, the composite will not show a 'network troubleshooting' link.\n */\n onNetworkingTroubleShootingClick?: () => void;\n /* @conditional-compile-remove(unsupported-browser) */\n /**\n * Callback you may provide to supply users with a provided page to showcase supported browsers by ACS.\n *\n * @example\n * ```ts\n * onBrowserTroubleShootingClick?: () =>\n * window.open('https://contoso.com/browser-troubleshooting', '_blank');\n * ```\n *\n * @remarks\n * if this is not supplied, the composite will not show a unsupported browser page.\n */\n onEnvironmentInfoTroubleshootingClick?: () => void;\n};\ntype CallWithChatScreenProps = {\n callWithChatAdapter: CallWithChatAdapter;\n fluentTheme?: PartialTheme | Theme;\n formFactor?: 'desktop' | 'mobile';\n joinInvitationURL?: string;\n callControls?: boolean | CallWithChatControlOptions;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n /* @conditional-compile-remove(file-sharing) */\n fileSharing?: FileSharingOptions;\n rtl?: boolean;\n /* @conditional-compile-remove(call-readiness) */\n deviceChecks?: DeviceCheckOptions;\n /* @conditional-compile-remove(call-readiness) */\n onPermissionsTroubleshootingClick?: (permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n }) => void;\n /* @conditional-compile-remove(call-readiness) */\n onNetworkingTroubleShootingClick?: () => void;\n /* @conditional-compile-remove(unsupported-browser) */\n onEnvironmentInfoTroubleshootingClick?: () => void;\n};\nconst CallWithChatScreen = (props: CallWithChatScreenProps): JSX.Element => {\n const {\n callWithChatAdapter,\n fluentTheme,\n formFactor = 'desktop'\n } = props;\n const mobileView = formFactor === 'mobile';\n if (!callWithChatAdapter) {\n throw new Error('CallWithChatAdapter is undefined');\n }\n const callAdapter: CallAdapter = useMemo(() => new CallWithChatBackedCallAdapter(callWithChatAdapter), [callWithChatAdapter]);\n const [currentCallState, setCurrentCallState] = useState<CallState>();\n const [currentPage, setCurrentPage] = useState<CallCompositePage>();\n const [isChatOpen, setIsChatOpen] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n useEffect(() => {\n const updateCallWithChatPage = (newState: CallWithChatAdapterState): void => {\n setCurrentPage(newState.page);\n setCurrentCallState(newState.call?.state);\n };\n updateCallWithChatPage(callWithChatAdapter.getState());\n callWithChatAdapter.onStateChange(updateCallWithChatPage);\n return () => {\n callWithChatAdapter.offStateChange(updateCallWithChatPage);\n };\n }, [callWithChatAdapter]);\n const chatProps: ChatCompositeProps = useMemo(() => {\n return {\n adapter: new CallWithChatBackedChatAdapter(callWithChatAdapter)\n };\n }, [callWithChatAdapter]);\n\n /** Constant setting of id for the parent stack of the composite */\n const compositeParentDivId = useId('callWithChatCompositeParentDiv-internal');\n const closeChat = useCallback(() => {\n setIsChatOpen(false);\n }, []);\n const openChat = useCallback(() => {\n setIsChatOpen(true);\n // timeout is required to give the window time to render the sendbox so we have something to send focus to.\n // 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.\n const chatFocusTimeout = setInterval(() => {\n const callWithChatCompositeRootDiv = document.querySelector(`[id=\"${compositeParentDivId}\"]`);\n const sendbox = (callWithChatCompositeRootDiv?.querySelector(`[id=\"sendbox\"]`) as HTMLTextAreaElement);\n if (sendbox !== null) {\n sendbox.focus();\n clearInterval(chatFocusTimeout);\n }\n }, 3);\n setTimeout(() => {\n clearInterval(chatFocusTimeout);\n }, 300);\n }, [compositeParentDivId]);\n const isOnHold = isOnHoldTrampoline(currentPage);\n useEffect(() => {\n if (isOnHold) {\n closeChat();\n }\n }, [closeChat, isOnHold]);\n const hasJoinedCall = !!(currentPage && hasJoinedCallFn(currentPage, currentCallState ?? 'None'));\n const toggleChat = useCallback(() => {\n isChatOpen || !hasJoinedCall ? closeChat() : openChat();\n }, [closeChat, hasJoinedCall, isChatOpen, openChat]);\n const callWithChatStrings = useCallWithChatCompositeStrings();\n const chatButtonStrings = useMemo(() => ({\n label: callWithChatStrings.chatButtonLabel,\n tooltipOffContent: callWithChatStrings.chatButtonTooltipOpen,\n tooltipOnContent: callWithChatStrings.chatButtonTooltipClose\n }), [callWithChatStrings]);\n const theme = useTheme();\n const commonButtonStyles = useMemo(() => !mobileView ? getDesktopCommonButtonStyles(theme) : undefined, [mobileView, theme]);\n const showChatButton = checkShowChatButton(props.callControls);\n const chatButtonDisabled = showChatButton && (checkChatButtonIsDisabled(props.callControls) || !hasJoinedCall || isOnHold);\n const chatTabHeaderProps = useMemo(() => mobileView && showChatButton ? {\n onClick: toggleChat,\n disabled: chatButtonDisabled\n } : undefined, [chatButtonDisabled, mobileView, toggleChat, showChatButton]);\n const unreadChatMessagesCount = useUnreadMessagesTracker(chatProps.adapter, isChatOpen);\n const customChatButton: CustomCallControlButtonCallback = useCallback((args: CustomCallControlButtonCallbackArgs) => ({\n placement: mobileView ? 'primary' : 'secondary',\n onRenderButton: () => <ChatButtonWithUnreadMessagesBadge checked={isChatOpen} showLabel={args.displayType !== 'compact'} onClick={toggleChat} disabled={chatButtonDisabled} strings={chatButtonStrings} styles={commonButtonStyles} newMessageLabel={callWithChatStrings.chatButtonNewMessageNotificationLabel} unreadChatMessagesCount={unreadChatMessagesCount}\n // As chat is disabled when on hold, we don't want to show the unread badge when on hold\n hideUnreadChatMessagesBadge={isOnHold} />\n }), [callWithChatStrings.chatButtonNewMessageNotificationLabel, chatButtonStrings, commonButtonStyles, isChatOpen, chatButtonDisabled, mobileView, toggleChat, unreadChatMessagesCount, isOnHold]);\n const callControlOptionsFromProps = useMemo(() => ({\n ...(typeof props.callControls === 'object' ? props.callControls : {})\n }), [props.callControls]);\n const injectedCustomButtonsFromProps = useMemo(() => {\n /* @conditional-compile-remove(control-bar-button-injection) */\n return [...(callControlOptionsFromProps.onFetchCustomButtonProps ?? [])];\n return [];\n }, [callControlOptionsFromProps]);\n const callCompositeOptions: CallCompositeOptions = useMemo(() => ({\n callControls: props.callControls === false ? false : ({\n ...callControlOptionsFromProps,\n onFetchCustomButtonProps: [...(showChatButton ? [customChatButton] : []), /* @conditional-compile-remove(control-bar-button-injection) */\n ...injectedCustomButtonsFromProps],\n legacyControlBarExperience: false\n } as _CallControlOptions),\n /* @conditional-compile-remove(call-readiness) */\n deviceChecks: props.deviceChecks,\n /* @conditional-compile-remove(call-readiness) */\n onNetworkingTroubleShootingClick: props.onNetworkingTroubleShootingClick,\n /* @conditional-compile-remove(call-readiness) */\n onPermissionsTroubleshootingClick: props.onPermissionsTroubleshootingClick,\n /* @conditional-compile-remove(unsupported-browser) */\n onEnvironmentInfoTroubleshootingClick: props.onEnvironmentInfoTroubleshootingClick\n }), [props.callControls, callControlOptionsFromProps, showChatButton, customChatButton, injectedCustomButtonsFromProps, /* @conditional-compile-remove(call-readiness) */\n props.deviceChecks, /* @conditional-compile-remove(unsupported-browser) */\n props.onEnvironmentInfoTroubleshootingClick, /* @conditional-compile-remove(call-readiness) */\n props.onNetworkingTroubleShootingClick, /* @conditional-compile-remove(call-readiness) */\n props.onPermissionsTroubleshootingClick]);\n const onRenderChatContent = useCallback((): JSX.Element => <ChatComposite {...chatProps} fluentTheme={theme} options={{\n topic: false,\n /* @conditional-compile-remove(chat-composite-participant-pane) */\n participantPane: false,\n /* @conditional-compile-remove(file-sharing) */\n fileSharing: props.fileSharing\n }} onFetchAvatarPersonaData={props.onFetchAvatarPersonaData} />, [chatProps, /* @conditional-compile-remove(file-sharing) */props.fileSharing, props.onFetchAvatarPersonaData, theme]);\n const sidePaneHeaderRenderer = useCallback(() => <SidePaneHeader headingText={callWithChatStrings.chatPaneTitle} onClose={closeChat} dismissSidePaneButtonAriaLabel={callWithChatStrings.dismissSidePaneButtonLabel ?? ''} mobileView={mobileView} />, [callWithChatStrings.chatPaneTitle, callWithChatStrings.dismissSidePaneButtonLabel, closeChat, mobileView]);\n const sidePaneContentRenderer = useMemo(() => hasJoinedCall ? onRenderChatContent : undefined, [hasJoinedCall, onRenderChatContent]);\n const sidePaneRenderer = useMemo(() => ({\n contentRenderer: sidePaneContentRenderer,\n headerRenderer: sidePaneHeaderRenderer,\n id: 'chat'\n }), [sidePaneContentRenderer, sidePaneHeaderRenderer]);\n const overrideSidePaneProps: InjectedSidePaneProps = useMemo(() => ({\n renderer: sidePaneRenderer,\n isActive: isChatOpen,\n persistRenderingWhenClosed: true\n }), [isChatOpen, sidePaneRenderer]);\n const onSidePaneIdChange = useCallback(sidePaneId => {\n // If the pane is switched to something other than chat, removing rendering chat.\n if (sidePaneId && sidePaneId !== 'chat') {\n closeChat();\n }\n }, [closeChat]);\n return <div ref={containerRef} className={mergeStyles(containerDivStyles)}>\n <Stack verticalFill grow styles={compositeOuterContainerStyles} id={compositeParentDivId}>\n <Stack horizontal grow>\n <Stack.Item grow styles={callCompositeContainerStyles(mobileView)}>\n <CallCompositeInner {...props} formFactor={formFactor} options={callCompositeOptions} adapter={callAdapter} fluentTheme={fluentTheme} callInvitationUrl={props.joinInvitationURL} overrideSidePane={overrideSidePaneProps} onSidePaneIdChange={onSidePaneIdChange} mobileChatTabHeader={chatTabHeaderProps} />\n </Stack.Item>\n </Stack>\n </Stack>\n </div>;\n};\n\n/**\n * CallWithChatComposite brings together key components to provide a full call with chat experience out of the box.\n *\n * @public\n */\nexport const CallWithChatComposite = (props: CallWithChatCompositeProps): JSX.Element => {\n const {\n adapter,\n fluentTheme,\n rtl,\n formFactor,\n joinInvitationURL,\n options\n } = props;\n return <BaseProvider fluentTheme={fluentTheme} rtl={rtl} locale={props.locale} icons={props.icons}>\n <CallWithChatScreen {...props}\n /* @conditional-compile-remove(call-readiness) */ deviceChecks={options?.deviceChecks} callWithChatAdapter={adapter} formFactor={formFactor} callControls={options?.callControls} joinInvitationURL={joinInvitationURL} fluentTheme={fluentTheme}\n /* @conditional-compile-remove(file-sharing) */ fileSharing={options?.fileSharing} />\n </BaseProvider>;\n};\nconst hasJoinedCallFn = (page: CallCompositePage, callStatus: CallState): boolean => {\n /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(one-to-n-calling) */\n return page === 'call' && (callStatus === 'Connected' || callStatus === 'RemoteHold' || callStatus === 'Disconnecting') || page === 'hold' && (callStatus === 'LocalHold' || callStatus === 'Disconnecting');\n return page === 'call' && (callStatus === 'Connected' || callStatus === 'Disconnecting');\n};\nconst checkShowChatButton = (callControls?: boolean | CallWithChatControlOptions): boolean => {\n if (callControls === undefined || callControls === true) {\n return true;\n }\n if (callControls === false) {\n return false;\n }\n return callControls.chatButton !== false;\n};\nconst checkChatButtonIsDisabled = (callControls?: boolean | CallWithChatControlOptions): boolean => {\n return typeof callControls === 'object' && isDisabled(callControls?.chatButton);\n};\nconst isOnHoldTrampoline = (page: CallCompositePage | undefined): boolean => {\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n return page === 'hold';\n return false;\n};\"../../../../react-components/src\""]}
1
+ {"version":3,"file":"CallWithChatComposite.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport React, { useCallback, useState, useMemo, useEffect, useRef } from 'react';\nimport { mergeStyles, PartialTheme, Stack, Theme } from '@fluentui/react';\nimport { CallCompositePage } from '../CallComposite';\nimport { CallState } from '@azure/communication-calling';\nimport { callCompositeContainerStyles, compositeOuterContainerStyles } from './styles/CallWithChatCompositeStyles';\nimport { CallWithChatAdapter } from './adapter/CallWithChatAdapter';\nimport { CallWithChatBackedCallAdapter } from './adapter/CallWithChatBackedCallAdapter';\nimport { CallWithChatBackedChatAdapter } from './adapter/CallWithChatBackedChatAdapter';\nimport { CallAdapter } from '../CallComposite';\nimport { ChatComposite, ChatCompositeProps } from '../ChatComposite';\nimport { BaseProvider, BaseCompositeProps } from '../common/BaseComposite';\nimport { CallWithChatCompositeIcons } from '../common/icons';\nimport { AvatarPersonaDataCallback } from '../common/AvatarPersona';\nimport { CallWithChatAdapterState } from './state/CallWithChatAdapterState';\nimport {\n ParticipantMenuItemsCallback,\n _useContainerHeight,\n _useContainerWidth,\n useTheme\n} from '@internal/react-components';\nimport { useId } from '@fluentui/react-hooks';\n/* @conditional-compile-remove(file-sharing) */\nimport { FileSharingOptions } from '../ChatComposite';\nimport { containerDivStyles } from '../common/ContainerRectProps';\nimport { useCallWithChatCompositeStrings } from './hooks/useCallWithChatCompositeStrings';\nimport { CallCompositeInner, CallCompositeOptions } from '../CallComposite/CallComposite';\n/* @conditional-compile-remove(call-readiness) */\nimport { DeviceCheckOptions } from '../CallComposite/CallComposite';\nimport {\n CommonCallControlOptions,\n CustomCallControlButtonCallbackArgs,\n _CommonCallControlOptions\n} from '../common/types/CommonCallControlOptions';\nimport { ChatButtonWithUnreadMessagesBadge } from './ChatButton/ChatButtonWithUnreadMessagesBadge';\nimport { getDesktopCommonButtonStyles } from '../common/ControlBar/CommonCallControlBar';\nimport { InjectedSidePaneProps } from '../CallComposite/components/SidePane/SidePaneProvider';\nimport { isDisabled } from '../CallComposite/utils';\nimport { CustomCallControlButtonCallback } from '../common/ControlBar/CustomButton';\nimport { SidePaneHeader } from '../common/SidePaneHeader';\nimport { _CallControlOptions } from '../CallComposite/types/CallControlOptions';\nimport { useUnreadMessagesTracker } from './ChatButton/useUnreadMessagesTracker';\n/* @conditional-compile-remove(gallery-layouts) */\nimport { VideoGalleryLayout } from '@internal/react-components';\n\n/**\n * Props required for the {@link CallWithChatComposite}\n *\n * @public\n */\nexport interface CallWithChatCompositeProps extends BaseCompositeProps<CallWithChatCompositeIcons> {\n adapter: CallWithChatAdapter;\n /**\n * Fluent theme for the composite.\n *\n * Defaults to a light theme if undefined.\n */\n fluentTheme?: PartialTheme | Theme;\n /**\n * Optimizes the composite form factor for either desktop or mobile.\n * @remarks `mobile` is currently only optimized for Portrait mode on mobile devices and does not support landscape.\n * @defaultValue 'desktop'\n */\n formFactor?: 'desktop' | 'mobile';\n /**\n * URL that can be used to copy a call-with-chat invite to the Users clipboard.\n */\n joinInvitationURL?: string;\n /**\n * Flags to enable/disable or customize UI elements of the {@link CallWithChatComposite}\n */\n options?: CallWithChatCompositeOptions;\n}\n\n/**\n * Customization options for the control bar in calling with chat experience.\n *\n * @public\n */\nexport interface CallWithChatControlOptions extends CommonCallControlOptions {\n /**\n * Show or hide the chat button in the call-with-chat composite control bar.\n * @defaultValue true\n */\n chatButton?: boolean | /* @conditional-compile-remove(PSTN-calls) */ { disabled: boolean };\n}\n\n/**\n * Optional features of the {@link CallWithChatComposite}.\n *\n * @public\n */\nexport type CallWithChatCompositeOptions = {\n /**\n * Call control options to change what buttons show on the call-with-chat composite control bar.\n * If using the boolean values, true will cause default behavior across the whole control bar. False hides the whole control bar.\n */\n callControls?: boolean | CallWithChatControlOptions;\n /* @conditional-compile-remove(file-sharing) */\n /**\n * Properties for configuring the File Sharing feature.\n * If undefined, file sharing feature will be disabled.\n * @beta\n */\n fileSharing?: FileSharingOptions;\n /* @conditional-compile-remove(call-readiness) */\n /**\n * Device permissions check options for your call.\n * Here you can choose what device permissions you prompt the user for,\n * as well as what device permissions must be accepted before starting a call.\n */\n deviceChecks?: DeviceCheckOptions;\n /* @conditional-compile-remove(call-readiness) */\n /**\n * Callback you may provide to supply users with further steps to troubleshoot why they have been\n * unable to grant your site the required permissions for the call.\n *\n * @example\n * ```ts\n * onPermissionsTroubleshootingClick: () =>\n * window.open('https://contoso.com/permissions-troubleshooting', '_blank');\n * ```\n *\n * @remarks\n * if this is not supplied, the composite will not show a 'further troubleshooting' link.\n */\n onPermissionsTroubleshootingClick?: (permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n }) => void;\n /* @conditional-compile-remove(call-readiness) */\n /**\n * Optional callback to supply users with further troubleshooting steps for network issues\n * experienced when connecting to a call.\n *\n * @example\n * ```ts\n * onNetworkingTroubleShootingClick?: () =>\n * window.open('https://contoso.com/network-troubleshooting', '_blank');\n * ```\n *\n * @remarks\n * if this is not supplied, the composite will not show a 'network troubleshooting' link.\n */\n onNetworkingTroubleShootingClick?: () => void;\n /* @conditional-compile-remove(unsupported-browser) */\n /**\n * Callback you may provide to supply users with a provided page to showcase supported browsers by ACS.\n *\n * @example\n * ```ts\n * onBrowserTroubleShootingClick?: () =>\n * window.open('https://contoso.com/browser-troubleshooting', '_blank');\n * ```\n *\n * @remarks\n * if this is not supplied, the composite will not show a unsupported browser page.\n */\n onEnvironmentInfoTroubleshootingClick?: () => void;\n /* @conditional-compile-remove(gallery-layouts) */\n /**\n * Options for controlling the starting layout of the composite's video gallery\n */\n galleryOptions?: {\n /**\n * Layout for the gallery when the call starts\n */\n layout?: VideoGalleryLayout;\n };\n};\n\ntype CallWithChatScreenProps = {\n callWithChatAdapter: CallWithChatAdapter;\n fluentTheme?: PartialTheme | Theme;\n formFactor?: 'desktop' | 'mobile';\n joinInvitationURL?: string;\n callControls?: boolean | CallWithChatControlOptions;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n /* @conditional-compile-remove(file-sharing) */\n fileSharing?: FileSharingOptions;\n rtl?: boolean;\n /* @conditional-compile-remove(call-readiness) */\n deviceChecks?: DeviceCheckOptions;\n /* @conditional-compile-remove(call-readiness) */\n onPermissionsTroubleshootingClick?: (permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n }) => void;\n /* @conditional-compile-remove(call-readiness) */\n onNetworkingTroubleShootingClick?: () => void;\n /* @conditional-compile-remove(unsupported-browser) */\n onEnvironmentInfoTroubleshootingClick?: () => void;\n /* @conditional-compile-remove(gallery-layouts) */\n galleryOptions?: {\n layout?: VideoGalleryLayout;\n };\n};\n\nconst CallWithChatScreen = (props: CallWithChatScreenProps): JSX.Element => {\n const { callWithChatAdapter, fluentTheme, formFactor = 'desktop' } = props;\n const mobileView = formFactor === 'mobile';\n\n if (!callWithChatAdapter) {\n throw new Error('CallWithChatAdapter is undefined');\n }\n\n const callAdapter: CallAdapter = useMemo(\n () => new CallWithChatBackedCallAdapter(callWithChatAdapter),\n [callWithChatAdapter]\n );\n\n const [currentCallState, setCurrentCallState] = useState<CallState>();\n const [currentPage, setCurrentPage] = useState<CallCompositePage>();\n const [isChatOpen, setIsChatOpen] = useState(false);\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const updateCallWithChatPage = (newState: CallWithChatAdapterState): void => {\n setCurrentPage(newState.page);\n setCurrentCallState(newState.call?.state);\n };\n updateCallWithChatPage(callWithChatAdapter.getState());\n callWithChatAdapter.onStateChange(updateCallWithChatPage);\n return () => {\n callWithChatAdapter.offStateChange(updateCallWithChatPage);\n };\n }, [callWithChatAdapter]);\n\n const chatProps: ChatCompositeProps = useMemo(() => {\n return {\n adapter: new CallWithChatBackedChatAdapter(callWithChatAdapter)\n };\n }, [callWithChatAdapter]);\n\n /** Constant setting of id for the parent stack of the composite */\n const compositeParentDivId = useId('callWithChatCompositeParentDiv-internal');\n\n const closeChat = useCallback(() => {\n setIsChatOpen(false);\n }, []);\n const openChat = useCallback(() => {\n setIsChatOpen(true);\n // timeout is required to give the window time to render the sendbox so we have something to send focus to.\n // 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.\n const chatFocusTimeout = setInterval(() => {\n const callWithChatCompositeRootDiv = document.querySelector(`[id=\"${compositeParentDivId}\"]`);\n const sendbox = callWithChatCompositeRootDiv?.querySelector(`[id=\"sendbox\"]`) as HTMLTextAreaElement;\n if (sendbox !== null) {\n sendbox.focus();\n clearInterval(chatFocusTimeout);\n }\n }, 3);\n setTimeout(() => {\n clearInterval(chatFocusTimeout);\n }, 300);\n }, [compositeParentDivId]);\n\n const isOnHold = isOnHoldTrampoline(currentPage);\n useEffect(() => {\n if (isOnHold) {\n closeChat();\n }\n }, [closeChat, isOnHold]);\n\n const hasJoinedCall = !!(currentPage && hasJoinedCallFn(currentPage, currentCallState ?? 'None'));\n const toggleChat = useCallback(() => {\n isChatOpen || !hasJoinedCall ? closeChat() : openChat();\n }, [closeChat, hasJoinedCall, isChatOpen, openChat]);\n\n const callWithChatStrings = useCallWithChatCompositeStrings();\n const chatButtonStrings = useMemo(\n () => ({\n label: callWithChatStrings.chatButtonLabel,\n tooltipOffContent: callWithChatStrings.chatButtonTooltipOpen,\n tooltipOnContent: callWithChatStrings.chatButtonTooltipClose\n }),\n [callWithChatStrings]\n );\n const theme = useTheme();\n const commonButtonStyles = useMemo(\n () => (!mobileView ? getDesktopCommonButtonStyles(theme) : undefined),\n [mobileView, theme]\n );\n\n const showChatButton = checkShowChatButton(props.callControls);\n const chatButtonDisabled =\n showChatButton && (checkChatButtonIsDisabled(props.callControls) || !hasJoinedCall || isOnHold);\n const chatTabHeaderProps = useMemo(\n () =>\n mobileView && showChatButton\n ? {\n onClick: toggleChat,\n disabled: chatButtonDisabled\n }\n : undefined,\n [chatButtonDisabled, mobileView, toggleChat, showChatButton]\n );\n\n const unreadChatMessagesCount = useUnreadMessagesTracker(chatProps.adapter, isChatOpen);\n\n const customChatButton: CustomCallControlButtonCallback = useCallback(\n (args: CustomCallControlButtonCallbackArgs) => ({\n placement: mobileView ? 'primary' : 'secondary',\n onRenderButton: () => (\n <ChatButtonWithUnreadMessagesBadge\n checked={isChatOpen}\n showLabel={args.displayType !== 'compact'}\n onClick={toggleChat}\n disabled={chatButtonDisabled}\n strings={chatButtonStrings}\n styles={commonButtonStyles}\n newMessageLabel={callWithChatStrings.chatButtonNewMessageNotificationLabel}\n unreadChatMessagesCount={unreadChatMessagesCount}\n // As chat is disabled when on hold, we don't want to show the unread badge when on hold\n hideUnreadChatMessagesBadge={isOnHold}\n />\n )\n }),\n [\n callWithChatStrings.chatButtonNewMessageNotificationLabel,\n chatButtonStrings,\n commonButtonStyles,\n isChatOpen,\n chatButtonDisabled,\n mobileView,\n toggleChat,\n unreadChatMessagesCount,\n isOnHold\n ]\n );\n\n const callControlOptionsFromProps = useMemo(\n () => ({\n ...(typeof props.callControls === 'object' ? props.callControls : {})\n }),\n [props.callControls]\n );\n\n const injectedCustomButtonsFromProps = useMemo(() => {\n /* @conditional-compile-remove(control-bar-button-injection) */\n return [...(callControlOptionsFromProps.onFetchCustomButtonProps ?? [])];\n return [];\n }, [callControlOptionsFromProps]);\n\n const callCompositeOptions: CallCompositeOptions = useMemo(\n () => ({\n callControls:\n props.callControls === false\n ? false\n : ({\n ...callControlOptionsFromProps,\n onFetchCustomButtonProps: [\n ...(showChatButton ? [customChatButton] : []),\n /* @conditional-compile-remove(control-bar-button-injection) */\n ...injectedCustomButtonsFromProps\n ],\n legacyControlBarExperience: false\n } as _CallControlOptions),\n /* @conditional-compile-remove(call-readiness) */\n deviceChecks: props.deviceChecks,\n /* @conditional-compile-remove(call-readiness) */\n onNetworkingTroubleShootingClick: props.onNetworkingTroubleShootingClick,\n /* @conditional-compile-remove(call-readiness) */\n onPermissionsTroubleshootingClick: props.onPermissionsTroubleshootingClick,\n /* @conditional-compile-remove(unsupported-browser) */\n onEnvironmentInfoTroubleshootingClick: props.onEnvironmentInfoTroubleshootingClick,\n /* @conditional-compile-remove(gallery-layouts) */\n galleryOptions: props.galleryOptions\n }),\n [\n props.callControls,\n callControlOptionsFromProps,\n showChatButton,\n customChatButton,\n injectedCustomButtonsFromProps,\n /* @conditional-compile-remove(call-readiness) */\n props.deviceChecks,\n /* @conditional-compile-remove(unsupported-browser) */\n props.onEnvironmentInfoTroubleshootingClick,\n /* @conditional-compile-remove(call-readiness) */\n props.onNetworkingTroubleShootingClick,\n /* @conditional-compile-remove(call-readiness) */\n props.onPermissionsTroubleshootingClick,\n /* @conditional-compile-remove(gallery-layouts) */\n props.galleryOptions\n ]\n );\n\n const onRenderChatContent = useCallback(\n (): JSX.Element => (\n <ChatComposite\n {...chatProps}\n fluentTheme={theme}\n options={{\n topic: false,\n /* @conditional-compile-remove(chat-composite-participant-pane) */\n participantPane: false,\n /* @conditional-compile-remove(file-sharing) */\n fileSharing: props.fileSharing\n }}\n onFetchAvatarPersonaData={props.onFetchAvatarPersonaData}\n />\n ),\n [\n chatProps,\n /* @conditional-compile-remove(file-sharing) */ props.fileSharing,\n props.onFetchAvatarPersonaData,\n theme\n ]\n );\n\n const sidePaneHeaderRenderer = useCallback(\n () => (\n <SidePaneHeader\n headingText={callWithChatStrings.chatPaneTitle}\n onClose={closeChat}\n dismissSidePaneButtonAriaLabel={callWithChatStrings.dismissSidePaneButtonLabel ?? ''}\n mobileView={mobileView}\n />\n ),\n [callWithChatStrings.chatPaneTitle, callWithChatStrings.dismissSidePaneButtonLabel, closeChat, mobileView]\n );\n\n const sidePaneContentRenderer = useMemo(\n () => (hasJoinedCall ? onRenderChatContent : undefined),\n [hasJoinedCall, onRenderChatContent]\n );\n\n const sidePaneRenderer = useMemo(\n () => ({\n contentRenderer: sidePaneContentRenderer,\n headerRenderer: sidePaneHeaderRenderer,\n id: 'chat'\n }),\n [sidePaneContentRenderer, sidePaneHeaderRenderer]\n );\n\n const overrideSidePaneProps: InjectedSidePaneProps = useMemo(\n () => ({\n renderer: sidePaneRenderer,\n isActive: isChatOpen,\n persistRenderingWhenClosed: true\n }),\n [isChatOpen, sidePaneRenderer]\n );\n\n const onSidePaneIdChange = useCallback(\n (sidePaneId) => {\n // If the pane is switched to something other than chat, removing rendering chat.\n if (sidePaneId && sidePaneId !== 'chat') {\n closeChat();\n }\n },\n [closeChat]\n );\n\n return (\n <div ref={containerRef} className={mergeStyles(containerDivStyles)}>\n <Stack verticalFill grow styles={compositeOuterContainerStyles} id={compositeParentDivId}>\n <Stack horizontal grow>\n <Stack.Item grow styles={callCompositeContainerStyles(mobileView)}>\n <CallCompositeInner\n {...props}\n formFactor={formFactor}\n options={callCompositeOptions}\n adapter={callAdapter}\n fluentTheme={fluentTheme}\n callInvitationUrl={props.joinInvitationURL}\n overrideSidePane={overrideSidePaneProps}\n onSidePaneIdChange={onSidePaneIdChange}\n mobileChatTabHeader={chatTabHeaderProps}\n />\n </Stack.Item>\n </Stack>\n </Stack>\n </div>\n );\n};\n\n/**\n * CallWithChatComposite brings together key components to provide a full call with chat experience out of the box.\n *\n * @public\n */\nexport const CallWithChatComposite = (props: CallWithChatCompositeProps): JSX.Element => {\n const { adapter, fluentTheme, rtl, formFactor, joinInvitationURL, options } = props;\n return (\n <BaseProvider fluentTheme={fluentTheme} rtl={rtl} locale={props.locale} icons={props.icons}>\n <CallWithChatScreen\n {...props}\n /* @conditional-compile-remove(call-readiness) */\n deviceChecks={options?.deviceChecks}\n callWithChatAdapter={adapter}\n formFactor={formFactor}\n callControls={options?.callControls}\n joinInvitationURL={joinInvitationURL}\n fluentTheme={fluentTheme}\n /* @conditional-compile-remove(file-sharing) */\n fileSharing={options?.fileSharing}\n />\n </BaseProvider>\n );\n};\n\nconst hasJoinedCallFn = (page: CallCompositePage, callStatus: CallState): boolean => {\n /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(one-to-n-calling) */\n return (\n (page === 'call' &&\n (callStatus === 'Connected' || callStatus === 'RemoteHold' || callStatus === 'Disconnecting')) ||\n (page === 'hold' && (callStatus === 'LocalHold' || callStatus === 'Disconnecting'))\n );\n return page === 'call' && (callStatus === 'Connected' || callStatus === 'Disconnecting');\n};\n\nconst checkShowChatButton = (callControls?: boolean | CallWithChatControlOptions): boolean => {\n if (callControls === undefined || callControls === true) {\n return true;\n }\n if (callControls === false) {\n return false;\n }\n return callControls.chatButton !== false;\n};\n\nconst checkChatButtonIsDisabled = (callControls?: boolean | CallWithChatControlOptions): boolean => {\n return typeof callControls === 'object' && isDisabled(callControls?.chatButton);\n};\n\nconst isOnHoldTrampoline = (page: CallCompositePage | undefined): boolean => {\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n return page === 'hold';\n return false;\n};\n\"../../../../react-components/src\""]}
@@ -17,6 +17,6 @@ export const ChatButton = (props) => {
17
17
  }
18
18
  }, (_a = props.styles) !== null && _a !== void 0 ? _a : {});
19
19
  }, [props.styles, theme.palette.neutralLight]);
20
- return React.createElement(ControlBarButton, Object.assign({}, props, { labelKey: 'chatButtonLabelKey', strings: strings, onClick: props.onClick, styles: styles }));
20
+ return (React.createElement(ControlBarButton, Object.assign({}, props, { labelKey: 'chatButtonLabelKey', strings: strings, onClick: props.onClick, styles: styles })));
21
21
  };
22
22
  //# sourceMappingURL=ChatButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatButton.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAiD,QAAQ,EAAE,4CAAmC;AACvH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAA4B,EAAe,EAAE;IACtE,MAAM,OAAO,mBACX,KAAK,EAAE,KAAK,CAAC,KAAK,IACf,KAAK,CAAC,OAAO,CACjB,CAAC;IACF,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,MAAM,GAA2B,OAAO,CAAC,GAAG,EAAE;;QAAC,OAAA,eAAe,CAAC;YACnE,WAAW,EAAE;gBACX,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;aACvC;SACF,EAAE,MAAA,KAAK,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAA;KAAA,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IACpE,OAAO,oBAAC,gBAAgB,oBAAK,KAAK,IAAE,QAAQ,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AACnI,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport React, { useMemo } from 'react';\nimport { ControlBarButton, ControlBarButtonProps, ControlBarButtonStyles, useTheme } from '@internal/react-components';\nimport { concatStyleSets } from '@fluentui/react';\n\n/**\n * @private\n */\nexport const ChatButton = (props: ControlBarButtonProps): JSX.Element => {\n const strings = {\n label: props.label,\n ...props.strings\n };\n const theme = useTheme();\n const styles: ControlBarButtonStyles = useMemo(() => concatStyleSets({\n rootChecked: {\n background: theme.palette.neutralLight\n }\n }, props.styles ?? {}), [props.styles, theme.palette.neutralLight]);\n return <ControlBarButton {...props} labelKey={'chatButtonLabelKey'} strings={strings} onClick={props.onClick} styles={styles} />;\n};\"../../../../../react-components/src\""]}
1
+ {"version":3,"file":"ChatButton.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAiD,QAAQ,EAAE,4CAAmC;AACvH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAA4B,EAAe,EAAE;IACtE,MAAM,OAAO,mBAAK,KAAK,EAAE,KAAK,CAAC,KAAK,IAAK,KAAK,CAAC,OAAO,CAAE,CAAC;IACzD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,MAAM,GAA2B,OAAO,CAC5C,GAAG,EAAE;;QACH,OAAA,eAAe,CACb;YACE,WAAW,EAAE;gBACX,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;aACvC;SACF,EACD,MAAA,KAAK,CAAC,MAAM,mCAAI,EAAE,CACnB,CAAA;KAAA,EACH,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAC3C,CAAC;IACF,OAAO,CACL,oBAAC,gBAAgB,oBACX,KAAK,IACT,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,MAAM,EAAE,MAAM,IACd,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport React, { useMemo } from 'react';\nimport { ControlBarButton, ControlBarButtonProps, ControlBarButtonStyles, useTheme } from '@internal/react-components';\nimport { concatStyleSets } from '@fluentui/react';\n\n/**\n * @private\n */\nexport const ChatButton = (props: ControlBarButtonProps): JSX.Element => {\n const strings = { label: props.label, ...props.strings };\n const theme = useTheme();\n const styles: ControlBarButtonStyles = useMemo(\n () =>\n concatStyleSets(\n {\n rootChecked: {\n background: theme.palette.neutralLight\n }\n },\n props.styles ?? {}\n ),\n [props.styles, theme.palette.neutralLight]\n );\n return (\n <ControlBarButton\n {...props}\n labelKey={'chatButtonLabelKey'}\n strings={strings}\n onClick={props.onClick}\n styles={styles}\n />\n );\n};\n\"../../../../../react-components/src\""]}
@@ -17,9 +17,11 @@ export const ChatButtonWithUnreadMessagesBadge = (props) => {
17
17
  const { newMessageLabel, unreadChatMessagesCount, hideUnreadChatMessagesBadge } = props;
18
18
  const baseIcon = props.showLabel ? regularIcon : filledIcon;
19
19
  const callWithChatStrings = useCallWithChatCompositeStrings();
20
- const numberOfMsgToolTip = ((_a = props.strings) === null || _a === void 0 ? void 0 : _a.tooltipOffContent) && unreadChatMessagesCount > 0 ? _formatString(callWithChatStrings.chatButtonTooltipClosedWithMessageCount, {
21
- unreadMessagesCount: `${unreadChatMessagesCount}`
22
- }) : undefined;
20
+ const numberOfMsgToolTip = ((_a = props.strings) === null || _a === void 0 ? void 0 : _a.tooltipOffContent) && unreadChatMessagesCount > 0
21
+ ? _formatString(callWithChatStrings.chatButtonTooltipClosedWithMessageCount, {
22
+ unreadMessagesCount: `${unreadChatMessagesCount}`
23
+ })
24
+ : undefined;
23
25
  const chatStrings = useMemo(() => {
24
26
  var _a, _b, _c;
25
27
  return ({
@@ -30,11 +32,11 @@ export const ChatButtonWithUnreadMessagesBadge = (props) => {
30
32
  }, [numberOfMsgToolTip, (_b = props.strings) === null || _b === void 0 ? void 0 : _b.label, (_c = props.strings) === null || _c === void 0 ? void 0 : _c.tooltipOffContent, (_d = props.strings) === null || _d === void 0 ? void 0 : _d.tooltipOnContent]);
31
33
  const onRenderOnIcon = useCallback(() => baseIcon, [baseIcon]);
32
34
  const notificationOnIcon = useCallback(() => {
33
- return React.createElement(Stack, { styles: chatNotificationContainerStyles },
34
- unreadChatMessagesCount > 0 && !hideUnreadChatMessagesBadge && React.createElement(NotificationIcon, { chatMessagesCount: unreadChatMessagesCount, label: newMessageLabel }),
35
- baseIcon);
35
+ return (React.createElement(Stack, { styles: chatNotificationContainerStyles },
36
+ unreadChatMessagesCount > 0 && !hideUnreadChatMessagesBadge && (React.createElement(NotificationIcon, { chatMessagesCount: unreadChatMessagesCount, label: newMessageLabel })),
37
+ baseIcon));
36
38
  }, [unreadChatMessagesCount, newMessageLabel, baseIcon, hideUnreadChatMessagesBadge]);
37
- return React.createElement(ChatButton, Object.assign({}, props, { "data-ui-id": "call-with-chat-composite-chat-button", onRenderOffIcon: notificationOnIcon, onRenderOnIcon: onRenderOnIcon, strings: chatStrings }));
39
+ return (React.createElement(ChatButton, Object.assign({}, props, { "data-ui-id": "call-with-chat-composite-chat-button", onRenderOffIcon: notificationOnIcon, onRenderOnIcon: onRenderOnIcon, strings: chatStrings })));
38
40
  };
39
41
  const chatNotificationContainerStyles = {
40
42
  root: {
@@ -1 +1 @@
1
- {"version":3,"file":"ChatButtonWithUnreadMessagesBadge.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAgB,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,yCAAgC;AAExD,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAUtD,MAAM,UAAU,GAAG,oBAAC,yBAAyB,IAAC,QAAQ,EAAE,4BAA4B,GAAI,CAAC;AACzF,MAAM,WAAW,GAAG,oBAAC,yBAAyB,IAAC,QAAQ,EAAE,8BAA8B,GAAI,CAAC;AAE5F;;GAEG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,KAA6C,EAAe,EAAE;;IAC9G,MAAM,EACJ,eAAe,EACf,uBAAuB,EACvB,2BAA2B,EAC5B,GAAG,KAAK,CAAC;IACV,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;IAC5D,MAAM,mBAAmB,GAAG,+BAA+B,EAAE,CAAC;IAC9D,MAAM,kBAAkB,GAAG,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,iBAAiB,KAAI,uBAAuB,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,uCAAuC,EAAE;QACtK,mBAAmB,EAAE,GAAG,uBAAuB,EAAE;KAClD,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACf,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;;QAAC,OAAA,CAAC;YACjC,KAAK,EAAE,MAAA,KAAK,CAAC,OAAO,0CAAE,KAAK;YAC3B,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAA,KAAK,CAAC,OAAO,0CAAE,iBAAiB;YAC7F,gBAAgB,EAAE,MAAA,KAAK,CAAC,OAAO,0CAAE,gBAAgB;SAClD,CAAC,CAAA;KAAA,EAAE,CAAC,kBAAkB,EAAE,MAAA,KAAK,CAAC,OAAO,0CAAE,KAAK,EAAE,MAAA,KAAK,CAAC,OAAO,0CAAE,iBAAiB,EAAE,MAAA,KAAK,CAAC,OAAO,0CAAE,gBAAgB,CAAC,CAAC,CAAC;IACnH,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/D,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAgB,EAAE;QACvD,OAAO,oBAAC,KAAK,IAAC,MAAM,EAAE,+BAA+B;YAChD,uBAAuB,GAAG,CAAC,IAAI,CAAC,2BAA2B,IAAI,oBAAC,gBAAgB,IAAC,iBAAiB,EAAE,uBAAuB,EAAE,KAAK,EAAE,eAAe,GAAI;YACvJ,QAAQ,CACH,CAAC;IACb,CAAC,EAAE,CAAC,uBAAuB,EAAE,eAAe,EAAE,QAAQ,EAAE,2BAA2B,CAAC,CAAC,CAAC;IACtF,OAAO,oBAAC,UAAU,oBAAK,KAAK,kBAAa,sCAAsC,EAAC,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,IAAI,CAAC;AAChL,CAAC,CAAC;AACF,MAAM,+BAA+B,GAAiB;IACpD,IAAI,EAAE;QACJ,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,UAAU;KACrB;CACF,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { IStackStyles, Stack } from '@fluentui/react';\nimport { _formatString } from '@internal/acs-ui-common';\nimport { ControlBarButtonProps } from '@internal/react-components';\nimport React, { useCallback, useMemo } from 'react';\nimport { CallWithChatCompositeIcon } from '../../common/icons';\nimport { ChatButton } from './ChatButton';\nimport { useCallWithChatCompositeStrings } from '../hooks/useCallWithChatCompositeStrings';\nimport { NotificationIcon } from './NotificationIcon';\n\n/**\n * @private\n */\nexport interface ChatButtonWithUnreadMessagesBadgeProps extends ControlBarButtonProps {\n unreadChatMessagesCount: number;\n hideUnreadChatMessagesBadge?: boolean;\n newMessageLabel: string;\n}\nconst filledIcon = <CallWithChatCompositeIcon iconName={'ControlBarChatButtonActive'} />;\nconst regularIcon = <CallWithChatCompositeIcon iconName={'ControlBarChatButtonInactive'} />;\n\n/**\n * @private\n */\nexport const ChatButtonWithUnreadMessagesBadge = (props: ChatButtonWithUnreadMessagesBadgeProps): JSX.Element => {\n const {\n newMessageLabel,\n unreadChatMessagesCount,\n hideUnreadChatMessagesBadge\n } = props;\n const baseIcon = props.showLabel ? regularIcon : filledIcon;\n const callWithChatStrings = useCallWithChatCompositeStrings();\n const numberOfMsgToolTip = props.strings?.tooltipOffContent && unreadChatMessagesCount > 0 ? _formatString(callWithChatStrings.chatButtonTooltipClosedWithMessageCount, {\n unreadMessagesCount: `${unreadChatMessagesCount}`\n }) : undefined;\n const chatStrings = useMemo(() => ({\n label: props.strings?.label,\n tooltipOffContent: numberOfMsgToolTip ? numberOfMsgToolTip : props.strings?.tooltipOffContent,\n tooltipOnContent: props.strings?.tooltipOnContent\n }), [numberOfMsgToolTip, props.strings?.label, props.strings?.tooltipOffContent, props.strings?.tooltipOnContent]);\n const onRenderOnIcon = useCallback(() => baseIcon, [baseIcon]);\n const notificationOnIcon = useCallback((): JSX.Element => {\n return <Stack styles={chatNotificationContainerStyles}>\n {unreadChatMessagesCount > 0 && !hideUnreadChatMessagesBadge && <NotificationIcon chatMessagesCount={unreadChatMessagesCount} label={newMessageLabel} />}\n {baseIcon}\n </Stack>;\n }, [unreadChatMessagesCount, newMessageLabel, baseIcon, hideUnreadChatMessagesBadge]);\n return <ChatButton {...props} data-ui-id=\"call-with-chat-composite-chat-button\" onRenderOffIcon={notificationOnIcon} onRenderOnIcon={onRenderOnIcon} strings={chatStrings} />;\n};\nconst chatNotificationContainerStyles: IStackStyles = {\n root: {\n display: 'inline',\n position: 'relative'\n }\n};\"../../../../../acs-ui-common/src\"\"../../../../../react-components/src\""]}
1
+ {"version":3,"file":"ChatButtonWithUnreadMessagesBadge.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAgB,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,yCAAgC;AAExD,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAWtD,MAAM,UAAU,GAAG,oBAAC,yBAAyB,IAAC,QAAQ,EAAE,4BAA4B,GAAI,CAAC;AACzF,MAAM,WAAW,GAAG,oBAAC,yBAAyB,IAAC,QAAQ,EAAE,8BAA8B,GAAI,CAAC;AAE5F;;GAEG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,KAA6C,EAAe,EAAE;;IAC9G,MAAM,EAAE,eAAe,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,GAAG,KAAK,CAAC;IAExF,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;IAC5D,MAAM,mBAAmB,GAAG,+BAA+B,EAAE,CAAC;IAE9D,MAAM,kBAAkB,GACtB,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,iBAAiB,KAAI,uBAAuB,GAAG,CAAC;QAC7D,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,uCAAuC,EAAE;YACzE,mBAAmB,EAAE,GAAG,uBAAuB,EAAE;SAClD,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,WAAW,GAAG,OAAO,CACzB,GAAG,EAAE;;QAAC,OAAA,CAAC;YACL,KAAK,EAAE,MAAA,KAAK,CAAC,OAAO,0CAAE,KAAK;YAC3B,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAA,KAAK,CAAC,OAAO,0CAAE,iBAAiB;YAC7F,gBAAgB,EAAE,MAAA,KAAK,CAAC,OAAO,0CAAE,gBAAgB;SAClD,CAAC,CAAA;KAAA,EACF,CAAC,kBAAkB,EAAE,MAAA,KAAK,CAAC,OAAO,0CAAE,KAAK,EAAE,MAAA,KAAK,CAAC,OAAO,0CAAE,iBAAiB,EAAE,MAAA,KAAK,CAAC,OAAO,0CAAE,gBAAgB,CAAC,CAC9G,CAAC;IACF,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/D,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAgB,EAAE;QACvD,OAAO,CACL,oBAAC,KAAK,IAAC,MAAM,EAAE,+BAA+B;YAC3C,uBAAuB,GAAG,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAC9D,oBAAC,gBAAgB,IAAC,iBAAiB,EAAE,uBAAuB,EAAE,KAAK,EAAE,eAAe,GAAI,CACzF;YACA,QAAQ,CACH,CACT,CAAC;IACJ,CAAC,EAAE,CAAC,uBAAuB,EAAE,eAAe,EAAE,QAAQ,EAAE,2BAA2B,CAAC,CAAC,CAAC;IAEtF,OAAO,CACL,oBAAC,UAAU,oBACL,KAAK,kBACE,sCAAsC,EACjD,eAAe,EAAE,kBAAkB,EACnC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,WAAW,IACpB,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,+BAA+B,GAAiB;IACpD,IAAI,EAAE;QACJ,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,UAAU;KACrB;CACF,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { IStackStyles, Stack } from '@fluentui/react';\nimport { _formatString } from '@internal/acs-ui-common';\nimport { ControlBarButtonProps } from '@internal/react-components';\nimport React, { useCallback, useMemo } from 'react';\nimport { CallWithChatCompositeIcon } from '../../common/icons';\nimport { ChatButton } from './ChatButton';\nimport { useCallWithChatCompositeStrings } from '../hooks/useCallWithChatCompositeStrings';\nimport { NotificationIcon } from './NotificationIcon';\n\n/**\n * @private\n */\nexport interface ChatButtonWithUnreadMessagesBadgeProps extends ControlBarButtonProps {\n unreadChatMessagesCount: number;\n hideUnreadChatMessagesBadge?: boolean;\n newMessageLabel: string;\n}\n\nconst filledIcon = <CallWithChatCompositeIcon iconName={'ControlBarChatButtonActive'} />;\nconst regularIcon = <CallWithChatCompositeIcon iconName={'ControlBarChatButtonInactive'} />;\n\n/**\n * @private\n */\nexport const ChatButtonWithUnreadMessagesBadge = (props: ChatButtonWithUnreadMessagesBadgeProps): JSX.Element => {\n const { newMessageLabel, unreadChatMessagesCount, hideUnreadChatMessagesBadge } = props;\n\n const baseIcon = props.showLabel ? regularIcon : filledIcon;\n const callWithChatStrings = useCallWithChatCompositeStrings();\n\n const numberOfMsgToolTip =\n props.strings?.tooltipOffContent && unreadChatMessagesCount > 0\n ? _formatString(callWithChatStrings.chatButtonTooltipClosedWithMessageCount, {\n unreadMessagesCount: `${unreadChatMessagesCount}`\n })\n : undefined;\n\n const chatStrings = useMemo(\n () => ({\n label: props.strings?.label,\n tooltipOffContent: numberOfMsgToolTip ? numberOfMsgToolTip : props.strings?.tooltipOffContent,\n tooltipOnContent: props.strings?.tooltipOnContent\n }),\n [numberOfMsgToolTip, props.strings?.label, props.strings?.tooltipOffContent, props.strings?.tooltipOnContent]\n );\n const onRenderOnIcon = useCallback(() => baseIcon, [baseIcon]);\n const notificationOnIcon = useCallback((): JSX.Element => {\n return (\n <Stack styles={chatNotificationContainerStyles}>\n {unreadChatMessagesCount > 0 && !hideUnreadChatMessagesBadge && (\n <NotificationIcon chatMessagesCount={unreadChatMessagesCount} label={newMessageLabel} />\n )}\n {baseIcon}\n </Stack>\n );\n }, [unreadChatMessagesCount, newMessageLabel, baseIcon, hideUnreadChatMessagesBadge]);\n\n return (\n <ChatButton\n {...props}\n data-ui-id=\"call-with-chat-composite-chat-button\"\n onRenderOffIcon={notificationOnIcon}\n onRenderOnIcon={onRenderOnIcon}\n strings={chatStrings}\n />\n );\n};\n\nconst chatNotificationContainerStyles: IStackStyles = {\n root: {\n display: 'inline',\n position: 'relative'\n }\n};\n\"../../../../../acs-ui-common/src\"\"../../../../../react-components/src\""]}
@@ -14,24 +14,21 @@ export const NotificationIcon = (props) => {
14
14
  }
15
15
  else {
16
16
  const textNumberOfMessages = numberOfMessages < 9 ? numberOfMessages : '9+';
17
- return React.createElement(Text, { role: 'status', "aria-label": textNumberOfMessages + label, styles: notificationTextStyles(theme) }, textNumberOfMessages);
17
+ return (React.createElement(Text, { role: 'status', "aria-label": textNumberOfMessages + label, styles: notificationTextStyles(theme) }, textNumberOfMessages));
18
18
  }
19
19
  };
20
- return React.createElement(Stack, { "data-ui-id": "call-with-chat-composite-chat-button-unread-icon", horizontalAlign: "center", verticalAlign: "center", styles: notificationIconContainerStyles(theme) },
21
- React.createElement(Stack, null, renderNumber(chatMessagesCount)));
20
+ return (React.createElement(Stack, { "data-ui-id": "call-with-chat-composite-chat-button-unread-icon", horizontalAlign: "center", verticalAlign: "center", styles: notificationIconContainerStyles(theme) },
21
+ React.createElement(Stack, null, renderNumber(chatMessagesCount))));
22
22
  };
23
23
  const notificationIconPaddingREM = 0.225;
24
24
  const notificationSizeREM = 1;
25
25
  const notificationIconContainerStyles = memoizeFunction((theme) => ({
26
26
  root: {
27
27
  borderRadius: `${notificationSizeREM}rem`,
28
- // Create a css circle. This should match the height.
29
28
  height: `${notificationSizeREM}rem`,
30
29
  minWidth: `${notificationSizeREM}rem`,
31
- // use min-width over width as we want to extend the width of the notification icon when contents is more than one character (e.g. 9+)
32
30
  background: theme.palette.themePrimary,
33
31
  border: `0.0625rem solid white`,
34
- // border should always be white
35
32
  padding: `${notificationIconPaddingREM}rem`,
36
33
  // positioning to place the badge within the button appropriately.
37
34
  position: 'absolute',