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

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