@azure/communication-react 1.15.0-beta.1 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (664) hide show
  1. package/dist/communication-react.d.ts +586 -1782
  2. package/dist/dist-cjs/communication-react/index.js +7510 -10404
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  6. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +11 -2
  7. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +16 -6
  8. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  9. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +15 -12
  10. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +19 -21
  11. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  12. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +5 -5
  13. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  14. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +8 -11
  15. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +74 -21
  16. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  17. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +0 -10
  18. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  19. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +14 -0
  20. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +1 -15
  21. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  22. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +3 -4
  23. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +6 -17
  24. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  25. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +1 -5
  26. package/dist/dist-esm/calling-component-bindings/src/index.js +1 -7
  27. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  28. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +0 -1
  29. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +28 -12
  30. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  31. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts +3 -4
  32. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  33. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts +2 -14
  34. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js +1 -20
  35. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  36. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +0 -7
  37. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +0 -12
  38. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  39. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.d.ts +13 -1
  40. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +31 -7
  41. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +8 -2
  43. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +42 -8
  44. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  45. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.d.ts +2 -0
  46. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +23 -7
  47. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  48. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +5 -6
  49. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  50. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -15
  51. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  52. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +1 -2
  53. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +0 -5
  54. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  55. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +97 -47
  56. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  57. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +14 -9
  58. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +99 -39
  59. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  60. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +32 -0
  61. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  62. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +3 -3
  63. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +20 -30
  64. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  65. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js +0 -1
  66. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -1
  67. package/dist/dist-esm/calling-stateful-client/src/Converter.js +8 -8
  68. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  69. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.d.ts +18 -0
  70. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js +49 -0
  71. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js.map +1 -0
  72. package/dist/dist-esm/calling-stateful-client/src/ReactionSubscriber.d.ts +16 -0
  73. package/dist/dist-esm/calling-stateful-client/src/ReactionSubscriber.js +24 -0
  74. package/dist/dist-esm/calling-stateful-client/src/ReactionSubscriber.js.map +1 -0
  75. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.d.ts +0 -1
  76. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +0 -11
  77. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  78. package/dist/dist-esm/calling-stateful-client/src/SpotlightSubscriber.d.ts +16 -0
  79. package/dist/dist-esm/calling-stateful-client/src/SpotlightSubscriber.js +30 -0
  80. package/dist/dist-esm/calling-stateful-client/src/SpotlightSubscriber.js.map +1 -0
  81. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +1 -25
  82. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +2 -33
  83. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  84. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +2 -2
  85. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +0 -8
  86. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  87. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +3 -3
  88. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  89. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +1 -5
  90. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +1 -5
  91. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  92. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +1 -87
  93. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  94. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -3
  95. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  96. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -1
  97. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  98. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +1 -4
  99. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  100. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.d.ts +0 -1
  101. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  102. package/dist/dist-esm/communication-react/src/index.d.ts +2 -21
  103. package/dist/dist-esm/communication-react/src/index.js +0 -12
  104. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  105. package/dist/dist-esm/react-components/src/components/AttachmentCard.d.ts +13 -19
  106. package/dist/dist-esm/react-components/src/components/AttachmentCard.js +65 -63
  107. package/dist/dist-esm/react-components/src/components/AttachmentCard.js.map +1 -1
  108. package/dist/dist-esm/react-components/src/components/AttachmentDownloadCards.d.ts +19 -12
  109. package/dist/dist-esm/react-components/src/components/AttachmentDownloadCards.js +68 -68
  110. package/dist/dist-esm/react-components/src/components/AttachmentDownloadCards.js.map +1 -1
  111. package/dist/dist-esm/react-components/src/components/AttachmentUploadCards.d.ts +7 -36
  112. package/dist/dist-esm/react-components/src/components/AttachmentUploadCards.js +22 -10
  113. package/dist/dist-esm/react-components/src/components/AttachmentUploadCards.js.map +1 -1
  114. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +1 -8
  115. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +2 -10
  116. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  117. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +0 -11
  118. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +2 -35
  119. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  120. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +1 -17
  121. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +4 -10
  122. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  123. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.d.ts +1 -2
  124. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +4 -27
  125. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
  126. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.d.ts +15 -0
  127. package/dist/dist-esm/react-components/src/components/ChatMessage/{ChatMessageComponentAsEditBox.js → MyMessageComponents/ChatMessageComponentAsEditBox.js} +14 -40
  128. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -0
  129. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +18 -0
  130. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +11 -0
  131. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -0
  132. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +3 -26
  133. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +5 -9
  134. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  135. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +1 -17
  136. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +5 -11
  137. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  138. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +4 -25
  139. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  140. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.d.ts +4 -0
  141. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +2 -2
  142. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  143. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.d.ts +29 -0
  144. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.js +54 -0
  145. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.js.map +1 -0
  146. package/dist/dist-esm/react-components/src/components/Drawer/index.d.ts +2 -0
  147. package/dist/dist-esm/react-components/src/components/Drawer/index.js +2 -0
  148. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  149. package/dist/dist-esm/react-components/src/components/EndCallButton.d.ts +1 -1
  150. package/dist/dist-esm/react-components/src/components/EndCallButton.js +64 -57
  151. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  152. package/dist/dist-esm/react-components/src/components/ErrorBar.d.ts +4 -0
  153. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  154. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +0 -4
  155. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
  156. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +0 -2
  157. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +0 -18
  158. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  159. package/dist/dist-esm/react-components/src/components/LocalVideoTile.d.ts +13 -0
  160. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +104 -5
  161. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  162. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.d.ts +40 -0
  163. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js +85 -0
  164. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js.map +1 -0
  165. package/dist/dist-esm/react-components/src/components/MessageStatusIcon.js +1 -1
  166. package/dist/dist-esm/react-components/src/components/MessageStatusIcon.js.map +1 -1
  167. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +2 -39
  168. package/dist/dist-esm/react-components/src/components/MessageThread.js +7 -16
  169. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  170. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +0 -13
  171. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +0 -3
  172. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  173. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +0 -15
  174. package/dist/dist-esm/react-components/src/components/ParticipantList.js +6 -23
  175. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  176. package/dist/dist-esm/react-components/src/components/ReactionButton.d.ts +56 -0
  177. package/dist/dist-esm/react-components/src/components/ReactionButton.js +85 -0
  178. package/dist/dist-esm/react-components/src/components/ReactionButton.js.map +1 -0
  179. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts +8 -0
  180. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +23 -7
  181. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  182. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +0 -42
  183. package/dist/dist-esm/react-components/src/components/SendBox.js +8 -63
  184. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  185. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +0 -2
  186. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  187. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +0 -2
  188. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  189. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +0 -24
  190. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  191. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +0 -2
  192. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  193. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.d.ts +8 -0
  194. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +1 -1
  195. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  196. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +5 -3
  197. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  198. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +4 -2
  199. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  200. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.d.ts +4 -0
  201. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  202. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.d.ts +15 -0
  203. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js +63 -0
  204. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js.map +1 -0
  205. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.d.ts +14 -0
  206. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js +144 -0
  207. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js.map +1 -0
  208. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.d.ts +5 -0
  209. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +18 -2
  210. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  211. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.d.ts +1 -0
  212. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +8 -2
  213. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  214. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.d.ts +11 -0
  215. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +51 -3
  216. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  217. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/reactionUtils.d.ts +13 -0
  218. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/reactionUtils.js +26 -0
  219. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/reactionUtils.js.map +1 -0
  220. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.d.ts +13 -0
  221. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +65 -15
  222. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  223. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +39 -0
  224. package/dist/dist-esm/react-components/src/components/VideoGallery.js +58 -10
  225. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  226. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +13 -7
  227. package/dist/dist-esm/react-components/src/components/VideoTile.js +42 -11
  228. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  229. package/dist/dist-esm/react-components/src/components/index.d.ts +3 -17
  230. package/dist/dist-esm/react-components/src/components/index.js +2 -10
  231. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  232. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.d.ts +9 -0
  233. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js +28 -0
  234. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js.map +1 -0
  235. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +2 -2
  236. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +3 -1
  237. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  238. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.d.ts +36 -0
  239. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js +130 -0
  240. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js.map +1 -0
  241. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.d.ts +71 -0
  242. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js +251 -0
  243. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js.map +1 -0
  244. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.d.ts +0 -1
  245. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +2 -3
  246. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  247. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.d.ts +13 -0
  248. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +40 -0
  249. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  250. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +1 -8
  251. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +3 -13
  252. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  253. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +5 -5
  254. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +3 -27
  255. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  256. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +0 -9
  257. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +0 -14
  258. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  259. package/dist/dist-esm/react-components/src/components/utils/common.d.ts +1 -1
  260. package/dist/dist-esm/react-components/src/components/utils/common.js +3 -6
  261. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  262. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +1 -2
  263. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  264. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +0 -4
  265. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +1 -5
  266. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  267. package/dist/dist-esm/react-components/src/index.d.ts +2 -1
  268. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  269. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +5 -57
  270. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  271. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +16 -2
  272. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +16 -2
  273. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +16 -2
  274. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +16 -2
  275. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +19 -3
  276. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +16 -2
  277. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +16 -2
  278. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +16 -2
  279. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +16 -2
  280. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +16 -2
  281. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +16 -2
  282. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +16 -2
  283. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +16 -2
  284. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +16 -2
  285. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +16 -2
  286. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +16 -2
  287. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +16 -2
  288. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +16 -2
  289. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +16 -2
  290. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +16 -2
  291. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +16 -2
  292. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js +1 -1
  293. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js.map +1 -1
  294. package/dist/dist-esm/react-components/src/theming/icons.d.ts +5 -13
  295. package/dist/dist-esm/react-components/src/theming/icons.js +22 -103
  296. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  297. package/dist/dist-esm/react-components/src/theming/themes.d.ts +0 -6
  298. package/dist/dist-esm/react-components/src/theming/themes.js +0 -10
  299. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  300. package/dist/dist-esm/react-components/src/types/Attachment.d.ts +69 -73
  301. package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
  302. package/dist/dist-esm/react-components/src/types/CallSurveyImprovementSuggestions.d.ts +1 -1
  303. package/dist/dist-esm/react-components/src/types/CallSurveyImprovementSuggestions.js.map +1 -1
  304. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -27
  305. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  306. package/dist/dist-esm/react-components/src/types/OnRender.d.ts +0 -8
  307. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  308. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.d.ts +34 -0
  309. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  310. package/dist/dist-esm/react-components/src/types/ReactionTypes.d.ts +49 -1
  311. package/dist/dist-esm/react-components/src/types/ReactionTypes.js +2 -1
  312. package/dist/dist-esm/react-components/src/types/ReactionTypes.js.map +1 -1
  313. package/dist/dist-esm/react-components/src/types/SurveyIssues.d.ts +1 -1
  314. package/dist/dist-esm/react-components/src/types/SurveyIssues.js.map +1 -1
  315. package/dist/dist-esm/react-components/src/types/SurveyIssuesHeadingStrings.d.ts +1 -1
  316. package/dist/dist-esm/react-components/src/types/SurveyIssuesHeadingStrings.js.map +1 -1
  317. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +15 -6
  318. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js +0 -2
  319. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  320. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +10 -72
  321. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +10 -43
  322. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  323. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +26 -97
  324. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  325. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +21 -77
  326. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +47 -187
  327. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  328. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +48 -92
  329. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -1
  330. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  331. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +1 -2
  332. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +1 -7
  333. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  334. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +1 -5
  335. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js +0 -2
  336. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  337. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +4 -0
  338. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +48 -33
  339. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  340. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +0 -1
  341. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +26 -39
  342. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  343. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js +0 -7
  344. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js.map +1 -1
  345. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +0 -2
  346. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +0 -27
  347. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  348. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +2 -20
  349. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  350. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +0 -2
  351. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +0 -27
  352. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  353. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +0 -1
  354. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +8 -34
  355. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  356. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +2 -2
  357. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  358. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts +4 -0
  359. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +27 -3
  360. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  361. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.d.ts +83 -0
  362. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js +58 -0
  363. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js.map +1 -0
  364. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.d.ts +7 -0
  365. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +99 -3
  366. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  367. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +1 -4
  368. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  369. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.d.ts +1 -0
  370. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +2 -1
  371. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  372. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +1 -4
  373. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  374. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.d.ts +16 -0
  375. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.js +26 -0
  376. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.js.map +1 -0
  377. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +0 -1
  378. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  379. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +2 -6
  380. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  381. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.d.ts +2 -1
  382. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +40 -31
  383. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  384. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.d.ts +2 -1
  385. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  386. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +2 -4
  387. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js +0 -2
  388. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  389. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +1 -0
  390. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +19 -7
  391. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  392. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +0 -7
  393. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +9 -87
  394. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  395. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.d.ts +1 -0
  396. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js +2 -2
  397. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js.map +1 -1
  398. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  399. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +5 -5
  400. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +5 -7
  401. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  402. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js +0 -3
  403. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js.map +1 -1
  404. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.d.ts +14 -0
  405. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.js +13 -0
  406. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.js.map +1 -0
  407. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  408. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.d.ts +15 -0
  409. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.js +26 -0
  410. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.js.map +1 -0
  411. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +1 -1
  412. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +7 -5
  413. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  414. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.d.ts +1 -1
  415. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +10 -7
  416. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  417. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.d.ts +5 -1
  418. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js +12 -0
  419. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  420. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.d.ts +2 -14
  421. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +16 -11
  422. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  423. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CapabilityChangedNotificationTracking.js.map +1 -1
  424. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js +0 -6
  425. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js.map +1 -1
  426. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +2 -14
  427. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +1 -96
  428. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  429. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.d.ts +22 -0
  430. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js +162 -0
  431. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js.map +1 -0
  432. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +11 -61
  433. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +11 -34
  434. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  435. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +0 -32
  436. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  437. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +47 -26
  438. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +168 -137
  439. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  440. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +26 -53
  441. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  442. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +6 -9
  443. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +23 -33
  444. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  445. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +0 -9
  446. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +1 -31
  447. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  448. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +7 -24
  449. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +7 -14
  450. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  451. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +0 -20
  452. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +1 -6
  453. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  454. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts +2 -34
  455. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +20 -35
  456. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  457. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +0 -4
  458. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  459. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.d.ts +19 -0
  460. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.js +4 -0
  461. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.js.map +1 -0
  462. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +7 -13
  463. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +22 -68
  464. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  465. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -13
  466. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  467. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.d.ts +2 -2
  468. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +8 -10
  469. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  470. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/{FileUpload.d.ts → AttachmentUpload.d.ts} +11 -11
  471. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/{FileUpload.js → AttachmentUpload.js} +13 -13
  472. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +1 -0
  473. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.d.ts +38 -0
  474. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/{FileUploadButton.js → AttachmentUploadButton.js} +13 -18
  475. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +1 -0
  476. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +4 -3
  477. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js +2 -2
  478. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  479. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +2 -4
  480. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  481. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +0 -3
  482. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  483. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +1 -5
  484. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +0 -15
  485. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  486. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.d.ts +0 -5
  487. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +2 -3
  488. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  489. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +1 -1
  490. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +39 -13
  491. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  492. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +0 -26
  493. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  494. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.d.ts +3 -0
  495. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +13 -24
  496. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  497. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.d.ts +2 -1
  498. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  499. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.d.ts +14 -0
  500. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.js +16 -0
  501. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.js.map +1 -0
  502. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.d.ts +4 -0
  503. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +13 -4
  504. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  505. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +2 -0
  506. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +13 -16
  507. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  508. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js +1 -1
  509. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js.map +1 -1
  510. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +17 -24
  511. package/dist/dist-esm/react-composites/src/composites/common/icons.js +9 -16
  512. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  513. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +15 -15
  514. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  515. package/dist/dist-esm/react-composites/src/composites/common/utils.d.ts +4 -0
  516. package/dist/dist-esm/react-composites/src/composites/common/utils.js +6 -0
  517. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  518. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +9 -2
  519. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +9 -2
  520. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +9 -2
  521. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +9 -2
  522. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +11 -4
  523. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +9 -2
  524. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +9 -2
  525. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +9 -2
  526. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +9 -2
  527. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +9 -2
  528. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +9 -2
  529. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +9 -2
  530. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +9 -2
  531. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +9 -2
  532. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +9 -2
  533. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +9 -2
  534. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +9 -2
  535. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +9 -2
  536. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +9 -2
  537. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +9 -2
  538. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +9 -2
  539. package/package.json +19 -17
  540. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +0 -45
  541. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +0 -91
  542. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +0 -1
  543. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.d.ts +0 -17
  544. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +0 -36
  545. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +0 -1
  546. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +0 -19
  547. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +0 -91
  548. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +0 -1
  549. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.d.ts +0 -23
  550. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +0 -49
  551. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +0 -1
  552. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.d.ts +0 -20
  553. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +0 -1
  554. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +0 -10
  555. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +0 -15
  556. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +0 -1
  557. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +0 -69
  558. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +0 -43
  559. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +0 -1
  560. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +0 -75
  561. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +0 -75
  562. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +0 -1
  563. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +0 -105
  564. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +0 -68
  565. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +0 -1
  566. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +0 -86
  567. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +0 -39
  568. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +0 -1
  569. package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +0 -49
  570. package/dist/dist-esm/react-components/src/components/HoldButton.js +0 -25
  571. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +0 -1
  572. package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +0 -121
  573. package/dist/dist-esm/react-components/src/components/MentionPopover.js +0 -123
  574. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +0 -1
  575. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.d.ts +0 -34
  576. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +0 -42
  577. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +0 -1
  578. package/dist/dist-esm/react-components/src/components/SendBoxErrors.d.ts +0 -14
  579. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +0 -18
  580. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +0 -1
  581. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +0 -24
  582. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +0 -550
  583. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +0 -1
  584. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +0 -152
  585. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +0 -816
  586. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +0 -1
  587. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +0 -58
  588. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +0 -144
  589. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +0 -1
  590. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.d.ts +0 -5
  591. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js +0 -17
  592. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js.map +0 -1
  593. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +0 -26
  594. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +0 -69
  595. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +0 -1
  596. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +0 -38
  597. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +0 -92
  598. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +0 -1
  599. package/dist/dist-esm/react-components/src/components/styles/Stack.style.d.ts +0 -5
  600. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js +0 -32
  601. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +0 -1
  602. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +0 -26
  603. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +0 -67
  604. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +0 -1
  605. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +0 -7
  606. package/dist/dist-esm/react-components/src/components/utils/merge.js +0 -16
  607. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +0 -1
  608. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +0 -6
  609. package/dist/dist-esm/react-components/src/theming/icons.styles.js +0 -25
  610. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +0 -1
  611. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +0 -48
  612. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +0 -218
  613. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +0 -1
  614. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.d.ts +0 -12
  615. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +0 -93
  616. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +0 -1
  617. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.d.ts +0 -8
  618. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +0 -26
  619. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +0 -1
  620. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +0 -24
  621. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +0 -28
  622. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +0 -1
  623. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +0 -15
  624. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +0 -54
  625. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +0 -1
  626. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.d.ts +0 -32
  627. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +0 -81
  628. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +0 -1
  629. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +0 -18
  630. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +0 -18
  631. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +0 -1
  632. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.d.ts +0 -15
  633. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +0 -23
  634. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +0 -1
  635. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.d.ts +0 -48
  636. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +0 -165
  637. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +0 -1
  638. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +0 -1
  639. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.d.ts +0 -36
  640. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +0 -1
  641. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +0 -6
  642. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +0 -11
  643. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +0 -1
  644. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +0 -12
  645. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +0 -15
  646. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +0 -1
  647. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +0 -27
  648. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +0 -14
  649. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +0 -1
  650. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +0 -22
  651. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +0 -107
  652. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +0 -1
  653. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts +0 -17
  654. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +0 -32
  655. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +0 -1
  656. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +0 -22
  657. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +0 -74
  658. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +0 -1
  659. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts +0 -15
  660. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +0 -61
  661. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +0 -1
  662. package/dist/dist-esm/react-composites/src/composites/common/SendBox.d.ts +0 -17
  663. package/dist/dist-esm/react-composites/src/composites/common/SendBox.js +0 -28
  664. package/dist/dist-esm/react-composites/src/composites/common/SendBox.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TrackCapabilityChangedNotifications.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* @conditional-compile-remove(capabilities) */\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n/* @conditional-compile-remove(capabilities) */\nimport { CapabilitiesChangeInfo, ParticipantCapabilityName, ParticipantRole } from '@azure/communication-calling';\n/* @conditional-compile-remove(capabilities) */\nimport { CapabalityChangedNotification, CapabilitiesChangeNotificationBarProps } from '../components/CapabilitiesChangedNotificationBar';\n/* @conditional-compile-remove(capabilities) */\nimport { TrackedCapabilityChangedNotifications } from '../types/CapabilityChangedNotificationTracking';\n\n/* @conditional-compile-remove(capabilities) */\n/**\n * Create a record for when the notification was most recently dismissed for tracking dismissed notifications.\n *\n * @private\n */\nexport const useTrackedCapabilityChangedNotifications = (capabilitiesChangedAndRoleInfo: CapabilitiesChangedInfoAndRole): CapabilitiesChangeNotificationBarProps => {\n const [trackedCapabilityChangedNotifications, setTrackedCapabilityChangedNotifications] = useState<TrackedCapabilityChangedNotifications>({});\n\n // Initialize a share screen capability changed notification with 'RoleChanged' reason so that the initial\n // share screen capability changed info from the Calling SDK when joining Teams interop will be ignored because\n // being able to share screen is assumed by default. This is inline with what Teams is doing.\n const activeNotifications = useRef<LatestCapabilityChangedNotificationRecord>({\n shareScreen: {\n capabilityName: 'shareScreen',\n isPresent: true,\n changedReason: 'RoleChanged'\n }\n });\n useEffect(() => {\n activeNotifications.current = updateLatestCapabilityChangedNotificationMap(capabilitiesChangedAndRoleInfo, activeNotifications.current);\n setTrackedCapabilityChangedNotifications(prev => updateTrackedCapabilityChangedNotificationsWithActiveNotifications(prev, Object.values(activeNotifications.current)));\n }, [capabilitiesChangedAndRoleInfo]);\n const onDismissCapabilityChangedNotification = useCallback((notification: CapabalityChangedNotification) => {\n setTrackedCapabilityChangedNotifications(prev => trackCapabilityChangedNotificationAsDismissed(notification.capabilityName, prev));\n }, []);\n const latestCapabilityChangedNotifications = useMemo(() => filterLatestCapabilityChangedNotifications(Object.values(activeNotifications.current), trackedCapabilityChangedNotifications), [trackedCapabilityChangedNotifications]);\n return {\n capabilitiesChangedNotifications: latestCapabilityChangedNotifications,\n onDismissNotification: onDismissCapabilityChangedNotification\n };\n};\n\n/* @conditional-compile-remove(capabilities) */\n/**\n * Take the set of active notifications, and filter to only those that are newer than previously dismissed notifications or have never been dismissed.\n *\n * @private\n */\nexport const filterLatestCapabilityChangedNotifications = (activeNotifications: CapabalityChangedNotification[], trackedNotifications: TrackedCapabilityChangedNotifications): CapabalityChangedNotification[] => {\n const filteredNotifications = activeNotifications.filter(activeNotification => {\n const trackedNotification = trackedNotifications[activeNotification.capabilityName];\n return !trackedNotification || !trackedNotification.lastDismissedAt || trackedNotification.lastDismissedAt < trackedNotification.mostRecentlyActive;\n });\n return filteredNotifications;\n};\n\n/* @conditional-compile-remove(capabilities) */\n/**\n * Maintain a record of the most recently active notification for each capability name.\n *\n * @private\n */\nexport const updateTrackedCapabilityChangedNotificationsWithActiveNotifications = (existingTrackedNotifications: TrackedCapabilityChangedNotifications, activeNotifications: CapabalityChangedNotification[]): TrackedCapabilityChangedNotifications => {\n const trackedNotifications: TrackedCapabilityChangedNotifications = {};\n\n // Only care about active notifications. If notifications are no longer active we do not track that they have been previously dismissed.\n for (const activeNotification of activeNotifications) {\n const existingTrackedNotification = existingTrackedNotifications[activeNotification.capabilityName];\n trackedNotifications[activeNotification.capabilityName] = {\n mostRecentlyActive: activeNotification.timestamp ?? existingTrackedNotification?.mostRecentlyActive ?? new Date(Date.now()),\n lastDismissedAt: existingTrackedNotification?.lastDismissedAt\n };\n }\n return trackedNotifications;\n};\n\n/* @conditional-compile-remove(capabilities) */\n/**\n * Create a record for when the notification was most recently dismissed for tracking dismissed notifications.\n *\n * @private\n */\nexport const trackCapabilityChangedNotificationAsDismissed = (capabilityName: ParticipantCapabilityName, trackedNotifications: TrackedCapabilityChangedNotifications): TrackedCapabilityChangedNotifications => {\n const now = new Date(Date.now());\n const existingNotification = trackedNotifications[capabilityName];\n return {\n ...trackedNotifications,\n [capabilityName]: {\n ...(existingNotification || {}),\n lastDismissedAt: now\n }\n };\n};\n\n/* @conditional-compile-remove(capabilities) */\ninterface CapabilitiesChangedInfoAndRole {\n capabilitiesChangeInfo?: CapabilitiesChangeInfo;\n participantRole?: ParticipantRole;\n}\n\n/* @conditional-compile-remove(capabilities) */\ntype LatestCapabilityChangedNotificationRecord = Partial<Record<ParticipantCapabilityName, CapabalityChangedNotification>>;\n\n/* @conditional-compile-remove(capabilities) */\nconst updateLatestCapabilityChangedNotificationMap = (capabilitiesChangedInfoAndRole: CapabilitiesChangedInfoAndRole, activeNotifications: LatestCapabilityChangedNotificationRecord): LatestCapabilityChangedNotificationRecord => {\n if (!capabilitiesChangedInfoAndRole.capabilitiesChangeInfo) {\n return activeNotifications;\n }\n for (const [capabilityKey, newCapabilityValue] of Object.entries(capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.newValue)) {\n // Cast is safe because we are iterating over the enum keys on the object.entries where\n // newCapabilityValue typing is correctly returned. Object.entries limitations\n // always returns string for the key\n const capabilityName = (capabilityKey as ParticipantCapabilityName);\n // If the active notification for a capability has the same `isPresent` value and the same reason as the new\n // capability value from the SDK then we will not create a new notification to avoid redundancy\n if (activeNotifications[capabilityName] && newCapabilityValue.isPresent === activeNotifications[capabilityName]?.isPresent && capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.reason === activeNotifications[capabilityName]?.changedReason) {\n continue;\n }\n const newCapabilityChangeNotification: CapabalityChangedNotification = {\n capabilityName: capabilityName,\n isPresent: newCapabilityValue.isPresent,\n changedReason: capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.reason,\n role: capabilitiesChangedInfoAndRole.participantRole,\n timestamp: new Date(Date.now())\n };\n activeNotifications[capabilityName] = newCapabilityChangeNotification;\n }\n return activeNotifications;\n};"]}
1
+ {"version":3,"file":"TrackCapabilityChangedNotifications.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { CapabilitiesChangeInfo, ParticipantCapabilityName, ParticipantRole } from '@azure/communication-calling';\nimport { CapabalityChangedNotification, CapabilitiesChangeNotificationBarProps } from '../components/CapabilitiesChangedNotificationBar';\nimport { TrackedCapabilityChangedNotifications } from '../types/CapabilityChangedNotificationTracking';\n\n/**\n * Create a record for when the notification was most recently dismissed for tracking dismissed notifications.\n *\n * @private\n */\nexport const useTrackedCapabilityChangedNotifications = (capabilitiesChangedAndRoleInfo: CapabilitiesChangedInfoAndRole): CapabilitiesChangeNotificationBarProps => {\n const [trackedCapabilityChangedNotifications, setTrackedCapabilityChangedNotifications] = useState<TrackedCapabilityChangedNotifications>({});\n\n // Initialize a share screen capability changed notification with 'RoleChanged' reason so that the initial\n // share screen capability changed info from the Calling SDK when joining Teams interop will be ignored because\n // being able to share screen is assumed by default. This is inline with what Teams is doing.\n const activeNotifications = useRef<LatestCapabilityChangedNotificationRecord>({\n shareScreen: {\n capabilityName: 'shareScreen',\n isPresent: true,\n changedReason: 'RoleChanged'\n }\n });\n useEffect(() => {\n activeNotifications.current = updateLatestCapabilityChangedNotificationMap(capabilitiesChangedAndRoleInfo, activeNotifications.current);\n setTrackedCapabilityChangedNotifications(prev => updateTrackedCapabilityChangedNotificationsWithActiveNotifications(prev, Object.values(activeNotifications.current)));\n }, [capabilitiesChangedAndRoleInfo]);\n const onDismissCapabilityChangedNotification = useCallback((notification: CapabalityChangedNotification) => {\n setTrackedCapabilityChangedNotifications(prev => trackCapabilityChangedNotificationAsDismissed(notification.capabilityName, prev));\n }, []);\n const latestCapabilityChangedNotifications = useMemo(() => filterLatestCapabilityChangedNotifications(Object.values(activeNotifications.current), trackedCapabilityChangedNotifications), [trackedCapabilityChangedNotifications]);\n return {\n capabilitiesChangedNotifications: latestCapabilityChangedNotifications,\n onDismissNotification: onDismissCapabilityChangedNotification\n };\n};\n\n/**\n * Take the set of active notifications, and filter to only those that are newer than previously dismissed notifications or have never been dismissed.\n *\n * @private\n */\nexport const filterLatestCapabilityChangedNotifications = (activeNotifications: CapabalityChangedNotification[], trackedNotifications: TrackedCapabilityChangedNotifications): CapabalityChangedNotification[] => {\n const filteredNotifications = activeNotifications.filter(activeNotification => {\n const trackedNotification = trackedNotifications[activeNotification.capabilityName];\n return !trackedNotification || !trackedNotification.lastDismissedAt || trackedNotification.lastDismissedAt < trackedNotification.mostRecentlyActive;\n });\n return filteredNotifications;\n};\n\n/**\n * Maintain a record of the most recently active notification for each capability name.\n *\n * @private\n */\nexport const updateTrackedCapabilityChangedNotificationsWithActiveNotifications = (existingTrackedNotifications: TrackedCapabilityChangedNotifications, activeNotifications: CapabalityChangedNotification[]): TrackedCapabilityChangedNotifications => {\n const trackedNotifications: TrackedCapabilityChangedNotifications = {};\n\n // Only care about active notifications. If notifications are no longer active we do not track that they have been previously dismissed.\n for (const activeNotification of activeNotifications) {\n const existingTrackedNotification = existingTrackedNotifications[activeNotification.capabilityName];\n trackedNotifications[activeNotification.capabilityName] = {\n mostRecentlyActive: activeNotification.timestamp ?? existingTrackedNotification?.mostRecentlyActive ?? new Date(Date.now()),\n lastDismissedAt: existingTrackedNotification?.lastDismissedAt\n };\n }\n return trackedNotifications;\n};\n\n/**\n * Create a record for when the notification was most recently dismissed for tracking dismissed notifications.\n *\n * @private\n */\nexport const trackCapabilityChangedNotificationAsDismissed = (capabilityName: ParticipantCapabilityName, trackedNotifications: TrackedCapabilityChangedNotifications): TrackedCapabilityChangedNotifications => {\n const now = new Date(Date.now());\n const existingNotification = trackedNotifications[capabilityName];\n return {\n ...trackedNotifications,\n [capabilityName]: {\n ...(existingNotification || {}),\n lastDismissedAt: now\n }\n };\n};\ninterface CapabilitiesChangedInfoAndRole {\n capabilitiesChangeInfo?: CapabilitiesChangeInfo;\n participantRole?: ParticipantRole;\n}\ntype LatestCapabilityChangedNotificationRecord = Partial<Record<ParticipantCapabilityName, CapabalityChangedNotification>>;\nconst updateLatestCapabilityChangedNotificationMap = (capabilitiesChangedInfoAndRole: CapabilitiesChangedInfoAndRole, activeNotifications: LatestCapabilityChangedNotificationRecord): LatestCapabilityChangedNotificationRecord => {\n if (!capabilitiesChangedInfoAndRole.capabilitiesChangeInfo) {\n return activeNotifications;\n }\n for (const [capabilityKey, newCapabilityValue] of Object.entries(capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.newValue)) {\n // Cast is safe because we are iterating over the enum keys on the object.entries where\n // newCapabilityValue typing is correctly returned. Object.entries limitations\n // always returns string for the key\n const capabilityName = (capabilityKey as ParticipantCapabilityName);\n // If the active notification for a capability has the same `isPresent` value and the same reason as the new\n // capability value from the SDK then we will not create a new notification to avoid redundancy\n if (activeNotifications[capabilityName] && newCapabilityValue.isPresent === activeNotifications[capabilityName]?.isPresent && capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.reason === activeNotifications[capabilityName]?.changedReason) {\n continue;\n }\n const newCapabilityChangeNotification: CapabalityChangedNotification = {\n capabilityName: capabilityName,\n isPresent: newCapabilityValue.isPresent,\n changedReason: capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.reason,\n role: capabilitiesChangedInfoAndRole.participantRole,\n timestamp: new Date(Date.now())\n };\n activeNotifications[capabilityName] = newCapabilityChangeNotification;\n }\n return activeNotifications;\n};"]}
@@ -1,7 +1,6 @@
1
1
  import { CallAdapterState, CallCompositePage, StartCallIdentifier } from '../adapter/CallAdapter';
2
2
  import { CallControlOptions } from '../types/CallControlOptions';
3
3
  import { CallState, RemoteParticipantState } from "../../../../../calling-stateful-client/src";
4
- import { EnvironmentInfo } from '@azure/communication-calling';
5
4
  import { AdapterStateModifier, CallAdapterLocator } from '../adapter/AzureCommunicationCallAdapter';
6
5
  import { VideoBackgroundEffectsDependency } from "../../../../../calling-component-bindings/src";
7
6
  import { VideoBackgroundEffect } from '../adapter/CallAdapter';
@@ -49,10 +48,7 @@ export declare const getEndedCallPageProps: (locale: CompositeLocale, endedCall?
49
48
  /**
50
49
  * type definition for conditional-compilation
51
50
  */
52
- type GetCallCompositePageFunction = ((call: CallState | undefined, previousCall: CallState | undefined) => CallCompositePage) & ((call: CallState | undefined, previousCall: CallState | undefined, /* @conditional-compile-remove(call-transfer) */ transferCall?: CallState, /* @conditional-compile-remove(unsupported-browser) */ unsupportedBrowserInfo?: {
53
- environmentInfo?: EnvironmentInfo;
54
- unsupportedBrowserVersionOptedIn?: boolean;
55
- }) => CallCompositePage);
51
+ type GetCallCompositePageFunction = ((call: CallState | undefined, previousCall: CallState | undefined) => CallCompositePage) & ((call: CallState | undefined, previousCall: CallState | undefined, /* @conditional-compile-remove(call-transfer) */ transferCall?: CallState) => CallCompositePage);
56
52
  /**
57
53
  * Get the current call composite page based on the current call composite state
58
54
  *
@@ -90,19 +86,11 @@ export declare const disableCallControls: (callControlOptions: CallControlOption
90
86
  export declare const isDisabled: (option: boolean | {
91
87
  disabled: boolean;
92
88
  } | undefined) => boolean;
93
- /**
94
- *
95
- * This function uses permission API to determine if device permission state is granted, prompt or denied
96
- * @returns whether device permission state is granted, prompt or denied
97
- * If permission API is not supported on this browser, permission state is set to unsupported.
98
- * @private
99
- */
100
- export declare const getDevicePermissionState: (setVideoState: (state: PermissionState | 'unsupported') => void, setAudioState: (state: PermissionState | 'unsupported') => void) => Promise<void>;
101
89
  /**
102
90
  * Check if we are using safari browser
103
91
  * @private
104
92
  */
105
- export declare const _isSafari: (environmentInfo: undefined | /* @conditional-compile-remove(unsupported-browser) */ EnvironmentInfo) => boolean;
93
+ export declare const _isSafari: (environmentInfo: undefined) => boolean;
106
94
  /**
107
95
  * @private
108
96
  * This is the util function to create a participant modifier for remote participantList
@@ -1,14 +1,5 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
- return new (P || (P = Promise))(function (resolve, reject) {
6
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
- step((generator = generator.apply(thisArg, _arguments || [])).next());
10
- });
11
- };
12
3
  import { END_CALL_PAGES } from '../adapter/CallAdapter';
13
4
  import { _isInCall, _isPreviewOn, _isInLobbyOrConnecting } from "../../../../../calling-component-bindings/src";
14
5
  import { isPhoneNumberIdentifier } from '@azure/communication-common';
@@ -105,7 +96,7 @@ const getCallEndReason = (call) => {
105
96
  * @private
106
97
  */
107
98
  export const getEndedCallPageProps = (locale, endedCall) => {
108
- var _a, _b, _c, _d, _e;
99
+ var _a, _b, _c, _d;
109
100
  let title = locale.strings.call.leftCallTitle;
110
101
  let moreDetails = locale.strings.call.leftCallMoreDetails;
111
102
  let disableStartCallButton = false;
@@ -170,37 +161,6 @@ export const getEndedCallPageProps = (locale, endedCall) => {
170
161
  }
171
162
  break;
172
163
  }
173
- /* @conditional-compile-remove(teams-adhoc-call) */
174
- switch ((_e = endedCall === null || endedCall === void 0 ? void 0 : endedCall.callEndReason) === null || _e === void 0 ? void 0 : _e.subCode) {
175
- case 10037:
176
- if (locale.strings.call.participantCouldNotBeReachedTitle) {
177
- title = locale.strings.call.participantCouldNotBeReachedTitle;
178
- moreDetails = locale.strings.call.participantCouldNotBeReachedMoreDetails;
179
- disableStartCallButton = true;
180
- }
181
- break;
182
- case 10124:
183
- if (locale.strings.call.permissionToReachTargetParticipantNotAllowedTitle) {
184
- title = locale.strings.call.permissionToReachTargetParticipantNotAllowedTitle;
185
- moreDetails = locale.strings.call.permissionToReachTargetParticipantNotAllowedMoreDetails;
186
- disableStartCallButton = true;
187
- }
188
- break;
189
- case 10119:
190
- if (locale.strings.call.unableToResolveTenantTitle) {
191
- title = locale.strings.call.unableToResolveTenantTitle;
192
- moreDetails = locale.strings.call.unableToResolveTenantMoreDetails;
193
- disableStartCallButton = true;
194
- }
195
- break;
196
- case 10044:
197
- if (locale.strings.call.participantIdIsMalformedTitle) {
198
- title = locale.strings.call.participantIdIsMalformedTitle;
199
- moreDetails = locale.strings.call.participantIdIsMalformedMoreDetails;
200
- disableStartCallButton = true;
201
- }
202
- break;
203
- }
204
164
  return {
205
165
  title,
206
166
  moreDetails,
@@ -222,10 +182,6 @@ export const getEndedCallPageProps = (locale, endedCall) => {
222
182
  * @private
223
183
  */
224
184
  export const getCallCompositePage = (call, previousCall, transferCall, unsupportedBrowserInfo) => {
225
- /* @conditional-compile-remove(unsupported-browser) */
226
- if (isUnsupportedEnvironment(unsupportedBrowserInfo === null || unsupportedBrowserInfo === void 0 ? void 0 : unsupportedBrowserInfo.environmentInfo, unsupportedBrowserInfo === null || unsupportedBrowserInfo === void 0 ? void 0 : unsupportedBrowserInfo.unsupportedBrowserVersionOptedIn)) {
227
- return 'unsupportedEnvironment';
228
- }
229
185
  /* @conditional-compile-remove(call-transfer) */
230
186
  if (transferCall !== undefined) {
231
187
  return 'transferring';
@@ -240,8 +196,6 @@ export const getCallCompositePage = (call, previousCall, transferCall, unsupport
240
196
  // `LocalHold` needs to be checked before `isInCall` since it is also a state that's considered in call.
241
197
  }
242
198
  else if ((call === null || call === void 0 ? void 0 : call.state) === 'LocalHold') {
243
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
244
- return 'hold';
245
199
  return 'call';
246
200
  }
247
201
  else if ((call === null || call === void 0 ? void 0 : call.state) === 'Disconnecting') {
@@ -335,60 +289,11 @@ export const isDisabled = (option) => {
335
289
  }
336
290
  return option.disabled;
337
291
  };
338
- /* @conditional-compile-remove(call-readiness) */
339
- /**
340
- * @returns Permissions state for the camera.
341
- */
342
- const queryCameraPermissionFromPermissionsAPI = () => __awaiter(void 0, void 0, void 0, function* () {
343
- try {
344
- return (yield navigator.permissions.query({
345
- name: 'camera'
346
- })).state;
347
- }
348
- catch (e) {
349
- console.info('permissions API is not supported by browser', e);
350
- return 'unsupported';
351
- }
352
- });
353
- /* @conditional-compile-remove(call-readiness) */
354
- /**
355
- * @returns Permissions state for the microphone.
356
- */
357
- const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter(void 0, void 0, void 0, function* () {
358
- try {
359
- return (yield navigator.permissions.query({
360
- name: 'microphone'
361
- })).state;
362
- }
363
- catch (e) {
364
- console.info('permissions API is not supported by browser', e);
365
- return 'unsupported';
366
- }
367
- });
368
- /* @conditional-compile-remove(call-readiness) */
369
- /**
370
- *
371
- * This function uses permission API to determine if device permission state is granted, prompt or denied
372
- * @returns whether device permission state is granted, prompt or denied
373
- * If permission API is not supported on this browser, permission state is set to unsupported.
374
- * @private
375
- */
376
- export const getDevicePermissionState = (setVideoState, setAudioState) => __awaiter(void 0, void 0, void 0, function* () {
377
- const [cameraResult, microphoneResult] = yield Promise.all([queryCameraPermissionFromPermissionsAPI(), queryMicrophonePermissionFromPermissionsAPI()]);
378
- setVideoState(cameraResult);
379
- setAudioState(microphoneResult);
380
- });
381
- /* @conditional-compile-remove(unsupported-browser) */
382
- const isUnsupportedEnvironment = (environmentInfo, unsupportedBrowserVersionOptedIn) => {
383
- return !!((environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.isSupportedBrowser) === false || (environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.isSupportedBrowserVersion) === false && !unsupportedBrowserVersionOptedIn || (environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.isSupportedPlatform) === false);
384
- };
385
292
  /**
386
293
  * Check if we are using safari browser
387
294
  * @private
388
295
  */
389
296
  export const _isSafari = (environmentInfo) => {
390
- /* @conditional-compile-remove(unsupported-browser) */
391
- return (environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.environment.browser) === 'safari';
392
297
  return /^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent);
393
298
  };
394
299
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/utils/Utils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CallAdapterState, CallCompositePage, END_CALL_PAGES, StartCallIdentifier } from '../adapter/CallAdapter';\nimport { _isInCall, _isPreviewOn, _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport { CallControlOptions } from '../types/CallControlOptions';\nimport { CallState, RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { isPhoneNumberIdentifier } from '@azure/communication-common';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { EnvironmentInfo } from '@azure/communication-calling';\nimport { AdapterStateModifier, CallAdapterLocator } from '../adapter/AzureCommunicationCallAdapter';\nimport { VideoBackgroundEffectsDependency } from '@internal/calling-component-bindings';\nimport { VideoBackgroundEffect } from '../adapter/CallAdapter';\nimport { VideoDeviceInfo } from '@azure/communication-calling';\nimport { VideoEffectProcessor } from '@azure/communication-calling';\nimport { CompositeLocale } from '../../localization';\nimport { CallCompositeIcons } from '../../common/icons';\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];\nconst CALL_REJECTED_CODE = 603;\n/** @private */\nexport const ROOM_NOT_FOUND_SUB_CODE = 5732;\n/** @private */\nexport const ROOM_NOT_VALID_SUB_CODE = 5829;\n/** @private */\nexport const NOT_INVITED_TO_ROOM_SUB_CODE = 5828;\n/** @private */\nexport const INVITE_TO_ROOM_REMOVED_SUB_CODE = 5317;\n/** @private */\nexport const CALL_TIMEOUT_SUB_CODE = 10004;\n/** @private */\nexport const CALL_TIMEOUT_CODE = 487;\n/** @private */\nexport const BOT_TIMEOUT_CODE = 486;\n/** @private */\nexport const BOT_TIMEOUT_SUB_CODE = 10321;\n\n/**\n * @private\n */\nexport const isCameraOn = (state: CallAdapterState): boolean => {\n if (state.call) {\n const stream = state.call.localVideoStreams.find(stream => stream.mediaStreamType === 'Video');\n return !!stream;\n } else {\n if (state.devices.selectedCamera) {\n const previewOn = _isPreviewOn(state.devices);\n return previewOn;\n }\n }\n return false;\n};\n\n/**\n * Reduce the set of call controls visible on mobile.\n * For example do not show screenshare button.\n *\n * @private\n */\nexport const reduceCallControlsForMobile = (callControlOptions: CallControlOptions | boolean | undefined): CallControlOptions | false => {\n if (callControlOptions === false) {\n return false;\n }\n\n // Ensure call controls a valid object.\n const reduceCallControlOptions = callControlOptions === true ? {} : callControlOptions || {};\n\n // Set to compressed mode when composite is optimized for mobile\n reduceCallControlOptions.displayType = 'compact';\n\n // Do not show screen share button when composite is optimized for mobile unless the developer\n // has explicitly opted in.\n if (reduceCallControlOptions.screenShareButton !== true) {\n reduceCallControlOptions.screenShareButton = false;\n }\n return reduceCallControlOptions;\n};\nenum CallEndReasons {\n LEFT_CALL,\n ACCESS_DENIED,\n REMOVED_FROM_CALL,\n}\nconst getCallEndReason = (call: CallState): CallEndReasons => {\n const remoteParticipantsEndedArray = Array.from(Object.values(call.remoteParticipantsEnded));\n /**\n * Handle the special case in a PSTN call where removing the last user kicks the caller out of the call.\n * The code and subcode is the same as when a user is removed from a teams interop call.\n * Hence, we look at the last remote participant removed to determine if the last participant removed was a phone number.\n * If yes, the caller was kicked out of the call, but we need to show them that they left the call.\n * Note: This check will only work for 1:1 PSTN Calls. The subcode is different for 1:N PSTN calls, and we do not need to handle that case.\n */\n if (remoteParticipantsEndedArray.length === 1 && isPhoneNumberIdentifier(remoteParticipantsEndedArray[0].identifier) && call.callEndReason?.subCode !== REMOTE_PSTN_USER_HUNG_UP) {\n return CallEndReasons.LEFT_CALL;\n }\n if (call.callEndReason?.subCode && call.callEndReason.subCode === ACCESS_DENIED_TEAMS_MEETING_SUB_CODE) {\n return CallEndReasons.ACCESS_DENIED;\n }\n if (call.callEndReason?.subCode && REMOVED_FROM_CALL_SUB_CODES.includes(call.callEndReason.subCode)) {\n return CallEndReasons.REMOVED_FROM_CALL;\n }\n if (call.callEndReason) {\n // No error codes match, assume the user simply left the call regularly\n return CallEndReasons.LEFT_CALL;\n }\n throw new Error('No matching call end reason');\n};\n\n/**\n * Helper function for determine strings and icons for end call page\n * @private\n */\nexport const getEndedCallPageProps = (locale: CompositeLocale, endedCall?: CallState): {\n title: string;\n moreDetails?: string;\n disableStartCallButton: boolean;\n iconName: keyof CallCompositeIcons;\n} => {\n let title = locale.strings.call.leftCallTitle;\n let moreDetails = locale.strings.call.leftCallMoreDetails;\n let disableStartCallButton = false;\n let iconName: keyof CallCompositeIcons = 'NoticePageLeftCall';\n switch (endedCall?.callEndReason?.subCode) {\n case ROOM_NOT_FOUND_SUB_CODE:\n if (locale.strings.call.roomNotFoundTitle) {\n title = locale.strings.call.roomNotFoundTitle;\n moreDetails = locale.strings.call.roomNotFoundDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageRoomNotFound';\n }\n break;\n case ROOM_NOT_VALID_SUB_CODE:\n if (locale.strings.call.roomNotValidTitle) {\n title = locale.strings.call.roomNotValidTitle;\n moreDetails = locale.strings.call.roomNotValidDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageRoomNotValid';\n }\n break;\n case NOT_INVITED_TO_ROOM_SUB_CODE:\n if (locale.strings.call.notInvitedToRoomTitle) {\n title = locale.strings.call.notInvitedToRoomTitle;\n moreDetails = locale.strings.call.notInvitedToRoomDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageNotInvitedToRoom';\n }\n break;\n case INVITE_TO_ROOM_REMOVED_SUB_CODE:\n if (locale.strings.call.inviteToRoomRemovedTitle) {\n title = locale.strings.call.inviteToRoomRemovedTitle;\n moreDetails = locale.strings.call.inviteToRoomRemovedDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageInviteToRoomRemoved';\n }\n break;\n case CALL_TIMEOUT_SUB_CODE:\n if (endedCall?.callEndReason?.code === CALL_TIMEOUT_CODE && locale.strings.call.callTimeoutTitle) {\n title = locale.strings.call.callTimeoutTitle;\n moreDetails = locale.strings.call.callTimeoutDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageCallTimeout';\n }\n break;\n case BOT_TIMEOUT_SUB_CODE:\n if (endedCall?.callEndReason?.code === BOT_TIMEOUT_CODE && locale.strings.call.callTimeoutBotTitle) {\n title = locale.strings.call.callTimeoutBotTitle;\n moreDetails = locale.strings.call.callTimeoutBotDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageCallTimeout';\n }\n break;\n }\n switch (endedCall?.callEndReason?.code) {\n case CALL_REJECTED_CODE:\n if (locale.strings.call.callRejectedTitle) {\n title = locale.strings.call.callRejectedTitle;\n moreDetails = locale.strings.call.callRejectedMoreDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageCallRejected';\n }\n break;\n }\n /* @conditional-compile-remove(teams-adhoc-call) */\n switch (endedCall?.callEndReason?.subCode) {\n case 10037:\n if (locale.strings.call.participantCouldNotBeReachedTitle) {\n title = locale.strings.call.participantCouldNotBeReachedTitle;\n moreDetails = locale.strings.call.participantCouldNotBeReachedMoreDetails;\n disableStartCallButton = true;\n }\n break;\n case 10124:\n if (locale.strings.call.permissionToReachTargetParticipantNotAllowedTitle) {\n title = locale.strings.call.permissionToReachTargetParticipantNotAllowedTitle;\n moreDetails = locale.strings.call.permissionToReachTargetParticipantNotAllowedMoreDetails;\n disableStartCallButton = true;\n }\n break;\n case 10119:\n if (locale.strings.call.unableToResolveTenantTitle) {\n title = locale.strings.call.unableToResolveTenantTitle;\n moreDetails = locale.strings.call.unableToResolveTenantMoreDetails;\n disableStartCallButton = true;\n }\n break;\n case 10044:\n if (locale.strings.call.participantIdIsMalformedTitle) {\n title = locale.strings.call.participantIdIsMalformedTitle;\n moreDetails = locale.strings.call.participantIdIsMalformedMoreDetails;\n disableStartCallButton = true;\n }\n break;\n }\n return {\n title,\n moreDetails,\n disableStartCallButton,\n iconName\n };\n};\n\n/**\n * type definition for conditional-compilation\n */\ntype GetCallCompositePageFunction = ((call: CallState | undefined, previousCall: CallState | undefined) => CallCompositePage) & ((call: CallState | undefined, previousCall: CallState | undefined, /* @conditional-compile-remove(call-transfer) */transferCall?: CallState, /* @conditional-compile-remove(unsupported-browser) */unsupportedBrowserInfo?: {\n environmentInfo?: EnvironmentInfo;\n unsupportedBrowserVersionOptedIn?: boolean;\n}) => CallCompositePage);\n/**\n * Get the current call composite page based on the current call composite state\n *\n * @param Call - The current call state\n * @param previousCall - The state of the most recent previous call that has ended.\n *\n * @remarks - The previousCall state is needed to determine if the call has ended.\n * When the call ends a new call object is created, and so we must lookback at the\n * previous call state to understand how the call has ended. If there is no previous\n * call we know that this is a fresh call and can display the configuration page.\n *\n * @private\n */\nexport const getCallCompositePage: GetCallCompositePageFunction = (call, previousCall?, transferCall?: CallState, unsupportedBrowserInfo?: {\n /* @conditional-compile-remove(unsupported-browser) */\n environmentInfo?: EnvironmentInfo;\n unsupportedBrowserVersionOptedIn?: boolean;\n}): CallCompositePage => {\n /* @conditional-compile-remove(unsupported-browser) */\n if (isUnsupportedEnvironment(unsupportedBrowserInfo?.environmentInfo, unsupportedBrowserInfo?.unsupportedBrowserVersionOptedIn)) {\n return 'unsupportedEnvironment';\n }\n\n /* @conditional-compile-remove(call-transfer) */\n if (transferCall !== undefined) {\n return 'transferring';\n }\n if (call) {\n // Must check for ongoing call *before* looking at any previous calls.\n // If the composite completes one call and joins another, the previous calls\n // will be populated, but not relevant for determining the page.\n\n // `_isInLobbyOrConnecting` needs to be checked first because `_isInCall` also returns true when call is in lobby.\n if (_isInLobbyOrConnecting(call?.state)) {\n return 'lobby';\n // `LocalHold` needs to be checked before `isInCall` since it is also a state that's considered in call.\n } else if (call?.state === 'LocalHold') {\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n return 'hold';\n return 'call';\n } else if (call?.state === 'Disconnecting') {\n return 'leaving';\n } else if (_isInCall(call?.state)) {\n return 'call';\n } else {\n // When the call object has been constructed after clicking , but before 'connecting' has been\n // set on the call object, we continue to show the configuration screen.\n // The call object does not correctly reflect local device state until `call.state` moves to `connecting`.\n // Moving to the 'lobby' page too soon leads to components that depend on the `call` object to show incorrect\n // transitional state.\n return 'configuration';\n }\n }\n if (previousCall) {\n const reason = getCallEndReason(previousCall);\n switch (reason) {\n case CallEndReasons.ACCESS_DENIED:\n return 'accessDeniedTeamsMeeting';\n case CallEndReasons.REMOVED_FROM_CALL:\n return 'removedFromCall';\n case CallEndReasons.LEFT_CALL:\n if (previousCall.diagnostics.network.latest.noNetwork) {\n return 'joinCallFailedDueToNoNetwork';\n }\n return 'leftCall';\n }\n }\n\n // No call state - show starting page (configuration)\n return 'configuration';\n};\n\n/** @private */\nexport const IsCallEndedPage = (page: CallCompositePage): boolean => END_CALL_PAGES.includes(page);\n\n/**\n * Creates a new call control options object and sets the correct values for disabling\n * the buttons provided in the `disabledControls` array.\n * Returns a new object without changing the original object.\n * @param callControlOptions options for the call control component that need to be modified.\n * @param disabledControls An array of controls to disable.\n * @returns a copy of callControlOptions with disabledControls disabled\n * @private\n */\nexport const disableCallControls = (callControlOptions: CallControlOptions | boolean | undefined, disabledControls: (keyof CallControlOptions)[]): CallControlOptions | boolean | undefined => {\n if (callControlOptions === false) {\n return false;\n }\n // Ensure we clone the prop if it is an object to ensure we do not mutate the original prop.\n let newOptions: CallControlOptions | boolean | undefined = (callControlOptions instanceof Object ? ({\n ...callControlOptions\n } as CallControlOptions) : callControlOptions) ?? ({} as Partial<CallControlOptions>);\n if (newOptions === true || newOptions === undefined) {\n newOptions = disabledControls.reduce((acc, key) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n // @ts-expect-error TODO: fix noImplicitAny error here\n // Not solveable at this time due to typescript limitations. The typing is too complex for typescript to\n // understand. Will need to revisit when either typescript or the calling component bindings are updated.\n acc[key] = {\n disabled: true\n };\n return acc;\n }, ({} as Partial<CallControlOptions>));\n } else {\n disabledControls.forEach(key => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n // @ts-expect-error refer to above comment\n if (newOptions[key] !== false) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n // @ts-expect-error refer to above comment\n newOptions[key] = {\n disabled: true\n };\n }\n });\n }\n return newOptions;\n};\n\n/**\n * Check if a disabled object is provided for a button and returns if the button is disabled.\n * A button is only disabled if is explicitly set to disabled.\n *\n * @param option\n * @returns whether a button is disabled\n * @private\n */\nexport const isDisabled = (option: boolean | {\n disabled: boolean;\n} | undefined): boolean => {\n if (option === undefined || typeof option === 'boolean') {\n return false;\n }\n return option.disabled;\n};\n\n/* @conditional-compile-remove(call-readiness) */\n/**\n * @returns Permissions state for the camera.\n */\nconst queryCameraPermissionFromPermissionsAPI = async (): Promise<PermissionState | 'unsupported'> => {\n try {\n return (await navigator.permissions.query({\n name: ('camera' as PermissionName)\n })).state;\n } catch (e) {\n console.info('permissions API is not supported by browser', e);\n return 'unsupported';\n }\n};\n\n/* @conditional-compile-remove(call-readiness) */\n/**\n * @returns Permissions state for the microphone.\n */\nconst queryMicrophonePermissionFromPermissionsAPI = async (): Promise<PermissionState | 'unsupported'> => {\n try {\n return (await navigator.permissions.query({\n name: ('microphone' as PermissionName)\n })).state;\n } catch (e) {\n console.info('permissions API is not supported by browser', e);\n return 'unsupported';\n }\n};\n\n/* @conditional-compile-remove(call-readiness) */\n/**\n *\n * This function uses permission API to determine if device permission state is granted, prompt or denied\n * @returns whether device permission state is granted, prompt or denied\n * If permission API is not supported on this browser, permission state is set to unsupported.\n * @private\n */\nexport const getDevicePermissionState = async (setVideoState: (state: PermissionState | 'unsupported') => void, setAudioState: (state: PermissionState | 'unsupported') => void): Promise<void> => {\n const [cameraResult, microphoneResult] = await Promise.all([queryCameraPermissionFromPermissionsAPI(), queryMicrophonePermissionFromPermissionsAPI()]);\n setVideoState(cameraResult);\n setAudioState(microphoneResult);\n};\n/* @conditional-compile-remove(unsupported-browser) */\nconst isUnsupportedEnvironment = (environmentInfo?: EnvironmentInfo, unsupportedBrowserVersionOptedIn?: boolean): boolean => {\n return !!(environmentInfo?.isSupportedBrowser === false || environmentInfo?.isSupportedBrowserVersion === false && !unsupportedBrowserVersionOptedIn || environmentInfo?.isSupportedPlatform === false);\n};\n\n/**\n * Check if we are using safari browser\n * @private\n */\nexport const _isSafari = (environmentInfo: undefined | /* @conditional-compile-remove(unsupported-browser) */EnvironmentInfo): boolean => {\n /* @conditional-compile-remove(unsupported-browser) */\n return environmentInfo?.environment.browser === 'safari';\n return /^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent);\n};\n\n/**\n * @private\n * This is the util function to create a participant modifier for remote participantList\n * It memoize previous original participant items and only update the changed participant\n * It takes in one modifier function to generate one single participant object, it returns undefined if the object keeps unmodified\n */\nexport const createParticipantModifier = (createModifiedParticipant: (id: string, participant: RemoteParticipantState) => RemoteParticipantState | undefined): AdapterStateModifier => {\n let previousParticipantState: {\n [keys: string]: RemoteParticipantState;\n } | undefined = undefined;\n let modifiedParticipants: {\n [keys: string]: RemoteParticipantState;\n } = {};\n const memoizedParticipants: {\n [id: string]: {\n originalRef: RemoteParticipantState;\n newParticipant: RemoteParticipantState;\n };\n } = {};\n return (state: CallAdapterState) => {\n // if root state is the same, we don't need to update the participants\n if (state.call?.remoteParticipants !== previousParticipantState) {\n modifiedParticipants = {};\n const originalParticipants = state.call?.remoteParticipants;\n for (const key in originalParticipants) {\n const modifiedParticipant = createModifiedParticipant(key, originalParticipants[key]);\n if (modifiedParticipant === undefined) {\n modifiedParticipants[key] = originalParticipants[key];\n continue;\n }\n // Generate the new item if original cached item has been changed\n if (memoizedParticipants[key]?.originalRef !== originalParticipants[key]) {\n memoizedParticipants[key] = {\n newParticipant: modifiedParticipant,\n originalRef: originalParticipants[key]\n };\n }\n\n // the modified participant is always coming from the memoized cache, whether is was refreshed\n // from the previous closure or not\n modifiedParticipants[key] = memoizedParticipants[key].newParticipant;\n }\n previousParticipantState = state.call?.remoteParticipants;\n }\n return {\n ...state,\n call: state.call ? {\n ...state.call,\n remoteParticipants: modifiedParticipants\n } : undefined\n };\n };\n};\n\n/** @private */\nexport const getBackgroundEffectFromSelectedEffect = (selectedEffect: VideoBackgroundEffect | undefined, VideoBackgroundEffectsDependency: VideoBackgroundEffectsDependency): VideoEffectProcessor | undefined => selectedEffect?.effectName === 'blur' ? VideoBackgroundEffectsDependency.createBackgroundBlurEffect() : selectedEffect?.effectName === 'replacement' ? VideoBackgroundEffectsDependency.createBackgroundReplacementEffect({\n backgroundImageUrl: selectedEffect.backgroundImageUrl\n}) : undefined;\n\n/**\n * @remarks this logic should mimic the onToggleCamera in the common call handlers.\n * @private\n */\nexport const getSelectedCameraFromAdapterState = (state: CallAdapterState): VideoDeviceInfo | undefined => state.devices.selectedCamera || state.devices.cameras[0];\n\n/**\n * Helper to determine if the adapter has a locator or targetCallees\n * @param locatorOrTargetCallees\n * @returns boolean to determine if the adapter has a locator or targetCallees, true is locator, false is targetCallees\n * @private\n */\nexport const getLocatorOrTargetCallees = (locatorOrTargetCallees: CallAdapterLocator | StartCallIdentifier[]): locatorOrTargetCallees is StartCallIdentifier[] => {\n return !!Array.isArray(locatorOrTargetCallees);\n};"]}
1
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/utils/Utils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CallAdapterState, CallCompositePage, END_CALL_PAGES, StartCallIdentifier } from '../adapter/CallAdapter';\nimport { _isInCall, _isPreviewOn, _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport { CallControlOptions } from '../types/CallControlOptions';\nimport { CallState, RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { isPhoneNumberIdentifier } from '@azure/communication-common';\nimport { AdapterStateModifier, CallAdapterLocator } from '../adapter/AzureCommunicationCallAdapter';\nimport { VideoBackgroundEffectsDependency } from '@internal/calling-component-bindings';\nimport { VideoBackgroundEffect } from '../adapter/CallAdapter';\nimport { VideoDeviceInfo } from '@azure/communication-calling';\nimport { VideoEffectProcessor } from '@azure/communication-calling';\nimport { CompositeLocale } from '../../localization';\nimport { CallCompositeIcons } from '../../common/icons';\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];\nconst CALL_REJECTED_CODE = 603;\n/** @private */\nexport const ROOM_NOT_FOUND_SUB_CODE = 5732;\n/** @private */\nexport const ROOM_NOT_VALID_SUB_CODE = 5829;\n/** @private */\nexport const NOT_INVITED_TO_ROOM_SUB_CODE = 5828;\n/** @private */\nexport const INVITE_TO_ROOM_REMOVED_SUB_CODE = 5317;\n/** @private */\nexport const CALL_TIMEOUT_SUB_CODE = 10004;\n/** @private */\nexport const CALL_TIMEOUT_CODE = 487;\n/** @private */\nexport const BOT_TIMEOUT_CODE = 486;\n/** @private */\nexport const BOT_TIMEOUT_SUB_CODE = 10321;\n\n/**\n * @private\n */\nexport const isCameraOn = (state: CallAdapterState): boolean => {\n if (state.call) {\n const stream = state.call.localVideoStreams.find(stream => stream.mediaStreamType === 'Video');\n return !!stream;\n } else {\n if (state.devices.selectedCamera) {\n const previewOn = _isPreviewOn(state.devices);\n return previewOn;\n }\n }\n return false;\n};\n\n/**\n * Reduce the set of call controls visible on mobile.\n * For example do not show screenshare button.\n *\n * @private\n */\nexport const reduceCallControlsForMobile = (callControlOptions: CallControlOptions | boolean | undefined): CallControlOptions | false => {\n if (callControlOptions === false) {\n return false;\n }\n\n // Ensure call controls a valid object.\n const reduceCallControlOptions = callControlOptions === true ? {} : callControlOptions || {};\n\n // Set to compressed mode when composite is optimized for mobile\n reduceCallControlOptions.displayType = 'compact';\n\n // Do not show screen share button when composite is optimized for mobile unless the developer\n // has explicitly opted in.\n if (reduceCallControlOptions.screenShareButton !== true) {\n reduceCallControlOptions.screenShareButton = false;\n }\n return reduceCallControlOptions;\n};\nenum CallEndReasons {\n LEFT_CALL,\n ACCESS_DENIED,\n REMOVED_FROM_CALL,\n}\nconst getCallEndReason = (call: CallState): CallEndReasons => {\n const remoteParticipantsEndedArray = Array.from(Object.values(call.remoteParticipantsEnded));\n /**\n * Handle the special case in a PSTN call where removing the last user kicks the caller out of the call.\n * The code and subcode is the same as when a user is removed from a teams interop call.\n * Hence, we look at the last remote participant removed to determine if the last participant removed was a phone number.\n * If yes, the caller was kicked out of the call, but we need to show them that they left the call.\n * Note: This check will only work for 1:1 PSTN Calls. The subcode is different for 1:N PSTN calls, and we do not need to handle that case.\n */\n if (remoteParticipantsEndedArray.length === 1 && isPhoneNumberIdentifier(remoteParticipantsEndedArray[0].identifier) && call.callEndReason?.subCode !== REMOTE_PSTN_USER_HUNG_UP) {\n return CallEndReasons.LEFT_CALL;\n }\n if (call.callEndReason?.subCode && call.callEndReason.subCode === ACCESS_DENIED_TEAMS_MEETING_SUB_CODE) {\n return CallEndReasons.ACCESS_DENIED;\n }\n if (call.callEndReason?.subCode && REMOVED_FROM_CALL_SUB_CODES.includes(call.callEndReason.subCode)) {\n return CallEndReasons.REMOVED_FROM_CALL;\n }\n if (call.callEndReason) {\n // No error codes match, assume the user simply left the call regularly\n return CallEndReasons.LEFT_CALL;\n }\n throw new Error('No matching call end reason');\n};\n\n/**\n * Helper function for determine strings and icons for end call page\n * @private\n */\nexport const getEndedCallPageProps = (locale: CompositeLocale, endedCall?: CallState): {\n title: string;\n moreDetails?: string;\n disableStartCallButton: boolean;\n iconName: keyof CallCompositeIcons;\n} => {\n let title = locale.strings.call.leftCallTitle;\n let moreDetails = locale.strings.call.leftCallMoreDetails;\n let disableStartCallButton = false;\n let iconName: keyof CallCompositeIcons = 'NoticePageLeftCall';\n switch (endedCall?.callEndReason?.subCode) {\n case ROOM_NOT_FOUND_SUB_CODE:\n if (locale.strings.call.roomNotFoundTitle) {\n title = locale.strings.call.roomNotFoundTitle;\n moreDetails = locale.strings.call.roomNotFoundDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageRoomNotFound';\n }\n break;\n case ROOM_NOT_VALID_SUB_CODE:\n if (locale.strings.call.roomNotValidTitle) {\n title = locale.strings.call.roomNotValidTitle;\n moreDetails = locale.strings.call.roomNotValidDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageRoomNotValid';\n }\n break;\n case NOT_INVITED_TO_ROOM_SUB_CODE:\n if (locale.strings.call.notInvitedToRoomTitle) {\n title = locale.strings.call.notInvitedToRoomTitle;\n moreDetails = locale.strings.call.notInvitedToRoomDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageNotInvitedToRoom';\n }\n break;\n case INVITE_TO_ROOM_REMOVED_SUB_CODE:\n if (locale.strings.call.inviteToRoomRemovedTitle) {\n title = locale.strings.call.inviteToRoomRemovedTitle;\n moreDetails = locale.strings.call.inviteToRoomRemovedDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageInviteToRoomRemoved';\n }\n break;\n case CALL_TIMEOUT_SUB_CODE:\n if (endedCall?.callEndReason?.code === CALL_TIMEOUT_CODE && locale.strings.call.callTimeoutTitle) {\n title = locale.strings.call.callTimeoutTitle;\n moreDetails = locale.strings.call.callTimeoutDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageCallTimeout';\n }\n break;\n case BOT_TIMEOUT_SUB_CODE:\n if (endedCall?.callEndReason?.code === BOT_TIMEOUT_CODE && locale.strings.call.callTimeoutBotTitle) {\n title = locale.strings.call.callTimeoutBotTitle;\n moreDetails = locale.strings.call.callTimeoutBotDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageCallTimeout';\n }\n break;\n }\n switch (endedCall?.callEndReason?.code) {\n case CALL_REJECTED_CODE:\n if (locale.strings.call.callRejectedTitle) {\n title = locale.strings.call.callRejectedTitle;\n moreDetails = locale.strings.call.callRejectedMoreDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageCallRejected';\n }\n break;\n }\n return {\n title,\n moreDetails,\n disableStartCallButton,\n iconName\n };\n};\n\n/**\n * type definition for conditional-compilation\n */\ntype GetCallCompositePageFunction = ((call: CallState | undefined, previousCall: CallState | undefined) => CallCompositePage) & ((call: CallState | undefined, previousCall: CallState | undefined, /* @conditional-compile-remove(call-transfer) */transferCall?: CallState) => CallCompositePage);\n/**\n * Get the current call composite page based on the current call composite state\n *\n * @param Call - The current call state\n * @param previousCall - The state of the most recent previous call that has ended.\n *\n * @remarks - The previousCall state is needed to determine if the call has ended.\n * When the call ends a new call object is created, and so we must lookback at the\n * previous call state to understand how the call has ended. If there is no previous\n * call we know that this is a fresh call and can display the configuration page.\n *\n * @private\n */\nexport const getCallCompositePage: GetCallCompositePageFunction = (call, previousCall?, transferCall?: CallState, unsupportedBrowserInfo?: {\n unsupportedBrowserVersionOptedIn?: boolean;\n}): CallCompositePage => {\n /* @conditional-compile-remove(call-transfer) */\n if (transferCall !== undefined) {\n return 'transferring';\n }\n if (call) {\n // Must check for ongoing call *before* looking at any previous calls.\n // If the composite completes one call and joins another, the previous calls\n // will be populated, but not relevant for determining the page.\n\n // `_isInLobbyOrConnecting` needs to be checked first because `_isInCall` also returns true when call is in lobby.\n if (_isInLobbyOrConnecting(call?.state)) {\n return 'lobby';\n // `LocalHold` needs to be checked before `isInCall` since it is also a state that's considered in call.\n } else if (call?.state === 'LocalHold') {\n return 'call';\n } else if (call?.state === 'Disconnecting') {\n return 'leaving';\n } else if (_isInCall(call?.state)) {\n return 'call';\n } else {\n // When the call object has been constructed after clicking , but before 'connecting' has been\n // set on the call object, we continue to show the configuration screen.\n // The call object does not correctly reflect local device state until `call.state` moves to `connecting`.\n // Moving to the 'lobby' page too soon leads to components that depend on the `call` object to show incorrect\n // transitional state.\n return 'configuration';\n }\n }\n if (previousCall) {\n const reason = getCallEndReason(previousCall);\n switch (reason) {\n case CallEndReasons.ACCESS_DENIED:\n return 'accessDeniedTeamsMeeting';\n case CallEndReasons.REMOVED_FROM_CALL:\n return 'removedFromCall';\n case CallEndReasons.LEFT_CALL:\n if (previousCall.diagnostics.network.latest.noNetwork) {\n return 'joinCallFailedDueToNoNetwork';\n }\n return 'leftCall';\n }\n }\n\n // No call state - show starting page (configuration)\n return 'configuration';\n};\n\n/** @private */\nexport const IsCallEndedPage = (page: CallCompositePage): boolean => END_CALL_PAGES.includes(page);\n\n/**\n * Creates a new call control options object and sets the correct values for disabling\n * the buttons provided in the `disabledControls` array.\n * Returns a new object without changing the original object.\n * @param callControlOptions options for the call control component that need to be modified.\n * @param disabledControls An array of controls to disable.\n * @returns a copy of callControlOptions with disabledControls disabled\n * @private\n */\nexport const disableCallControls = (callControlOptions: CallControlOptions | boolean | undefined, disabledControls: (keyof CallControlOptions)[]): CallControlOptions | boolean | undefined => {\n if (callControlOptions === false) {\n return false;\n }\n // Ensure we clone the prop if it is an object to ensure we do not mutate the original prop.\n let newOptions: CallControlOptions | boolean | undefined = (callControlOptions instanceof Object ? ({\n ...callControlOptions\n } as CallControlOptions) : callControlOptions) ?? ({} as Partial<CallControlOptions>);\n if (newOptions === true || newOptions === undefined) {\n newOptions = disabledControls.reduce((acc, key) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n // @ts-expect-error TODO: fix noImplicitAny error here\n // Not solveable at this time due to typescript limitations. The typing is too complex for typescript to\n // understand. Will need to revisit when either typescript or the calling component bindings are updated.\n acc[key] = {\n disabled: true\n };\n return acc;\n }, ({} as Partial<CallControlOptions>));\n } else {\n disabledControls.forEach(key => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n // @ts-expect-error refer to above comment\n if (newOptions[key] !== false) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n // @ts-expect-error refer to above comment\n newOptions[key] = {\n disabled: true\n };\n }\n });\n }\n return newOptions;\n};\n\n/**\n * Check if a disabled object is provided for a button and returns if the button is disabled.\n * A button is only disabled if is explicitly set to disabled.\n *\n * @param option\n * @returns whether a button is disabled\n * @private\n */\nexport const isDisabled = (option: boolean | {\n disabled: boolean;\n} | undefined): boolean => {\n if (option === undefined || typeof option === 'boolean') {\n return false;\n }\n return option.disabled;\n};\n/**\n * Check if we are using safari browser\n * @private\n */\nexport const _isSafari = (environmentInfo: undefined): boolean => {\n return /^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent);\n};\n\n/**\n * @private\n * This is the util function to create a participant modifier for remote participantList\n * It memoize previous original participant items and only update the changed participant\n * It takes in one modifier function to generate one single participant object, it returns undefined if the object keeps unmodified\n */\nexport const createParticipantModifier = (createModifiedParticipant: (id: string, participant: RemoteParticipantState) => RemoteParticipantState | undefined): AdapterStateModifier => {\n let previousParticipantState: {\n [keys: string]: RemoteParticipantState;\n } | undefined = undefined;\n let modifiedParticipants: {\n [keys: string]: RemoteParticipantState;\n } = {};\n const memoizedParticipants: {\n [id: string]: {\n originalRef: RemoteParticipantState;\n newParticipant: RemoteParticipantState;\n };\n } = {};\n return (state: CallAdapterState) => {\n // if root state is the same, we don't need to update the participants\n if (state.call?.remoteParticipants !== previousParticipantState) {\n modifiedParticipants = {};\n const originalParticipants = state.call?.remoteParticipants;\n for (const key in originalParticipants) {\n const modifiedParticipant = createModifiedParticipant(key, originalParticipants[key]);\n if (modifiedParticipant === undefined) {\n modifiedParticipants[key] = originalParticipants[key];\n continue;\n }\n // Generate the new item if original cached item has been changed\n if (memoizedParticipants[key]?.originalRef !== originalParticipants[key]) {\n memoizedParticipants[key] = {\n newParticipant: modifiedParticipant,\n originalRef: originalParticipants[key]\n };\n }\n\n // the modified participant is always coming from the memoized cache, whether is was refreshed\n // from the previous closure or not\n modifiedParticipants[key] = memoizedParticipants[key].newParticipant;\n }\n previousParticipantState = state.call?.remoteParticipants;\n }\n return {\n ...state,\n call: state.call ? {\n ...state.call,\n remoteParticipants: modifiedParticipants\n } : undefined\n };\n };\n};\n\n/** @private */\nexport const getBackgroundEffectFromSelectedEffect = (selectedEffect: VideoBackgroundEffect | undefined, VideoBackgroundEffectsDependency: VideoBackgroundEffectsDependency): VideoEffectProcessor | undefined => selectedEffect?.effectName === 'blur' ? VideoBackgroundEffectsDependency.createBackgroundBlurEffect() : selectedEffect?.effectName === 'replacement' ? VideoBackgroundEffectsDependency.createBackgroundReplacementEffect({\n backgroundImageUrl: selectedEffect.backgroundImageUrl\n}) : undefined;\n\n/**\n * @remarks this logic should mimic the onToggleCamera in the common call handlers.\n * @private\n */\nexport const getSelectedCameraFromAdapterState = (state: CallAdapterState): VideoDeviceInfo | undefined => state.devices.selectedCamera || state.devices.cameras[0];\n\n/**\n * Helper to determine if the adapter has a locator or targetCallees\n * @param locatorOrTargetCallees\n * @returns boolean to determine if the adapter has a locator or targetCallees, true is locator, false is targetCallees\n * @private\n */\nexport const getLocatorOrTargetCallees = (locatorOrTargetCallees: CallAdapterLocator | StartCallIdentifier[]): locatorOrTargetCallees is StartCallIdentifier[] => {\n return !!Array.isArray(locatorOrTargetCallees);\n};"]}
@@ -0,0 +1,22 @@
1
+ import { PromptProps } from '../components/Prompt';
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare const useLocalSpotlightCallbacksWithPrompt: (onStartLocalSpotlight?: () => Promise<void>, onStopLocalSpotlight?: () => Promise<void>, setIsPromptOpen?: ((isOpen: boolean) => void) | undefined, setPromptProps?: ((promptProps: PromptProps) => void) | undefined) => {
6
+ onStartLocalSpotlightWithPrompt?: () => Promise<void>;
7
+ onStopLocalSpotlightWithPrompt?: () => Promise<void>;
8
+ };
9
+ /**
10
+ * @internal
11
+ */
12
+ export declare const useRemoteSpotlightCallbacksWithPrompt: (onStartRemoteSpotlight?: ((userIds: string[]) => Promise<void>) | undefined, onStopRemoteSpotlight?: ((userIds: string[]) => Promise<void>) | undefined, setIsPromptOpen?: ((isOpen: boolean) => void) | undefined, setPromptProps?: ((promptProps: PromptProps) => void) | undefined) => {
13
+ onStartRemoteSpotlightWithPrompt?: ((userIds: string[]) => Promise<void>) | undefined;
14
+ onStopRemoteSpotlightWithPrompt?: ((userIds: string[]) => Promise<void>) | undefined;
15
+ };
16
+ /**
17
+ * @internal
18
+ */
19
+ export declare const useStopAllSpotlightCallbackWithPrompt: (stopAllSpotlight?: () => Promise<void>, setIsPromptOpen?: ((isOpen: boolean) => void) | undefined, setPromptProps?: ((promptProps: PromptProps) => void) | undefined) => {
20
+ stopAllSpotlightWithPrompt?: ((userIds?: string[]) => Promise<void>) | undefined;
21
+ };
22
+ //# sourceMappingURL=spotlightUtils.d.ts.map
@@ -0,0 +1,162 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
+ return new (P || (P = Promise))(function (resolve, reject) {
6
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
10
+ });
11
+ };
12
+ /* @conditional-compile-remove(spotlight) */
13
+ import { useMemo } from 'react';
14
+ /* @conditional-compile-remove(spotlight) */
15
+ import { useLocale } from '../../localization';
16
+ /* @conditional-compile-remove(spotlight) */
17
+ /**
18
+ * @internal
19
+ */
20
+ export const useLocalSpotlightCallbacksWithPrompt = (onStartLocalSpotlight, onStopLocalSpotlight, setIsPromptOpen, setPromptProps) => {
21
+ const strings = useLocale().strings.call;
22
+ return useMemo(() => {
23
+ if (!setIsPromptOpen || !setPromptProps) {
24
+ return {
25
+ onStartLocalSpotlightWithPrompt: onStartLocalSpotlight,
26
+ onStopLocalSpotlightWithPrompt: onStopLocalSpotlight
27
+ };
28
+ }
29
+ return {
30
+ onStartLocalSpotlightWithPrompt: onStartLocalSpotlight ? getStartLocalSpotlightWithPromptCallback(onStartLocalSpotlight, setIsPromptOpen, setPromptProps, strings) : undefined,
31
+ onStopLocalSpotlightWithPrompt: onStopLocalSpotlight ? getStopLocalSpotlightWithPromptCallback(onStopLocalSpotlight, setIsPromptOpen, setPromptProps, strings) : undefined
32
+ };
33
+ }, [onStartLocalSpotlight, onStopLocalSpotlight, setIsPromptOpen, setPromptProps, strings]);
34
+ };
35
+ /* @conditional-compile-remove(spotlight) */
36
+ const getStartLocalSpotlightWithPromptCallback = (onStartSpotlight, setIsPromptOpen, setPromptProps, strings) => {
37
+ return () => __awaiter(void 0, void 0, void 0, function* () {
38
+ setPromptProps({
39
+ heading: strings.spotlightPrompt.startSpotlightHeading,
40
+ text: strings.spotlightPrompt.startSpotlightOnSelfText,
41
+ confirmButtonLabel: strings.spotlightPrompt.startSpotlightConfirmButtonLabel,
42
+ cancelButtonLabel: strings.spotlightPrompt.startSpotlightCancelButtonLabel,
43
+ onConfirm: () => {
44
+ onStartSpotlight();
45
+ setIsPromptOpen(false);
46
+ },
47
+ onCancel: () => setIsPromptOpen(false)
48
+ });
49
+ setIsPromptOpen(true);
50
+ });
51
+ };
52
+ /* @conditional-compile-remove(spotlight) */
53
+ const getStopLocalSpotlightWithPromptCallback = (onStopSpotlight, setIsPromptOpen, setPromptProps, strings) => {
54
+ return () => __awaiter(void 0, void 0, void 0, function* () {
55
+ setPromptProps({
56
+ heading: strings.spotlightPrompt.stopSpotlightOnSelfHeading,
57
+ text: strings.spotlightPrompt.stopSpotlightOnSelfText,
58
+ confirmButtonLabel: strings.spotlightPrompt.stopSpotlightOnSelfConfirmButtonLabel,
59
+ cancelButtonLabel: strings.spotlightPrompt.stopSpotlightCancelButtonLabel,
60
+ onConfirm: () => {
61
+ onStopSpotlight();
62
+ setIsPromptOpen(false);
63
+ },
64
+ onCancel: () => setIsPromptOpen(false)
65
+ });
66
+ setIsPromptOpen(true);
67
+ });
68
+ };
69
+ /* @conditional-compile-remove(spotlight) */
70
+ /**
71
+ * @internal
72
+ */
73
+ export const useRemoteSpotlightCallbacksWithPrompt = (onStartRemoteSpotlight, onStopRemoteSpotlight, setIsPromptOpen, setPromptProps) => {
74
+ const strings = useLocale().strings.call;
75
+ return useMemo(() => {
76
+ if (!setIsPromptOpen || !setPromptProps) {
77
+ return {
78
+ onStartRemoteSpotlightWithPrompt: onStartRemoteSpotlight,
79
+ onStopRemoteSpotlightWithPrompt: onStopRemoteSpotlight
80
+ };
81
+ }
82
+ return {
83
+ onStartRemoteSpotlightWithPrompt: onStartRemoteSpotlight ? getStartRemoteSpotlightWithPromptCallback(onStartRemoteSpotlight, setIsPromptOpen, setPromptProps, strings) : undefined,
84
+ onStopRemoteSpotlightWithPrompt: onStopRemoteSpotlight ? getStopRemoteSpotlightWithPromptCallback(onStopRemoteSpotlight, setIsPromptOpen, setPromptProps, strings) : undefined
85
+ };
86
+ }, [onStartRemoteSpotlight, onStopRemoteSpotlight, setIsPromptOpen, setPromptProps, strings]);
87
+ };
88
+ /* @conditional-compile-remove(spotlight) */
89
+ const getStartRemoteSpotlightWithPromptCallback = (onStartSpotlight, setIsPromptOpen, setPromptProps, strings) => {
90
+ return (userIds) => __awaiter(void 0, void 0, void 0, function* () {
91
+ if (userIds.length > 1) {
92
+ onStartSpotlight(userIds);
93
+ }
94
+ setPromptProps({
95
+ heading: strings.spotlightPrompt.startSpotlightHeading,
96
+ text: strings.spotlightPrompt.startSpotlightText,
97
+ confirmButtonLabel: strings.spotlightPrompt.startSpotlightConfirmButtonLabel,
98
+ cancelButtonLabel: strings.spotlightPrompt.startSpotlightCancelButtonLabel,
99
+ onConfirm: () => {
100
+ onStartSpotlight(userIds);
101
+ setIsPromptOpen(false);
102
+ },
103
+ onCancel: () => setIsPromptOpen(false)
104
+ });
105
+ setIsPromptOpen(true);
106
+ });
107
+ };
108
+ /* @conditional-compile-remove(spotlight) */
109
+ const getStopRemoteSpotlightWithPromptCallback = (onStopSpotlight, setIsPromptOpen, setPromptProps, strings) => {
110
+ return (userIds) => __awaiter(void 0, void 0, void 0, function* () {
111
+ if (userIds.length > 1) {
112
+ onStopSpotlight(userIds);
113
+ }
114
+ setPromptProps({
115
+ heading: strings.spotlightPrompt.stopSpotlightHeading,
116
+ text: strings.spotlightPrompt.stopSpotlightText,
117
+ confirmButtonLabel: strings.spotlightPrompt.stopSpotlightConfirmButtonLabel,
118
+ cancelButtonLabel: strings.spotlightPrompt.stopSpotlightCancelButtonLabel,
119
+ onConfirm: () => {
120
+ onStopSpotlight(userIds);
121
+ setIsPromptOpen(false);
122
+ },
123
+ onCancel: () => setIsPromptOpen(false)
124
+ });
125
+ setIsPromptOpen(true);
126
+ });
127
+ };
128
+ /* @conditional-compile-remove(spotlight) */
129
+ /**
130
+ * @internal
131
+ */
132
+ export const useStopAllSpotlightCallbackWithPrompt = (stopAllSpotlight, setIsPromptOpen, setPromptProps) => {
133
+ const strings = useLocale().strings.call;
134
+ return useMemo(() => {
135
+ if (!setIsPromptOpen || !setPromptProps) {
136
+ return {
137
+ stopAllSpotlightWithPrompt: stopAllSpotlight
138
+ };
139
+ }
140
+ return {
141
+ stopAllSpotlightWithPrompt: stopAllSpotlight ? getStopAllSpotlightCallbackWithPromptCallback(stopAllSpotlight, setIsPromptOpen, setPromptProps, strings) : undefined
142
+ };
143
+ }, [stopAllSpotlight, setIsPromptOpen, setPromptProps, strings]);
144
+ };
145
+ /* @conditional-compile-remove(spotlight) */
146
+ const getStopAllSpotlightCallbackWithPromptCallback = (stopAllSpotlight, setIsPromptOpen, setPromptProps, strings) => {
147
+ return () => __awaiter(void 0, void 0, void 0, function* () {
148
+ setPromptProps({
149
+ heading: strings.spotlightPrompt.stopAllSpotlightHeading,
150
+ text: strings.spotlightPrompt.stopAllSpotlightText,
151
+ confirmButtonLabel: strings.spotlightPrompt.stopSpotlightConfirmButtonLabel,
152
+ cancelButtonLabel: strings.spotlightPrompt.stopSpotlightCancelButtonLabel,
153
+ onConfirm: () => {
154
+ stopAllSpotlight();
155
+ setIsPromptOpen(false);
156
+ },
157
+ onCancel: () => setIsPromptOpen(false)
158
+ });
159
+ setIsPromptOpen(true);
160
+ });
161
+ };
162
+ //# sourceMappingURL=spotlightUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spotlightUtils.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/utils/spotlightUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* @conditional-compile-remove(spotlight) */\nimport { useMemo } from 'react';\n/* @conditional-compile-remove(spotlight) */\nimport { CallCompositeStrings } from '../Strings';\n/* @conditional-compile-remove(spotlight) */\nimport { PromptProps } from '../components/Prompt';\n/* @conditional-compile-remove(spotlight) */\nimport { useLocale } from '../../localization';\n\n/* @conditional-compile-remove(spotlight) */\n/**\n * @internal\n */\nexport const useLocalSpotlightCallbacksWithPrompt = (onStartLocalSpotlight?: () => Promise<void>, onStopLocalSpotlight?: () => Promise<void>, setIsPromptOpen?: (isOpen: boolean) => void, setPromptProps?: (promptProps: PromptProps) => void): {\n onStartLocalSpotlightWithPrompt?: () => Promise<void>;\n onStopLocalSpotlightWithPrompt?: () => Promise<void>;\n} => {\n const strings = useLocale().strings.call;\n return useMemo(() => {\n if (!setIsPromptOpen || !setPromptProps) {\n return {\n onStartLocalSpotlightWithPrompt: onStartLocalSpotlight,\n onStopLocalSpotlightWithPrompt: onStopLocalSpotlight\n };\n }\n return {\n onStartLocalSpotlightWithPrompt: onStartLocalSpotlight ? getStartLocalSpotlightWithPromptCallback(onStartLocalSpotlight, setIsPromptOpen, setPromptProps, strings) : undefined,\n onStopLocalSpotlightWithPrompt: onStopLocalSpotlight ? getStopLocalSpotlightWithPromptCallback(onStopLocalSpotlight, setIsPromptOpen, setPromptProps, strings) : undefined\n };\n }, [onStartLocalSpotlight, onStopLocalSpotlight, setIsPromptOpen, setPromptProps, strings]);\n};\n\n/* @conditional-compile-remove(spotlight) */\nconst getStartLocalSpotlightWithPromptCallback = (onStartSpotlight: (userIds?: string[]) => void, setIsPromptOpen: (isOpen: boolean) => void, setPromptProps: (promptProps: PromptProps) => void, strings: CallCompositeStrings): ((userIds?: string[]) => Promise<void>) => {\n return async (): Promise<void> => {\n setPromptProps({\n heading: strings.spotlightPrompt.startSpotlightHeading,\n text: strings.spotlightPrompt.startSpotlightOnSelfText,\n confirmButtonLabel: strings.spotlightPrompt.startSpotlightConfirmButtonLabel,\n cancelButtonLabel: strings.spotlightPrompt.startSpotlightCancelButtonLabel,\n onConfirm: () => {\n onStartSpotlight();\n setIsPromptOpen(false);\n },\n onCancel: () => setIsPromptOpen(false)\n });\n setIsPromptOpen(true);\n };\n};\n\n/* @conditional-compile-remove(spotlight) */\nconst getStopLocalSpotlightWithPromptCallback = (onStopSpotlight: () => void, setIsPromptOpen: (isOpen: boolean) => void, setPromptProps: (promptProps: PromptProps) => void, strings: CallCompositeStrings): (() => Promise<void>) => {\n return async (): Promise<void> => {\n setPromptProps({\n heading: strings.spotlightPrompt.stopSpotlightOnSelfHeading,\n text: strings.spotlightPrompt.stopSpotlightOnSelfText,\n confirmButtonLabel: strings.spotlightPrompt.stopSpotlightOnSelfConfirmButtonLabel,\n cancelButtonLabel: strings.spotlightPrompt.stopSpotlightCancelButtonLabel,\n onConfirm: () => {\n onStopSpotlight();\n setIsPromptOpen(false);\n },\n onCancel: () => setIsPromptOpen(false)\n });\n setIsPromptOpen(true);\n };\n};\n\n/* @conditional-compile-remove(spotlight) */\n/**\n * @internal\n */\nexport const useRemoteSpotlightCallbacksWithPrompt = (onStartRemoteSpotlight?: (userIds: string[]) => Promise<void>, onStopRemoteSpotlight?: (userIds: string[]) => Promise<void>, setIsPromptOpen?: (isOpen: boolean) => void, setPromptProps?: (promptProps: PromptProps) => void): {\n onStartRemoteSpotlightWithPrompt?: (userIds: string[]) => Promise<void>;\n onStopRemoteSpotlightWithPrompt?: (userIds: string[]) => Promise<void>;\n} => {\n const strings = useLocale().strings.call;\n return useMemo(() => {\n if (!setIsPromptOpen || !setPromptProps) {\n return {\n onStartRemoteSpotlightWithPrompt: onStartRemoteSpotlight,\n onStopRemoteSpotlightWithPrompt: onStopRemoteSpotlight\n };\n }\n return {\n onStartRemoteSpotlightWithPrompt: onStartRemoteSpotlight ? getStartRemoteSpotlightWithPromptCallback(onStartRemoteSpotlight, setIsPromptOpen, setPromptProps, strings) : undefined,\n onStopRemoteSpotlightWithPrompt: onStopRemoteSpotlight ? getStopRemoteSpotlightWithPromptCallback(onStopRemoteSpotlight, setIsPromptOpen, setPromptProps, strings) : undefined\n };\n }, [onStartRemoteSpotlight, onStopRemoteSpotlight, setIsPromptOpen, setPromptProps, strings]);\n};\n\n/* @conditional-compile-remove(spotlight) */\nconst getStartRemoteSpotlightWithPromptCallback = (onStartSpotlight: (userIds: string[]) => void, setIsPromptOpen: (isOpen: boolean) => void, setPromptProps: (promptProps: PromptProps) => void, strings: CallCompositeStrings): ((userIds: string[]) => Promise<void>) => {\n return async (userIds: string[]): Promise<void> => {\n if (userIds.length > 1) {\n onStartSpotlight(userIds);\n }\n setPromptProps({\n heading: strings.spotlightPrompt.startSpotlightHeading,\n text: strings.spotlightPrompt.startSpotlightText,\n confirmButtonLabel: strings.spotlightPrompt.startSpotlightConfirmButtonLabel,\n cancelButtonLabel: strings.spotlightPrompt.startSpotlightCancelButtonLabel,\n onConfirm: () => {\n onStartSpotlight(userIds);\n setIsPromptOpen(false);\n },\n onCancel: () => setIsPromptOpen(false)\n });\n setIsPromptOpen(true);\n };\n};\n\n/* @conditional-compile-remove(spotlight) */\nconst getStopRemoteSpotlightWithPromptCallback = (onStopSpotlight: (userIds: string[]) => void, setIsPromptOpen: (isOpen: boolean) => void, setPromptProps: (promptProps: PromptProps) => void, strings: CallCompositeStrings): ((userIds: string[]) => Promise<void>) => {\n return async (userIds: string[]): Promise<void> => {\n if (userIds.length > 1) {\n onStopSpotlight(userIds);\n }\n setPromptProps({\n heading: strings.spotlightPrompt.stopSpotlightHeading,\n text: strings.spotlightPrompt.stopSpotlightText,\n confirmButtonLabel: strings.spotlightPrompt.stopSpotlightConfirmButtonLabel,\n cancelButtonLabel: strings.spotlightPrompt.stopSpotlightCancelButtonLabel,\n onConfirm: () => {\n onStopSpotlight(userIds);\n setIsPromptOpen(false);\n },\n onCancel: () => setIsPromptOpen(false)\n });\n setIsPromptOpen(true);\n };\n};\n\n/* @conditional-compile-remove(spotlight) */\n/**\n * @internal\n */\nexport const useStopAllSpotlightCallbackWithPrompt = (stopAllSpotlight?: () => Promise<void>, setIsPromptOpen?: (isOpen: boolean) => void, setPromptProps?: (promptProps: PromptProps) => void): {\n stopAllSpotlightWithPrompt?: (userIds?: string[]) => Promise<void>;\n} => {\n const strings = useLocale().strings.call;\n return useMemo(() => {\n if (!setIsPromptOpen || !setPromptProps) {\n return {\n stopAllSpotlightWithPrompt: stopAllSpotlight\n };\n }\n return {\n stopAllSpotlightWithPrompt: stopAllSpotlight ? getStopAllSpotlightCallbackWithPromptCallback(stopAllSpotlight, setIsPromptOpen, setPromptProps, strings) : undefined\n };\n }, [stopAllSpotlight, setIsPromptOpen, setPromptProps, strings]);\n};\n\n/* @conditional-compile-remove(spotlight) */\nconst getStopAllSpotlightCallbackWithPromptCallback = (stopAllSpotlight: () => void, setIsPromptOpen: (isOpen: boolean) => void, setPromptProps: (promptProps: PromptProps) => void, strings: CallCompositeStrings): (() => Promise<void>) => {\n return async (): Promise<void> => {\n setPromptProps({\n heading: strings.spotlightPrompt.stopAllSpotlightHeading,\n text: strings.spotlightPrompt.stopAllSpotlightText,\n confirmButtonLabel: strings.spotlightPrompt.stopSpotlightConfirmButtonLabel,\n cancelButtonLabel: strings.spotlightPrompt.stopSpotlightCancelButtonLabel,\n onConfirm: () => {\n stopAllSpotlight();\n setIsPromptOpen(false);\n },\n onCancel: () => setIsPromptOpen(false)\n });\n setIsPromptOpen(true);\n };\n};"]}