@azure/communication-react 1.19.0-beta.1 → 1.19.0-beta.3

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 (488) hide show
  1. package/dist/communication-react.d.ts +209 -46
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-BwDfn2HU.js → ChatMessageComponentAsRichTextEditBox-CmQ4tsn4.js} +14 -51
  3. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-CmQ4tsn4.js.map +1 -0
  4. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-NoJpTHbL.js → RichTextSendBoxWrapper-B5nW2JWn.js} +2 -4
  5. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-B5nW2JWn.js.map +1 -0
  6. package/dist/dist-cjs/communication-react/{index-MlVvToaE.js → index-CxAwDUu4.js} +1384 -1824
  7. package/dist/dist-cjs/communication-react/index-CxAwDUu4.js.map +1 -0
  8. package/dist/dist-cjs/communication-react/index.js +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/constants.js +0 -1
  11. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/dataConversion.js +0 -1
  13. package/dist/dist-esm/acs-ui-common/src/dataConversion.js.map +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/index.js +0 -3
  15. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  17. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  18. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +11 -3
  19. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +9 -5
  20. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  21. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +1 -3
  22. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  23. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +0 -3
  24. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  25. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +1 -1
  26. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +0 -9
  27. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  28. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +0 -3
  29. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  30. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +10 -14
  31. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  32. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +2 -2
  33. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +4 -21
  34. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +2 -21
  36. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  37. package/dist/dist-esm/calling-component-bindings/src/incomingCallStackSelector.js.map +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/index.js +0 -4
  39. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  40. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +33 -11
  41. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +2 -9
  43. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  44. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts +3 -3
  45. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  46. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts +3 -3
  47. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js +0 -1
  48. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  49. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +0 -2
  50. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +1 -1
  52. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +1 -6
  53. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  54. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +2 -5
  55. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  56. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +3 -3
  57. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  58. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.d.ts +20 -0
  59. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js +106 -0
  60. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js.map +1 -0
  61. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -1
  62. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  63. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +1 -1
  64. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +0 -1
  65. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  66. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +41 -4
  67. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  68. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +12 -3
  69. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +65 -27
  70. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  71. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +0 -2
  72. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  73. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +1 -0
  74. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +3 -14
  75. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  76. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js +0 -1
  77. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -1
  78. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js +0 -7
  79. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  80. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +1 -1
  81. package/dist/dist-esm/calling-stateful-client/src/Converter.js +0 -13
  82. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  83. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +0 -3
  84. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +1 -1
  85. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js +6 -2
  86. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js.map +1 -1
  87. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +1 -6
  88. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  89. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +0 -3
  90. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  91. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +1 -2
  92. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +2 -5
  93. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  94. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +1 -1
  95. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +1 -16
  96. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
  97. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +0 -2
  98. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +0 -6
  100. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  101. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +2 -0
  102. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  103. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.d.ts +1 -1
  104. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  105. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +2 -2
  106. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +3 -17
  107. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  108. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.d.ts +1 -1
  109. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js +3 -5
  110. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  111. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +1 -11
  112. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  113. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js +0 -3
  114. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js.map +1 -1
  115. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -3
  116. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  117. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -1
  118. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  119. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +0 -1
  120. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  121. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  122. package/dist/dist-esm/communication-react/src/index.js +0 -10
  123. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  124. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.d.ts +1 -1
  125. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js +0 -4
  126. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js.map +1 -1
  127. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +1 -1
  128. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +1 -3
  129. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  130. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +0 -9
  131. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  132. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +1 -1
  133. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +5 -13
  134. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  135. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.d.ts +1 -1
  136. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +4 -22
  137. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
  138. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.d.ts +1 -1
  139. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +6 -15
  140. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
  141. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +1 -8
  142. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +0 -11
  143. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
  144. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +1 -1
  145. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +12 -57
  146. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -1
  147. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +2 -2
  148. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +7 -21
  149. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  150. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +1 -1
  151. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +6 -14
  152. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  153. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +6 -45
  154. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  155. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +0 -7
  156. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -1
  157. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +0 -8
  158. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -1
  159. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +0 -17
  160. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -1
  161. package/dist/dist-esm/react-components/src/components/EndCallButton.js +5 -12
  162. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  163. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  164. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +1 -1
  165. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  166. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +0 -2
  167. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
  168. package/dist/dist-esm/react-components/src/components/IncomingCallNotification.js +5 -16
  169. package/dist/dist-esm/react-components/src/components/IncomingCallNotification.js.map +1 -1
  170. package/dist/dist-esm/react-components/src/components/IncomingCallStack.js +1 -3
  171. package/dist/dist-esm/react-components/src/components/IncomingCallStack.js.map +1 -1
  172. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +0 -3
  173. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  174. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js +0 -10
  175. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js.map +1 -1
  176. package/dist/dist-esm/react-components/src/components/MentionPopover.js +1 -5
  177. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -1
  178. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +5 -5
  179. package/dist/dist-esm/react-components/src/components/MessageThread.js +10 -27
  180. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  181. package/dist/dist-esm/react-components/src/components/NotificationStack.d.ts +21 -1
  182. package/dist/dist-esm/react-components/src/components/NotificationStack.js +11 -7
  183. package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
  184. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +0 -2
  185. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  186. package/dist/dist-esm/react-components/src/components/ParticipantList.js +3 -13
  187. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  188. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +3 -10
  189. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  190. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +2 -16
  191. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +1 -1
  192. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js +0 -9
  193. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js.map +1 -1
  194. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.d.ts +1 -1
  195. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +8 -30
  196. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -1
  197. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +1 -1
  198. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +4 -12
  199. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -1
  200. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +1 -1
  201. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +15 -77
  202. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -1
  203. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +2 -9
  204. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +1 -1
  205. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +1 -1
  206. package/dist/dist-esm/react-components/src/components/SendBox.js +10 -32
  207. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  208. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +1 -12
  209. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  210. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +0 -1
  211. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  212. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +0 -1
  213. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  214. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +0 -5
  215. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  216. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +0 -1
  217. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  218. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.d.ts +0 -1
  219. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +1 -4
  220. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  221. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +2 -4
  222. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  223. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +3 -8
  224. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  225. package/dist/dist-esm/react-components/src/components/VideoGallery.js +5 -9
  226. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  227. package/dist/dist-esm/react-components/src/components/VideoTile.js +4 -7
  228. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  229. package/dist/dist-esm/react-components/src/components/index.js +0 -12
  230. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  231. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +0 -1
  232. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  233. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +2 -3
  234. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  235. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +1 -1
  236. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +3 -7
  237. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  238. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +3 -3
  239. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +5 -15
  240. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  241. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +0 -8
  242. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +1 -1
  243. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +2 -14
  244. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  245. package/dist/dist-esm/react-components/src/components/utils/common.js +0 -2
  246. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  247. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +1 -1
  248. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  249. package/dist/dist-esm/react-components/src/components/utils.js +6 -11
  250. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  251. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +0 -2
  252. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  253. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  254. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  255. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +25 -0
  256. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +25 -0
  257. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +25 -0
  258. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +25 -0
  259. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +25 -0
  260. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +25 -0
  261. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +25 -0
  262. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +25 -0
  263. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +25 -0
  264. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +25 -0
  265. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +26 -1
  266. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +25 -0
  267. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +25 -0
  268. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +25 -0
  269. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +25 -0
  270. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +25 -0
  271. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +25 -0
  272. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +25 -0
  273. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +25 -0
  274. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +25 -0
  275. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +25 -0
  276. package/dist/dist-esm/react-components/src/theming/icons.d.ts +5 -0
  277. package/dist/dist-esm/react-components/src/theming/icons.js +6 -55
  278. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  279. package/dist/dist-esm/react-components/src/theming/themes.js +0 -1
  280. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  281. package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
  282. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -1
  283. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  284. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  285. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js +0 -2
  286. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  287. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +19 -52
  288. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  289. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +34 -0
  290. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  291. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +16 -7
  292. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +85 -58
  293. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  294. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +20 -2
  295. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -1
  296. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  297. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +1 -1
  298. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +0 -2
  299. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  300. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js +0 -1
  301. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  302. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.d.ts +47 -0
  303. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js +48 -0
  304. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js.map +1 -0
  305. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.d.ts +13 -0
  306. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js +37 -0
  307. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js.map +1 -0
  308. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +3 -2
  309. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +24 -73
  310. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  311. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +2 -8
  312. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  313. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +1 -0
  314. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +14 -36
  315. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -1
  316. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js +0 -1
  317. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js.map +1 -1
  318. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +0 -8
  319. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  320. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +1 -11
  321. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  322. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +0 -8
  323. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  324. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +0 -5
  325. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -1
  326. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +2 -10
  327. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  328. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +1 -2
  329. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  330. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +2 -14
  331. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  332. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js +0 -7
  333. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js.map +1 -1
  334. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +5 -20
  335. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  336. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.d.ts +1 -0
  337. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +20 -16
  338. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  339. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +3 -4
  340. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  341. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.d.ts +7 -0
  342. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js +14 -0
  343. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js.map +1 -0
  344. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +0 -7
  345. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  346. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js +0 -1
  347. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  348. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +2 -2
  349. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +4 -12
  350. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  351. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +9 -46
  352. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  353. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +2 -2
  354. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +4 -9
  355. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  356. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.d.ts +2 -2
  357. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +3 -6
  358. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  359. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +3 -6
  360. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  361. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +0 -13
  362. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -1
  363. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +18 -0
  364. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +16 -3
  365. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  366. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  367. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +0 -2
  368. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  369. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.d.ts +1 -1
  370. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  371. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.d.ts +3 -3
  372. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  373. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +2 -2
  374. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +5 -12
  375. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  376. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +1 -1
  377. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +20 -24
  378. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  379. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +8 -0
  380. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  381. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +15 -4
  382. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +136 -26
  383. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  384. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +11 -4
  385. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  386. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +2 -1
  387. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +6 -10
  388. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  389. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +1 -1
  390. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +2 -6
  391. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  392. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +3 -0
  393. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +2 -4
  394. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  395. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.d.ts +5 -0
  396. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js +13 -0
  397. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  398. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +1 -5
  399. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  400. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +22 -96
  401. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  402. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js +0 -2
  403. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js.map +1 -1
  404. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js +3 -22
  405. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js.map +1 -1
  406. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  407. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -2
  408. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +0 -11
  409. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  410. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -2
  411. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  412. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js +0 -3
  413. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +1 -1
  414. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +1 -11
  415. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +1 -1
  416. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  417. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +2 -6
  418. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  419. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  420. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +1 -1
  421. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +0 -2
  422. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  423. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +0 -3
  424. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  425. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +1 -2
  426. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  427. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +0 -2
  428. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  429. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +39 -28
  430. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  431. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +0 -9
  432. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  433. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.d.ts +12 -0
  434. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js +52 -0
  435. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js.map +1 -0
  436. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +1 -8
  437. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  438. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  439. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js +0 -6
  440. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js.map +1 -1
  441. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +1 -2
  442. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  443. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +2 -9
  444. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  445. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js +0 -4
  446. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js.map +1 -1
  447. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +1 -8
  448. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +1 -19
  449. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
  450. package/dist/dist-esm/react-composites/src/composites/common/adapters.d.ts +23 -0
  451. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  452. package/dist/dist-esm/react-composites/src/composites/common/constants.js +0 -1
  453. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  454. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +5 -0
  455. package/dist/dist-esm/react-composites/src/composites/common/icons.js +0 -11
  456. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  457. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +5 -5
  458. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  459. package/dist/dist-esm/react-composites/src/composites/common/utils.d.ts +4 -0
  460. package/dist/dist-esm/react-composites/src/composites/common/utils.js +22 -0
  461. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  462. package/dist/dist-esm/react-composites/src/composites/index.d.ts +1 -0
  463. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  464. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +12 -2
  465. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +12 -2
  466. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +12 -2
  467. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +12 -2
  468. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +12 -2
  469. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +12 -2
  470. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +12 -2
  471. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +12 -2
  472. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +12 -2
  473. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +12 -2
  474. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +12 -2
  475. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +12 -2
  476. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +12 -2
  477. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +12 -2
  478. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +12 -2
  479. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +12 -2
  480. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +12 -2
  481. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +12 -2
  482. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +12 -2
  483. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +12 -2
  484. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +12 -2
  485. package/package.json +7 -7
  486. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-BwDfn2HU.js.map +0 -1
  487. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-NoJpTHbL.js.map +0 -1
  488. package/dist/dist-cjs/communication-react/index-MlVvToaE.js.map +0 -1
@@ -10,7 +10,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  });
11
11
  };
12
12
  import { ErrorBar, useTheme } from "../../../../react-components/src";
13
- /* @conditional-compile-remove(notifications) */
14
13
  import { NotificationStack } from "../../../../react-components/src";
15
14
  import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
16
15
  import { BaseProvider } from '../common/BaseComposite';
@@ -27,13 +26,10 @@ import { leavingPageStyle, mainScreenContainerStyleDesktop, mainScreenContainerS
27
26
  import { LayerHost, mergeStyles } from '@fluentui/react';
28
27
  import { modalLayerHostStyle } from '../common/styles/ModalLocalAndRemotePIP.styles';
29
28
  import { useId } from '@fluentui/react-hooks';
30
- /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(PSTN-calls) */
31
29
  import { HoldPage } from './pages/HoldPage';
32
- /* @conditional-compile-remove(unsupported-browser) */
33
30
  import { UnsupportedBrowserPage } from './pages/UnsupportedBrowser';
34
31
  import { SidePaneProvider } from './components/SidePane/SidePaneProvider';
35
32
  import { filterLatestNotifications, getEndedCallPageProps, trackNotificationAsDismissed, updateTrackedNotificationsWithActiveNotifications } from './utils';
36
- /* @conditional-compile-remove(notifications) */
37
33
  import { computeComplianceNotification } from './utils';
38
34
  import { usePropsFor } from './hooks/usePropsFor';
39
35
  import { deviceCountSelector } from './selectors/deviceCountSelector';
@@ -42,29 +38,32 @@ import { useTrackedCapabilityChangedNotifications } from './utils/TrackCapabilit
42
38
  import { useEndedCallConsoleErrors } from './utils/useConsoleErrors';
43
39
  import { SurveyPage } from './pages/SurveyPage';
44
40
  import { useAudio } from '../common/AudioProvider';
45
- /* @conditional-compile-remove(notifications) */
46
41
  import { complianceBannerSelector } from './selectors/complianceBannerSelector';
47
42
  const isShowing = (overrideSidePane) => {
48
43
  return !!(overrideSidePane === null || overrideSidePane === void 0 ? void 0 : overrideSidePane.isActive);
49
44
  };
50
45
  const MainScreen = (props) => {
51
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
46
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
52
47
  const adapter = useAdapter();
53
48
  const { camerasCount, microphonesCount } = useSelector(deviceCountSelector);
54
49
  const hasCameras = camerasCount > 0;
55
50
  const hasMicrophones = microphonesCount > 0;
56
51
  useEffect(() => {
57
52
  (() => __awaiter(void 0, void 0, void 0, function* () {
58
- var _a;
53
+ var _a, _b, _c, _d, _e;
59
54
  const constrain = getQueryOptions({
60
55
  role: (_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.role
61
56
  });
57
+ {
58
+ constrain.audio = ((_c = (_b = props.options) === null || _b === void 0 ? void 0 : _b.deviceChecks) === null || _c === void 0 ? void 0 : _c.microphone) === 'doNotPrompt' ? false : constrain.audio;
59
+ constrain.video = ((_e = (_d = props.options) === null || _d === void 0 ? void 0 : _d.deviceChecks) === null || _e === void 0 ? void 0 : _e.camera) === 'doNotPrompt' ? false : constrain.video;
60
+ }
62
61
  yield adapter.askDevicePermission(constrain);
63
62
  adapter.queryCameras();
64
63
  adapter.queryMicrophones();
65
64
  adapter.querySpeakers();
66
65
  }))();
67
- }, [adapter,
66
+ }, [adapter, (_a = props.options) === null || _a === void 0 ? void 0 : _a.deviceChecks,
68
67
  // Ensure we re-ask for permissions if the number of devices goes from 0 -> n during a call
69
68
  // as we cannot request permissions when there are no devices.
70
69
  hasCameras, hasMicrophones]);
@@ -73,7 +72,7 @@ const MainScreen = (props) => {
73
72
  const endedCall = useSelector(getEndedCall);
74
73
  const [sidePaneRenderer, setSidePaneRenderer] = React.useState();
75
74
  const [injectedSidePaneProps, setInjectedSidePaneProps] = React.useState();
76
- const [userSetGalleryLayout, setUserSetGalleryLayout] = useState((_c = (_b = (_a = props.options) === null || _a === void 0 ? void 0 : _a.galleryOptions) === null || _b === void 0 ? void 0 : _b.layout) !== null && _c !== void 0 ? _c : 'floatingLocalVideo');
75
+ const [userSetGalleryLayout, setUserSetGalleryLayout] = useState((_d = (_c = (_b = props.options) === null || _b === void 0 ? void 0 : _b.galleryOptions) === null || _c === void 0 ? void 0 : _c.layout) !== null && _d !== void 0 ? _d : 'floatingLocalVideo');
77
76
  const [userSetOverflowGalleryPosition, setUserSetOverflowGalleryPosition] = useState('Responsive');
78
77
  const overridePropsRef = useRef(props.overrideSidePane);
79
78
  useEffect(() => {
@@ -106,13 +105,9 @@ const MainScreen = (props) => {
106
105
  // This works by tracking the most recent timestamp of any active error type.
107
106
  // And then tracking when that error type was last dismissed.
108
107
  const activeErrors = usePropsFor(ErrorBar).activeErrorMessages;
109
- /* @conditional-compile-remove(notifications) */
110
108
  const activeInCallErrors = usePropsFor(NotificationStack).activeErrorMessages;
111
- /* @conditional-compile-remove(notifications) */
112
109
  const activeNotifications = usePropsFor(NotificationStack).activeNotifications;
113
- /* @conditional-compile-remove(notifications) */
114
110
  const complianceProps = useSelector(complianceBannerSelector);
115
- /* @conditional-compile-remove(notifications) */
116
111
  const cachedProps = useRef({
117
112
  latestBooleanState: {
118
113
  callTranscribeState: false,
@@ -124,11 +119,9 @@ const MainScreen = (props) => {
124
119
  },
125
120
  lastUpdated: Date.now()
126
121
  });
127
- /* @conditional-compile-remove(notifications) */
128
122
  const complianceNotification = useMemo(() => {
129
123
  return computeComplianceNotification(complianceProps, cachedProps);
130
124
  }, [complianceProps, cachedProps]);
131
- /* @conditional-compile-remove(notifications) */
132
125
  useEffect(() => {
133
126
  if (complianceNotification) {
134
127
  activeNotifications.forEach((notification, index) => {
@@ -141,28 +134,21 @@ const MainScreen = (props) => {
141
134
  setTrackedNotifications(prev => updateTrackedNotificationsWithActiveNotifications(prev, activeNotifications));
142
135
  }, [complianceNotification, activeNotifications]);
143
136
  const [trackedErrors, setTrackedErrors] = useState({});
144
- /* @conditional-compile-remove(notifications) */
145
137
  const [trackedInCallErrors, setTrackedInCallErrors] = useState({});
146
- /* @conditional-compile-remove(notifications) */
147
138
  const [trackedNotifications, setTrackedNotifications] = useState({});
148
139
  useEffect(() => {
149
140
  setTrackedErrors(prev => updateTrackedNotificationsWithActiveNotifications(prev, activeErrors));
150
- /* @conditional-compile-remove(notifications) */
151
141
  setTrackedInCallErrors(prev => updateTrackedNotificationsWithActiveNotifications(prev, activeInCallErrors));
152
- }, [activeErrors, /* @conditional-compile-remove(notifications) */ activeInCallErrors]);
142
+ }, [activeErrors, activeInCallErrors]);
153
143
  const onDismissError = useCallback((error) => {
154
144
  setTrackedErrors(prev => trackNotificationAsDismissed(error.type, prev));
155
- /* @conditional-compile-remove(notifications) */
156
145
  setTrackedInCallErrors(prev => trackNotificationAsDismissed(error.type, prev));
157
146
  }, []);
158
- /* @conditional-compile-remove(notifications) */
159
147
  const onDismissNotification = useCallback((notification) => {
160
148
  setTrackedNotifications(prev => trackNotificationAsDismissed(notification.type, prev));
161
149
  }, []);
162
150
  const latestErrors = useMemo(() => filterLatestNotifications(activeErrors, trackedErrors), [activeErrors, trackedErrors]);
163
- /* @conditional-compile-remove(notifications) */
164
151
  const latestInCallErrors = useMemo(() => filterLatestNotifications(activeInCallErrors, trackedInCallErrors), [activeInCallErrors, trackedInCallErrors]);
165
- /* @conditional-compile-remove(notifications) */
166
152
  const latestNotifications = useMemo(() => {
167
153
  const result = filterLatestNotifications(activeNotifications, trackedNotifications);
168
154
  // sort notifications by timestamp from earliest to latest
@@ -172,21 +158,15 @@ const MainScreen = (props) => {
172
158
  const callees = useSelector(getTargetCallees);
173
159
  const locale = useLocale();
174
160
  const palette = useTheme().palette;
175
- /* @conditional-compile-remove(PSTN-calls) */
176
161
  const alternateCallerId = adapter.getState().alternateCallerId;
177
162
  const leavePageStyle = useMemo(() => leavingPageStyle(palette), [palette]);
178
163
  let pageElement;
179
164
  const [pinnedParticipants, setPinnedParticipants] = useState([]);
180
- const getLatestErrorsTrampoline = () => {
181
- /* @conditional-compile-remove(notifications) */
182
- return latestInCallErrors;
183
- return latestErrors;
184
- };
185
165
  switch (page) {
186
166
  case 'configuration':
187
167
  pageElement = React.createElement(ConfigurationPage, { mobileView: props.mobileView, startCallHandler: () => {
188
168
  if (callees) {
189
- adapter.startCall(callees, /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId ? {
169
+ adapter.startCall(callees, alternateCallerId ? {
190
170
  alternateCallerId: {
191
171
  phoneNumber: alternateCallerId
192
172
  }
@@ -198,10 +178,7 @@ const MainScreen = (props) => {
198
178
  cameraOn: 'keep'
199
179
  });
200
180
  }
201
- }, updateSidePaneRenderer: setSidePaneRenderer, latestErrors: latestErrors, onDismissError: onDismissError, modalLayerHostId: props.modalLayerHostId,
202
- /* @conditional-compile-remove(call-readiness) */ deviceChecks: (_d = props.options) === null || _d === void 0 ? void 0 : _d.deviceChecks,
203
- /* @conditional-compile-remove(call-readiness) */ onPermissionsTroubleshootingClick: (_e = props.options) === null || _e === void 0 ? void 0 : _e.onPermissionsTroubleshootingClick,
204
- /* @conditional-compile-remove(call-readiness) */ onNetworkingTroubleShootingClick: (_f = props.options) === null || _f === void 0 ? void 0 : _f.onNetworkingTroubleShootingClick, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps, logo: (_h = (_g = props.options) === null || _g === void 0 ? void 0 : _g.branding) === null || _h === void 0 ? void 0 : _h.logo, backgroundImage: (_k = (_j = props.options) === null || _j === void 0 ? void 0 : _j.branding) === null || _k === void 0 ? void 0 : _k.backgroundImage });
181
+ }, updateSidePaneRenderer: setSidePaneRenderer, latestErrors: latestErrors, onDismissError: onDismissError, modalLayerHostId: props.modalLayerHostId, deviceChecks: (_e = props.options) === null || _e === void 0 ? void 0 : _e.deviceChecks, onPermissionsTroubleshootingClick: (_f = props.options) === null || _f === void 0 ? void 0 : _f.onPermissionsTroubleshootingClick, onNetworkingTroubleShootingClick: (_g = props.options) === null || _g === void 0 ? void 0 : _g.onNetworkingTroubleShootingClick, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps, logo: (_j = (_h = props.options) === null || _h === void 0 ? void 0 : _h.branding) === null || _j === void 0 ? void 0 : _j.logo, backgroundImage: (_l = (_k = props.options) === null || _k === void 0 ? void 0 : _k.branding) === null || _l === void 0 ? void 0 : _l.backgroundImage });
205
182
  break;
206
183
  case 'accessDeniedTeamsMeeting':
207
184
  pageElement = React.createElement(NoticePage, { iconName: "NoticePageAccessDeniedTeamsMeeting", title: locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedTitle, moreDetails: locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails, dataUiId: 'access-denied-teams-meeting-page' });
@@ -213,7 +190,7 @@ const MainScreen = (props) => {
213
190
  pageElement = React.createElement(NoticePage, { iconName: "NoticePageJoinCallFailedDueToNoNetwork", title: locale.strings.call.failedToJoinCallDueToNoNetworkTitle, moreDetails: locale.strings.call.failedToJoinCallDueToNoNetworkMoreDetails, dataUiId: 'join-call-failed-due-to-no-network-page' });
214
191
  break;
215
192
  case 'leaving':
216
- pageElement = React.createElement(NoticePage, { title: (_l = locale.strings.call.leavingCallTitle) !== null && _l !== void 0 ? _l : 'Leaving...', dataUiId: 'leaving-page', pageStyle: leavePageStyle, disableStartCallButton: true });
193
+ pageElement = React.createElement(NoticePage, { title: (_m = locale.strings.call.leavingCallTitle) !== null && _m !== void 0 ? _m : 'Leaving...', dataUiId: 'leaving-page', pageStyle: leavePageStyle, disableStartCallButton: true });
217
194
  break;
218
195
  case 'badRequest':
219
196
  {
@@ -224,40 +201,30 @@ const MainScreen = (props) => {
224
201
  case 'leftCall':
225
202
  {
226
203
  const { title, moreDetails, disableStartCallButton, iconName } = getEndedCallPageProps(locale, endedCall);
227
- if (!((_o = (_m = props.options) === null || _m === void 0 ? void 0 : _m.surveyOptions) === null || _o === void 0 ? void 0 : _o.disableSurvey)) {
228
- pageElement = React.createElement(SurveyPage, { dataUiId: 'left-call-page', surveyOptions: (_p = props.options) === null || _p === void 0 ? void 0 : _p.surveyOptions, iconName: iconName, title: title, moreDetails: moreDetails, disableStartCallButton: disableStartCallButton, mobileView: props.mobileView });
204
+ if (!((_p = (_o = props.options) === null || _o === void 0 ? void 0 : _o.surveyOptions) === null || _p === void 0 ? void 0 : _p.disableSurvey)) {
205
+ pageElement = React.createElement(SurveyPage, { dataUiId: 'left-call-page', surveyOptions: (_q = props.options) === null || _q === void 0 ? void 0 : _q.surveyOptions, iconName: iconName, title: title, moreDetails: moreDetails, disableStartCallButton: disableStartCallButton, mobileView: props.mobileView });
229
206
  break;
230
207
  }
231
208
  pageElement = React.createElement(NoticePage, { iconName: iconName, title: title, moreDetails: callees ? '' : moreDetails, dataUiId: 'left-call-page', disableStartCallButton: disableStartCallButton });
232
209
  break;
233
210
  }
234
211
  case 'lobby':
235
- pageElement = React.createElement(LobbyPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: getLatestErrorsTrampoline(),
236
- /* @conditional-compile-remove(notifications) */ latestNotifications: latestNotifications, onDismissError: onDismissError,
237
- /* @conditional-compile-remove(notifications) */ onDismissNotification: onDismissNotification, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps });
212
+ pageElement = React.createElement(LobbyPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: latestInCallErrors, latestNotifications: latestNotifications, onDismissError: onDismissError, onDismissNotification: onDismissNotification, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps });
238
213
  break;
239
214
  case 'transferring':
240
- pageElement = React.createElement(TransferPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onFetchAvatarPersonaData: onFetchAvatarPersonaData, latestErrors: getLatestErrorsTrampoline(),
241
- /* @conditional-compile-remove(notifications) */ latestNotifications: latestNotifications, onDismissError: onDismissError,
242
- /* @conditional-compile-remove(notifications) */ onDismissNotification: onDismissNotification, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps });
215
+ pageElement = React.createElement(TransferPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onFetchAvatarPersonaData: onFetchAvatarPersonaData, latestErrors: latestInCallErrors, latestNotifications: latestNotifications, onDismissError: onDismissError, onDismissNotification: onDismissNotification, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps });
243
216
  break;
244
217
  case 'call':
245
- pageElement = React.createElement(CallPage, { callInvitationURL: callInvitationUrl, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItems, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: props.onCloseChatPane, latestErrors: getLatestErrorsTrampoline(),
246
- /* @conditional-compile-remove(notifications) */ latestNotifications: latestNotifications, onDismissError: onDismissError,
247
- /* @conditional-compile-remove(notifications) */ onDismissNotification: onDismissNotification, galleryLayout: userSetGalleryLayout, onUserSetGalleryLayoutChange: setUserSetGalleryLayout, onSetUserSetOverflowGalleryPosition: setUserSetOverflowGalleryPosition, userSetOverflowGalleryPosition: userSetOverflowGalleryPosition, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps, pinnedParticipants: pinnedParticipants, setPinnedParticipants: setPinnedParticipants, compositeAudioContext: compositeAudioContext, disableAutoShowDtmfDialer: (_q = props.options) === null || _q === void 0 ? void 0 : _q.disableAutoShowDtmfDialer });
218
+ pageElement = React.createElement(CallPage, { callInvitationURL: callInvitationUrl, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItems, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: props.onCloseChatPane, latestErrors: latestInCallErrors, latestNotifications: latestNotifications, onDismissError: onDismissError, onDismissNotification: onDismissNotification, galleryLayout: userSetGalleryLayout, onUserSetGalleryLayoutChange: setUserSetGalleryLayout, onSetUserSetOverflowGalleryPosition: setUserSetOverflowGalleryPosition, userSetOverflowGalleryPosition: userSetOverflowGalleryPosition, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps, pinnedParticipants: pinnedParticipants, setPinnedParticipants: setPinnedParticipants, compositeAudioContext: compositeAudioContext, disableAutoShowDtmfDialer: (_r = props.options) === null || _r === void 0 ? void 0 : _r.disableAutoShowDtmfDialer });
248
219
  break;
249
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
250
220
  case 'hold':
251
- pageElement = React.createElement(React.Fragment, null, React.createElement(HoldPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: getLatestErrorsTrampoline(),
252
- /* @conditional-compile-remove(notifications) */ latestNotifications: latestNotifications, onDismissError: onDismissError,
253
- /* @conditional-compile-remove(notifications) */ onDismissNotification: onDismissNotification, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
221
+ pageElement = React.createElement(React.Fragment, null, React.createElement(HoldPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: latestInCallErrors, latestNotifications: latestNotifications, onDismissError: onDismissError, onDismissNotification: onDismissNotification, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
254
222
  break;
255
223
  }
256
224
  useEndedCallConsoleErrors(endedCall);
257
- /* @conditional-compile-remove(unsupported-browser) */
258
225
  switch (page) {
259
226
  case 'unsupportedEnvironment':
260
- pageElement = React.createElement(React.Fragment, null, /* @conditional-compile-remove(unsupported-browser) */ React.createElement(UnsupportedBrowserPage, { onTroubleshootingClick: (_r = props.options) === null || _r === void 0 ? void 0 : _r.onEnvironmentInfoTroubleshootingClick, environmentInfo: adapter.getState().environmentInfo }));
227
+ pageElement = React.createElement(React.Fragment, null, React.createElement(UnsupportedBrowserPage, { onTroubleshootingClick: (_s = props.options) === null || _s === void 0 ? void 0 : _s.onEnvironmentInfoTroubleshootingClick, environmentInfo: adapter.getState().environmentInfo }));
261
228
  break;
262
229
  }
263
230
  if (!pageElement) {
@@ -1 +1 @@
1
- {"version":3,"file":"CallComposite.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/CallComposite.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { _isInCall } from '@internal/calling-component-bindings';\nimport { ActiveErrorMessage, ErrorBar, ParticipantMenuItemsCallback, useTheme, VideoTilesOptions } from '@internal/react-components';\n/* @conditional-compile-remove(notifications) */\nimport { ActiveNotification, NotificationStack } from '@internal/react-components';\nimport { CallSurveyImprovementSuggestions } from '@internal/react-components';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { AvatarPersonaDataCallback } from '../common/AvatarPersona';\nimport { BaseProvider, BaseCompositeProps } from '../common/BaseComposite';\nimport { CallCompositeIcons } from '../common/icons';\nimport { useLocale } from '../localization';\nimport { CommonCallAdapter, StartCallIdentifier } from './adapter/CallAdapter';\nimport { CallAdapterProvider, useAdapter } from './adapter/CallAdapterProvider';\nimport { CallPage } from './pages/CallPage';\nimport { ConfigurationPage } from './pages/ConfigurationPage';\nimport { NoticePage } from './pages/NoticePage';\nimport { useSelector } from './hooks/useSelector';\nimport { getEndedCall, getPage, getTargetCallees } from './selectors/baseSelectors';\nimport { LobbyPage } from './pages/LobbyPage';\nimport { TransferPage } from './pages/TransferPage';\nimport { leavingPageStyle, mainScreenContainerStyleDesktop, mainScreenContainerStyleMobile } from './styles/CallComposite.styles';\nimport { CallControlOptions } from './types/CallControlOptions';\nimport { LayerHost, mergeStyles } from '@fluentui/react';\nimport { modalLayerHostStyle } from '../common/styles/ModalLocalAndRemotePIP.styles';\nimport { useId } from '@fluentui/react-hooks';\n/* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(PSTN-calls) */\nimport { HoldPage } from './pages/HoldPage';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { UnsupportedBrowserPage } from './pages/UnsupportedBrowser';\nimport { CallSurvey } from '@azure/communication-calling';\nimport { ParticipantRole, PermissionConstraints } from '@azure/communication-calling';\nimport { MobileChatSidePaneTabHeaderProps } from '../common/TabHeader';\nimport { InjectedSidePaneProps, SidePaneProvider, SidePaneRenderer } from './components/SidePane/SidePaneProvider';\nimport { filterLatestNotifications, getEndedCallPageProps, trackNotificationAsDismissed, updateTrackedNotificationsWithActiveNotifications } from './utils';\n/* @conditional-compile-remove(notifications) */\nimport { CachedComplianceNotificationProps, computeComplianceNotification } from './utils';\nimport { TrackedNotifications } from './types/ErrorTracking';\nimport { usePropsFor } from './hooks/usePropsFor';\nimport { deviceCountSelector } from './selectors/deviceCountSelector';\nimport { VideoGalleryLayout } from '@internal/react-components';\nimport { capabilitiesChangedInfoAndRoleSelector } from './selectors/capabilitiesChangedInfoAndRoleSelector';\nimport { useTrackedCapabilityChangedNotifications } from './utils/TrackCapabilityChangedNotifications';\nimport { useEndedCallConsoleErrors } from './utils/useConsoleErrors';\nimport { SurveyPage } from './pages/SurveyPage';\nimport { useAudio } from '../common/AudioProvider';\n/* @conditional-compile-remove(notifications) */\nimport { complianceBannerSelector } from './selectors/complianceBannerSelector';\n\n/**\n * Props for {@link CallComposite}.\n *\n * @public\n */\nexport interface CallCompositeProps extends BaseCompositeProps<CallCompositeIcons> {\n /**\n * An adapter provides logic and data to the composite.\n * Composite can also be controlled using the adapter.\n */\n adapter: CommonCallAdapter;\n /**\n * Optimizes the composite form factor for either desktop or mobile.\n * @remarks `mobile` is currently only optimized for Portrait mode on mobile devices and does not support landscape.\n * @defaultValue 'desktop'\n */\n formFactor?: 'desktop' | 'mobile';\n /**\n * URL to invite new participants to the current call. If this is supplied, a button appears in the Participants\n * Button flyout menu.\n */\n callInvitationUrl?: string;\n /**\n * Flags to enable/disable or customize UI elements of the {@link CallComposite}.\n */\n options?: CallCompositeOptions;\n}\n\n/* @conditional-compile-remove(call-readiness) */\n/**\n * Device Checks.\n * Choose whether or not to block starting a call depending on camera and microphone permission options.\n *\n * @beta\n */\nexport interface DeviceCheckOptions {\n /**\n * Camera Permission prompts for your call.\n * 'required' - requires the permission to be allowed before permitting the user join the call.\n * 'optional' - permission can be disallowed and the user is still permitted to join the call.\n * 'doNotPrompt' - permission is not required and the user is not prompted to allow the permission.\n */\n camera: 'required' | 'optional' | 'doNotPrompt';\n /**\n * Microphone permission prompts for your call.\n * 'required' - requires the permission to be allowed before permitting the user join the call.\n * 'optional' - permission can be disallowed and the user is still permitted to join the call.\n * 'doNotPrompt' - permission is not required and the user is not prompted to allow the permission.\n */\n microphone: 'required' | 'optional' | 'doNotPrompt';\n}\n\n/**\n * Menu options for remote video tiles in {@link VideoGallery}.\n *\n * @public\n */\nexport interface RemoteVideoTileMenuOptions {\n /**\n * If set to true, remote video tiles in the VideoGallery will not have menu options\n *\n * @defaultValue false\n */\n isHidden?: boolean;\n}\n\n/**\n * Options for the local video tile in the Call composite.\n *\n * @public\n */\nexport interface LocalVideoTileOptions {\n /**\n * Position of the local video tile. If unset will render the local tile in the floating local position.\n *\n * @defaultValue 'floating'\n * @remarks 'grid' - local video tile will be rendered in the grid view of the videoGallery.\n * 'floating' - local video tile will be rendered in the floating position and will observe overflow gallery\n * local video tile rules and be docked in the bottom corner.\n * This does not affect the Configuration screen or the side pane Picture in Picture in Picture view.\n */\n position?: 'grid' | 'floating';\n}\n/**\n * Optional features of the {@link CallComposite}.\n *\n * @public\n */\nexport type CallCompositeOptions = {\n /**\n * Surface Azure Communication Services backend errors in the UI with {@link @azure/communication-react#ErrorBar}.\n * Hide or show the error bar.\n * @defaultValue true\n */\n errorBar?: boolean;\n /**\n * Hide or Customize the control bar element.\n * Can be customized by providing an object of type {@link @azure/communication-react#CallControlOptions}.\n * @defaultValue true\n */\n callControls?: boolean | CallControlOptions;\n /* @conditional-compile-remove(call-readiness) */\n /**\n * Device permissions check options for your call.\n * Here you can choose what device permissions you prompt the user for,\n * as well as what device permissions must be accepted before starting a call.\n */\n deviceChecks?: DeviceCheckOptions;\n /* @conditional-compile-remove(call-readiness) */\n /**\n * Callback you may provide to supply users with further steps to troubleshoot why they have been\n * unable to grant your site the required permissions for the call.\n *\n * @example\n * ```ts\n * onPermissionsTroubleshootingClick: () =>\n * window.open('https://contoso.com/permissions-troubleshooting', '_blank');\n * ```\n *\n * @remarks\n * if this is not supplied, the composite will not show a 'further troubleshooting' link.\n */\n onPermissionsTroubleshootingClick?: (permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n }) => void;\n /* @conditional-compile-remove(call-readiness) */\n /**\n * Callback you may provide to supply users with further steps to troubleshoot why they have been\n * having network issues when connecting to the call.\n *\n * @example\n * ```ts\n * onNetworkingTroubleShootingClick?: () =>\n * window.open('https://contoso.com/network-troubleshooting', '_blank');\n * ```\n *\n * @remarks\n * if this is not supplied, the composite will not show a 'network troubleshooting' link.\n */\n onNetworkingTroubleShootingClick?: () => void;\n /* @conditional-compile-remove(unsupported-browser) */\n /**\n * Callback you may provide to supply users with a provided page to showcase supported browsers by ACS.\n *\n * @example\n * ```ts\n * onBrowserTroubleShootingClick?: () =>\n * window.open('https://contoso.com/browser-troubleshooting', '_blank');\n * ```\n *\n * @remarks\n * if this is not supplied, the composite will not show a unsupported browser page.\n */\n onEnvironmentInfoTroubleshootingClick?: () => void;\n /**\n * Remote participant video tile menu options\n */\n remoteVideoTileMenuOptions?: RemoteVideoTileMenuOptions;\n /**\n * Options for controlling the local video tile.\n *\n * @remarks if 'false' the local video tile will not be rendered.\n */\n localVideoTile?: boolean | LocalVideoTileOptions;\n /**\n * Options for controlling video tile.\n */\n videoTilesOptions?: VideoTilesOptions;\n /**\n * Whether to auto show the DTMF Dialer when the call starts in supported scenarios.\n * - Teams Voice Application like Call queue or Auto Attendant\n * - PSTN Calls\n * @defaultValue false\n */\n disableAutoShowDtmfDialer?: boolean;\n /**\n * Options for controlling the starting layout of the composite's video gallery\n */\n galleryOptions?: {\n /**\n * Layout for the gallery when the call starts\n */\n layout?: VideoGalleryLayout;\n };\n /**\n * Options for end of call survey\n */\n surveyOptions?: {\n /**\n * Disable call survey at the end of a call.\n * @defaultValue false\n */\n disableSurvey?: boolean;\n /**\n * Optional callback to redirect users to custom screens when survey is done, note that default end call screen will be shown if this callback is not provided\n * This callback can be used to redirect users to different screens depending on survey state, whether it is submitted, skipped or has a problem when submitting the survey\n */\n onSurveyClosed?: (surveyState: 'sent' | 'skipped' | 'error', surveyError?: string) => void;\n /**\n * Optional callback to handle survey data including free form text response\n * Note that free form text response survey option is only going to be enabled when this callback is provided\n * User will need to handle all free form text response on their own\n */\n onSurveySubmitted?: (callId: string, surveyId: string,\n /**\n * This is the survey results containing star survey data and API tag survey data.\n * This part of the result will always be sent to the calling sdk\n * This callback provides user with the ability to gain access to survey data\n */\n submittedSurvey: CallSurvey,\n /**\n * This is the survey results containing free form text\n * This part of the result will not be handled by composites\n * User will need to collect and handle this information 100% on their own\n * Free form text survey is not going to show in the UI if onSurveySubmitted is not populated\n */\n improvementSuggestions: CallSurveyImprovementSuggestions) => Promise<void>;\n };\n /**\n * Options for setting additional customizations related to personalized branding.\n */\n branding?: {\n /**\n * Logo displayed on the configuration page.\n */\n logo?: {\n /**\n * URL for the logo image.\n *\n * @remarks\n * Recommended size is 80x80 pixels.\n */\n url: string;\n /**\n * Alt text for the logo image.\n */\n alt?: string;\n /**\n * The logo can be displayed as a circle.\n *\n * @defaultValue 'unset'\n */\n shape?: 'unset' | 'circle';\n };\n /**\n * Background image displayed on the configuration page.\n */\n backgroundImage?: {\n /**\n * URL for the background image.\n *\n * @remarks\n * Background image should be larger than 576x567 pixels and smaller than 2048x2048 pixels pixels.\n */\n url: string;\n };\n };\n /**\n * Options for settings related to spotlight.\n */\n spotlight?: {\n /**\n * Flag to hide the menu buttons to start and stop spotlight for remote participants and the local participant.\n * @defaultValue false\n */\n hideSpotlightButtons?: boolean;\n };\n};\ntype MainScreenProps = {\n mobileView: boolean;\n modalLayerHostId: string;\n callInvitationUrl?: string;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n options?: CallCompositeOptions;\n overrideSidePane?: InjectedSidePaneProps;\n onSidePaneIdChange?: (sidePaneId: string | undefined) => void;\n mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n onCloseChatPane?: () => void;\n};\nconst isShowing = (overrideSidePane?: InjectedSidePaneProps): boolean => {\n return !!overrideSidePane?.isActive;\n};\nconst MainScreen = (props: MainScreenProps): JSX.Element => {\n const adapter = useAdapter();\n const {\n camerasCount,\n microphonesCount\n } = useSelector(deviceCountSelector);\n const hasCameras = camerasCount > 0;\n const hasMicrophones = microphonesCount > 0;\n useEffect(() => {\n (async () => {\n const constrain = getQueryOptions({\n role: adapter.getState().call?.role\n });\n await adapter.askDevicePermission(constrain);\n adapter.queryCameras();\n adapter.queryMicrophones();\n adapter.querySpeakers();\n })();\n }, [adapter,\n // Ensure we re-ask for permissions if the number of devices goes from 0 -> n during a call\n // as we cannot request permissions when there are no devices.\n hasCameras, hasMicrophones]);\n const {\n callInvitationUrl,\n onFetchAvatarPersonaData,\n onFetchParticipantMenuItems\n } = props;\n const page = useSelector(getPage);\n const endedCall = useSelector(getEndedCall);\n const [sidePaneRenderer, setSidePaneRenderer] = React.useState<SidePaneRenderer | undefined>();\n const [injectedSidePaneProps, setInjectedSidePaneProps] = React.useState<InjectedSidePaneProps>();\n const [userSetGalleryLayout, setUserSetGalleryLayout] = useState<VideoGalleryLayout>(props.options?.galleryOptions?.layout ?? 'floatingLocalVideo');\n const [userSetOverflowGalleryPosition, setUserSetOverflowGalleryPosition] = useState<'Responsive' | 'horizontalTop'>('Responsive');\n const overridePropsRef = useRef<InjectedSidePaneProps | undefined>(props.overrideSidePane);\n useEffect(() => {\n setInjectedSidePaneProps(props.overrideSidePane);\n // When the injected side pane is opened, clear the previous side pane active state.\n // this ensures when the injected side pane is \"closed\", the previous side pane is not \"re-opened\".\n if (!isShowing(overridePropsRef.current) && isShowing(props.overrideSidePane)) {\n setSidePaneRenderer(undefined);\n }\n overridePropsRef.current = props.overrideSidePane;\n }, [props.overrideSidePane]);\n const onSidePaneIdChange = props.onSidePaneIdChange;\n useEffect(() => {\n onSidePaneIdChange?.(sidePaneRenderer?.id);\n }, [sidePaneRenderer?.id, onSidePaneIdChange]);\n\n // When the call ends ensure the side pane is set to closed to prevent the side pane being open if the call is re-joined.\n useEffect(() => {\n const closeSidePane = (): void => {\n setSidePaneRenderer(undefined);\n };\n adapter.on('callEnded', closeSidePane);\n return () => {\n adapter.off('callEnded', closeSidePane);\n };\n }, [adapter]);\n const compositeAudioContext = useAudio();\n const capabilitiesChangedInfoAndRole = useSelector(capabilitiesChangedInfoAndRoleSelector);\n const capabilitiesChangedNotificationBarProps = useTrackedCapabilityChangedNotifications(capabilitiesChangedInfoAndRole);\n\n // Track the last dismissed errors of any error kind to prevent errors from re-appearing on subsequent page navigation\n // This works by tracking the most recent timestamp of any active error type.\n // And then tracking when that error type was last dismissed.\n const activeErrors = usePropsFor(ErrorBar).activeErrorMessages;\n /* @conditional-compile-remove(notifications) */\n const activeInCallErrors = usePropsFor(NotificationStack).activeErrorMessages;\n /* @conditional-compile-remove(notifications) */\n const activeNotifications = usePropsFor(NotificationStack).activeNotifications;\n /* @conditional-compile-remove(notifications) */\n const complianceProps = useSelector(complianceBannerSelector);\n /* @conditional-compile-remove(notifications) */\n const cachedProps = useRef<CachedComplianceNotificationProps>({\n latestBooleanState: {\n callTranscribeState: false,\n callRecordState: false\n },\n latestStringState: {\n callTranscribeState: 'off',\n callRecordState: 'off'\n },\n lastUpdated: Date.now()\n });\n /* @conditional-compile-remove(notifications) */\n const complianceNotification: ActiveNotification | undefined = useMemo(() => {\n return computeComplianceNotification(complianceProps, cachedProps);\n }, [complianceProps, cachedProps]);\n /* @conditional-compile-remove(notifications) */\n useEffect(() => {\n if (complianceNotification) {\n activeNotifications.forEach((notification, index) => {\n if (['recordingStarted', 'transcriptionStarted', 'recordingStopped', 'transcriptionStopped', 'recordingAndTranscriptionStarted', 'recordingAndTranscriptionStopped', 'recordingStoppedStillTranscribing', 'transcriptionStoppedStillRecording'].includes(activeNotifications[index].type)) {\n activeNotifications.splice(index, 1);\n }\n });\n activeNotifications.push(complianceNotification);\n }\n setTrackedNotifications(prev => updateTrackedNotificationsWithActiveNotifications(prev, activeNotifications));\n }, [complianceNotification, activeNotifications]);\n const [trackedErrors, setTrackedErrors] = useState<TrackedNotifications>({} as TrackedNotifications);\n /* @conditional-compile-remove(notifications) */\n const [trackedInCallErrors, setTrackedInCallErrors] = useState<TrackedNotifications>({} as TrackedNotifications);\n\n /* @conditional-compile-remove(notifications) */\n const [trackedNotifications, setTrackedNotifications] = useState<TrackedNotifications>({} as TrackedNotifications);\n useEffect(() => {\n setTrackedErrors(prev => updateTrackedNotificationsWithActiveNotifications(prev, activeErrors));\n /* @conditional-compile-remove(notifications) */\n setTrackedInCallErrors(prev => updateTrackedNotificationsWithActiveNotifications(prev, activeInCallErrors));\n }, [activeErrors, /* @conditional-compile-remove(notifications) */activeInCallErrors]);\n const onDismissError = useCallback((error: ActiveErrorMessage | /* @conditional-compile-remove(notifications) */ActiveNotification) => {\n setTrackedErrors(prev => trackNotificationAsDismissed(error.type, prev));\n /* @conditional-compile-remove(notifications) */\n setTrackedInCallErrors(prev => trackNotificationAsDismissed(error.type, prev));\n }, []);\n\n /* @conditional-compile-remove(notifications) */\n const onDismissNotification = useCallback((notification: ActiveNotification) => {\n setTrackedNotifications(prev => trackNotificationAsDismissed(notification.type, prev));\n }, []);\n const latestErrors = useMemo(() => filterLatestNotifications(activeErrors, trackedErrors), [activeErrors, trackedErrors]);\n /* @conditional-compile-remove(notifications) */\n const latestInCallErrors = useMemo(() => filterLatestNotifications(activeInCallErrors, trackedInCallErrors), [activeInCallErrors, trackedInCallErrors]) as ActiveNotification[];\n\n /* @conditional-compile-remove(notifications) */\n const latestNotifications = useMemo(() => {\n const result = filterLatestNotifications(activeNotifications, trackedNotifications);\n // sort notifications by timestamp from earliest to latest\n result.sort((a, b) => (a.timestamp ?? new Date(Date.now())).getTime() - (b.timestamp ?? new Date(Date.now())).getTime());\n return result;\n }, [activeNotifications, trackedNotifications]) as ActiveNotification[];\n const callees = useSelector(getTargetCallees) as StartCallIdentifier[];\n const locale = useLocale();\n const palette = useTheme().palette;\n /* @conditional-compile-remove(PSTN-calls) */\n const alternateCallerId = adapter.getState().alternateCallerId;\n const leavePageStyle = useMemo(() => leavingPageStyle(palette), [palette]);\n let pageElement: JSX.Element | undefined;\n const [pinnedParticipants, setPinnedParticipants] = useState<string[]>([]);\n const getLatestErrorsTrampoline = (): ActiveErrorMessage[] | /* @conditional-compile-remove(notifications) */ActiveNotification[] => {\n /* @conditional-compile-remove(notifications) */\n return latestInCallErrors;\n return latestErrors;\n };\n switch (page) {\n case 'configuration':\n pageElement = <ConfigurationPage mobileView={props.mobileView} startCallHandler={(): void => {\n if (callees) {\n adapter.startCall(callees, /* @conditional-compile-remove(PSTN-calls) */alternateCallerId ? {\n alternateCallerId: {\n phoneNumber: alternateCallerId\n }\n } : {});\n } else {\n adapter.joinCall({\n microphoneOn: 'keep',\n cameraOn: 'keep'\n });\n }\n }} updateSidePaneRenderer={setSidePaneRenderer} latestErrors={latestErrors as ActiveErrorMessage[]} onDismissError={onDismissError} modalLayerHostId={props.modalLayerHostId}\n /* @conditional-compile-remove(call-readiness) */ deviceChecks={props.options?.deviceChecks}\n /* @conditional-compile-remove(call-readiness) */ onPermissionsTroubleshootingClick={props.options?.onPermissionsTroubleshootingClick}\n /* @conditional-compile-remove(call-readiness) */ onNetworkingTroubleShootingClick={props.options?.onNetworkingTroubleShootingClick} capabilitiesChangedNotificationBarProps={capabilitiesChangedNotificationBarProps} logo={props.options?.branding?.logo} backgroundImage={props.options?.branding?.backgroundImage} />;\n break;\n case 'accessDeniedTeamsMeeting':\n pageElement = <NoticePage iconName=\"NoticePageAccessDeniedTeamsMeeting\" title={locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedTitle} moreDetails={locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails} dataUiId={'access-denied-teams-meeting-page'} />;\n break;\n case 'removedFromCall':\n pageElement = <NoticePage iconName=\"NoticePageRemovedFromCall\" title={locale.strings.call.removedFromCallTitle} moreDetails={locale.strings.call.removedFromCallMoreDetails} dataUiId={'removed-from-call-page'} />;\n break;\n case 'joinCallFailedDueToNoNetwork':\n pageElement = <NoticePage iconName=\"NoticePageJoinCallFailedDueToNoNetwork\" title={locale.strings.call.failedToJoinCallDueToNoNetworkTitle} moreDetails={locale.strings.call.failedToJoinCallDueToNoNetworkMoreDetails} dataUiId={'join-call-failed-due-to-no-network-page'} />;\n break;\n case 'leaving':\n pageElement = <NoticePage title={locale.strings.call.leavingCallTitle ?? 'Leaving...'} dataUiId={'leaving-page'} pageStyle={leavePageStyle} disableStartCallButton={true} />;\n break;\n case 'badRequest':\n {\n const {\n title,\n moreDetails,\n disableStartCallButton,\n iconName\n } = getEndedCallPageProps(locale, endedCall);\n pageElement = <NoticePage iconName={iconName} title={title} moreDetails={callees ? '' : moreDetails} dataUiId={'left-call-page'} disableStartCallButton={disableStartCallButton} />;\n break;\n }\n case 'leftCall':\n {\n const {\n title,\n moreDetails,\n disableStartCallButton,\n iconName\n } = getEndedCallPageProps(locale, endedCall);\n if (!props.options?.surveyOptions?.disableSurvey) {\n pageElement = <SurveyPage dataUiId={'left-call-page'} surveyOptions={props.options?.surveyOptions} iconName={iconName} title={title} moreDetails={moreDetails} disableStartCallButton={disableStartCallButton} mobileView={props.mobileView} />;\n break;\n }\n pageElement = <NoticePage iconName={iconName} title={title} moreDetails={callees ? '' : moreDetails} dataUiId={'left-call-page'} disableStartCallButton={disableStartCallButton} />;\n break;\n }\n case 'lobby':\n pageElement = <LobbyPage mobileView={props.mobileView} modalLayerHostId={props.modalLayerHostId} options={props.options} updateSidePaneRenderer={setSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} latestErrors={getLatestErrorsTrampoline()}\n /* @conditional-compile-remove(notifications) */ latestNotifications={latestNotifications} onDismissError={onDismissError}\n /* @conditional-compile-remove(notifications) */ onDismissNotification={onDismissNotification} capabilitiesChangedNotificationBarProps={capabilitiesChangedNotificationBarProps} />;\n break;\n case 'transferring':\n pageElement = <TransferPage mobileView={props.mobileView} modalLayerHostId={props.modalLayerHostId} options={props.options} updateSidePaneRenderer={setSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} onFetchAvatarPersonaData={onFetchAvatarPersonaData} latestErrors={getLatestErrorsTrampoline()}\n /* @conditional-compile-remove(notifications) */ latestNotifications={latestNotifications} onDismissError={onDismissError}\n /* @conditional-compile-remove(notifications) */ onDismissNotification={onDismissNotification} capabilitiesChangedNotificationBarProps={capabilitiesChangedNotificationBarProps} />;\n break;\n case 'call':\n pageElement = <CallPage callInvitationURL={callInvitationUrl} onFetchAvatarPersonaData={onFetchAvatarPersonaData} onFetchParticipantMenuItems={onFetchParticipantMenuItems} mobileView={props.mobileView} modalLayerHostId={props.modalLayerHostId} options={props.options} updateSidePaneRenderer={setSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} onCloseChatPane={props.onCloseChatPane} latestErrors={getLatestErrorsTrampoline()}\n /* @conditional-compile-remove(notifications) */ latestNotifications={latestNotifications} onDismissError={onDismissError}\n /* @conditional-compile-remove(notifications) */ onDismissNotification={onDismissNotification} galleryLayout={userSetGalleryLayout} onUserSetGalleryLayoutChange={setUserSetGalleryLayout} onSetUserSetOverflowGalleryPosition={setUserSetOverflowGalleryPosition} userSetOverflowGalleryPosition={userSetOverflowGalleryPosition} capabilitiesChangedNotificationBarProps={capabilitiesChangedNotificationBarProps} pinnedParticipants={pinnedParticipants} setPinnedParticipants={setPinnedParticipants} compositeAudioContext={compositeAudioContext} disableAutoShowDtmfDialer={props.options?.disableAutoShowDtmfDialer} />;\n break;\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n case 'hold':\n pageElement = <>\n {<HoldPage mobileView={props.mobileView} modalLayerHostId={props.modalLayerHostId} options={props.options} updateSidePaneRenderer={setSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} latestErrors={getLatestErrorsTrampoline()}\n /* @conditional-compile-remove(notifications) */ latestNotifications={latestNotifications} onDismissError={onDismissError}\n /* @conditional-compile-remove(notifications) */ onDismissNotification={onDismissNotification} capabilitiesChangedNotificationBarProps={capabilitiesChangedNotificationBarProps} />}\n </>;\n break;\n }\n useEndedCallConsoleErrors(endedCall);\n\n /* @conditional-compile-remove(unsupported-browser) */\n switch (page) {\n case 'unsupportedEnvironment':\n pageElement = <>\n {/* @conditional-compile-remove(unsupported-browser) */\n <UnsupportedBrowserPage onTroubleshootingClick={props.options?.onEnvironmentInfoTroubleshootingClick} environmentInfo={adapter.getState().environmentInfo} />}\n </>;\n break;\n }\n if (!pageElement) {\n throw new Error('Invalid call composite page');\n }\n return <SidePaneProvider sidePaneRenderer={sidePaneRenderer} overrideSidePane={injectedSidePaneProps}>\n {pageElement}\n </SidePaneProvider>;\n};\n\n/**\n * A customizable UI composite for calling experience.\n *\n * @remarks Call composite min width/height are as follow:\n * - mobile: 17.5rem x 21rem (280px x 336px, with default rem at 16px)\n * - desktop: 30rem x 22rem (480px x 352px, with default rem at 16px)\n *\n * @public\n */\nexport const CallComposite = (props: CallCompositeProps): JSX.Element => <CallCompositeInner {...props} />;\n\n/**\n * @private\n */\nexport interface InternalCallCompositeProps {\n overrideSidePane?: InjectedSidePaneProps;\n onSidePaneIdChange?: (sidePaneId: string | undefined) => void;\n onCloseChatPane?: () => void;\n // legacy property to avoid breaking change\n mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n}\n\n/** @private */\nexport const CallCompositeInner = (props: CallCompositeProps & InternalCallCompositeProps): JSX.Element => {\n const {\n adapter,\n callInvitationUrl,\n onFetchAvatarPersonaData,\n onFetchParticipantMenuItems,\n options,\n formFactor = 'desktop'\n } = props;\n const mobileView = formFactor === 'mobile';\n const modalLayerHostId = useId('modalLayerhost');\n const mainScreenContainerClassName = useMemo(() => {\n return mobileView ? mainScreenContainerStyleMobile : mainScreenContainerStyleDesktop;\n }, [mobileView]);\n return <div className={mainScreenContainerClassName}>\n <BaseProvider {...props}>\n <CallAdapterProvider adapter={adapter}>\n <MainScreen callInvitationUrl={callInvitationUrl} onFetchAvatarPersonaData={onFetchAvatarPersonaData} onFetchParticipantMenuItems={onFetchParticipantMenuItems} mobileView={mobileView} modalLayerHostId={modalLayerHostId} options={options} onSidePaneIdChange={props.onSidePaneIdChange} overrideSidePane={props.overrideSidePane} mobileChatTabHeader={props.mobileChatTabHeader} onCloseChatPane={props.onCloseChatPane} />\n {\n // This layer host is for ModalLocalAndRemotePIP in SidePane. This LayerHost cannot be inside the SidePane\n // because when the SidePane is hidden, ie. style property display is 'none', it takes up no space. This causes problems when dragging\n // the Modal because the draggable bounds thinks it has no space and will always return to its initial position after dragging.\n // Additionally, this layer host cannot be in the Call Arrangement as it needs to be rendered before useMinMaxDragPosition() in\n // common/utils useRef is called.\n // Warning: this is fragile and works because the call arrangement page is only rendered after the call has connected and thus this\n // LayerHost will be guaranteed to have rendered (and subsequently mounted in the DOM). This ensures the DOM element will be available\n // before the call to `document.getElementById(modalLayerHostId)` is made.\n <LayerHost id={modalLayerHostId} className={mergeStyles(modalLayerHostStyle)} />}\n </CallAdapterProvider>\n </BaseProvider>\n </div>;\n};\nconst getQueryOptions = (options: {\n role?: ParticipantRole;\n}): PermissionConstraints => {\n if (options.role === 'Consumer') {\n return {\n video: false,\n audio: true\n };\n }\n return {\n video: true,\n audio: true\n };\n};"]}
1
+ {"version":3,"file":"CallComposite.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/CallComposite.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;AAGlC,OAAO,EAAsB,QAAQ,EAAgC,QAAQ,EAAqB,yCAAmC;AACrI,OAAO,EAAsB,iBAAiB,EAAE,yCAAmC;AAEnF,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAsB,MAAM,yBAAyB,CAAC;AAE3E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,+BAA+B,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAElI,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAIpE,OAAO,EAAyB,gBAAgB,EAAoB,MAAM,wCAAwC,CAAC;AACnH,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,iDAAiD,EAAE,MAAM,SAAS,CAAC;AAC5J,OAAO,EAAqC,6BAA6B,EAAE,MAAM,SAAS,CAAC;AAE3F,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,EAAE,sCAAsC,EAAE,MAAM,oDAAoD,CAAC;AAC5G,OAAO,EAAE,wCAAwC,EAAE,MAAM,6CAA6C,CAAC;AACvG,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAqRhF,MAAM,SAAS,GAAG,CAAC,gBAAwC,EAAW,EAAE;IACtE,OAAO,CAAC,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,QAAQ,CAAA,CAAC;AACtC,CAAC,CAAC;AACF,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAe,EAAE;;IACzD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,EACJ,YAAY,EACZ,gBAAgB,EACjB,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,YAAY,GAAG,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,gBAAgB,GAAG,CAAC,CAAC;IAC5C,SAAS,CAAC,GAAG,EAAE;QACb,CAAC,GAAS,EAAE;;YACV,MAAM,SAAS,GAAG,eAAe,CAAC;gBAChC,IAAI,EAAE,MAAA,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,IAAI;aACpC,CAAC,CAAC;YACH,CAAC;gBACC,SAAS,CAAC,KAAK,GAAG,CAAA,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,YAAY,0CAAE,UAAU,MAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;gBACtG,SAAS,CAAC,KAAK,GAAG,CAAA,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,YAAY,0CAAE,MAAM,MAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;YACpG,CAAC;YACD,MAAM,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC7C,OAAO,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC3B,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,CAAC,CAAA,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,CAAC,OAAO,EAAE,MAAA,KAAK,CAAC,OAAO,0CAAE,YAAY;QACxC,2FAA2F;QAC3F,8DAA8D;QAC9D,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;IAC7B,MAAM,EACJ,iBAAiB,EACjB,wBAAwB,EACxB,2BAA2B,EAC5B,GAAG,KAAK,CAAC;IACV,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAgC,CAAC;IAC/F,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAyB,CAAC;IAClG,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAqB,MAAA,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,cAAc,0CAAE,MAAM,mCAAI,oBAAoB,CAAC,CAAC;IACpJ,MAAM,CAAC,8BAA8B,EAAE,iCAAiC,CAAC,GAAG,QAAQ,CAAiC,YAAY,CAAC,CAAC;IACnI,MAAM,gBAAgB,GAAG,MAAM,CAAoC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC3F,SAAS,CAAC,GAAG,EAAE;QACb,wBAAwB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACjD,oFAAoF;QACpF,mGAAmG;QACnG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC9E,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QACD,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC,gBAAgB,CAAC;IACpD,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC7B,MAAM,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;IACpD,SAAS,CAAC,GAAG,EAAE;QACb,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAG,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,EAAE,CAAC,CAAC;IAC7C,CAAC,EAAE,CAAC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE/C,yHAAyH;IACzH,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,aAAa,GAAG,GAAS,EAAE;YAC/B,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QACvC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAC1C,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,MAAM,qBAAqB,GAAG,QAAQ,EAAE,CAAC;IACzC,MAAM,8BAA8B,GAAG,WAAW,CAAC,sCAAsC,CAAC,CAAC;IAC3F,MAAM,uCAAuC,GAAG,wCAAwC,CAAC,8BAA8B,CAAC,CAAC;IAEzH,sHAAsH;IACtH,6EAA6E;IAC7E,6DAA6D;IAC7D,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC;IAC/D,MAAM,kBAAkB,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC,mBAAmB,CAAC;IAC9E,MAAM,mBAAmB,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC,mBAAmB,CAAC;IAC/E,MAAM,eAAe,GAAG,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,MAAM,CAAoC;QAC5D,kBAAkB,EAAE;YAClB,mBAAmB,EAAE,KAAK;YAC1B,eAAe,EAAE,KAAK;SACvB;QACD,iBAAiB,EAAE;YACjB,mBAAmB,EAAE,KAAK;YAC1B,eAAe,EAAE,KAAK;SACvB;QACD,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;KACxB,CAAC,CAAC;IACH,MAAM,sBAAsB,GAAmC,OAAO,CAAC,GAAG,EAAE;QAC1E,OAAO,6BAA6B,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC,EAAE,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;IACnC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,sBAAsB,EAAE,CAAC;YAC3B,mBAAmB,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE;gBAClD,IAAI,CAAC,kBAAkB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,kCAAkC,EAAE,kCAAkC,EAAE,mCAAmC,EAAE,oCAAoC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1R,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,mBAAmB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACnD,CAAC;QACD,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,iDAAiD,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAChH,CAAC,EAAE,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAuB,EAA0B,CAAC,CAAC;IACrG,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAuB,EAA0B,CAAC,CAAC;IACjH,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAuB,EAA0B,CAAC,CAAC;IACnH,SAAS,CAAC,GAAG,EAAE;QACb,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,iDAAiD,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;QAChG,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,iDAAiD,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC9G,CAAC,EAAE,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,KAA8C,EAAE,EAAE;QACpF,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,4BAA4B,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACzE,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,4BAA4B,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACjF,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,qBAAqB,GAAG,WAAW,CAAC,CAAC,YAAgC,EAAE,EAAE;QAC7E,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,4BAA4B,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACzF,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;IAC1H,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,EAAE,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAyB,CAAC;IAChL,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE;QACvC,MAAM,MAAM,GAAG,yBAAyB,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;QACpF,0DAA0D;QAC1D,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,eAAC,OAAA,CAAC,MAAA,CAAC,CAAC,SAAS,mCAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,MAAA,CAAC,CAAC,SAAS,mCAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA,EAAA,CAAC,CAAC;QACzH,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAyB,CAAC;IACxE,MAAM,OAAO,GAAG,WAAW,CAAC,gBAAgB,CAA0B,CAAC;IACvE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC,OAAO,CAAC;IACnC,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,iBAAiB,CAAC;IAC/D,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3E,IAAI,WAAoC,CAAC;IACzC,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IAC3E,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,eAAe;YAClB,WAAW,GAAG,oBAAC,iBAAiB,IAAC,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAS,EAAE;oBAC1F,IAAI,OAAO,EAAE,CAAC;wBACZ,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;4BAC7C,iBAAiB,EAAE;gCACjB,WAAW,EAAE,iBAAiB;6BAC/B;yBACF,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACV,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,QAAQ,CAAC;4BACf,YAAY,EAAE,MAAM;4BACpB,QAAQ,EAAE,MAAM;yBACjB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAoC,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,YAAY,EAAE,MAAA,KAAK,CAAC,OAAO,0CAAE,YAAY,EAAE,iCAAiC,EAAE,MAAA,KAAK,CAAC,OAAO,0CAAE,iCAAiC,EAAE,gCAAgC,EAAE,MAAA,KAAK,CAAC,OAAO,0CAAE,gCAAgC,EAAE,uCAAuC,EAAE,uCAAuC,EAAE,IAAI,EAAE,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,QAAQ,0CAAE,IAAI,EAAE,eAAe,EAAE,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,QAAQ,0CAAE,eAAe,GAAI,CAAC;YACtjB,MAAM;QACR,KAAK,0BAA0B;YAC7B,WAAW,GAAG,oBAAC,UAAU,IAAC,QAAQ,EAAC,oCAAoC,EAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,+CAA+C,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qDAAqD,EAAE,QAAQ,EAAE,kCAAkC,GAAI,CAAC;YAC7R,MAAM;QACR,KAAK,iBAAiB;YACpB,WAAW,GAAG,oBAAC,UAAU,IAAC,QAAQ,EAAC,2BAA2B,EAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,QAAQ,EAAE,wBAAwB,GAAI,CAAC;YACpN,MAAM;QACR,KAAK,8BAA8B;YACjC,WAAW,GAAG,oBAAC,UAAU,IAAC,QAAQ,EAAC,wCAAwC,EAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,yCAAyC,EAAE,QAAQ,EAAE,yCAAyC,GAAI,CAAC;YAChR,MAAM;QACR,KAAK,SAAS;YACZ,WAAW,GAAG,oBAAC,UAAU,IAAC,KAAK,EAAE,MAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,mCAAI,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,sBAAsB,EAAE,IAAI,GAAI,CAAC;YAC7K,MAAM;QACR,KAAK,YAAY;YACf,CAAC;gBACC,MAAM,EACJ,KAAK,EACL,WAAW,EACX,sBAAsB,EACtB,QAAQ,EACT,GAAG,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC7C,WAAW,GAAG,oBAAC,UAAU,IAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,sBAAsB,GAAI,CAAC;gBACpL,MAAM;YACR,CAAC;QACH,KAAK,UAAU;YACb,CAAC;gBACC,MAAM,EACJ,KAAK,EACL,WAAW,EACX,sBAAsB,EACtB,QAAQ,EACT,GAAG,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC7C,IAAI,CAAC,CAAA,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,aAAa,0CAAE,aAAa,CAAA,EAAE,CAAC;oBACjD,WAAW,GAAG,oBAAC,UAAU,IAAC,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAA,KAAK,CAAC,OAAO,0CAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,GAAI,CAAC;oBAChP,MAAM;gBACR,CAAC;gBACD,WAAW,GAAG,oBAAC,UAAU,IAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,sBAAsB,GAAI,CAAC;gBACpL,MAAM;YACR,CAAC;QACH,KAAK,OAAO;YACV,WAAW,GAAG,oBAAC,SAAS,IAAC,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,uCAAuC,EAAE,uCAAuC,GAAI,CAAC;YACrc,MAAM;QACR,KAAK,cAAc;YACjB,WAAW,GAAG,oBAAC,YAAY,IAAC,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,uCAAuC,EAAE,uCAAuC,GAAI,CAAC;YAC5f,MAAM;QACR,KAAK,MAAM;YACT,WAAW,GAAG,oBAAC,QAAQ,IAAC,iBAAiB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,aAAa,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,mCAAmC,EAAE,iCAAiC,EAAE,8BAA8B,EAAE,8BAA8B,EAAE,uCAAuC,EAAE,uCAAuC,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAA,KAAK,CAAC,OAAO,0CAAE,yBAAyB,GAAI,CAAC;YAC7iC,MAAM;QACR,KAAK,MAAM;YACT,WAAW,GAAG,0CACT,oBAAC,QAAQ,IAAC,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,uCAAuC,EAAE,uCAAuC,GAAI,CACrb,CAAC;YACN,MAAM;IACV,CAAC;IACD,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACrC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,wBAAwB;YAC3B,WAAW,GAAG,0CACT,oBAAC,sBAAsB,IAAC,sBAAsB,EAAE,MAAA,KAAK,CAAC,OAAO,0CAAE,qCAAqC,EAAE,eAAe,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,eAAe,GAAI,CAC7J,CAAC;YACN,MAAM;IACV,CAAC;IACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,oBAAC,gBAAgB,IAAC,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,qBAAqB,IAC/F,WAAW,CACK,CAAC;AACxB,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAe,EAAE,CAAC,oBAAC,kBAAkB,oBAAK,KAAK,EAAI,CAAC;AAa3G,eAAe;AACf,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAsD,EAAe,EAAE;IACxG,MAAM,EACJ,OAAO,EACP,iBAAiB,EACjB,wBAAwB,EACxB,2BAA2B,EAC3B,OAAO,EACP,UAAU,GAAG,SAAS,EACvB,GAAG,KAAK,CAAC;IACV,MAAM,UAAU,GAAG,UAAU,KAAK,QAAQ,CAAC;IAC3C,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACjD,MAAM,4BAA4B,GAAG,OAAO,CAAC,GAAG,EAAE;QAChD,OAAO,UAAU,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,+BAA+B,CAAC;IACvF,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACjB,OAAO,6BAAK,SAAS,EAAE,4BAA4B;QAC/C,oBAAC,YAAY,oBAAK,KAAK;YACrB,oBAAC,mBAAmB,IAAC,OAAO,EAAE,OAAO;gBACnC,oBAAC,UAAU,IAAC,iBAAiB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,GAAI;gBAEla,0GAA0G;gBAC1G,sIAAsI;gBACtI,+HAA+H;gBAC/H,+HAA+H;gBAC/H,iCAAiC;gBACjC,mIAAmI;gBACnI,sIAAsI;gBACtI,0EAA0E;gBAC1E,oBAAC,SAAS,IAAC,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,CAAC,mBAAmB,CAAC,GAAI,CAC1D,CACT,CACX,CAAC;AACX,CAAC,CAAC;AACF,MAAM,eAAe,GAAG,CAAC,OAExB,EAAyB,EAAE;IAC1B,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IACD,OAAO;QACL,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;KACZ,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { _isInCall } from '@internal/calling-component-bindings';\nimport { ActiveErrorMessage, ErrorBar, ParticipantMenuItemsCallback, useTheme, VideoTilesOptions } from '@internal/react-components';\nimport { ActiveNotification, NotificationStack } from '@internal/react-components';\nimport { CallSurveyImprovementSuggestions } from '@internal/react-components';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { AvatarPersonaDataCallback } from '../common/AvatarPersona';\nimport { BaseProvider, BaseCompositeProps } from '../common/BaseComposite';\nimport { CallCompositeIcons } from '../common/icons';\nimport { useLocale } from '../localization';\nimport { CommonCallAdapter, StartCallIdentifier } from './adapter/CallAdapter';\nimport { CallAdapterProvider, useAdapter } from './adapter/CallAdapterProvider';\nimport { CallPage } from './pages/CallPage';\nimport { ConfigurationPage } from './pages/ConfigurationPage';\nimport { NoticePage } from './pages/NoticePage';\nimport { useSelector } from './hooks/useSelector';\nimport { getEndedCall, getPage, getTargetCallees } from './selectors/baseSelectors';\nimport { LobbyPage } from './pages/LobbyPage';\nimport { TransferPage } from './pages/TransferPage';\nimport { leavingPageStyle, mainScreenContainerStyleDesktop, mainScreenContainerStyleMobile } from './styles/CallComposite.styles';\nimport { CallControlOptions } from './types/CallControlOptions';\nimport { LayerHost, mergeStyles } from '@fluentui/react';\nimport { modalLayerHostStyle } from '../common/styles/ModalLocalAndRemotePIP.styles';\nimport { useId } from '@fluentui/react-hooks';\nimport { HoldPage } from './pages/HoldPage';\nimport { UnsupportedBrowserPage } from './pages/UnsupportedBrowser';\nimport { CallSurvey } from '@azure/communication-calling';\nimport { ParticipantRole, PermissionConstraints } from '@azure/communication-calling';\nimport { MobileChatSidePaneTabHeaderProps } from '../common/TabHeader';\nimport { InjectedSidePaneProps, SidePaneProvider, SidePaneRenderer } from './components/SidePane/SidePaneProvider';\nimport { filterLatestNotifications, getEndedCallPageProps, trackNotificationAsDismissed, updateTrackedNotificationsWithActiveNotifications } from './utils';\nimport { CachedComplianceNotificationProps, computeComplianceNotification } from './utils';\nimport { TrackedNotifications } from './types/ErrorTracking';\nimport { usePropsFor } from './hooks/usePropsFor';\nimport { deviceCountSelector } from './selectors/deviceCountSelector';\nimport { VideoGalleryLayout } from '@internal/react-components';\nimport { capabilitiesChangedInfoAndRoleSelector } from './selectors/capabilitiesChangedInfoAndRoleSelector';\nimport { useTrackedCapabilityChangedNotifications } from './utils/TrackCapabilityChangedNotifications';\nimport { useEndedCallConsoleErrors } from './utils/useConsoleErrors';\nimport { SurveyPage } from './pages/SurveyPage';\nimport { useAudio } from '../common/AudioProvider';\nimport { complianceBannerSelector } from './selectors/complianceBannerSelector';\n\n/**\n * Props for {@link CallComposite}.\n *\n * @public\n */\nexport interface CallCompositeProps extends BaseCompositeProps<CallCompositeIcons> {\n /**\n * An adapter provides logic and data to the composite.\n * Composite can also be controlled using the adapter.\n */\n adapter: CommonCallAdapter;\n /**\n * Optimizes the composite form factor for either desktop or mobile.\n * @remarks `mobile` is currently only optimized for Portrait mode on mobile devices and does not support landscape.\n * @defaultValue 'desktop'\n */\n formFactor?: 'desktop' | 'mobile';\n /**\n * URL to invite new participants to the current call. If this is supplied, a button appears in the Participants\n * Button flyout menu.\n */\n callInvitationUrl?: string;\n /**\n * Flags to enable/disable or customize UI elements of the {@link CallComposite}.\n */\n options?: CallCompositeOptions;\n}\n/**\n * Device Checks.\n * Choose whether or not to block starting a call depending on camera and microphone permission options.\n *\n * @beta\n */\nexport interface DeviceCheckOptions {\n /**\n * Camera Permission prompts for your call.\n * 'required' - requires the permission to be allowed before permitting the user join the call.\n * 'optional' - permission can be disallowed and the user is still permitted to join the call.\n * 'doNotPrompt' - permission is not required and the user is not prompted to allow the permission.\n */\n camera: 'required' | 'optional' | 'doNotPrompt';\n /**\n * Microphone permission prompts for your call.\n * 'required' - requires the permission to be allowed before permitting the user join the call.\n * 'optional' - permission can be disallowed and the user is still permitted to join the call.\n * 'doNotPrompt' - permission is not required and the user is not prompted to allow the permission.\n */\n microphone: 'required' | 'optional' | 'doNotPrompt';\n}\n\n/**\n * Menu options for remote video tiles in {@link VideoGallery}.\n *\n * @public\n */\nexport interface RemoteVideoTileMenuOptions {\n /**\n * If set to true, remote video tiles in the VideoGallery will not have menu options\n *\n * @defaultValue false\n */\n isHidden?: boolean;\n}\n\n/**\n * Options for the local video tile in the Call composite.\n *\n * @public\n */\nexport interface LocalVideoTileOptions {\n /**\n * Position of the local video tile. If unset will render the local tile in the floating local position.\n *\n * @defaultValue 'floating'\n * @remarks 'grid' - local video tile will be rendered in the grid view of the videoGallery.\n * 'floating' - local video tile will be rendered in the floating position and will observe overflow gallery\n * local video tile rules and be docked in the bottom corner.\n * This does not affect the Configuration screen or the side pane Picture in Picture in Picture view.\n */\n position?: 'grid' | 'floating';\n}\n/**\n * Optional features of the {@link CallComposite}.\n *\n * @public\n */\nexport type CallCompositeOptions = {\n /**\n * Surface Azure Communication Services backend errors in the UI with {@link @azure/communication-react#ErrorBar}.\n * Hide or show the error bar.\n * @defaultValue true\n */\n errorBar?: boolean;\n /**\n * Hide or Customize the control bar element.\n * Can be customized by providing an object of type {@link @azure/communication-react#CallControlOptions}.\n * @defaultValue true\n */\n callControls?: boolean | CallControlOptions;\n /**\n * Device permissions check options for your call.\n * Here you can choose what device permissions you prompt the user for,\n * as well as what device permissions must be accepted before starting a call.\n */\n deviceChecks?: DeviceCheckOptions;\n /**\n * Callback you may provide to supply users with further steps to troubleshoot why they have been\n * unable to grant your site the required permissions for the call.\n *\n * @example\n * ```ts\n * onPermissionsTroubleshootingClick: () =>\n * window.open('https://contoso.com/permissions-troubleshooting', '_blank');\n * ```\n *\n * @remarks\n * if this is not supplied, the composite will not show a 'further troubleshooting' link.\n */\n onPermissionsTroubleshootingClick?: (permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n }) => void;\n /**\n * Callback you may provide to supply users with further steps to troubleshoot why they have been\n * having network issues when connecting to the call.\n *\n * @example\n * ```ts\n * onNetworkingTroubleShootingClick?: () =>\n * window.open('https://contoso.com/network-troubleshooting', '_blank');\n * ```\n *\n * @remarks\n * if this is not supplied, the composite will not show a 'network troubleshooting' link.\n */\n onNetworkingTroubleShootingClick?: () => void;\n /**\n * Callback you may provide to supply users with a provided page to showcase supported browsers by ACS.\n *\n * @example\n * ```ts\n * onBrowserTroubleShootingClick?: () =>\n * window.open('https://contoso.com/browser-troubleshooting', '_blank');\n * ```\n *\n * @remarks\n * if this is not supplied, the composite will not show a unsupported browser page.\n */\n onEnvironmentInfoTroubleshootingClick?: () => void;\n /**\n * Remote participant video tile menu options\n */\n remoteVideoTileMenuOptions?: RemoteVideoTileMenuOptions;\n /**\n * Options for controlling the local video tile.\n *\n * @remarks if 'false' the local video tile will not be rendered.\n */\n localVideoTile?: boolean | LocalVideoTileOptions;\n /**\n * Options for controlling video tile.\n */\n videoTilesOptions?: VideoTilesOptions;\n /**\n * Whether to auto show the DTMF Dialer when the call starts in supported scenarios.\n * - Teams Voice Application like Call queue or Auto Attendant\n * - PSTN Calls\n * @defaultValue false\n */\n disableAutoShowDtmfDialer?: boolean;\n /**\n * Options for controlling the starting layout of the composite's video gallery\n */\n galleryOptions?: {\n /**\n * Layout for the gallery when the call starts\n */\n layout?: VideoGalleryLayout;\n };\n /**\n * Options for end of call survey\n */\n surveyOptions?: {\n /**\n * Disable call survey at the end of a call.\n * @defaultValue false\n */\n disableSurvey?: boolean;\n /**\n * Optional callback to redirect users to custom screens when survey is done, note that default end call screen will be shown if this callback is not provided\n * This callback can be used to redirect users to different screens depending on survey state, whether it is submitted, skipped or has a problem when submitting the survey\n */\n onSurveyClosed?: (surveyState: 'sent' | 'skipped' | 'error', surveyError?: string) => void;\n /**\n * Optional callback to handle survey data including free form text response\n * Note that free form text response survey option is only going to be enabled when this callback is provided\n * User will need to handle all free form text response on their own\n */\n onSurveySubmitted?: (callId: string, surveyId: string,\n /**\n * This is the survey results containing star survey data and API tag survey data.\n * This part of the result will always be sent to the calling sdk\n * This callback provides user with the ability to gain access to survey data\n */\n submittedSurvey: CallSurvey,\n /**\n * This is the survey results containing free form text\n * This part of the result will not be handled by composites\n * User will need to collect and handle this information 100% on their own\n * Free form text survey is not going to show in the UI if onSurveySubmitted is not populated\n */\n improvementSuggestions: CallSurveyImprovementSuggestions) => Promise<void>;\n };\n /**\n * Options for setting additional customizations related to personalized branding.\n */\n branding?: {\n /**\n * Logo displayed on the configuration page.\n */\n logo?: {\n /**\n * URL for the logo image.\n *\n * @remarks\n * Recommended size is 80x80 pixels.\n */\n url: string;\n /**\n * Alt text for the logo image.\n */\n alt?: string;\n /**\n * The logo can be displayed as a circle.\n *\n * @defaultValue 'unset'\n */\n shape?: 'unset' | 'circle';\n };\n /**\n * Background image displayed on the configuration page.\n */\n backgroundImage?: {\n /**\n * URL for the background image.\n *\n * @remarks\n * Background image should be larger than 576x567 pixels and smaller than 2048x2048 pixels pixels.\n */\n url: string;\n };\n };\n /**\n * Options for settings related to spotlight.\n */\n spotlight?: {\n /**\n * Flag to hide the menu buttons to start and stop spotlight for remote participants and the local participant.\n * @defaultValue false\n */\n hideSpotlightButtons?: boolean;\n };\n};\ntype MainScreenProps = {\n mobileView: boolean;\n modalLayerHostId: string;\n callInvitationUrl?: string;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n options?: CallCompositeOptions;\n overrideSidePane?: InjectedSidePaneProps;\n onSidePaneIdChange?: (sidePaneId: string | undefined) => void;\n mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n onCloseChatPane?: () => void;\n};\nconst isShowing = (overrideSidePane?: InjectedSidePaneProps): boolean => {\n return !!overrideSidePane?.isActive;\n};\nconst MainScreen = (props: MainScreenProps): JSX.Element => {\n const adapter = useAdapter();\n const {\n camerasCount,\n microphonesCount\n } = useSelector(deviceCountSelector);\n const hasCameras = camerasCount > 0;\n const hasMicrophones = microphonesCount > 0;\n useEffect(() => {\n (async () => {\n const constrain = getQueryOptions({\n role: adapter.getState().call?.role\n });\n {\n constrain.audio = props.options?.deviceChecks?.microphone === 'doNotPrompt' ? false : constrain.audio;\n constrain.video = props.options?.deviceChecks?.camera === 'doNotPrompt' ? false : constrain.video;\n }\n await adapter.askDevicePermission(constrain);\n adapter.queryCameras();\n adapter.queryMicrophones();\n adapter.querySpeakers();\n })();\n }, [adapter, props.options?.deviceChecks,\n // Ensure we re-ask for permissions if the number of devices goes from 0 -> n during a call\n // as we cannot request permissions when there are no devices.\n hasCameras, hasMicrophones]);\n const {\n callInvitationUrl,\n onFetchAvatarPersonaData,\n onFetchParticipantMenuItems\n } = props;\n const page = useSelector(getPage);\n const endedCall = useSelector(getEndedCall);\n const [sidePaneRenderer, setSidePaneRenderer] = React.useState<SidePaneRenderer | undefined>();\n const [injectedSidePaneProps, setInjectedSidePaneProps] = React.useState<InjectedSidePaneProps>();\n const [userSetGalleryLayout, setUserSetGalleryLayout] = useState<VideoGalleryLayout>(props.options?.galleryOptions?.layout ?? 'floatingLocalVideo');\n const [userSetOverflowGalleryPosition, setUserSetOverflowGalleryPosition] = useState<'Responsive' | 'horizontalTop'>('Responsive');\n const overridePropsRef = useRef<InjectedSidePaneProps | undefined>(props.overrideSidePane);\n useEffect(() => {\n setInjectedSidePaneProps(props.overrideSidePane);\n // When the injected side pane is opened, clear the previous side pane active state.\n // this ensures when the injected side pane is \"closed\", the previous side pane is not \"re-opened\".\n if (!isShowing(overridePropsRef.current) && isShowing(props.overrideSidePane)) {\n setSidePaneRenderer(undefined);\n }\n overridePropsRef.current = props.overrideSidePane;\n }, [props.overrideSidePane]);\n const onSidePaneIdChange = props.onSidePaneIdChange;\n useEffect(() => {\n onSidePaneIdChange?.(sidePaneRenderer?.id);\n }, [sidePaneRenderer?.id, onSidePaneIdChange]);\n\n // When the call ends ensure the side pane is set to closed to prevent the side pane being open if the call is re-joined.\n useEffect(() => {\n const closeSidePane = (): void => {\n setSidePaneRenderer(undefined);\n };\n adapter.on('callEnded', closeSidePane);\n return () => {\n adapter.off('callEnded', closeSidePane);\n };\n }, [adapter]);\n const compositeAudioContext = useAudio();\n const capabilitiesChangedInfoAndRole = useSelector(capabilitiesChangedInfoAndRoleSelector);\n const capabilitiesChangedNotificationBarProps = useTrackedCapabilityChangedNotifications(capabilitiesChangedInfoAndRole);\n\n // Track the last dismissed errors of any error kind to prevent errors from re-appearing on subsequent page navigation\n // This works by tracking the most recent timestamp of any active error type.\n // And then tracking when that error type was last dismissed.\n const activeErrors = usePropsFor(ErrorBar).activeErrorMessages;\n const activeInCallErrors = usePropsFor(NotificationStack).activeErrorMessages;\n const activeNotifications = usePropsFor(NotificationStack).activeNotifications;\n const complianceProps = useSelector(complianceBannerSelector);\n const cachedProps = useRef<CachedComplianceNotificationProps>({\n latestBooleanState: {\n callTranscribeState: false,\n callRecordState: false\n },\n latestStringState: {\n callTranscribeState: 'off',\n callRecordState: 'off'\n },\n lastUpdated: Date.now()\n });\n const complianceNotification: ActiveNotification | undefined = useMemo(() => {\n return computeComplianceNotification(complianceProps, cachedProps);\n }, [complianceProps, cachedProps]);\n useEffect(() => {\n if (complianceNotification) {\n activeNotifications.forEach((notification, index) => {\n if (['recordingStarted', 'transcriptionStarted', 'recordingStopped', 'transcriptionStopped', 'recordingAndTranscriptionStarted', 'recordingAndTranscriptionStopped', 'recordingStoppedStillTranscribing', 'transcriptionStoppedStillRecording'].includes(activeNotifications[index].type)) {\n activeNotifications.splice(index, 1);\n }\n });\n activeNotifications.push(complianceNotification);\n }\n setTrackedNotifications(prev => updateTrackedNotificationsWithActiveNotifications(prev, activeNotifications));\n }, [complianceNotification, activeNotifications]);\n const [trackedErrors, setTrackedErrors] = useState<TrackedNotifications>({} as TrackedNotifications);\n const [trackedInCallErrors, setTrackedInCallErrors] = useState<TrackedNotifications>({} as TrackedNotifications);\n const [trackedNotifications, setTrackedNotifications] = useState<TrackedNotifications>({} as TrackedNotifications);\n useEffect(() => {\n setTrackedErrors(prev => updateTrackedNotificationsWithActiveNotifications(prev, activeErrors));\n setTrackedInCallErrors(prev => updateTrackedNotificationsWithActiveNotifications(prev, activeInCallErrors));\n }, [activeErrors, activeInCallErrors]);\n const onDismissError = useCallback((error: ActiveErrorMessage | ActiveNotification) => {\n setTrackedErrors(prev => trackNotificationAsDismissed(error.type, prev));\n setTrackedInCallErrors(prev => trackNotificationAsDismissed(error.type, prev));\n }, []);\n const onDismissNotification = useCallback((notification: ActiveNotification) => {\n setTrackedNotifications(prev => trackNotificationAsDismissed(notification.type, prev));\n }, []);\n const latestErrors = useMemo(() => filterLatestNotifications(activeErrors, trackedErrors), [activeErrors, trackedErrors]);\n const latestInCallErrors = useMemo(() => filterLatestNotifications(activeInCallErrors, trackedInCallErrors), [activeInCallErrors, trackedInCallErrors]) as ActiveNotification[];\n const latestNotifications = useMemo(() => {\n const result = filterLatestNotifications(activeNotifications, trackedNotifications);\n // sort notifications by timestamp from earliest to latest\n result.sort((a, b) => (a.timestamp ?? new Date(Date.now())).getTime() - (b.timestamp ?? new Date(Date.now())).getTime());\n return result;\n }, [activeNotifications, trackedNotifications]) as ActiveNotification[];\n const callees = useSelector(getTargetCallees) as StartCallIdentifier[];\n const locale = useLocale();\n const palette = useTheme().palette;\n const alternateCallerId = adapter.getState().alternateCallerId;\n const leavePageStyle = useMemo(() => leavingPageStyle(palette), [palette]);\n let pageElement: JSX.Element | undefined;\n const [pinnedParticipants, setPinnedParticipants] = useState<string[]>([]);\n switch (page) {\n case 'configuration':\n pageElement = <ConfigurationPage mobileView={props.mobileView} startCallHandler={(): void => {\n if (callees) {\n adapter.startCall(callees, alternateCallerId ? {\n alternateCallerId: {\n phoneNumber: alternateCallerId\n }\n } : {});\n } else {\n adapter.joinCall({\n microphoneOn: 'keep',\n cameraOn: 'keep'\n });\n }\n }} updateSidePaneRenderer={setSidePaneRenderer} latestErrors={latestErrors as ActiveErrorMessage[]} onDismissError={onDismissError} modalLayerHostId={props.modalLayerHostId} deviceChecks={props.options?.deviceChecks} onPermissionsTroubleshootingClick={props.options?.onPermissionsTroubleshootingClick} onNetworkingTroubleShootingClick={props.options?.onNetworkingTroubleShootingClick} capabilitiesChangedNotificationBarProps={capabilitiesChangedNotificationBarProps} logo={props.options?.branding?.logo} backgroundImage={props.options?.branding?.backgroundImage} />;\n break;\n case 'accessDeniedTeamsMeeting':\n pageElement = <NoticePage iconName=\"NoticePageAccessDeniedTeamsMeeting\" title={locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedTitle} moreDetails={locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails} dataUiId={'access-denied-teams-meeting-page'} />;\n break;\n case 'removedFromCall':\n pageElement = <NoticePage iconName=\"NoticePageRemovedFromCall\" title={locale.strings.call.removedFromCallTitle} moreDetails={locale.strings.call.removedFromCallMoreDetails} dataUiId={'removed-from-call-page'} />;\n break;\n case 'joinCallFailedDueToNoNetwork':\n pageElement = <NoticePage iconName=\"NoticePageJoinCallFailedDueToNoNetwork\" title={locale.strings.call.failedToJoinCallDueToNoNetworkTitle} moreDetails={locale.strings.call.failedToJoinCallDueToNoNetworkMoreDetails} dataUiId={'join-call-failed-due-to-no-network-page'} />;\n break;\n case 'leaving':\n pageElement = <NoticePage title={locale.strings.call.leavingCallTitle ?? 'Leaving...'} dataUiId={'leaving-page'} pageStyle={leavePageStyle} disableStartCallButton={true} />;\n break;\n case 'badRequest':\n {\n const {\n title,\n moreDetails,\n disableStartCallButton,\n iconName\n } = getEndedCallPageProps(locale, endedCall);\n pageElement = <NoticePage iconName={iconName} title={title} moreDetails={callees ? '' : moreDetails} dataUiId={'left-call-page'} disableStartCallButton={disableStartCallButton} />;\n break;\n }\n case 'leftCall':\n {\n const {\n title,\n moreDetails,\n disableStartCallButton,\n iconName\n } = getEndedCallPageProps(locale, endedCall);\n if (!props.options?.surveyOptions?.disableSurvey) {\n pageElement = <SurveyPage dataUiId={'left-call-page'} surveyOptions={props.options?.surveyOptions} iconName={iconName} title={title} moreDetails={moreDetails} disableStartCallButton={disableStartCallButton} mobileView={props.mobileView} />;\n break;\n }\n pageElement = <NoticePage iconName={iconName} title={title} moreDetails={callees ? '' : moreDetails} dataUiId={'left-call-page'} disableStartCallButton={disableStartCallButton} />;\n break;\n }\n case 'lobby':\n pageElement = <LobbyPage mobileView={props.mobileView} modalLayerHostId={props.modalLayerHostId} options={props.options} updateSidePaneRenderer={setSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} latestErrors={latestInCallErrors} latestNotifications={latestNotifications} onDismissError={onDismissError} onDismissNotification={onDismissNotification} capabilitiesChangedNotificationBarProps={capabilitiesChangedNotificationBarProps} />;\n break;\n case 'transferring':\n pageElement = <TransferPage mobileView={props.mobileView} modalLayerHostId={props.modalLayerHostId} options={props.options} updateSidePaneRenderer={setSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} onFetchAvatarPersonaData={onFetchAvatarPersonaData} latestErrors={latestInCallErrors} latestNotifications={latestNotifications} onDismissError={onDismissError} onDismissNotification={onDismissNotification} capabilitiesChangedNotificationBarProps={capabilitiesChangedNotificationBarProps} />;\n break;\n case 'call':\n pageElement = <CallPage callInvitationURL={callInvitationUrl} onFetchAvatarPersonaData={onFetchAvatarPersonaData} onFetchParticipantMenuItems={onFetchParticipantMenuItems} mobileView={props.mobileView} modalLayerHostId={props.modalLayerHostId} options={props.options} updateSidePaneRenderer={setSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} onCloseChatPane={props.onCloseChatPane} latestErrors={latestInCallErrors} latestNotifications={latestNotifications} onDismissError={onDismissError} onDismissNotification={onDismissNotification} galleryLayout={userSetGalleryLayout} onUserSetGalleryLayoutChange={setUserSetGalleryLayout} onSetUserSetOverflowGalleryPosition={setUserSetOverflowGalleryPosition} userSetOverflowGalleryPosition={userSetOverflowGalleryPosition} capabilitiesChangedNotificationBarProps={capabilitiesChangedNotificationBarProps} pinnedParticipants={pinnedParticipants} setPinnedParticipants={setPinnedParticipants} compositeAudioContext={compositeAudioContext} disableAutoShowDtmfDialer={props.options?.disableAutoShowDtmfDialer} />;\n break;\n case 'hold':\n pageElement = <>\n {<HoldPage mobileView={props.mobileView} modalLayerHostId={props.modalLayerHostId} options={props.options} updateSidePaneRenderer={setSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} latestErrors={latestInCallErrors} latestNotifications={latestNotifications} onDismissError={onDismissError} onDismissNotification={onDismissNotification} capabilitiesChangedNotificationBarProps={capabilitiesChangedNotificationBarProps} />}\n </>;\n break;\n }\n useEndedCallConsoleErrors(endedCall);\n switch (page) {\n case 'unsupportedEnvironment':\n pageElement = <>\n {<UnsupportedBrowserPage onTroubleshootingClick={props.options?.onEnvironmentInfoTroubleshootingClick} environmentInfo={adapter.getState().environmentInfo} />}\n </>;\n break;\n }\n if (!pageElement) {\n throw new Error('Invalid call composite page');\n }\n return <SidePaneProvider sidePaneRenderer={sidePaneRenderer} overrideSidePane={injectedSidePaneProps}>\n {pageElement}\n </SidePaneProvider>;\n};\n\n/**\n * A customizable UI composite for calling experience.\n *\n * @remarks Call composite min width/height are as follow:\n * - mobile: 17.5rem x 21rem (280px x 336px, with default rem at 16px)\n * - desktop: 30rem x 22rem (480px x 352px, with default rem at 16px)\n *\n * @public\n */\nexport const CallComposite = (props: CallCompositeProps): JSX.Element => <CallCompositeInner {...props} />;\n\n/**\n * @private\n */\nexport interface InternalCallCompositeProps {\n overrideSidePane?: InjectedSidePaneProps;\n onSidePaneIdChange?: (sidePaneId: string | undefined) => void;\n onCloseChatPane?: () => void;\n // legacy property to avoid breaking change\n mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n}\n\n/** @private */\nexport const CallCompositeInner = (props: CallCompositeProps & InternalCallCompositeProps): JSX.Element => {\n const {\n adapter,\n callInvitationUrl,\n onFetchAvatarPersonaData,\n onFetchParticipantMenuItems,\n options,\n formFactor = 'desktop'\n } = props;\n const mobileView = formFactor === 'mobile';\n const modalLayerHostId = useId('modalLayerhost');\n const mainScreenContainerClassName = useMemo(() => {\n return mobileView ? mainScreenContainerStyleMobile : mainScreenContainerStyleDesktop;\n }, [mobileView]);\n return <div className={mainScreenContainerClassName}>\n <BaseProvider {...props}>\n <CallAdapterProvider adapter={adapter}>\n <MainScreen callInvitationUrl={callInvitationUrl} onFetchAvatarPersonaData={onFetchAvatarPersonaData} onFetchParticipantMenuItems={onFetchParticipantMenuItems} mobileView={mobileView} modalLayerHostId={modalLayerHostId} options={options} onSidePaneIdChange={props.onSidePaneIdChange} overrideSidePane={props.overrideSidePane} mobileChatTabHeader={props.mobileChatTabHeader} onCloseChatPane={props.onCloseChatPane} />\n {\n // This layer host is for ModalLocalAndRemotePIP in SidePane. This LayerHost cannot be inside the SidePane\n // because when the SidePane is hidden, ie. style property display is 'none', it takes up no space. This causes problems when dragging\n // the Modal because the draggable bounds thinks it has no space and will always return to its initial position after dragging.\n // Additionally, this layer host cannot be in the Call Arrangement as it needs to be rendered before useMinMaxDragPosition() in\n // common/utils useRef is called.\n // Warning: this is fragile and works because the call arrangement page is only rendered after the call has connected and thus this\n // LayerHost will be guaranteed to have rendered (and subsequently mounted in the DOM). This ensures the DOM element will be available\n // before the call to `document.getElementById(modalLayerHostId)` is made.\n <LayerHost id={modalLayerHostId} className={mergeStyles(modalLayerHostStyle)} />}\n </CallAdapterProvider>\n </BaseProvider>\n </div>;\n};\nconst getQueryOptions = (options: {\n role?: ParticipantRole;\n}): PermissionConstraints => {\n if (options.role === 'Consumer') {\n return {\n video: false,\n audio: true\n };\n }\n return {\n video: true,\n audio: true\n };\n};"]}
@@ -813,5 +813,39 @@ export interface CallCompositeStrings {
813
813
  * Label for mute all cancel button
814
814
  */
815
815
  muteAllCancelButtonLabel: string;
816
+ /**
817
+ * Label for join breakout room button
818
+ */
819
+ joinBreakoutRoomButtonLabel: string;
820
+ /**
821
+ * Label for button to return from breakout room
822
+ */
823
+ returnFromBreakoutRoomButtonLabel: string;
824
+ /**
825
+ * Label for button to leave breakout room and meeting
826
+ */
827
+ leaveBreakoutRoomAndMeetingButtonLabel: string;
828
+ /**
829
+ * Notification title for when a user joins a breakout room
830
+ */
831
+ breakoutRoomJoinedNotificationTitle: string;
832
+ /**
833
+ * Title for banner to join the assigned breakout room. The banner is shown in mobile view instead of the
834
+ * notification.
835
+ */
836
+ joinBreakoutRoomBannerTitle: string;
837
+ /**
838
+ * Label for button in banner to join breakout room. The banner is shown in mobile view instead of the notification.
839
+ */
840
+ joinBreakoutRoomBannerButtonLabel: string;
841
+ /**
842
+ * Title for banner to return from breakout room. The banner is shown in mobile view instead of the notification.
843
+ */
844
+ returnFromBreakoutRoomBannerTitle: string;
845
+ /**
846
+ * Label for button in banner to return from breakout room. The banner is shown in mobile view instead of the
847
+ * notification.
848
+ */
849
+ returnFromBreakoutRoomBannerButtonLabel: string;
816
850
  }
817
851
  //# sourceMappingURL=Strings.d.ts.map