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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (523) hide show
  1. package/dist/communication-react.d.ts +70 -1840
  2. package/dist/dist-cjs/communication-react/index.js +38777 -177
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/common.d.ts +0 -13
  5. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  6. package/dist/dist-esm/acs-ui-common/src/constants.d.ts +0 -5
  7. package/dist/dist-esm/acs-ui-common/src/constants.js +0 -5
  8. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/index.d.ts +0 -4
  10. package/dist/dist-esm/acs-ui-common/src/index.js +0 -3
  11. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  14. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +0 -5
  15. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +0 -6
  16. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  17. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +0 -19
  18. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +0 -59
  19. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  20. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +1 -30
  21. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  22. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +1 -16
  23. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
  24. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +0 -1
  25. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +1 -3
  26. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  27. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.d.ts +0 -5
  28. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +3 -8
  29. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  30. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js +2 -0
  31. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js.map +1 -1
  32. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +0 -4
  33. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  34. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +6 -127
  35. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  36. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +1 -20
  37. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +4 -136
  38. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  39. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +3 -0
  40. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  41. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +2 -5
  42. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +15 -27
  43. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  44. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +0 -6
  45. package/dist/dist-esm/calling-stateful-client/src/Converter.js +0 -22
  46. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  47. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.d.ts +0 -9
  48. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +1 -45
  49. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  50. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.d.ts +0 -1
  51. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +1 -7
  52. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  53. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +2 -3
  54. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +0 -7
  55. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  56. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +0 -8
  57. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  58. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +0 -17
  59. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  60. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +0 -2
  61. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  62. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +2 -6
  63. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +2 -35
  64. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  65. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.d.ts +1 -2
  66. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js +0 -4
  67. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  68. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +2 -25
  69. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  70. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -3
  71. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  72. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -15
  73. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  74. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +1 -2
  75. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  76. package/dist/dist-esm/chat-stateful-client/src/index.d.ts +0 -1
  77. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  78. package/dist/dist-esm/communication-react/src/index.d.ts +0 -28
  79. package/dist/dist-esm/communication-react/src/index.js +0 -6
  80. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  81. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.d.ts +0 -2
  82. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js +0 -1
  83. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js.map +1 -1
  84. package/dist/dist-esm/react-components/src/components/CaptionsBanner.d.ts +1 -1
  85. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +7 -9
  86. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  87. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +1 -13
  88. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +3 -9
  89. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  90. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +0 -11
  91. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +2 -32
  92. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  93. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +1 -8
  94. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +5 -9
  95. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  96. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.d.ts +1 -2
  97. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +4 -4
  98. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
  99. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.d.ts +1 -4
  100. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +6 -31
  101. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
  102. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +1 -15
  103. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +0 -9
  104. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
  105. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +2 -23
  106. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +6 -17
  107. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  108. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +1 -8
  109. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +6 -10
  110. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  111. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +5 -5
  112. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  113. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +0 -2
  114. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
  115. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +0 -2
  116. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +0 -15
  117. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  118. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.d.ts +0 -2
  119. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js +1 -5
  120. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js.map +1 -1
  121. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +5 -81
  122. package/dist/dist-esm/react-components/src/components/MessageThread.js +3 -13
  123. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  124. package/dist/dist-esm/react-components/src/components/NotificationStack.d.ts +4 -4
  125. package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
  126. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +0 -15
  127. package/dist/dist-esm/react-components/src/components/ParticipantList.js +3 -12
  128. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  129. package/dist/dist-esm/react-components/src/components/RealTimeText.d.ts +3 -3
  130. package/dist/dist-esm/react-components/src/components/RealTimeText.js +1 -1
  131. package/dist/dist-esm/react-components/src/components/RealTimeText.js.map +1 -1
  132. package/dist/dist-esm/react-components/src/components/RealTimeTextModal.d.ts +3 -3
  133. package/dist/dist-esm/react-components/src/components/RealTimeTextModal.js +2 -2
  134. package/dist/dist-esm/react-components/src/components/RealTimeTextModal.js.map +1 -1
  135. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +1 -47
  136. package/dist/dist-esm/react-components/src/components/SendBox.js +6 -57
  137. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  138. package/dist/dist-esm/react-components/src/components/StartRealTimeTextButton.d.ts +3 -3
  139. package/dist/dist-esm/react-components/src/components/StartRealTimeTextButton.js +1 -1
  140. package/dist/dist-esm/react-components/src/components/StartRealTimeTextButton.js.map +1 -1
  141. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +0 -1
  142. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  143. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +0 -1
  144. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  145. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +0 -19
  146. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  147. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +0 -1
  148. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  149. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +1 -1
  150. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  151. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.d.ts +0 -5
  152. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  153. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +1 -34
  154. package/dist/dist-esm/react-components/src/components/VideoGallery.js +5 -18
  155. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  156. package/dist/dist-esm/react-components/src/components/index.d.ts +0 -21
  157. package/dist/dist-esm/react-components/src/components/index.js +0 -8
  158. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  159. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.d.ts +1 -1
  160. package/dist/dist-esm/react-components/src/components/styles/AttachmentCardGroup.styles.d.ts +1 -1
  161. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +3 -3
  162. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +4 -10
  163. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  164. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +1 -37
  165. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +3 -30
  166. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  167. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +2 -4
  168. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +2 -9
  169. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  170. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +1 -38
  171. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +4 -131
  172. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  173. package/dist/dist-esm/react-components/src/components/utils/common.js +0 -2
  174. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  175. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +1 -2
  176. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  177. package/dist/dist-esm/react-components/src/components/utils.js +2 -2
  178. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  179. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +0 -4
  180. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +1 -3
  181. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  182. package/dist/dist-esm/react-components/src/index.d.ts +0 -2
  183. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  184. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +0 -54
  185. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  186. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +10 -0
  187. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +10 -0
  188. package/dist/dist-esm/react-components/src/localization/locales/cy-GB/strings.json +10 -0
  189. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +10 -0
  190. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +10 -0
  191. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +10 -0
  192. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +10 -0
  193. package/dist/dist-esm/react-components/src/localization/locales/es-MX/strings.json +10 -0
  194. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +10 -0
  195. package/dist/dist-esm/react-components/src/localization/locales/fr-CA/strings.json +10 -0
  196. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +10 -0
  197. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +10 -0
  198. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +10 -0
  199. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +10 -0
  200. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +10 -0
  201. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +10 -0
  202. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +10 -0
  203. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +10 -0
  204. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +10 -0
  205. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +10 -0
  206. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +10 -0
  207. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +10 -0
  208. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +10 -0
  209. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +10 -0
  210. package/dist/dist-esm/react-components/src/theming/icons.d.ts +2 -26
  211. package/dist/dist-esm/react-components/src/theming/icons.js +3 -87
  212. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  213. package/dist/dist-esm/react-components/src/theming/themes.d.ts +0 -6
  214. package/dist/dist-esm/react-components/src/theming/themes.js +0 -9
  215. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  216. package/dist/dist-esm/react-components/src/types/Attachment.d.ts +0 -13
  217. package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
  218. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -20
  219. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  220. package/dist/dist-esm/react-components/src/types/index.d.ts +0 -1
  221. package/dist/dist-esm/react-components/src/types/index.js +0 -1
  222. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  223. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +15 -72
  224. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +10 -23
  225. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  226. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +5 -43
  227. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +15 -52
  228. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  229. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +3 -49
  230. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -1
  231. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  232. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +0 -2
  233. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  234. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js.map +1 -1
  235. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +3 -1
  236. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +9 -8
  237. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  238. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +0 -2
  239. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +0 -19
  240. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  241. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +2 -10
  242. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  243. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +0 -2
  244. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +0 -19
  245. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  246. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +0 -1
  247. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +3 -5
  248. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  249. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts +1 -0
  250. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +5 -7
  251. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  252. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +9 -7
  253. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  254. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js +2 -0
  255. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js.map +1 -1
  256. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +0 -15
  257. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  258. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +1 -3
  259. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  260. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +2 -1
  261. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +16 -6
  262. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  263. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +0 -7
  264. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +5 -40
  265. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  266. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +2 -2
  267. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  268. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +2 -2
  269. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  270. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +2 -2
  271. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  272. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +1 -17
  273. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +0 -14
  274. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  275. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +1 -12
  276. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +0 -55
  277. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  278. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +0 -65
  279. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +6 -12
  280. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  281. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +4 -17
  282. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +2 -42
  283. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  284. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +2 -63
  285. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  286. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +0 -6
  287. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +0 -7
  288. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  289. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +4 -10
  290. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +2 -14
  291. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  292. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +0 -8
  293. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  294. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  295. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +0 -27
  296. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +1 -2
  297. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  298. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts +0 -2
  299. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +11 -189
  300. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  301. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +0 -20
  302. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  303. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -6
  304. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +0 -36
  305. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  306. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -12
  307. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  308. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +2 -13
  309. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  310. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +0 -2
  311. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  312. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +0 -4
  313. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +0 -4
  314. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -1
  315. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +1 -2
  316. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  317. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +3 -33
  318. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  319. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +6 -33
  320. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  321. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +1 -2
  322. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  323. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +2 -41
  324. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +0 -21
  325. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
  326. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  327. package/dist/dist-esm/react-composites/src/composites/common/constants.d.ts +0 -5
  328. package/dist/dist-esm/react-composites/src/composites/common/constants.js +0 -5
  329. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  330. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +3 -36
  331. package/dist/dist-esm/react-composites/src/composites/common/icons.js +1 -5
  332. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  333. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  334. package/package.json +4 -4
  335. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-_ut2lrbr.js +0 -205
  336. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-_ut2lrbr.js.map +0 -1
  337. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-7nvSQdDx.js +0 -49
  338. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-7nvSQdDx.js.map +0 -1
  339. package/dist/dist-cjs/communication-react/index-BHwWI_Bx.js +0 -45874
  340. package/dist/dist-cjs/communication-react/index-BHwWI_Bx.js.map +0 -1
  341. package/dist/dist-esm/acs-ui-common/src/dataConversion.d.ts +0 -6
  342. package/dist/dist-esm/acs-ui-common/src/dataConversion.js +0 -20
  343. package/dist/dist-esm/acs-ui-common/src/dataConversion.js.map +0 -1
  344. package/dist/dist-esm/acs-ui-common/src/removeImageTags.d.ts +0 -7
  345. package/dist/dist-esm/acs-ui-common/src/removeImageTags.js +0 -18
  346. package/dist/dist-esm/acs-ui-common/src/removeImageTags.js.map +0 -1
  347. package/dist/dist-esm/calling-stateful-client/src/CallFeatureStreamUtils.d.ts +0 -14
  348. package/dist/dist-esm/calling-stateful-client/src/CallFeatureStreamUtils.js +0 -204
  349. package/dist/dist-esm/calling-stateful-client/src/CallFeatureStreamUtils.js.map +0 -1
  350. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.d.ts +0 -17
  351. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +0 -33
  352. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +0 -1
  353. package/dist/dist-esm/calling-stateful-client/src/TogetherModeSubscriber.d.ts +0 -24
  354. package/dist/dist-esm/calling-stateful-client/src/TogetherModeSubscriber.js +0 -60
  355. package/dist/dist-esm/calling-stateful-client/src/TogetherModeSubscriber.js.map +0 -1
  356. package/dist/dist-esm/calling-stateful-client/src/TogetherModeVideoStreamSubscriber.d.ts +0 -18
  357. package/dist/dist-esm/calling-stateful-client/src/TogetherModeVideoStreamSubscriber.js +0 -31
  358. package/dist/dist-esm/calling-stateful-client/src/TogetherModeVideoStreamSubscriber.js.map +0 -1
  359. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.d.ts +0 -6
  360. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js +0 -20
  361. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js.map +0 -1
  362. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +0 -10
  363. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +0 -15
  364. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +0 -1
  365. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +0 -24
  366. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +0 -196
  367. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +0 -1
  368. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +0 -69
  369. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +0 -36
  370. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +0 -1
  371. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +0 -75
  372. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +0 -67
  373. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +0 -1
  374. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +0 -105
  375. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +0 -51
  376. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +0 -1
  377. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +0 -86
  378. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +0 -40
  379. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +0 -1
  380. package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +0 -121
  381. package/dist/dist-esm/react-components/src/components/MentionPopover.js +0 -119
  382. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +0 -1
  383. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.d.ts +0 -9
  384. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js +0 -29
  385. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js.map +0 -1
  386. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.d.ts +0 -30
  387. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +0 -98
  388. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +0 -1
  389. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.d.ts +0 -19
  390. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js +0 -43
  391. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js.map +0 -1
  392. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.d.ts +0 -15
  393. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js +0 -42
  394. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js.map +0 -1
  395. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.d.ts +0 -24
  396. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js +0 -64
  397. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js.map +0 -1
  398. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.d.ts +0 -20
  399. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js +0 -45
  400. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js.map +0 -1
  401. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.d.ts +0 -14
  402. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js +0 -42
  403. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js.map +0 -1
  404. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.d.ts +0 -30
  405. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js +0 -99
  406. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js.map +0 -1
  407. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.d.ts +0 -59
  408. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +0 -332
  409. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +0 -1
  410. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +0 -37
  411. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +0 -78
  412. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +0 -1
  413. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +0 -215
  414. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +0 -177
  415. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +0 -1
  416. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.d.ts +0 -16
  417. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +0 -75
  418. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +0 -1
  419. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxUtils.d.ts +0 -9
  420. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxUtils.js +0 -16
  421. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxUtils.js.map +0 -1
  422. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.d.ts +0 -19
  423. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js +0 -229
  424. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js.map +0 -1
  425. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.d.ts +0 -7
  426. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js +0 -51
  427. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js.map +0 -1
  428. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.d.ts +0 -15
  429. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js +0 -64
  430. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js.map +0 -1
  431. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.d.ts +0 -6
  432. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js +0 -13
  433. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js.map +0 -1
  434. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.d.ts +0 -56
  435. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +0 -75
  436. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +0 -1
  437. package/dist/dist-esm/react-components/src/components/SendBoxErrors.d.ts +0 -14
  438. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +0 -18
  439. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +0 -1
  440. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +0 -24
  441. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +0 -550
  442. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +0 -1
  443. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +0 -152
  444. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +0 -819
  445. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +0 -1
  446. package/dist/dist-esm/react-components/src/components/TogetherModeOverlay.d.ts +0 -15
  447. package/dist/dist-esm/react-components/src/components/TogetherModeOverlay.js +0 -91
  448. package/dist/dist-esm/react-components/src/components/TogetherModeOverlay.js.map +0 -1
  449. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeLayout.d.ts +0 -10
  450. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeLayout.js +0 -14
  451. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeLayout.js.map +0 -1
  452. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeStream.d.ts +0 -23
  453. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeStream.js +0 -47
  454. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeStream.js.map +0 -1
  455. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +0 -58
  456. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +0 -144
  457. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +0 -1
  458. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +0 -26
  459. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +0 -69
  460. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +0 -1
  461. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.d.ts +0 -82
  462. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +0 -324
  463. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +0 -1
  464. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.d.ts +0 -21
  465. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js +0 -38
  466. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js.map +0 -1
  467. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +0 -38
  468. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +0 -99
  469. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +0 -1
  470. package/dist/dist-esm/react-components/src/components/styles/Stack.style.d.ts +0 -5
  471. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js +0 -32
  472. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +0 -1
  473. package/dist/dist-esm/react-components/src/components/styles/TogetherMode.styles.d.ts +0 -98
  474. package/dist/dist-esm/react-components/src/components/styles/TogetherMode.styles.js +0 -181
  475. package/dist/dist-esm/react-components/src/components/styles/TogetherMode.styles.js.map +0 -1
  476. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +0 -26
  477. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +0 -69
  478. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +0 -1
  479. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.d.ts +0 -73
  480. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +0 -178
  481. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +0 -1
  482. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.d.ts +0 -33
  483. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js +0 -119
  484. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js.map +0 -1
  485. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +0 -7
  486. package/dist/dist-esm/react-components/src/components/utils/merge.js +0 -16
  487. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +0 -1
  488. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +0 -6
  489. package/dist/dist-esm/react-components/src/theming/icons.styles.js +0 -25
  490. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +0 -1
  491. package/dist/dist-esm/react-components/src/types/TogetherModeTypes.d.ts +0 -59
  492. package/dist/dist-esm/react-components/src/types/TogetherModeTypes.js +0 -2
  493. package/dist/dist-esm/react-components/src/types/TogetherModeTypes.js.map +0 -1
  494. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +0 -49
  495. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +0 -203
  496. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +0 -1
  497. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +0 -15
  498. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +0 -41
  499. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +0 -1
  500. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.d.ts +0 -15
  501. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js +0 -23
  502. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js.map +0 -1
  503. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +0 -18
  504. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +0 -18
  505. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +0 -1
  506. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.d.ts +0 -49
  507. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js +0 -44
  508. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js.map +0 -1
  509. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.d.ts +0 -39
  510. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js +0 -265
  511. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js.map +0 -1
  512. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.d.ts +0 -80
  513. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js +0 -36
  514. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +0 -1
  515. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.d.ts +0 -38
  516. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +0 -67
  517. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +0 -1
  518. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +0 -5
  519. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js +0 -5
  520. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +0 -1
  521. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.d.ts +0 -10
  522. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js +0 -16
  523. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MediaGallery.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/MediaGallery.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { CSSProperties, useCallback, useMemo } from 'react';\nimport { useRef } from 'react';\nimport { VideoGallery, VideoStreamOptions, CustomAvatarOptions, Announcer, VideoTileContextualMenuProps, VideoTileDrawerMenuProps, LocalScreenShareView } from '@internal/react-components';\nimport { VideoGalleryLayout } from '@internal/react-components';\nimport { _useContainerWidth, _useContainerHeight } from '@internal/react-components';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { AvatarPersona, AvatarPersonaDataCallback } from '../../common/AvatarPersona';\nimport { mergeStyles, Stack } from '@fluentui/react';\nimport { useHandlers } from '../hooks/useHandlers';\nimport { useSelector } from '../hooks/useSelector';\nimport { localVideoCameraCycleButtonSelector } from '../selectors/LocalVideoTileSelector';\nimport { LocalVideoCameraCycleButton } from '@internal/react-components';\nimport { _formatString } from '@internal/acs-ui-common';\nimport { useParticipantChangedAnnouncement } from '../utils/MediaGalleryUtils';\nimport { RemoteVideoTileMenuOptions } from '../CallComposite';\nimport { LocalVideoTileOptions } from '../CallComposite';\nimport { PromptProps } from './Prompt';\nimport { useLocalSpotlightCallbacksWithPrompt, useRemoteSpotlightCallbacksWithPrompt } from '../utils/spotlightUtils';\nimport { VideoTilesOptions } from '@internal/react-components';\nimport { getCapabilites, getIsRoomsCall, getReactionResources, getRole } from '../selectors/baseSelectors';\nconst VideoGalleryStyles = {\n root: {\n height: '100%',\n minHeight: '10rem',\n // space affordance to ensure media gallery is never collapsed\n minWidth: '6rem'\n }\n};\nconst localVideoViewOptions = {\n scalingMode: 'Crop',\n isMirrored: true\n} as VideoStreamOptions;\nconst remoteVideoViewOptions = {\n scalingMode: 'Crop'\n} as VideoStreamOptions;\n\n/**\n * @private\n */\nexport interface MediaGalleryProps {\n isVideoStreamOn?: boolean;\n isMicrophoneChecked?: boolean;\n onStartLocalVideo: () => Promise<void>;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n isMobile?: boolean;\n drawerMenuHostId?: string;\n remoteVideoTileMenuOptions?: RemoteVideoTileMenuOptions;\n localVideoTileOptions?: boolean | LocalVideoTileOptions;\n userSetOverflowGalleryPosition?: 'Responsive' | 'horizontalTop';\n userSetGalleryLayout: VideoGalleryLayout;\n pinnedParticipants?: string[];\n setPinnedParticipants?: (pinnedParticipants: string[]) => void;\n setIsPromptOpen: (isOpen: boolean) => void;\n setPromptProps: (props: PromptProps) => void;\n hideSpotlightButtons?: boolean;\n videoTilesOptions?: VideoTilesOptions;\n captionsOptions?: {\n height: 'full' | 'default';\n };\n localScreenShareView?: LocalScreenShareView;\n}\n\n/**\n * @private\n */\nexport const MediaGallery = (props: MediaGalleryProps): JSX.Element => {\n const {\n pinnedParticipants = [],\n setPinnedParticipants,\n setIsPromptOpen,\n setPromptProps,\n hideSpotlightButtons,\n videoTilesOptions,\n captionsOptions\n } = props;\n const videoGalleryProps = usePropsFor(VideoGallery);\n const cameraSwitcherCameras = useSelector(localVideoCameraCycleButtonSelector);\n const cameraSwitcherCallback = useHandlers(LocalVideoCameraCycleButton);\n const announcerString = useParticipantChangedAnnouncement();\n const userRole = useSelector(getRole);\n const capabilities = useSelector(getCapabilites);\n const isRoomsCall = useSelector(getIsRoomsCall);\n const containerRef = useRef<HTMLDivElement>(null);\n const containerWidth = _useContainerWidth(containerRef);\n const containerHeight = _useContainerHeight(containerRef);\n const containerAspectRatio = containerWidth && containerHeight ? containerWidth / containerHeight : 0;\n const reactionResources = useSelector(getReactionResources);\n const layoutBasedOnTilePosition: VideoGalleryLayout = getVideoGalleryLayoutBasedOnLocalOptions((props.localVideoTileOptions as LocalVideoTileOptions)?.position);\n const cameraSwitcherProps = useMemo(() => {\n return {\n ...cameraSwitcherCallback,\n ...cameraSwitcherCameras\n };\n }, [cameraSwitcherCallback, cameraSwitcherCameras]);\n const onRenderAvatar = useCallback((userId?: string, options?: CustomAvatarOptions) => {\n return <Stack className={mergeStyles({\n position: 'absolute',\n height: '100%',\n width: '100%'\n })}>\n <Stack styles={{\n root: {\n margin: 'auto',\n maxHeight: '100%'\n }\n }}>\n {options?.coinSize && <AvatarPersona userId={userId} {...options} dataProvider={props.onFetchAvatarPersonaData} />}\n </Stack>\n </Stack>;\n }, [props.onFetchAvatarPersonaData]);\n const remoteVideoTileMenuOptions: false | VideoTileContextualMenuProps | VideoTileDrawerMenuProps = useMemo(() => {\n return props.remoteVideoTileMenuOptions?.isHidden ? false : props.isMobile ? {\n kind: 'drawer',\n hostId: props.drawerMenuHostId\n } : {\n kind: 'contextual'\n };\n }, [props.remoteVideoTileMenuOptions?.isHidden, props.isMobile, props.drawerMenuHostId]);\n const overflowGalleryPosition = useMemo(() => {\n return containerWidth && containerHeight && containerWidth / containerHeight >= 16 / 9 ? 'verticalRight' : 'horizontalBottom';\n }, [containerWidth, containerHeight]);\n const {\n onStartLocalSpotlight,\n onStopLocalSpotlight,\n onStartRemoteSpotlight,\n onStopRemoteSpotlight\n } = videoGalleryProps;\n const {\n onStartLocalSpotlightWithPrompt,\n onStopLocalSpotlightWithPrompt\n } = useLocalSpotlightCallbacksWithPrompt(onStartLocalSpotlight, onStopLocalSpotlight, setIsPromptOpen, setPromptProps);\n const {\n onStartRemoteSpotlightWithPrompt,\n onStopRemoteSpotlightWithPrompt\n } = useRemoteSpotlightCallbacksWithPrompt(onStartRemoteSpotlight, onStopRemoteSpotlight, setIsPromptOpen, setPromptProps);\n const galleryStyles = useMemo(() => {\n return {\n ...VideoGalleryStyles,\n ...(captionsOptions?.height === 'full' ? {\n root: {\n postion: 'absolute'\n }\n } : {})\n };\n }, [captionsOptions?.height]);\n const onPinParticipant = useMemo(() => {\n return setPinnedParticipants ? (userId: string) => {\n if (!pinnedParticipants.includes(userId)) {\n setPinnedParticipants(pinnedParticipants.concat(userId));\n }\n } : undefined;\n }, [setPinnedParticipants, pinnedParticipants]);\n const onUnpinParticipant = useMemo(() => {\n return setPinnedParticipants ? (userId: string) => {\n setPinnedParticipants(pinnedParticipants.filter(participantId => participantId !== userId));\n } : undefined;\n }, [setPinnedParticipants, pinnedParticipants]);\n const VideoGalleryMemoized = useMemo(() => {\n const layoutBasedOnUserSelection = (): VideoGalleryLayout => {\n return props.localVideoTileOptions ? layoutBasedOnTilePosition : props.userSetGalleryLayout;\n };\n return <VideoGallery {...videoGalleryProps} videoTilesOptions={videoTilesOptions} localVideoViewOptions={localVideoViewOptions} remoteVideoViewOptions={remoteVideoViewOptions} styles={galleryStyles} layout={layoutBasedOnUserSelection()} showCameraSwitcherInLocalPreview={props.isMobile} localVideoCameraCycleButtonProps={cameraSwitcherProps} onRenderAvatar={onRenderAvatar} remoteVideoTileMenu={remoteVideoTileMenuOptions} overflowGalleryPosition={overflowGalleryPosition} localVideoTileSize={props.localVideoTileOptions === false || userRole === 'Consumer' || isRoomsCall && userRole === 'Unknown' ? 'hidden' : props.isMobile && containerAspectRatio < 1 ? '9:16' : '16:9'} pinnedParticipants={pinnedParticipants} onPinParticipant={onPinParticipant} onUnpinParticipant={onUnpinParticipant} reactionResources={reactionResources} onStartLocalSpotlight={hideSpotlightButtons ? undefined : onStartLocalSpotlightWithPrompt} onStopLocalSpotlight={hideSpotlightButtons ? undefined : onStopLocalSpotlightWithPrompt} onStartRemoteSpotlight={hideSpotlightButtons ? undefined : onStartRemoteSpotlightWithPrompt} onStopRemoteSpotlight={hideSpotlightButtons ? undefined : onStopRemoteSpotlightWithPrompt} onMuteParticipant={capabilities?.muteOthers?.isPresent || userRole === 'Unknown' ? videoGalleryProps.onMuteParticipant : undefined} localScreenShareView={props.localScreenShareView} />;\n }, [videoGalleryProps, videoTilesOptions, galleryStyles, props.isMobile, props.localVideoTileOptions, props.userSetGalleryLayout, cameraSwitcherProps, onRenderAvatar, remoteVideoTileMenuOptions, overflowGalleryPosition, userRole, isRoomsCall, containerAspectRatio, pinnedParticipants, onPinParticipant, onUnpinParticipant, reactionResources, hideSpotlightButtons, onStartLocalSpotlightWithPrompt, onStopLocalSpotlightWithPrompt, onStartRemoteSpotlightWithPrompt, onStopRemoteSpotlightWithPrompt, layoutBasedOnTilePosition, capabilities?.muteOthers, props.localScreenShareView]);\n return <div ref={containerRef} style={mediaGalleryContainerStyles}>\n <Announcer announcementString={announcerString} ariaLive={'polite'} />\n {VideoGalleryMemoized}\n </div>;\n};\nconst mediaGalleryContainerStyles: CSSProperties = {\n width: '100%',\n height: '100%'\n};\nconst getVideoGalleryLayoutBasedOnLocalOptions = (localTileOptions?: string): VideoGalleryLayout => {\n return localTileOptions === 'grid' ? 'default' : 'floatingLocalVideo';\n};"]}
1
+ {"version":3,"file":"MediaGallery.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/MediaGallery.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { CSSProperties, useCallback, useMemo, useRef } from 'react';\nimport { VideoGallery, VideoStreamOptions, CustomAvatarOptions, Announcer, VideoTileContextualMenuProps, VideoTileDrawerMenuProps, LocalScreenShareView } from '@internal/react-components';\nimport { VideoGalleryLayout } from '@internal/react-components';\nimport { _useContainerWidth, _useContainerHeight } from '@internal/react-components';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { AvatarPersona, AvatarPersonaDataCallback } from '../../common/AvatarPersona';\nimport { mergeStyles, Stack } from '@fluentui/react';\nimport { useHandlers } from '../hooks/useHandlers';\nimport { useSelector } from '../hooks/useSelector';\nimport { localVideoCameraCycleButtonSelector } from '../selectors/LocalVideoTileSelector';\nimport { LocalVideoCameraCycleButton } from '@internal/react-components';\nimport { _formatString } from '@internal/acs-ui-common';\nimport { useParticipantChangedAnnouncement } from '../utils/MediaGalleryUtils';\nimport { RemoteVideoTileMenuOptions } from '../CallComposite';\nimport { LocalVideoTileOptions } from '../CallComposite';\nimport { PromptProps } from './Prompt';\nimport { useLocalSpotlightCallbacksWithPrompt, useRemoteSpotlightCallbacksWithPrompt } from '../utils/spotlightUtils';\nimport { VideoTilesOptions } from '@internal/react-components';\nimport { getCapabilites, getIsRoomsCall, getReactionResources, getRole } from '../selectors/baseSelectors';\nconst VideoGalleryStyles = {\n root: {\n height: '100%',\n minHeight: '10rem',\n // space affordance to ensure media gallery is never collapsed\n minWidth: '6rem'\n }\n};\nconst localVideoViewOptions = {\n scalingMode: 'Crop',\n isMirrored: true\n} as VideoStreamOptions;\nconst remoteVideoViewOptions = {\n scalingMode: 'Crop'\n} as VideoStreamOptions;\n\n/**\n * @private\n */\nexport interface MediaGalleryProps {\n isVideoStreamOn?: boolean;\n isMicrophoneChecked?: boolean;\n onStartLocalVideo: () => Promise<void>;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n isMobile?: boolean;\n drawerMenuHostId?: string;\n remoteVideoTileMenuOptions?: RemoteVideoTileMenuOptions;\n localVideoTileOptions?: boolean | LocalVideoTileOptions;\n userSetOverflowGalleryPosition?: 'Responsive' | 'horizontalTop';\n userSetGalleryLayout: VideoGalleryLayout;\n pinnedParticipants?: string[];\n setPinnedParticipants?: (pinnedParticipants: string[]) => void;\n setIsPromptOpen: (isOpen: boolean) => void;\n setPromptProps: (props: PromptProps) => void;\n hideSpotlightButtons?: boolean;\n videoTilesOptions?: VideoTilesOptions;\n captionsOptions?: {\n height: 'full' | 'default';\n };\n localScreenShareView?: LocalScreenShareView;\n compositeContainerAspectRatio?: number;\n}\n\n/**\n * @private\n */\nexport const MediaGallery = (props: MediaGalleryProps): JSX.Element => {\n const {\n pinnedParticipants = [],\n setPinnedParticipants,\n setIsPromptOpen,\n setPromptProps,\n hideSpotlightButtons,\n videoTilesOptions,\n captionsOptions,\n compositeContainerAspectRatio\n } = props;\n const videoGalleryProps = usePropsFor(VideoGallery);\n const cameraSwitcherCameras = useSelector(localVideoCameraCycleButtonSelector);\n const cameraSwitcherCallback = useHandlers(LocalVideoCameraCycleButton);\n const announcerString = useParticipantChangedAnnouncement();\n const userRole = useSelector(getRole);\n const capabilities = useSelector(getCapabilites);\n const isRoomsCall = useSelector(getIsRoomsCall);\n const reactionResources = useSelector(getReactionResources);\n const containerRef = useRef<HTMLDivElement>(null);\n const containerWidth = _useContainerWidth(containerRef);\n const containerHeight = _useContainerHeight(containerRef);\n const layoutBasedOnTilePosition: VideoGalleryLayout = getVideoGalleryLayoutBasedOnLocalOptions((props.localVideoTileOptions as LocalVideoTileOptions)?.position);\n const cameraSwitcherProps = useMemo(() => {\n return {\n ...cameraSwitcherCallback,\n ...cameraSwitcherCameras\n };\n }, [cameraSwitcherCallback, cameraSwitcherCameras]);\n const onRenderAvatar = useCallback((userId?: string, options?: CustomAvatarOptions) => {\n return <Stack className={mergeStyles({\n position: 'absolute',\n height: '100%',\n width: '100%'\n })}>\n <Stack styles={{\n root: {\n margin: 'auto',\n maxHeight: '100%'\n }\n }}>\n {options?.coinSize && <AvatarPersona userId={userId} {...options} dataProvider={props.onFetchAvatarPersonaData} />}\n </Stack>\n </Stack>;\n }, [props.onFetchAvatarPersonaData]);\n const remoteVideoTileMenuOptions: false | VideoTileContextualMenuProps | VideoTileDrawerMenuProps = useMemo(() => {\n return props.remoteVideoTileMenuOptions?.isHidden ? false : props.isMobile ? {\n kind: 'drawer',\n hostId: props.drawerMenuHostId\n } : {\n kind: 'contextual'\n };\n }, [props.remoteVideoTileMenuOptions?.isHidden, props.isMobile, props.drawerMenuHostId]);\n const overflowGalleryPosition = useMemo(() => {\n return containerWidth && containerHeight && containerWidth / containerHeight >= 16 / 9 ? 'verticalRight' : 'horizontalBottom';\n }, [containerWidth, containerHeight]);\n const {\n onStartLocalSpotlight,\n onStopLocalSpotlight,\n onStartRemoteSpotlight,\n onStopRemoteSpotlight\n } = videoGalleryProps;\n const {\n onStartLocalSpotlightWithPrompt,\n onStopLocalSpotlightWithPrompt\n } = useLocalSpotlightCallbacksWithPrompt(onStartLocalSpotlight, onStopLocalSpotlight, setIsPromptOpen, setPromptProps);\n const {\n onStartRemoteSpotlightWithPrompt,\n onStopRemoteSpotlightWithPrompt\n } = useRemoteSpotlightCallbacksWithPrompt(onStartRemoteSpotlight, onStopRemoteSpotlight, setIsPromptOpen, setPromptProps);\n const galleryStyles = useMemo(() => {\n return {\n ...VideoGalleryStyles,\n ...(captionsOptions?.height === 'full' ? {\n root: {\n postion: 'absolute'\n }\n } : {})\n };\n }, [captionsOptions?.height]);\n const onPinParticipant = useMemo(() => {\n return setPinnedParticipants ? (userId: string) => {\n if (!pinnedParticipants.includes(userId)) {\n setPinnedParticipants(pinnedParticipants.concat(userId));\n }\n } : undefined;\n }, [setPinnedParticipants, pinnedParticipants]);\n const onUnpinParticipant = useMemo(() => {\n return setPinnedParticipants ? (userId: string) => {\n setPinnedParticipants(pinnedParticipants.filter(participantId => participantId !== userId));\n } : undefined;\n }, [setPinnedParticipants, pinnedParticipants]);\n const VideoGalleryMemoized = useMemo(() => {\n const layoutBasedOnUserSelection = (): VideoGalleryLayout => {\n return props.localVideoTileOptions ? layoutBasedOnTilePosition : props.userSetGalleryLayout;\n };\n return <VideoGallery {...videoGalleryProps} videoTilesOptions={videoTilesOptions} localVideoViewOptions={localVideoViewOptions} remoteVideoViewOptions={remoteVideoViewOptions} styles={galleryStyles} layout={layoutBasedOnUserSelection()} showCameraSwitcherInLocalPreview={props.isMobile} localVideoCameraCycleButtonProps={cameraSwitcherProps} onRenderAvatar={onRenderAvatar} remoteVideoTileMenu={remoteVideoTileMenuOptions} overflowGalleryPosition={overflowGalleryPosition} localVideoTileSize={props.localVideoTileOptions === false || userRole === 'Consumer' || isRoomsCall && userRole === 'Unknown' ? 'hidden' : props.isMobile && compositeContainerAspectRatio && compositeContainerAspectRatio < 1 ? '9:16' : '16:9'} pinnedParticipants={pinnedParticipants} onPinParticipant={onPinParticipant} onUnpinParticipant={onUnpinParticipant} reactionResources={reactionResources} onStartLocalSpotlight={hideSpotlightButtons ? undefined : onStartLocalSpotlightWithPrompt} onStopLocalSpotlight={hideSpotlightButtons ? undefined : onStopLocalSpotlightWithPrompt} onStartRemoteSpotlight={hideSpotlightButtons ? undefined : onStartRemoteSpotlightWithPrompt} onStopRemoteSpotlight={hideSpotlightButtons ? undefined : onStopRemoteSpotlightWithPrompt} onMuteParticipant={capabilities?.muteOthers?.isPresent || userRole === 'Unknown' ? videoGalleryProps.onMuteParticipant : undefined} localScreenShareView={props.localScreenShareView} />;\n }, [videoGalleryProps, videoTilesOptions, galleryStyles, props.isMobile, props.localVideoTileOptions, props.userSetGalleryLayout, cameraSwitcherProps, onRenderAvatar, remoteVideoTileMenuOptions, overflowGalleryPosition, userRole, isRoomsCall, pinnedParticipants, onPinParticipant, onUnpinParticipant, reactionResources, hideSpotlightButtons, onStartLocalSpotlightWithPrompt, onStopLocalSpotlightWithPrompt, onStartRemoteSpotlightWithPrompt, onStopRemoteSpotlightWithPrompt, layoutBasedOnTilePosition, capabilities?.muteOthers, props.localScreenShareView, compositeContainerAspectRatio]);\n return <div ref={containerRef} style={mediaGalleryContainerStyles}>\n <Announcer announcementString={announcerString} ariaLive={'polite'} />\n {VideoGalleryMemoized}\n </div>;\n};\nconst mediaGalleryContainerStyles: CSSProperties = {\n width: '100%',\n height: '100%'\n};\nconst getVideoGalleryLayoutBasedOnLocalOptions = (localTileOptions?: string): VideoGalleryLayout => {\n return localTileOptions === 'grid' ? 'default' : 'floatingLocalVideo';\n};"]}
@@ -1,7 +1,7 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
3
  /* eslint-disable @typescript-eslint/no-explicit-any */
4
- import { useState, useEffect, useRef, useMemo } from 'react';
4
+ import { useState, useEffect, useRef } from 'react';
5
5
  import memoizeOne from 'memoize-one';
6
6
  import { useAdapter } from '../adapter/CallAdapterProvider';
7
7
  /**
@@ -26,18 +26,20 @@ export const useSelectorWithAdaptation = (selector, adaptState, selectorProps) =
26
26
  };
27
27
  });
28
28
  const callId = (_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.id;
29
- const callConfigProps = useMemo(() => ({
29
+ const [props, setProps] = useState(selector(adaptState(adapter.getState()), selectorProps !== null && selectorProps !== void 0 ? selectorProps : {
30
30
  callId
31
- }), [callId]);
32
- const [props, setProps] = useState(selector(adaptState(adapter.getState()), selectorProps !== null && selectorProps !== void 0 ? selectorProps : callConfigProps));
31
+ }));
33
32
  const propRef = useRef(props);
34
33
  propRef.current = props;
35
34
  useEffect(() => {
36
35
  const onStateChange = (state) => {
36
+ var _a;
37
37
  if (!mounted.current) {
38
38
  return;
39
39
  }
40
- const newProps = selector(adaptState(state), selectorProps !== null && selectorProps !== void 0 ? selectorProps : callConfigProps);
40
+ const newProps = selector(adaptState(state), selectorProps !== null && selectorProps !== void 0 ? selectorProps : {
41
+ callId: (_a = state.call) === null || _a === void 0 ? void 0 : _a.id
42
+ });
41
43
  if (propRef.current !== newProps) {
42
44
  setProps(newProps);
43
45
  }
@@ -46,7 +48,7 @@ export const useSelectorWithAdaptation = (selector, adaptState, selectorProps) =
46
48
  return () => {
47
49
  adapter.offStateChange(onStateChange);
48
50
  };
49
- }, [adaptState, adapter, selector, selectorProps, callConfigProps]);
51
+ }, [adaptState, adapter, selector, selectorProps]);
50
52
  return props;
51
53
  };
52
54
  const memoizeState = memoizeOne((userId, deviceManager, calls, latestErrors, latestNotifications, displayName, alternateCallerId, environmentInfo) => ({
@@ -82,6 +84,6 @@ const adaptCompositeState = (compositeState) => {
82
84
  // that are unknown to the UI component and data binding libraries. Generic handling of the errors (e.g.,
83
85
  // just displaying them in some UI surface) will continue to work for these operations. Handling of
84
86
  // specific operations (e.g., acting on errors related to permission issues) will ignore these operations.
85
- compositeState.latestErrors, undefined || compositeState.latestNotifications, compositeState.displayName, compositeState.alternateCallerId, compositeState.environmentInfo);
87
+ compositeState.latestErrors, compositeState.latestNotifications, compositeState.displayName, compositeState.alternateCallerId, compositeState.environmentInfo);
86
88
  };
87
89
  //# sourceMappingURL=useAdaptedSelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAdaptedSelector.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { useState, useEffect, useRef, useMemo } from 'react';\nimport memoizeOne from 'memoize-one';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { CallAdapterState } from '../adapter/CallAdapter';\nimport { CallErrors, CallState, CallClientState, DeviceManagerState, CallNotifications } from '@internal/calling-stateful-client';\nimport { CommunicationIdentifierKind } from '@azure/communication-common';\nimport { EnvironmentInfo } from '@azure/communication-calling';\n/**\n * @private\n */\nexport const useAdaptedSelector = <SelectorT extends (state: CallClientState, props: any) => any,>(selector: SelectorT, selectorProps?: Parameters<SelectorT>[1]): ReturnType<SelectorT> => {\n return useSelectorWithAdaptation(selector, adaptCompositeState, selectorProps);\n};\n\n/**\n * @private\n */\nexport const useSelectorWithAdaptation = <SelectorT extends (state: ReturnType<AdaptFuncT>, props: any) => any, AdaptFuncT extends (state: CallAdapterState) => any>(selector: SelectorT, adaptState: AdaptFuncT, selectorProps?: Parameters<SelectorT>[1]): ReturnType<SelectorT> => {\n const adapter = useAdapter();\n\n // Keeps track of whether the current component is mounted or not. If it has unmounted, make sure we do not modify the\n // state or it will cause React warnings in the console. https://skype.visualstudio.com/SPOOL/_workitems/edit/2453212\n const mounted = useRef(false);\n useEffect(() => {\n mounted.current = true;\n return () => {\n mounted.current = false;\n };\n });\n const callId = adapter.getState().call?.id;\n const callConfigProps = useMemo(() => ({\n callId\n }), [callId]);\n const [props, setProps] = useState(selector(adaptState(adapter.getState()), selectorProps ?? callConfigProps));\n const propRef = useRef(props);\n propRef.current = props;\n useEffect(() => {\n const onStateChange = (state: CallAdapterState): void => {\n if (!mounted.current) {\n return;\n }\n const newProps = selector(adaptState(state), selectorProps ?? callConfigProps);\n if (propRef.current !== newProps) {\n setProps(newProps);\n }\n };\n adapter.onStateChange(onStateChange);\n return () => {\n adapter.offStateChange(onStateChange);\n };\n }, [adaptState, adapter, selector, selectorProps, callConfigProps]);\n return props;\n};\nconst memoizeState = memoizeOne((userId: CommunicationIdentifierKind, deviceManager: DeviceManagerState, calls: {\n [key: string]: CallState;\n}, latestErrors: CallErrors, latestNotifications?: CallNotifications, displayName?: string, alternateCallerId?: string, environmentInfo?: EnvironmentInfo): CallClientState => ({\n userId,\n incomingCalls: {},\n incomingCallsEnded: {},\n callsEnded: {},\n deviceManager,\n callAgent: {\n displayName\n },\n calls,\n latestErrors,\n latestNotifications: latestNotifications ?? {} as CallNotifications,\n alternateCallerId,\n environmentInfo\n}));\nconst memoizeCalls = memoizeOne((call?: CallState): {\n [key: string]: CallState;\n} => call ? {\n [call.id]: call\n} : {});\nconst adaptCompositeState = (compositeState: CallAdapterState): CallClientState => {\n return memoizeState(compositeState.userId, compositeState.devices, memoizeCalls(compositeState.call),\n // This is an unsafe type expansion.\n // compositeState.latestErrors can contain properties that are not valid in CallErrors.\n //\n // But there is no way to check for valid property names at runtime:\n // - The set of valid property names is built from types in the @azure/communication-calling.\n // Thus we don't have a literal array of allowed strings at runtime.\n // - Due to minification / uglification, the property names from the objects at runtime can't be used\n // to compare against permissible values inferred from the types.\n //\n // This is not a huge problem -- it simply means that our adapted selector will include some extra operations\n // that are unknown to the UI component and data binding libraries. Generic handling of the errors (e.g.,\n // just displaying them in some UI surface) will continue to work for these operations. Handling of\n // specific operations (e.g., acting on errors related to permission issues) will ignore these operations.\n compositeState.latestErrors as CallErrors, undefined || (compositeState.latestNotifications as CallNotifications), compositeState.displayName, compositeState.alternateCallerId, compositeState.environmentInfo);\n};"]}
1
+ {"version":3,"file":"useAdaptedSelector.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { useState, useEffect, useRef } from 'react';\nimport memoizeOne from 'memoize-one';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { CallAdapterState } from '../adapter/CallAdapter';\nimport { CallErrors, CallState, CallClientState, DeviceManagerState, CallNotifications } from '@internal/calling-stateful-client';\nimport { CommunicationIdentifierKind } from '@azure/communication-common';\nimport { EnvironmentInfo } from '@azure/communication-calling';\n/**\n * @private\n */\nexport const useAdaptedSelector = <SelectorT extends (state: CallClientState, props: any) => any,>(selector: SelectorT, selectorProps?: Parameters<SelectorT>[1]): ReturnType<SelectorT> => {\n return useSelectorWithAdaptation(selector, adaptCompositeState, selectorProps);\n};\n\n/**\n * @private\n */\nexport const useSelectorWithAdaptation = <SelectorT extends (state: ReturnType<AdaptFuncT>, props: any) => any, AdaptFuncT extends (state: CallAdapterState) => any>(selector: SelectorT, adaptState: AdaptFuncT, selectorProps?: Parameters<SelectorT>[1]): ReturnType<SelectorT> => {\n const adapter = useAdapter();\n\n // Keeps track of whether the current component is mounted or not. If it has unmounted, make sure we do not modify the\n // state or it will cause React warnings in the console. https://skype.visualstudio.com/SPOOL/_workitems/edit/2453212\n const mounted = useRef(false);\n useEffect(() => {\n mounted.current = true;\n return () => {\n mounted.current = false;\n };\n });\n const callId = adapter.getState().call?.id;\n const [props, setProps] = useState(selector(adaptState(adapter.getState()), selectorProps ?? {\n callId\n }));\n const propRef = useRef(props);\n propRef.current = props;\n useEffect(() => {\n const onStateChange = (state: CallAdapterState): void => {\n if (!mounted.current) {\n return;\n }\n const newProps = selector(adaptState(state), selectorProps ?? {\n callId: state.call?.id\n });\n if (propRef.current !== newProps) {\n setProps(newProps);\n }\n };\n adapter.onStateChange(onStateChange);\n return () => {\n adapter.offStateChange(onStateChange);\n };\n }, [adaptState, adapter, selector, selectorProps]);\n return props;\n};\nconst memoizeState = memoizeOne((userId: CommunicationIdentifierKind, deviceManager: DeviceManagerState, calls: {\n [key: string]: CallState;\n}, latestErrors: CallErrors, latestNotifications?: CallNotifications, displayName?: string, alternateCallerId?: string, environmentInfo?: EnvironmentInfo): CallClientState => ({\n userId,\n incomingCalls: {},\n incomingCallsEnded: {},\n callsEnded: {},\n deviceManager,\n callAgent: {\n displayName\n },\n calls,\n latestErrors,\n latestNotifications: latestNotifications ?? {} as CallNotifications,\n alternateCallerId,\n environmentInfo\n}));\nconst memoizeCalls = memoizeOne((call?: CallState): {\n [key: string]: CallState;\n} => call ? {\n [call.id]: call\n} : {});\nconst adaptCompositeState = (compositeState: CallAdapterState): CallClientState => {\n return memoizeState(compositeState.userId, compositeState.devices, memoizeCalls(compositeState.call),\n // This is an unsafe type expansion.\n // compositeState.latestErrors can contain properties that are not valid in CallErrors.\n //\n // But there is no way to check for valid property names at runtime:\n // - The set of valid property names is built from types in the @azure/communication-calling.\n // Thus we don't have a literal array of allowed strings at runtime.\n // - Due to minification / uglification, the property names from the objects at runtime can't be used\n // to compare against permissible values inferred from the types.\n //\n // This is not a huge problem -- it simply means that our adapted selector will include some extra operations\n // that are unknown to the UI component and data binding libraries. Generic handling of the errors (e.g.,\n // just displaying them in some UI surface) will continue to work for these operations. Handling of\n // specific operations (e.g., acting on errors related to permission issues) will ignore these operations.\n compositeState.latestErrors as CallErrors, compositeState.latestNotifications as CallNotifications, compositeState.displayName, compositeState.alternateCallerId, compositeState.environmentInfo);\n};"]}
@@ -1,3 +1,5 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
1
3
  import { useSelector } from './useSelector';
2
4
  import { getBreakoutRoomDisplayName } from '../selectors/baseSelectors';
3
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"useCompositeStringsForNotificationStack.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE;;GAEG;AACH,MAAM,CAAC,MAAM,8CAA8C,GAAG,CAAC,MAAuB,EAA4B,EAAE;IAClH,MAAM,uBAAuB,GAAG,WAAW,CAAC,0BAA0B,CAAC,CAAC;IACxE,MAAM,wBAAwB,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAC5E,IAAI,wBAAwB,CAAC,kBAAkB,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,IAAI,uBAAuB,EAAE,CAAC;QACtI,wBAAwB,CAAC,kBAAkB,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,OAAO,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC;IAC7J,CAAC;IACD,OAAO,wBAAwB,CAAC;AAClC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { NotificationStackStrings } from '@internal/react-components';\nimport { useSelector } from './useSelector';\nimport { CompositeLocale } from '../../localization';\nimport { getBreakoutRoomDisplayName } from '../selectors/baseSelectors';\n/**\n * @private\n */\nexport const useCompositeStringsForNotificationStackStrings = (locale: CompositeLocale): NotificationStackStrings => {\n const breakoutRoomDisplayName = useSelector(getBreakoutRoomDisplayName);\n const notificationStackStrings = locale.component.strings.notificationStack;\n if (notificationStackStrings.breakoutRoomJoined && locale.strings.call.breakoutRoomJoinedNotificationTitle && breakoutRoomDisplayName) {\n notificationStackStrings.breakoutRoomJoined.title = locale.strings.call.breakoutRoomJoinedNotificationTitle.replace('{roomName}', breakoutRoomDisplayName);\n }\n return notificationStackStrings;\n};"]}
1
+ {"version":3,"file":"useCompositeStringsForNotificationStack.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAExE;;GAEG;AACH,MAAM,CAAC,MAAM,8CAA8C,GAAG,CAAC,MAAuB,EAA4B,EAAE;IAClH,MAAM,uBAAuB,GAAG,WAAW,CAAC,0BAA0B,CAAC,CAAC;IACxE,MAAM,wBAAwB,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAC5E,IAAI,wBAAwB,CAAC,kBAAkB,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,IAAI,uBAAuB,EAAE,CAAC;QACtI,wBAAwB,CAAC,kBAAkB,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,OAAO,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC;IAC7J,CAAC;IACD,OAAO,wBAAwB,CAAC;AAClC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { NotificationStackStrings } from '@internal/react-components';\nimport { useSelector } from './useSelector';\nimport { CompositeLocale } from '../../localization';\nimport { getBreakoutRoomDisplayName } from '../selectors/baseSelectors';\n\n/**\n * @private\n */\nexport const useCompositeStringsForNotificationStackStrings = (locale: CompositeLocale): NotificationStackStrings => {\n const breakoutRoomDisplayName = useSelector(getBreakoutRoomDisplayName);\n const notificationStackStrings = locale.component.strings.notificationStack;\n if (notificationStackStrings.breakoutRoomJoined && locale.strings.call.breakoutRoomJoinedNotificationTitle && breakoutRoomDisplayName) {\n notificationStackStrings.breakoutRoomJoined.title = locale.strings.call.breakoutRoomJoinedNotificationTitle.replace('{roomName}', breakoutRoomDisplayName);\n }\n return notificationStackStrings;\n};"]}
@@ -123,9 +123,6 @@ const createCompositeHandlers = memoizeOne((adapter, capabilities) => {
123
123
  onDisposeRemoteVideoStreamView: (userId) => __awaiter(void 0, void 0, void 0, function* () {
124
124
  return adapter.disposeRemoteVideoStreamView(userId);
125
125
  }),
126
- askDevicePermission: (constrain) => __awaiter(void 0, void 0, void 0, function* () {
127
- yield adapter.askDevicePermission(constrain);
128
- }),
129
126
  onRemoveVideoBackgroundEffects: () => __awaiter(void 0, void 0, void 0, function* () {
130
127
  return yield adapter.stopVideoBackgroundEffects();
131
128
  }),
@@ -209,18 +206,6 @@ const createCompositeHandlers = memoizeOne((adapter, capabilities) => {
209
206
  onPermitOthersVideo: ((_h = capabilities === null || capabilities === void 0 ? void 0 : capabilities.forbidOthersVideo) === null || _h === void 0 ? void 0 : _h.isPresent) ? () => __awaiter(void 0, void 0, void 0, function* () {
210
207
  yield adapter.permitOthersVideo();
211
208
  }) : undefined,
212
- onCreateTogetherModeStreamView: (options) => __awaiter(void 0, void 0, void 0, function* () {
213
- return yield adapter.createTogetherModeStreamView(options);
214
- }),
215
- onStartTogetherMode: () => __awaiter(void 0, void 0, void 0, function* () {
216
- return yield adapter.startTogetherMode();
217
- }),
218
- onSetTogetherModeSceneSize: (width, height) => {
219
- return adapter.setTogetherModeSceneSize(width, height);
220
- },
221
- onDisposeTogetherModeStreamView: () => __awaiter(void 0, void 0, void 0, function* () {
222
- return yield adapter.disposeTogetherModeStreamView();
223
- }),
224
209
  onSendRealTimeText: (text, isFinalized) => __awaiter(void 0, void 0, void 0, function* () {
225
210
  return yield adapter.sendRealTimeText(text, isFinalized);
226
211
  })
@@ -1 +1 @@
1
- {"version":3,"file":"useHandlers.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/hooks/useHandlers.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CommonCallingHandlers } from '@internal/calling-component-bindings';\nimport { _ComponentCallingHandlers } from '@internal/calling-component-bindings';\nimport { CommonProperties, toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { ReactElement } from 'react';\nimport memoizeOne from 'memoize-one';\nimport { CommonCallAdapter } from '..';\nimport { VideoBackgroundBlurEffect, VideoBackgroundReplacementEffect } from '..';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { isCameraOn } from '../utils';\nimport { DtmfTone } from '@azure/communication-calling';\nimport { AddPhoneNumberOptions } from '@azure/communication-calling';\nimport { Reaction } from '@azure/communication-calling';\nimport type { BackgroundReplacementConfig, BackgroundBlurConfig, ParticipantCapabilities } from '@azure/communication-calling';\nimport { CallSurvey, CallSurveyResponse } from '@azure/communication-calling';\nimport { CommunicationIdentifier, CommunicationUserIdentifier, PhoneNumberIdentifier } from '@azure/communication-common';\nimport { _toCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { useSelector } from './useSelector';\nimport { getCapabilites } from '../selectors/baseSelectors';\ntype AdapterCommonCallingHandlers = Omit<CommonCallingHandlers, 'onAcceptCall' | 'onRejectCall'>;\n\n/**\n * @private\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type\nexport const useHandlers = <PropsT,>(_component: (props: PropsT) => ReactElement | null): Pick<AdapterCommonCallingHandlers, CommonProperties<AdapterCommonCallingHandlers, PropsT>> & Partial<_ComponentCallingHandlers> => {\n const adapter = useAdapter();\n const capabilities = useSelector(getCapabilites);\n return createCompositeHandlers(adapter, capabilities);\n};\nconst createCompositeHandlers = memoizeOne((adapter: CommonCallAdapter, capabilities?: ParticipantCapabilities): AdapterCommonCallingHandlers & Partial<_ComponentCallingHandlers> => {\n return {\n onCreateLocalStreamView: async options => {\n return await adapter.createStreamView(undefined, options);\n },\n onCreateRemoteStreamView: async (userId, options) => {\n return await adapter.createStreamView(userId, options);\n },\n onHangUp: async (forEveryone?: boolean) => {\n await adapter.leaveCall(forEveryone);\n },\n onToggleHold: async () => {\n return adapter.getState().call?.state === 'LocalHold' ? await adapter.resumeCall() : await adapter.holdCall();\n },\n onAddParticipant: async (participant: Partial<CommunicationUserIdentifier & PhoneNumberIdentifier>, options?: AddPhoneNumberOptions) => {\n if ('communicationUserId' in participant) {\n return await adapter.addParticipant(participant as CommunicationUserIdentifier);\n } else if ('phoneNumber' in participant) {\n return await adapter.addParticipant(participant as PhoneNumberIdentifier, options);\n }\n },\n onSendDtmfTone: async (dtmfTone: DtmfTone) => {\n await adapter.sendDtmfTone(dtmfTone);\n },\n onRemoveParticipant: async (userId: string | CommunicationIdentifier) => {\n if (typeof userId === 'string') {\n await adapter.removeParticipant(userId);\n } else {\n await adapter.removeParticipant(_toCommunicationIdentifier(userId));\n }\n },\n onRaiseHand: async () => {\n await adapter.raiseHand();\n },\n onLowerHand: async () => {\n await adapter.lowerHand();\n },\n onToggleRaiseHand: async () => {\n adapter.getState().call?.raiseHand.localParticipantRaisedHand ? await adapter.lowerHand() : await adapter.raiseHand();\n },\n onReactionClick: async (reaction: Reaction) => {\n await adapter.onReactionClick(reaction);\n },\n onSelectCamera: async (deviceInfo, options) => {\n await adapter.setCamera(deviceInfo, options);\n },\n onSelectMicrophone: async deviceInfo => {\n await adapter.setMicrophone(deviceInfo);\n },\n onSelectSpeaker: async deviceInfo => {\n await adapter.setSpeaker(deviceInfo);\n },\n onStartCall: (participants, options?) => {\n const rawIds = participants.map(participant => toFlatCommunicationIdentifier(participant));\n return adapter.startCall(rawIds, options);\n },\n onStartScreenShare: async () => {\n await adapter.startScreenShare();\n },\n onStopScreenShare: async () => {\n await adapter.stopScreenShare();\n },\n onToggleCamera: async options => {\n isCameraOn(adapter.getState()) ? await adapter.stopCamera() : await adapter.startCamera(options);\n },\n onToggleMicrophone: async () => {\n return adapter.getState().call?.isMuted ? await adapter.unmute() : await adapter.mute();\n },\n onToggleScreenShare: async () => {\n return adapter.getState().call?.isScreenSharingOn ? await adapter.stopScreenShare() : await adapter.startScreenShare();\n },\n onStartLocalVideo: async () => {\n if (adapter.getState().call) {\n return adapter.startCamera();\n }\n },\n onDisposeLocalStreamView: async () => {\n return adapter.disposeLocalVideoStreamView();\n },\n onDisposeRemoteStreamView: async userId => {\n return adapter.disposeStreamView(userId);\n },\n onDisposeRemoteScreenShareStreamView: async userId => {\n return adapter.disposeScreenShareStreamView(userId);\n },\n onDisposeLocalScreenShareStreamView: async () => {\n return adapter.disposeScreenShareStreamView('');\n },\n onDisposeRemoteVideoStreamView: async userId => {\n return adapter.disposeRemoteVideoStreamView(userId);\n },\n askDevicePermission: async constrain => {\n await adapter.askDevicePermission(constrain);\n },\n onRemoveVideoBackgroundEffects: async () => {\n return await adapter.stopVideoBackgroundEffects();\n },\n onBlurVideoBackground: async (backgroundBlurConfig?: BackgroundBlurConfig) => {\n const blurConfig: VideoBackgroundBlurEffect = {\n effectName: 'blur',\n ...backgroundBlurConfig\n };\n return await adapter.startVideoBackgroundEffect(blurConfig);\n },\n onReplaceVideoBackground: async (backgroundReplacementConfig: BackgroundReplacementConfig) => {\n const replacementConfig: VideoBackgroundReplacementEffect = {\n effectName: 'replacement',\n ...backgroundReplacementConfig\n };\n return await adapter.startVideoBackgroundEffect(replacementConfig);\n },\n onStartNoiseSuppressionEffect: async () => {\n return await adapter.startNoiseSuppressionEffect();\n },\n onStopNoiseSuppressionEffect: async () => {\n return await adapter.stopNoiseSuppressionEffect();\n },\n onStartCaptions: async options => {\n await adapter.startCaptions(options);\n },\n onStopCaptions: async () => {\n await adapter.stopCaptions();\n },\n onSetSpokenLanguage: async language => {\n await adapter.setSpokenLanguage(language);\n },\n onSetCaptionLanguage: async language => {\n await adapter.setCaptionLanguage(language);\n },\n onSubmitSurvey: async (survey: CallSurvey): Promise<CallSurveyResponse | undefined> => {\n return await adapter.submitSurvey(survey);\n },\n onStartSpotlight: async (userIds?: string[]): Promise<void> => {\n await adapter.startSpotlight(userIds);\n },\n onStopSpotlight: async (userIds?: string[]): Promise<void> => {\n await adapter.stopSpotlight(userIds);\n },\n onStopAllSpotlight: async (): Promise<void> => {\n await adapter.stopAllSpotlight();\n },\n onStartLocalSpotlight: capabilities?.spotlightParticipant.isPresent ? async (): Promise<void> => {\n await adapter.startSpotlight();\n } : undefined,\n onStopLocalSpotlight: async (): Promise<void> => {\n await adapter.stopSpotlight();\n },\n onStartRemoteSpotlight: capabilities?.spotlightParticipant.isPresent ? async (userIds?: string[]): Promise<void> => {\n await adapter.startSpotlight(userIds);\n } : undefined,\n onStopRemoteSpotlight: capabilities?.removeParticipantsSpotlight.isPresent ? async (userIds?: string[]): Promise<void> => {\n await adapter.stopSpotlight(userIds);\n } : undefined,\n onMuteParticipant: async (userId: string): Promise<void> => {\n await adapter.muteParticipant(userId);\n },\n onMuteAllRemoteParticipants: async (): Promise<void> => {\n await adapter.muteAllRemoteParticipants();\n },\n onForbidAudio: capabilities?.forbidOthersAudio?.isPresent ? async (userIds: string[]): Promise<void> => {\n await adapter.forbidAudio(userIds);\n } : undefined,\n onPermitAudio: capabilities?.forbidOthersAudio?.isPresent ? async (userIds: string[]): Promise<void> => {\n await adapter.permitAudio(userIds);\n } : undefined,\n onForbidOthersAudio: capabilities?.forbidOthersAudio?.isPresent ? async (): Promise<void> => {\n await adapter.forbidOthersAudio();\n } : undefined,\n onPermitOthersAudio: capabilities?.forbidOthersAudio?.isPresent ? async (): Promise<void> => {\n await adapter.permitOthersAudio();\n } : undefined,\n onForbidVideo: capabilities?.forbidOthersVideo?.isPresent ? async (userIds: string[]): Promise<void> => {\n await adapter.forbidVideo(userIds);\n } : undefined,\n onPermitVideo: capabilities?.forbidOthersVideo?.isPresent ? async (userIds: string[]): Promise<void> => {\n await adapter.permitVideo(userIds);\n } : undefined,\n onForbidOthersVideo: capabilities?.forbidOthersVideo?.isPresent ? async (): Promise<void> => {\n await adapter.forbidOthersVideo();\n } : undefined,\n onPermitOthersVideo: capabilities?.forbidOthersVideo?.isPresent ? async (): Promise<void> => {\n await adapter.permitOthersVideo();\n } : undefined,\n onCreateTogetherModeStreamView: async options => {\n return await adapter.createTogetherModeStreamView(options);\n },\n onStartTogetherMode: async () => {\n return await adapter.startTogetherMode();\n },\n onSetTogetherModeSceneSize: (width: number, height: number) => {\n return adapter.setTogetherModeSceneSize(width, height);\n },\n onDisposeTogetherModeStreamView: async () => {\n return await adapter.disposeTogetherModeStreamView();\n },\n onSendRealTimeText: async (text: string, isFinalized: boolean) => {\n return await adapter.sendRealTimeText(text, isFinalized);\n }\n };\n});"]}
1
+ {"version":3,"file":"useHandlers.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/hooks/useHandlers.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CommonCallingHandlers } from '@internal/calling-component-bindings';\nimport { _ComponentCallingHandlers } from '@internal/calling-component-bindings';\nimport { CommonProperties, toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { ReactElement } from 'react';\nimport memoizeOne from 'memoize-one';\nimport { CommonCallAdapter } from '..';\nimport { VideoBackgroundBlurEffect, VideoBackgroundReplacementEffect } from '..';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { isCameraOn } from '../utils';\nimport { DtmfTone } from '@azure/communication-calling';\nimport { AddPhoneNumberOptions } from '@azure/communication-calling';\nimport { Reaction } from '@azure/communication-calling';\nimport type { BackgroundReplacementConfig, BackgroundBlurConfig, ParticipantCapabilities } from '@azure/communication-calling';\nimport { CallSurvey, CallSurveyResponse } from '@azure/communication-calling';\nimport { CommunicationIdentifier, CommunicationUserIdentifier, PhoneNumberIdentifier } from '@azure/communication-common';\nimport { _toCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { useSelector } from './useSelector';\nimport { getCapabilites } from '../selectors/baseSelectors';\ntype AdapterCommonCallingHandlers = Omit<CommonCallingHandlers, 'onAcceptCall' | 'onRejectCall'>;\n\n/**\n * @private\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type\nexport const useHandlers = <PropsT,>(_component: (props: PropsT) => ReactElement | null): Pick<AdapterCommonCallingHandlers, CommonProperties<AdapterCommonCallingHandlers, PropsT>> & Partial<_ComponentCallingHandlers> => {\n const adapter = useAdapter();\n const capabilities = useSelector(getCapabilites);\n return createCompositeHandlers(adapter, capabilities);\n};\nconst createCompositeHandlers = memoizeOne((adapter: CommonCallAdapter, capabilities?: ParticipantCapabilities): AdapterCommonCallingHandlers & Partial<_ComponentCallingHandlers> => {\n return {\n onCreateLocalStreamView: async options => {\n return await adapter.createStreamView(undefined, options);\n },\n onCreateRemoteStreamView: async (userId, options) => {\n return await adapter.createStreamView(userId, options);\n },\n onHangUp: async (forEveryone?: boolean) => {\n await adapter.leaveCall(forEveryone);\n },\n onToggleHold: async () => {\n return adapter.getState().call?.state === 'LocalHold' ? await adapter.resumeCall() : await adapter.holdCall();\n },\n onAddParticipant: async (participant: Partial<CommunicationUserIdentifier & PhoneNumberIdentifier>, options?: AddPhoneNumberOptions) => {\n if ('communicationUserId' in participant) {\n return await adapter.addParticipant(participant as CommunicationUserIdentifier);\n } else if ('phoneNumber' in participant) {\n return await adapter.addParticipant(participant as PhoneNumberIdentifier, options);\n }\n },\n onSendDtmfTone: async (dtmfTone: DtmfTone) => {\n await adapter.sendDtmfTone(dtmfTone);\n },\n onRemoveParticipant: async (userId: string | CommunicationIdentifier) => {\n if (typeof userId === 'string') {\n await adapter.removeParticipant(userId);\n } else {\n await adapter.removeParticipant(_toCommunicationIdentifier(userId));\n }\n },\n onRaiseHand: async () => {\n await adapter.raiseHand();\n },\n onLowerHand: async () => {\n await adapter.lowerHand();\n },\n onToggleRaiseHand: async () => {\n adapter.getState().call?.raiseHand.localParticipantRaisedHand ? await adapter.lowerHand() : await adapter.raiseHand();\n },\n onReactionClick: async (reaction: Reaction) => {\n await adapter.onReactionClick(reaction);\n },\n onSelectCamera: async (deviceInfo, options) => {\n await adapter.setCamera(deviceInfo, options);\n },\n onSelectMicrophone: async deviceInfo => {\n await adapter.setMicrophone(deviceInfo);\n },\n onSelectSpeaker: async deviceInfo => {\n await adapter.setSpeaker(deviceInfo);\n },\n onStartCall: (participants, options?) => {\n const rawIds = participants.map(participant => toFlatCommunicationIdentifier(participant));\n return adapter.startCall(rawIds, options);\n },\n onStartScreenShare: async () => {\n await adapter.startScreenShare();\n },\n onStopScreenShare: async () => {\n await adapter.stopScreenShare();\n },\n onToggleCamera: async options => {\n isCameraOn(adapter.getState()) ? await adapter.stopCamera() : await adapter.startCamera(options);\n },\n onToggleMicrophone: async () => {\n return adapter.getState().call?.isMuted ? await adapter.unmute() : await adapter.mute();\n },\n onToggleScreenShare: async () => {\n return adapter.getState().call?.isScreenSharingOn ? await adapter.stopScreenShare() : await adapter.startScreenShare();\n },\n onStartLocalVideo: async () => {\n if (adapter.getState().call) {\n return adapter.startCamera();\n }\n },\n onDisposeLocalStreamView: async () => {\n return adapter.disposeLocalVideoStreamView();\n },\n onDisposeRemoteStreamView: async userId => {\n return adapter.disposeStreamView(userId);\n },\n onDisposeRemoteScreenShareStreamView: async userId => {\n return adapter.disposeScreenShareStreamView(userId);\n },\n onDisposeLocalScreenShareStreamView: async () => {\n return adapter.disposeScreenShareStreamView('');\n },\n onDisposeRemoteVideoStreamView: async userId => {\n return adapter.disposeRemoteVideoStreamView(userId);\n },\n onRemoveVideoBackgroundEffects: async () => {\n return await adapter.stopVideoBackgroundEffects();\n },\n onBlurVideoBackground: async (backgroundBlurConfig?: BackgroundBlurConfig) => {\n const blurConfig: VideoBackgroundBlurEffect = {\n effectName: 'blur',\n ...backgroundBlurConfig\n };\n return await adapter.startVideoBackgroundEffect(blurConfig);\n },\n onReplaceVideoBackground: async (backgroundReplacementConfig: BackgroundReplacementConfig) => {\n const replacementConfig: VideoBackgroundReplacementEffect = {\n effectName: 'replacement',\n ...backgroundReplacementConfig\n };\n return await adapter.startVideoBackgroundEffect(replacementConfig);\n },\n onStartNoiseSuppressionEffect: async () => {\n return await adapter.startNoiseSuppressionEffect();\n },\n onStopNoiseSuppressionEffect: async () => {\n return await adapter.stopNoiseSuppressionEffect();\n },\n onStartCaptions: async options => {\n await adapter.startCaptions(options);\n },\n onStopCaptions: async () => {\n await adapter.stopCaptions();\n },\n onSetSpokenLanguage: async language => {\n await adapter.setSpokenLanguage(language);\n },\n onSetCaptionLanguage: async language => {\n await adapter.setCaptionLanguage(language);\n },\n onSubmitSurvey: async (survey: CallSurvey): Promise<CallSurveyResponse | undefined> => {\n return await adapter.submitSurvey(survey);\n },\n onStartSpotlight: async (userIds?: string[]): Promise<void> => {\n await adapter.startSpotlight(userIds);\n },\n onStopSpotlight: async (userIds?: string[]): Promise<void> => {\n await adapter.stopSpotlight(userIds);\n },\n onStopAllSpotlight: async (): Promise<void> => {\n await adapter.stopAllSpotlight();\n },\n onStartLocalSpotlight: capabilities?.spotlightParticipant.isPresent ? async (): Promise<void> => {\n await adapter.startSpotlight();\n } : undefined,\n onStopLocalSpotlight: async (): Promise<void> => {\n await adapter.stopSpotlight();\n },\n onStartRemoteSpotlight: capabilities?.spotlightParticipant.isPresent ? async (userIds?: string[]): Promise<void> => {\n await adapter.startSpotlight(userIds);\n } : undefined,\n onStopRemoteSpotlight: capabilities?.removeParticipantsSpotlight.isPresent ? async (userIds?: string[]): Promise<void> => {\n await adapter.stopSpotlight(userIds);\n } : undefined,\n onMuteParticipant: async (userId: string): Promise<void> => {\n await adapter.muteParticipant(userId);\n },\n onMuteAllRemoteParticipants: async (): Promise<void> => {\n await adapter.muteAllRemoteParticipants();\n },\n onForbidAudio: capabilities?.forbidOthersAudio?.isPresent ? async (userIds: string[]): Promise<void> => {\n await adapter.forbidAudio(userIds);\n } : undefined,\n onPermitAudio: capabilities?.forbidOthersAudio?.isPresent ? async (userIds: string[]): Promise<void> => {\n await adapter.permitAudio(userIds);\n } : undefined,\n onForbidOthersAudio: capabilities?.forbidOthersAudio?.isPresent ? async (): Promise<void> => {\n await adapter.forbidOthersAudio();\n } : undefined,\n onPermitOthersAudio: capabilities?.forbidOthersAudio?.isPresent ? async (): Promise<void> => {\n await adapter.permitOthersAudio();\n } : undefined,\n onForbidVideo: capabilities?.forbidOthersVideo?.isPresent ? async (userIds: string[]): Promise<void> => {\n await adapter.forbidVideo(userIds);\n } : undefined,\n onPermitVideo: capabilities?.forbidOthersVideo?.isPresent ? async (userIds: string[]): Promise<void> => {\n await adapter.permitVideo(userIds);\n } : undefined,\n onForbidOthersVideo: capabilities?.forbidOthersVideo?.isPresent ? async (): Promise<void> => {\n await adapter.forbidOthersVideo();\n } : undefined,\n onPermitOthersVideo: capabilities?.forbidOthersVideo?.isPresent ? async (): Promise<void> => {\n await adapter.permitOthersVideo();\n } : undefined,\n onSendRealTimeText: async (text: string, isFinalized: boolean) => {\n return await adapter.sendRealTimeText(text, isFinalized);\n }\n };\n});"]}
@@ -1,20 +1,18 @@
1
1
  export { CallComposite } from './CallComposite';
2
2
  export type { CallCompositeOptions, CallCompositeProps, RemoteVideoTileMenuOptions } from './CallComposite';
3
- export type { DeviceCheckOptions } from './CallComposite';
4
3
  export type { LocalVideoTileOptions } from './CallComposite';
5
4
  export type { CallControlOptions } from './types/CallControlOptions';
6
5
  export type { DtmfDialPadOptions } from './CallComposite';
6
+ export type { NotificationOptions } from './CallComposite';
7
7
  export * from './Strings';
8
8
  export { createAzureCommunicationCallAdapter, createAzureCommunicationCallAdapterFromClient, useAzureCommunicationCallAdapter } from './adapter';
9
9
  export { createTeamsCallAdapter, createTeamsCallAdapterFromClient, useTeamsCallAdapter } from './adapter';
10
10
  export type { TeamsAdapterOptions } from './adapter';
11
11
  export type { TeamsCallAdapterArgsCommon, TeamsCallAdapter, TeamsCallAdapterArgs } from './adapter';
12
- export type { TeamsOutboundCallAdapterArgs, StartTeamsCallIdentifier } from './adapter';
13
12
  export type { Profile, OnFetchProfileCallback } from './adapter';
14
13
  export type { AzureCommunicationCallAdapterArgs, CallAdapterLocator, CommonCallAdapter, CallAdapterCallOperations, AzureCommunicationOutboundCallAdapterArgs } from './adapter';
15
14
  export type { AzureCommunicationCallAdapterOptions } from './adapter';
16
15
  export type { CommonCallAdapterOptions } from './adapter';
17
- export type { CallParticipantsLocator } from './adapter';
18
16
  export type { VideoBackgroundImage, VideoBackgroundEffect, VideoBackgroundNoEffect, VideoBackgroundBlurEffect, VideoBackgroundReplacementEffect } from './adapter/CallAdapter';
19
17
  export type { CallAdapter, CallAdapterCallEndedEvent, CallAdapterCallManagement, CallAdapterClientState, CallAdapterDeviceManagement, CallAdapterState, CallAdapterSubscribers, CallAdapterUiState, CallCompositePage, CallEndedListener, CallIdChangedListener, DiagnosticChangedEventListner, DisplayNameChangedListener, IsLocalScreenSharingActiveChangedListener, IsMutedChangedListener, IsSpeakingChangedListener, MediaDiagnosticChangedEvent, NetworkDiagnosticChangedEvent, ParticipantsJoinedListener, ParticipantsLeftListener, JoinCallOptions, StartCallIdentifier, StartCaptionsAdapterOptions, StopCaptionsAdapterOptions } from './adapter';
20
18
  export type { CaptionsReceivedListener, IsCaptionsActiveChangedListener, IsCaptionLanguageChangedListener, IsSpokenLanguageChangedListener } from './adapter';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMhD,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,mCAAmC,EAAE,6CAA6C,EAAE,gCAAgC,EAAE,MAAM,WAAW,CAAC;AACjJ,OAAO,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { CallComposite } from './CallComposite';\nexport type { CallCompositeOptions, CallCompositeProps, RemoteVideoTileMenuOptions } from './CallComposite';\nexport type { DeviceCheckOptions } from './CallComposite';\nexport type { LocalVideoTileOptions } from './CallComposite';\nexport type { CallControlOptions } from './types/CallControlOptions';\nexport type { DtmfDialPadOptions } from './CallComposite';\nexport * from './Strings';\nexport { createAzureCommunicationCallAdapter, createAzureCommunicationCallAdapterFromClient, useAzureCommunicationCallAdapter } from './adapter';\nexport { createTeamsCallAdapter, createTeamsCallAdapterFromClient, useTeamsCallAdapter } from './adapter';\nexport type { TeamsAdapterOptions } from './adapter';\nexport type { TeamsCallAdapterArgsCommon, TeamsCallAdapter, TeamsCallAdapterArgs } from './adapter';\nexport type { TeamsOutboundCallAdapterArgs, StartTeamsCallIdentifier } from './adapter';\nexport type { Profile, OnFetchProfileCallback } from './adapter';\nexport type { AzureCommunicationCallAdapterArgs, CallAdapterLocator, CommonCallAdapter, CallAdapterCallOperations, AzureCommunicationOutboundCallAdapterArgs } from './adapter';\nexport type { AzureCommunicationCallAdapterOptions } from './adapter';\nexport type { CommonCallAdapterOptions } from './adapter';\nexport type { CallParticipantsLocator } from './adapter';\nexport type { VideoBackgroundImage, VideoBackgroundEffect, VideoBackgroundNoEffect, VideoBackgroundBlurEffect, VideoBackgroundReplacementEffect } from './adapter/CallAdapter';\nexport type { CallAdapter, CallAdapterCallEndedEvent, CallAdapterCallManagement, CallAdapterClientState, CallAdapterDeviceManagement, CallAdapterState, CallAdapterSubscribers, CallAdapterUiState, CallCompositePage, CallEndedListener, CallIdChangedListener, DiagnosticChangedEventListner, DisplayNameChangedListener, IsLocalScreenSharingActiveChangedListener, IsMutedChangedListener, IsSpeakingChangedListener, MediaDiagnosticChangedEvent, NetworkDiagnosticChangedEvent, ParticipantsJoinedListener, ParticipantsLeftListener, JoinCallOptions, StartCallIdentifier, StartCaptionsAdapterOptions, StopCaptionsAdapterOptions } from './adapter';\nexport type { CaptionsReceivedListener, IsCaptionsActiveChangedListener, IsCaptionLanguageChangedListener, IsSpokenLanguageChangedListener } from './adapter';\nexport type { RealTimeTextReceivedListener } from './adapter';\nexport type { TransferAcceptedListener } from './adapter';\nexport type { CapabilitiesChangedListener } from './adapter';\nexport type { CapabilityChangedNotificationStrings } from './components/CapabilitiesChangedNotificationBar';\nexport type { SpotlightChangedListener } from './adapter';\nexport type { CallingSounds, SoundEffect } from './adapter';\nexport type { SpotlightPromptStrings } from './components/Prompt';"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMhD,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,mCAAmC,EAAE,6CAA6C,EAAE,gCAAgC,EAAE,MAAM,WAAW,CAAC;AACjJ,OAAO,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { CallComposite } from './CallComposite';\nexport type { CallCompositeOptions, CallCompositeProps, RemoteVideoTileMenuOptions } from './CallComposite';\nexport type { LocalVideoTileOptions } from './CallComposite';\nexport type { CallControlOptions } from './types/CallControlOptions';\nexport type { DtmfDialPadOptions } from './CallComposite';\nexport type { NotificationOptions } from './CallComposite';\nexport * from './Strings';\nexport { createAzureCommunicationCallAdapter, createAzureCommunicationCallAdapterFromClient, useAzureCommunicationCallAdapter } from './adapter';\nexport { createTeamsCallAdapter, createTeamsCallAdapterFromClient, useTeamsCallAdapter } from './adapter';\nexport type { TeamsAdapterOptions } from './adapter';\nexport type { TeamsCallAdapterArgsCommon, TeamsCallAdapter, TeamsCallAdapterArgs } from './adapter';\nexport type { Profile, OnFetchProfileCallback } from './adapter';\nexport type { AzureCommunicationCallAdapterArgs, CallAdapterLocator, CommonCallAdapter, CallAdapterCallOperations, AzureCommunicationOutboundCallAdapterArgs } from './adapter';\nexport type { AzureCommunicationCallAdapterOptions } from './adapter';\nexport type { CommonCallAdapterOptions } from './adapter';\nexport type { VideoBackgroundImage, VideoBackgroundEffect, VideoBackgroundNoEffect, VideoBackgroundBlurEffect, VideoBackgroundReplacementEffect } from './adapter/CallAdapter';\nexport type { CallAdapter, CallAdapterCallEndedEvent, CallAdapterCallManagement, CallAdapterClientState, CallAdapterDeviceManagement, CallAdapterState, CallAdapterSubscribers, CallAdapterUiState, CallCompositePage, CallEndedListener, CallIdChangedListener, DiagnosticChangedEventListner, DisplayNameChangedListener, IsLocalScreenSharingActiveChangedListener, IsMutedChangedListener, IsSpeakingChangedListener, MediaDiagnosticChangedEvent, NetworkDiagnosticChangedEvent, ParticipantsJoinedListener, ParticipantsLeftListener, JoinCallOptions, StartCallIdentifier, StartCaptionsAdapterOptions, StopCaptionsAdapterOptions } from './adapter';\nexport type { CaptionsReceivedListener, IsCaptionsActiveChangedListener, IsCaptionLanguageChangedListener, IsSpokenLanguageChangedListener } from './adapter';\nexport type { RealTimeTextReceivedListener } from './adapter';\nexport type { TransferAcceptedListener } from './adapter';\nexport type { CapabilitiesChangedListener } from './adapter';\nexport type { CapabilityChangedNotificationStrings } from './components/CapabilitiesChangedNotificationBar';\nexport type { SpotlightChangedListener } from './adapter';\nexport type { CallingSounds, SoundEffect } from './adapter';\nexport type { SpotlightPromptStrings } from './components/Prompt';"]}
@@ -4,7 +4,7 @@ import { ActiveErrorMessage, ParticipantMenuItemsCallback } from "../../../../..
4
4
  import { ActiveNotification } from "../../../../../react-components/src";
5
5
  import { VideoGalleryLayout } from "../../../../../react-components/src";
6
6
  import { AvatarPersonaDataCallback } from '../../common/AvatarPersona';
7
- import { CallCompositeOptions, DtmfDialPadOptions } from '../CallComposite';
7
+ import { CallCompositeOptions, DtmfDialPadOptions, NotificationOptions } from '../CallComposite';
8
8
  import { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';
9
9
  import { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';
10
10
  import { CapabilitiesChangeNotificationBarProps } from '../components/CapabilitiesChangedNotificationBar';
@@ -34,6 +34,7 @@ export interface CallPageProps {
34
34
  setPinnedParticipants?: (pinnedParticipants: string[]) => void;
35
35
  compositeAudioContext?: AudioContext;
36
36
  disableAutoShowDtmfDialer?: boolean | DtmfDialPadOptions;
37
+ notificationOptions?: NotificationOptions;
37
38
  }
38
39
  /**
39
40
  * @private
@@ -3,9 +3,9 @@
3
3
  import { DiagnosticQuality } from '@azure/communication-calling';
4
4
  import { useId } from '@fluentui/react-hooks';
5
5
  import { _isInCall } from "../../../../../calling-component-bindings/src";
6
- import { ErrorBar } from "../../../../../react-components/src";
6
+ import { _useContainerHeight, _useContainerWidth, ErrorBar } from "../../../../../react-components/src";
7
7
  import { VideoTile } from "../../../../../react-components/src";
8
- import React, { useMemo } from 'react';
8
+ import React, { useMemo, useRef } from 'react';
9
9
  import { useCallback } from 'react';
10
10
  import { useState } from 'react';
11
11
  import { AvatarPersona } from '../../common/AvatarPersona';
@@ -29,11 +29,12 @@ import { getTargetCallees } from '../selectors/baseSelectors';
29
29
  import { Prompt } from '../components/Prompt';
30
30
  import { toFlatCommunicationIdentifier } from "../../../../../acs-ui-common/src";
31
31
  import { mergeStyles, Stack } from '@fluentui/react';
32
+ import { isPhoneNumberIdentifier } from '@azure/communication-common';
32
33
  /**
33
34
  * @private
34
35
  */
35
36
  export const CallPage = (props) => {
36
- var _a, _b, _c, _d;
37
+ var _a, _b;
37
38
  const { callInvitationURL, onFetchAvatarPersonaData, onFetchParticipantMenuItems, options, mobileView, galleryLayout = 'floatingLocalVideo', onUserSetGalleryLayoutChange, userSetOverflowGalleryPosition = 'Responsive', onSetUserSetOverflowGalleryPosition, onCloseChatPane, pinnedParticipants = [], setPinnedParticipants, compositeAudioContext, disableAutoShowDtmfDialer = {
38
39
  dialerBehavior: 'autoShow'
39
40
  }, latestNotifications, onDismissNotification } = props;
@@ -50,6 +51,12 @@ export const CallPage = (props) => {
50
51
  const callees = useSelector(getTargetCallees);
51
52
  const renderDtmfDialerFromStart = showDtmfDialer(callees, remoteParticipantsConnected, disableAutoShowDtmfDialer);
52
53
  const [dtmfDialerPresent, setDtmfDialerPresent] = useState(renderDtmfDialerFromStart);
54
+ const isPstnCall = callees === null || callees === void 0 ? void 0 : callees.some(callee => isPhoneNumberIdentifier(callee));
55
+ const isCTECall = useSelector(state => state.userId.kind === 'microsoftTeamsUser');
56
+ const containerRef = useRef(null);
57
+ const containerWidth = _useContainerWidth(containerRef);
58
+ const containerHeight = _useContainerHeight(containerRef);
59
+ const containerAspectRatio = containerWidth && containerHeight ? containerWidth / containerHeight : 0;
53
60
  const strings = useLocale().strings.call;
54
61
  const pinnedParticipantsChecked = useMemo(() => pinnedParticipants.filter(pinnedParticipant => remoteParticipantsConnected.find(remoteParticipant => toFlatCommunicationIdentifier(remoteParticipant.identifier) === pinnedParticipant)), [pinnedParticipants, remoteParticipantsConnected]);
55
62
  // Reduce the controls shown when mobile view is enabled.
@@ -83,16 +90,19 @@ export const CallPage = (props) => {
83
90
  return React.createElement(DtmfDialpadPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError, capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent, compositeAudioContext: compositeAudioContext });
84
91
  }
85
92
  else {
86
- return React.createElement(MediaGallery, Object.assign({ isMobile: mobileView }, mediaGalleryProps, mediaGalleryHandlers, { onFetchAvatarPersonaData: onFetchAvatarPersonaData, remoteVideoTileMenuOptions: options === null || options === void 0 ? void 0 : options.remoteVideoTileMenuOptions, drawerMenuHostId: drawerMenuHostId, localVideoTileOptions: options === null || options === void 0 ? void 0 : options.localVideoTile, userSetOverflowGalleryPosition: userSetOverflowGalleryPosition, userSetGalleryLayout: galleryLayout, pinnedParticipants: pinnedParticipantsChecked, setPinnedParticipants: setPinnedParticipants, setIsPromptOpen: setIsPromptOpen, setPromptProps: setPromptProps, hideSpotlightButtons: (_a = options === null || options === void 0 ? void 0 : options.spotlight) === null || _a === void 0 ? void 0 : _a.hideSpotlightButtons, videoTilesOptions: options === null || options === void 0 ? void 0 : options.videoTilesOptions, captionsOptions: options === null || options === void 0 ? void 0 : options.captionsBanner, localScreenShareView: (_b = options === null || options === void 0 ? void 0 : options.galleryOptions) === null || _b === void 0 ? void 0 : _b.localScreenShareView }));
93
+ return React.createElement(MediaGallery, Object.assign({ isMobile: mobileView }, mediaGalleryProps, mediaGalleryHandlers, { onFetchAvatarPersonaData: onFetchAvatarPersonaData, remoteVideoTileMenuOptions: options === null || options === void 0 ? void 0 : options.remoteVideoTileMenuOptions, drawerMenuHostId: drawerMenuHostId, localVideoTileOptions: options === null || options === void 0 ? void 0 : options.localVideoTile, userSetOverflowGalleryPosition: userSetOverflowGalleryPosition, userSetGalleryLayout: galleryLayout, pinnedParticipants: pinnedParticipantsChecked, setPinnedParticipants: setPinnedParticipants, setIsPromptOpen: setIsPromptOpen, setPromptProps: setPromptProps, hideSpotlightButtons: (_a = options === null || options === void 0 ? void 0 : options.spotlight) === null || _a === void 0 ? void 0 : _a.hideSpotlightButtons, videoTilesOptions: options === null || options === void 0 ? void 0 : options.videoTilesOptions, captionsOptions: options === null || options === void 0 ? void 0 : options.captionsBanner, localScreenShareView: (_b = options === null || options === void 0 ? void 0 : options.galleryOptions) === null || _b === void 0 ? void 0 : _b.localScreenShareView, compositeContainerAspectRatio: containerAspectRatio }));
87
94
  }
88
95
  };
89
- return React.createElement(React.Fragment, null,
96
+ return React.createElement("div", { ref: containerRef, style: {
97
+ height: '100%',
98
+ width: '100%'
99
+ } },
90
100
  React.createElement(CallArrangement, { id: drawerMenuHostId, complianceBannerProps: Object.assign(Object.assign({}, complianceBannerProps), { strings }), errorBarProps: (options === null || options === void 0 ? void 0 : options.errorBar) !== false && errorBarProps, showErrorNotifications: (_a = options === null || options === void 0 ? void 0 : options.errorBar) !== null && _a !== void 0 ? _a : true, mutedNotificationProps: mutedNotificationProps, callControlProps: {
91
101
  callInvitationURL: callInvitationURL,
92
102
  onFetchParticipantMenuItems: onFetchParticipantMenuItems,
93
103
  options: callControlOptions,
94
104
  increaseFlyoutItemSize: mobileView
95
- }, onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? onRenderGalleryContentTrampoline() : React.createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps, { isMobile: mobileView })) : galleryContentWhenNotInCall, updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors, latestNotifications: latestNotifications, onDismissError: props.onDismissError, onDismissNotification: onDismissNotification, onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition, onUserSetGalleryLayoutChange: onUserSetGalleryLayoutChange, userSetGalleryLayout: galleryLayout, capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent, setIsPromptOpen: setIsPromptOpen, setPromptProps: setPromptProps, hideSpotlightButtons: (_b = options === null || options === void 0 ? void 0 : options.spotlight) === null || _b === void 0 ? void 0 : _b.hideSpotlightButtons, pinnedParticipants: pinnedParticipantsChecked, setPinnedParticipants: setPinnedParticipants, doNotShowCameraAccessNotifications: ((_d = (_c = props.options) === null || _c === void 0 ? void 0 : _c.deviceChecks) === null || _d === void 0 ? void 0 : _d.camera) === 'doNotPrompt', captionsOptions: options === null || options === void 0 ? void 0 : options.captionsBanner, dtmfDialerOptions: disableAutoShowDtmfDialer }),
105
+ }, onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? onRenderGalleryContentTrampoline() : React.createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps, { isMobile: mobileView })) : galleryContentWhenNotInCall, updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors, latestNotifications: latestNotifications, onDismissError: props.onDismissError, onDismissNotification: onDismissNotification, onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition, onUserSetGalleryLayoutChange: onUserSetGalleryLayoutChange, userSetGalleryLayout: galleryLayout, capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent, setIsPromptOpen: setIsPromptOpen, setPromptProps: setPromptProps, hideSpotlightButtons: (_b = options === null || options === void 0 ? void 0 : options.spotlight) === null || _b === void 0 ? void 0 : _b.hideSpotlightButtons, pinnedParticipants: pinnedParticipantsChecked, setPinnedParticipants: setPinnedParticipants, captionsOptions: options === null || options === void 0 ? void 0 : options.captionsBanner, dtmfDialerOptions: disableAutoShowDtmfDialer, notificationOptions: props.notificationOptions, isRTTSupportedCall: !isPstnCall && !isCTECall }),
96
106
  React.createElement(Prompt, Object.assign({ isOpen: isPromptOpen, onDismiss: () => setIsPromptOpen(false) }, promptProps)));
97
107
  };
98
108
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"CallPage.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/pages/CallPage.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { DiagnosticQuality } from '@azure/communication-calling';\nimport { useId } from '@fluentui/react-hooks';\nimport { _isInCall } from '@internal/calling-component-bindings';\nimport { ActiveErrorMessage, ErrorBar, ParticipantMenuItemsCallback } from '@internal/react-components';\nimport { CustomAvatarOptions, VideoTile } from '@internal/react-components';\nimport { ActiveNotification } from '@internal/react-components';\nimport { VideoGalleryLayout } from '@internal/react-components';\nimport React, { useMemo } from 'react';\nimport { useCallback } from 'react';\nimport { useState } from 'react';\nimport { AvatarPersonaDataCallback } from '../../common/AvatarPersona';\nimport { AvatarPersona } from '../../common/AvatarPersona';\nimport { useLocale } from '../../localization';\nimport { CallCompositeOptions, DtmfDialPadOptions } from '../CallComposite';\nimport { CallArrangement } from '../components/CallArrangement';\nimport { MediaGallery } from '../components/MediaGallery';\nimport { NetworkReconnectTile } from '../components/NetworkReconnectTile';\nimport { useHandlers } from '../hooks/useHandlers';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { useSelector } from '../hooks/useSelector';\nimport { callStatusSelector } from '../selectors/callStatusSelector';\nimport { complianceBannerSelector } from '../selectors/complianceBannerSelector';\nimport { mediaGallerySelector } from '../selectors/mediaGallerySelector';\nimport { getRemoteParticipantsConnectedSelector } from '../selectors/mediaGallerySelector';\nimport { mutedNotificationSelector } from '../selectors/mutedNotificationSelector';\nimport { networkReconnectTileSelector } from '../selectors/networkReconnectTileSelector';\nimport { reduceCallControlsForMobile } from '../utils';\nimport { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';\nimport { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';\nimport { CapabilitiesChangeNotificationBarProps } from '../components/CapabilitiesChangedNotificationBar';\nimport { DtmfDialpadPage } from './DtmfDialpadPage';\nimport { showDtmfDialer } from '../utils/MediaGalleryUtils';\nimport { getTargetCallees } from '../selectors/baseSelectors';\nimport { Prompt, PromptProps } from '../components/Prompt';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { mergeStyles, Stack } from '@fluentui/react';\n\n/**\n * @private\n */\nexport interface CallPageProps {\n mobileView: boolean;\n modalLayerHostId: string;\n callInvitationURL?: string;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n options?: CallCompositeOptions;\n latestErrors: ActiveErrorMessage[] | ActiveNotification[];\n latestNotifications: ActiveNotification[];\n onDismissError: (error: ActiveErrorMessage | ActiveNotification) => void;\n onDismissNotification: (notification: ActiveNotification) => void;\n galleryLayout: VideoGalleryLayout;\n capabilitiesChangedNotificationBarProps?: CapabilitiesChangeNotificationBarProps;\n onUserSetGalleryLayoutChange?: (layout: VideoGalleryLayout) => void;\n userSetOverflowGalleryPosition?: 'Responsive' | 'horizontalTop';\n onSetUserSetOverflowGalleryPosition?: (position: 'Responsive' | 'horizontalTop') => void;\n onCloseChatPane?: () => void;\n pinnedParticipants?: string[];\n setPinnedParticipants?: (pinnedParticipants: string[]) => void;\n compositeAudioContext?: AudioContext;\n disableAutoShowDtmfDialer?: boolean | DtmfDialPadOptions;\n}\n\n/**\n * @private\n */\nexport const CallPage = (props: CallPageProps): JSX.Element => {\n const {\n callInvitationURL,\n onFetchAvatarPersonaData,\n onFetchParticipantMenuItems,\n options,\n mobileView,\n galleryLayout = 'floatingLocalVideo',\n onUserSetGalleryLayoutChange,\n userSetOverflowGalleryPosition = 'Responsive',\n onSetUserSetOverflowGalleryPosition,\n onCloseChatPane,\n pinnedParticipants = [],\n setPinnedParticipants,\n compositeAudioContext,\n disableAutoShowDtmfDialer = {\n dialerBehavior: 'autoShow'\n },\n latestNotifications,\n onDismissNotification\n } = props;\n\n // To use useProps to get these states, we need to create another file wrapping Call,\n // It seems unnecessary in this case, so we get the updated states using this approach.\n const {\n callStatus\n } = useSelector(callStatusSelector);\n const mediaGalleryProps = useSelector(mediaGallerySelector);\n const mediaGalleryHandlers = useHandlers(MediaGallery);\n const complianceBannerProps = useSelector(complianceBannerSelector);\n const errorBarProps = usePropsFor(ErrorBar);\n const mutedNotificationProps = useSelector(mutedNotificationSelector);\n const networkReconnectTileProps = useSelector(networkReconnectTileSelector);\n const remoteParticipantsConnected = useSelector(getRemoteParticipantsConnectedSelector);\n const callees = useSelector(getTargetCallees);\n const renderDtmfDialerFromStart = showDtmfDialer(callees, remoteParticipantsConnected, disableAutoShowDtmfDialer);\n const [dtmfDialerPresent, setDtmfDialerPresent] = useState<boolean>(renderDtmfDialerFromStart);\n const strings = useLocale().strings.call;\n const pinnedParticipantsChecked = useMemo(() => pinnedParticipants.filter(pinnedParticipant => remoteParticipantsConnected.find(remoteParticipant => toFlatCommunicationIdentifier(remoteParticipant.identifier) === pinnedParticipant)), [pinnedParticipants, remoteParticipantsConnected]);\n\n // Reduce the controls shown when mobile view is enabled.\n const callControlOptions = mobileView ? reduceCallControlsForMobile(options?.callControls) : options?.callControls;\n const drawerMenuHostId = useId('drawerMenuHost');\n const [isPromptOpen, setIsPromptOpen] = useState<boolean>(false);\n const [promptProps, setPromptProps] = useState<PromptProps>();\n const page = useSelector(state => state.page);\n const userId = useSelector(state => state.userId);\n const displayName = useSelector(state => state.displayName);\n const onRenderAvatar = useCallback((userId?: string, options?: CustomAvatarOptions) => {\n return <Stack className={mergeStyles({\n position: 'absolute',\n height: '100%',\n width: '100%'\n })}>\n <Stack styles={{\n root: {\n margin: 'auto',\n maxHeight: '100%'\n }\n }}>\n {options?.coinSize && <AvatarPersona userId={userId} {...options} dataProvider={props.onFetchAvatarPersonaData} />}\n </Stack>\n </Stack>;\n }, [props.onFetchAvatarPersonaData]);\n let galleryContentWhenNotInCall = <></>;\n if (!_isInCall(callStatus) && page === 'returningFromBreakoutRoom') {\n galleryContentWhenNotInCall = <VideoTile userId={toFlatCommunicationIdentifier(userId)} displayName={displayName} initialsName={displayName} onRenderPlaceholder={onRenderAvatar} />;\n }\n const onRenderGalleryContentTrampoline = (): JSX.Element => {\n if (dtmfDialerPresent) {\n return <DtmfDialpadPage mobileView={props.mobileView} modalLayerHostId={props.modalLayerHostId} options={props.options} updateSidePaneRenderer={props.updateSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} latestErrors={props.latestErrors as ActiveErrorMessage[]} onDismissError={props.onDismissError} capabilitiesChangedNotificationBarProps={props.capabilitiesChangedNotificationBarProps} onSetDialpadPage={() => setDtmfDialerPresent(!dtmfDialerPresent)} dtmfDialerPresent={dtmfDialerPresent} compositeAudioContext={compositeAudioContext} />;\n } else {\n return <MediaGallery isMobile={mobileView} {...mediaGalleryProps} {...mediaGalleryHandlers} onFetchAvatarPersonaData={onFetchAvatarPersonaData} remoteVideoTileMenuOptions={options?.remoteVideoTileMenuOptions} drawerMenuHostId={drawerMenuHostId} localVideoTileOptions={options?.localVideoTile} userSetOverflowGalleryPosition={userSetOverflowGalleryPosition} userSetGalleryLayout={galleryLayout} pinnedParticipants={pinnedParticipantsChecked} setPinnedParticipants={setPinnedParticipants} setIsPromptOpen={setIsPromptOpen} setPromptProps={setPromptProps} hideSpotlightButtons={options?.spotlight?.hideSpotlightButtons} videoTilesOptions={options?.videoTilesOptions} captionsOptions={options?.captionsBanner} localScreenShareView={options?.galleryOptions?.localScreenShareView} />;\n }\n };\n return <>\n <CallArrangement id={drawerMenuHostId} complianceBannerProps={{\n ...complianceBannerProps,\n strings\n }} errorBarProps={options?.errorBar !== false && errorBarProps} showErrorNotifications={options?.errorBar ?? true} mutedNotificationProps={mutedNotificationProps} callControlProps={{\n callInvitationURL: callInvitationURL,\n onFetchParticipantMenuItems: onFetchParticipantMenuItems,\n options: callControlOptions,\n increaseFlyoutItemSize: mobileView\n }} onFetchAvatarPersonaData={onFetchAvatarPersonaData} mobileView={mobileView} modalLayerHostId={props.modalLayerHostId} onRenderGalleryContent={() => _isInCall(callStatus) ? isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? onRenderGalleryContentTrampoline() : <NetworkReconnectTile {...networkReconnectTileProps} isMobile={mobileView} /> : galleryContentWhenNotInCall} updateSidePaneRenderer={props.updateSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} onCloseChatPane={onCloseChatPane} dataUiId={'call-page'} latestErrors={props.latestErrors} latestNotifications={latestNotifications} onDismissError={props.onDismissError} onDismissNotification={onDismissNotification} onUserSetOverflowGalleryPositionChange={onSetUserSetOverflowGalleryPosition} onUserSetGalleryLayoutChange={onUserSetGalleryLayoutChange} userSetGalleryLayout={galleryLayout} capabilitiesChangedNotificationBarProps={props.capabilitiesChangedNotificationBarProps} onSetDialpadPage={() => setDtmfDialerPresent(!dtmfDialerPresent)} dtmfDialerPresent={dtmfDialerPresent} setIsPromptOpen={setIsPromptOpen} setPromptProps={setPromptProps} hideSpotlightButtons={options?.spotlight?.hideSpotlightButtons} pinnedParticipants={pinnedParticipantsChecked} setPinnedParticipants={setPinnedParticipants} doNotShowCameraAccessNotifications={props.options?.deviceChecks?.camera === 'doNotPrompt'} captionsOptions={options?.captionsBanner} dtmfDialerOptions={disableAutoShowDtmfDialer} />\n {<Prompt isOpen={isPromptOpen} onDismiss={() => setIsPromptOpen(false)} {...promptProps} />}\n </>;\n};\n\n/**\n * @private\n */\nexport const isNetworkHealthy = (value: DiagnosticQuality | boolean | undefined): boolean => {\n // We know that the value is actually of type DiagnosticQuality for this diagnostic.\n // We ignore any boolen values, considering the network to still be healthy.\n // Thus, only DiagnosticQuality.Poor or .Bad indicate network problems.\n return value === true || value === false || value === undefined || value === DiagnosticQuality.Good;\n};"]}
1
+ {"version":3,"file":"CallPage.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/pages/CallPage.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { DiagnosticQuality } from '@azure/communication-calling';\nimport { useId } from '@fluentui/react-hooks';\nimport { _isInCall } from '@internal/calling-component-bindings';\nimport { _useContainerHeight, _useContainerWidth, ActiveErrorMessage, ErrorBar, ParticipantMenuItemsCallback } from '@internal/react-components';\nimport { CustomAvatarOptions, VideoTile } from '@internal/react-components';\nimport { ActiveNotification } from '@internal/react-components';\nimport { VideoGalleryLayout } from '@internal/react-components';\nimport React, { useMemo, useRef } from 'react';\nimport { useCallback } from 'react';\nimport { useState } from 'react';\nimport { AvatarPersonaDataCallback } from '../../common/AvatarPersona';\nimport { AvatarPersona } from '../../common/AvatarPersona';\nimport { useLocale } from '../../localization';\nimport { CallCompositeOptions, DtmfDialPadOptions, NotificationOptions } from '../CallComposite';\nimport { CallArrangement } from '../components/CallArrangement';\nimport { MediaGallery } from '../components/MediaGallery';\nimport { NetworkReconnectTile } from '../components/NetworkReconnectTile';\nimport { useHandlers } from '../hooks/useHandlers';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { useSelector } from '../hooks/useSelector';\nimport { callStatusSelector } from '../selectors/callStatusSelector';\nimport { complianceBannerSelector } from '../selectors/complianceBannerSelector';\nimport { mediaGallerySelector } from '../selectors/mediaGallerySelector';\nimport { getRemoteParticipantsConnectedSelector } from '../selectors/mediaGallerySelector';\nimport { mutedNotificationSelector } from '../selectors/mutedNotificationSelector';\nimport { networkReconnectTileSelector } from '../selectors/networkReconnectTileSelector';\nimport { reduceCallControlsForMobile } from '../utils';\nimport { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';\nimport { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';\nimport { CapabilitiesChangeNotificationBarProps } from '../components/CapabilitiesChangedNotificationBar';\nimport { DtmfDialpadPage } from './DtmfDialpadPage';\nimport { showDtmfDialer } from '../utils/MediaGalleryUtils';\nimport { getTargetCallees } from '../selectors/baseSelectors';\nimport { Prompt, PromptProps } from '../components/Prompt';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { mergeStyles, Stack } from '@fluentui/react';\nimport { isPhoneNumberIdentifier } from '@azure/communication-common';\n\n/**\n * @private\n */\nexport interface CallPageProps {\n mobileView: boolean;\n modalLayerHostId: string;\n callInvitationURL?: string;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n options?: CallCompositeOptions;\n latestErrors: ActiveErrorMessage[] | ActiveNotification[];\n latestNotifications: ActiveNotification[];\n onDismissError: (error: ActiveErrorMessage | ActiveNotification) => void;\n onDismissNotification: (notification: ActiveNotification) => void;\n galleryLayout: VideoGalleryLayout;\n capabilitiesChangedNotificationBarProps?: CapabilitiesChangeNotificationBarProps;\n onUserSetGalleryLayoutChange?: (layout: VideoGalleryLayout) => void;\n userSetOverflowGalleryPosition?: 'Responsive' | 'horizontalTop';\n onSetUserSetOverflowGalleryPosition?: (position: 'Responsive' | 'horizontalTop') => void;\n onCloseChatPane?: () => void;\n pinnedParticipants?: string[];\n setPinnedParticipants?: (pinnedParticipants: string[]) => void;\n compositeAudioContext?: AudioContext;\n disableAutoShowDtmfDialer?: boolean | DtmfDialPadOptions;\n notificationOptions?: NotificationOptions;\n}\n\n/**\n * @private\n */\nexport const CallPage = (props: CallPageProps): JSX.Element => {\n const {\n callInvitationURL,\n onFetchAvatarPersonaData,\n onFetchParticipantMenuItems,\n options,\n mobileView,\n galleryLayout = 'floatingLocalVideo',\n onUserSetGalleryLayoutChange,\n userSetOverflowGalleryPosition = 'Responsive',\n onSetUserSetOverflowGalleryPosition,\n onCloseChatPane,\n pinnedParticipants = [],\n setPinnedParticipants,\n compositeAudioContext,\n disableAutoShowDtmfDialer = {\n dialerBehavior: 'autoShow'\n },\n latestNotifications,\n onDismissNotification\n } = props;\n\n // To use useProps to get these states, we need to create another file wrapping Call,\n // It seems unnecessary in this case, so we get the updated states using this approach.\n const {\n callStatus\n } = useSelector(callStatusSelector);\n const mediaGalleryProps = useSelector(mediaGallerySelector);\n const mediaGalleryHandlers = useHandlers(MediaGallery);\n const complianceBannerProps = useSelector(complianceBannerSelector);\n const errorBarProps = usePropsFor(ErrorBar);\n const mutedNotificationProps = useSelector(mutedNotificationSelector);\n const networkReconnectTileProps = useSelector(networkReconnectTileSelector);\n const remoteParticipantsConnected = useSelector(getRemoteParticipantsConnectedSelector);\n const callees = useSelector(getTargetCallees);\n const renderDtmfDialerFromStart = showDtmfDialer(callees, remoteParticipantsConnected, disableAutoShowDtmfDialer);\n const [dtmfDialerPresent, setDtmfDialerPresent] = useState<boolean>(renderDtmfDialerFromStart);\n const isPstnCall = callees?.some(callee => isPhoneNumberIdentifier(callee));\n const isCTECall = useSelector(state => state.userId.kind === 'microsoftTeamsUser');\n const containerRef = useRef<HTMLDivElement>(null);\n const containerWidth = _useContainerWidth(containerRef);\n const containerHeight = _useContainerHeight(containerRef);\n const containerAspectRatio = containerWidth && containerHeight ? containerWidth / containerHeight : 0;\n const strings = useLocale().strings.call;\n const pinnedParticipantsChecked = useMemo(() => pinnedParticipants.filter(pinnedParticipant => remoteParticipantsConnected.find(remoteParticipant => toFlatCommunicationIdentifier(remoteParticipant.identifier) === pinnedParticipant)), [pinnedParticipants, remoteParticipantsConnected]);\n\n // Reduce the controls shown when mobile view is enabled.\n const callControlOptions = mobileView ? reduceCallControlsForMobile(options?.callControls) : options?.callControls;\n const drawerMenuHostId = useId('drawerMenuHost');\n const [isPromptOpen, setIsPromptOpen] = useState<boolean>(false);\n const [promptProps, setPromptProps] = useState<PromptProps>();\n const page = useSelector(state => state.page);\n const userId = useSelector(state => state.userId);\n const displayName = useSelector(state => state.displayName);\n const onRenderAvatar = useCallback((userId?: string, options?: CustomAvatarOptions) => {\n return <Stack className={mergeStyles({\n position: 'absolute',\n height: '100%',\n width: '100%'\n })}>\n <Stack styles={{\n root: {\n margin: 'auto',\n maxHeight: '100%'\n }\n }}>\n {options?.coinSize && <AvatarPersona userId={userId} {...options} dataProvider={props.onFetchAvatarPersonaData} />}\n </Stack>\n </Stack>;\n }, [props.onFetchAvatarPersonaData]);\n let galleryContentWhenNotInCall = <></>;\n if (!_isInCall(callStatus) && page === 'returningFromBreakoutRoom') {\n galleryContentWhenNotInCall = <VideoTile userId={toFlatCommunicationIdentifier(userId)} displayName={displayName} initialsName={displayName} onRenderPlaceholder={onRenderAvatar} />;\n }\n const onRenderGalleryContentTrampoline = (): JSX.Element => {\n if (dtmfDialerPresent) {\n return <DtmfDialpadPage mobileView={props.mobileView} modalLayerHostId={props.modalLayerHostId} options={props.options} updateSidePaneRenderer={props.updateSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} latestErrors={props.latestErrors as ActiveErrorMessage[]} onDismissError={props.onDismissError} capabilitiesChangedNotificationBarProps={props.capabilitiesChangedNotificationBarProps} onSetDialpadPage={() => setDtmfDialerPresent(!dtmfDialerPresent)} dtmfDialerPresent={dtmfDialerPresent} compositeAudioContext={compositeAudioContext} />;\n } else {\n return <MediaGallery isMobile={mobileView} {...mediaGalleryProps} {...mediaGalleryHandlers} onFetchAvatarPersonaData={onFetchAvatarPersonaData} remoteVideoTileMenuOptions={options?.remoteVideoTileMenuOptions} drawerMenuHostId={drawerMenuHostId} localVideoTileOptions={options?.localVideoTile} userSetOverflowGalleryPosition={userSetOverflowGalleryPosition} userSetGalleryLayout={galleryLayout} pinnedParticipants={pinnedParticipantsChecked} setPinnedParticipants={setPinnedParticipants} setIsPromptOpen={setIsPromptOpen} setPromptProps={setPromptProps} hideSpotlightButtons={options?.spotlight?.hideSpotlightButtons} videoTilesOptions={options?.videoTilesOptions} captionsOptions={options?.captionsBanner} localScreenShareView={options?.galleryOptions?.localScreenShareView} compositeContainerAspectRatio={containerAspectRatio} />;\n }\n };\n return <div ref={containerRef} style={{\n height: '100%',\n width: '100%'\n }}>\n <CallArrangement id={drawerMenuHostId} complianceBannerProps={{\n ...complianceBannerProps,\n strings\n }} errorBarProps={options?.errorBar !== false && errorBarProps} showErrorNotifications={options?.errorBar ?? true} mutedNotificationProps={mutedNotificationProps} callControlProps={{\n callInvitationURL: callInvitationURL,\n onFetchParticipantMenuItems: onFetchParticipantMenuItems,\n options: callControlOptions,\n increaseFlyoutItemSize: mobileView\n }} onFetchAvatarPersonaData={onFetchAvatarPersonaData} mobileView={mobileView} modalLayerHostId={props.modalLayerHostId} onRenderGalleryContent={() => _isInCall(callStatus) ? isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? onRenderGalleryContentTrampoline() : <NetworkReconnectTile {...networkReconnectTileProps} isMobile={mobileView} /> : galleryContentWhenNotInCall} updateSidePaneRenderer={props.updateSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} onCloseChatPane={onCloseChatPane} dataUiId={'call-page'} latestErrors={props.latestErrors} latestNotifications={latestNotifications} onDismissError={props.onDismissError} onDismissNotification={onDismissNotification} onUserSetOverflowGalleryPositionChange={onSetUserSetOverflowGalleryPosition} onUserSetGalleryLayoutChange={onUserSetGalleryLayoutChange} userSetGalleryLayout={galleryLayout} capabilitiesChangedNotificationBarProps={props.capabilitiesChangedNotificationBarProps} onSetDialpadPage={() => setDtmfDialerPresent(!dtmfDialerPresent)} dtmfDialerPresent={dtmfDialerPresent} setIsPromptOpen={setIsPromptOpen} setPromptProps={setPromptProps} hideSpotlightButtons={options?.spotlight?.hideSpotlightButtons} pinnedParticipants={pinnedParticipantsChecked} setPinnedParticipants={setPinnedParticipants} captionsOptions={options?.captionsBanner} dtmfDialerOptions={disableAutoShowDtmfDialer} notificationOptions={props.notificationOptions} isRTTSupportedCall={!isPstnCall && !isCTECall} />\n {<Prompt isOpen={isPromptOpen} onDismiss={() => setIsPromptOpen(false)} {...promptProps} />}\n </div>;\n};\n\n/**\n * @private\n */\nexport const isNetworkHealthy = (value: DiagnosticQuality | boolean | undefined): boolean => {\n // We know that the value is actually of type DiagnosticQuality for this diagnostic.\n // We ignore any boolen values, considering the network to still be healthy.\n // Thus, only DiagnosticQuality.Poor or .Bad indicate network problems.\n return value === true || value === false || value === undefined || value === DiagnosticQuality.Good;\n};"]}
@@ -1,6 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import { ActiveErrorMessage } from "../../../../../react-components/src";
3
- import { DeviceCheckOptions } from '../CallComposite';
4
3
  import { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';
5
4
  import { CapabilitiesChangeNotificationBarProps } from '../components/CapabilitiesChangedNotificationBar';
6
5
  /**
@@ -13,12 +12,6 @@ export interface ConfigurationPageProps {
13
12
  latestErrors: ActiveErrorMessage[];
14
13
  onDismissError: (error: ActiveErrorMessage) => void;
15
14
  modalLayerHostId: string;
16
- deviceChecks?: DeviceCheckOptions;
17
- onPermissionsTroubleshootingClick?: (permissionsState: {
18
- camera: PermissionState;
19
- microphone: PermissionState;
20
- }) => void;
21
- onNetworkingTroubleShootingClick?: () => void;
22
15
  capabilitiesChangedNotificationBarProps?: CapabilitiesChangeNotificationBarProps;
23
16
  logo?: {
24
17
  url: string;