@azure/communication-react 1.9.0 → 1.10.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (493) hide show
  1. package/dist/communication-react.d.ts +2403 -189
  2. package/dist/dist-cjs/communication-react/index.js +14191 -7849
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  6. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +2 -1
  7. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +8 -0
  8. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  9. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +12 -0
  10. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +13 -1
  11. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  12. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +4 -0
  13. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  14. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +13 -3
  15. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +18 -2
  16. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  17. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +10 -0
  18. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  19. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +15 -1
  20. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  21. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +45 -0
  22. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +91 -0
  23. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -0
  24. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +4 -1
  25. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +19 -0
  26. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  27. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +6 -0
  28. package/dist/dist-esm/calling-component-bindings/src/index.js +8 -0
  29. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  30. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +1 -0
  31. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +16 -3
  32. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  33. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts +4 -3
  34. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts +14 -2
  36. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js +20 -1
  37. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +7 -0
  39. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +12 -0
  40. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  41. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.d.ts +4 -0
  42. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +11 -0
  43. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  44. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +2 -1
  45. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +8 -1
  46. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  47. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +8 -2
  48. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  49. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +6 -5
  50. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  51. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +15 -1
  52. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  53. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +2 -1
  54. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +5 -0
  55. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  56. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +60 -3
  57. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  58. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +8 -1
  59. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +62 -1
  60. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  61. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +41 -0
  62. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  63. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +1 -0
  64. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +8 -0
  65. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  66. package/dist/dist-esm/calling-stateful-client/src/Converter.js +12 -0
  67. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  68. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.d.ts +1 -0
  69. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js +8 -0
  70. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  71. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.d.ts +1 -0
  72. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +8 -0
  73. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  74. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +25 -1
  75. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +33 -2
  76. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  77. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +19 -0
  78. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +91 -0
  79. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -0
  80. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.d.ts +23 -0
  81. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +49 -0
  82. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -0
  83. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +2 -2
  84. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +8 -0
  85. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  86. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +3 -0
  87. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  88. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +4 -1
  89. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  90. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +119 -6
  91. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  92. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -3
  93. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  94. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -1
  95. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  96. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +3 -1
  97. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  98. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +4 -1
  99. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  100. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.d.ts +1 -0
  101. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  102. package/dist/dist-esm/communication-react/src/index.d.ts +27 -0
  103. package/dist/dist-esm/communication-react/src/index.js +16 -0
  104. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  105. package/dist/dist-esm/react-components/src/components/Caption.js +1 -0
  106. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
  107. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.d.ts +22 -1
  108. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +9 -2
  109. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  110. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.d.ts +2 -0
  111. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +25 -16
  112. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  113. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.d.ts +22 -1
  114. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +49 -15
  115. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  116. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +15 -0
  117. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +92 -2
  118. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  119. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +10 -0
  120. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +15 -0
  121. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +1 -0
  122. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +69 -0
  123. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +43 -0
  124. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -0
  125. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +75 -0
  126. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +75 -0
  127. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -0
  128. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +105 -0
  129. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +68 -0
  130. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -0
  131. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +86 -0
  132. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +39 -0
  133. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +1 -0
  134. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +6 -0
  135. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  136. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +2 -2
  137. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  138. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.d.ts +4 -0
  139. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +20 -19
  140. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  141. package/dist/dist-esm/react-components/src/components/FileDownloadCards.d.ts +29 -1
  142. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +24 -2
  143. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  144. package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +49 -0
  145. package/dist/dist-esm/react-components/src/components/HoldButton.js +25 -0
  146. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -0
  147. package/dist/dist-esm/react-components/src/components/ImageGallery.d.ts +71 -0
  148. package/dist/dist-esm/react-components/src/components/ImageGallery.js +56 -0
  149. package/dist/dist-esm/react-components/src/components/ImageGallery.js.map +1 -0
  150. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +3 -5
  151. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +22 -5
  152. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  153. package/dist/dist-esm/react-components/src/components/LocalVideoTile.d.ts +1 -1
  154. package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +121 -0
  155. package/dist/dist-esm/react-components/src/components/MentionPopover.js +117 -0
  156. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -0
  157. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +51 -2
  158. package/dist/dist-esm/react-components/src/components/MessageThread.js +57 -8
  159. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  160. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +13 -0
  161. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +3 -0
  162. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  163. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +15 -0
  164. package/dist/dist-esm/react-components/src/components/ParticipantList.js +22 -4
  165. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  166. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts +1 -1
  167. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +3 -1
  168. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  169. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +41 -0
  170. package/dist/dist-esm/react-components/src/components/SendBox.js +32 -4
  171. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  172. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +41 -0
  173. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +573 -0
  174. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +1 -0
  175. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +152 -0
  176. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +816 -0
  177. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +1 -0
  178. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +2 -0
  179. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  180. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +2 -0
  181. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  182. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +24 -0
  183. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  184. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +2 -0
  185. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  186. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +7 -3
  187. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  188. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.d.ts +4 -0
  189. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js +25 -15
  190. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
  191. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.d.ts +2 -2
  192. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +6 -4
  193. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -1
  194. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.d.ts +5 -0
  195. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +8 -3
  196. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  197. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.d.ts +1 -1
  198. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.d.ts +1 -1
  199. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.d.ts +5 -0
  200. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js +8 -3
  201. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -1
  202. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +15 -3
  203. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  204. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +13 -0
  205. package/dist/dist-esm/react-components/src/components/VideoGallery.js +15 -5
  206. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  207. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +7 -0
  208. package/dist/dist-esm/react-components/src/components/VideoTile.js +7 -1
  209. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  210. package/dist/dist-esm/react-components/src/components/index.d.ts +19 -0
  211. package/dist/dist-esm/react-components/src/components/index.js +12 -0
  212. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  213. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +58 -0
  214. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +144 -0
  215. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -0
  216. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.d.ts +12 -0
  217. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +25 -2
  218. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  219. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js +2 -2
  220. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  221. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.d.ts +68 -0
  222. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.js +205 -0
  223. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.js.map +1 -0
  224. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.d.ts +0 -4
  225. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +0 -9
  226. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  227. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +26 -0
  228. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +68 -0
  229. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +1 -0
  230. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +1 -1
  231. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +38 -0
  232. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +92 -0
  233. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +1 -0
  234. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +26 -0
  235. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +67 -0
  236. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +1 -0
  237. package/dist/dist-esm/react-components/src/components/utils/common.js +4 -0
  238. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  239. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +2 -1
  240. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  241. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +7 -0
  242. package/dist/dist-esm/react-components/src/components/utils/merge.js +16 -0
  243. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -0
  244. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +4 -0
  245. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +5 -1
  246. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  247. package/dist/dist-esm/react-components/src/index.d.ts +1 -0
  248. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  249. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +63 -0
  250. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  251. package/dist/dist-esm/react-components/src/theming/icons.d.ts +87 -72
  252. package/dist/dist-esm/react-components/src/theming/icons.js +108 -0
  253. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  254. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +6 -0
  255. package/dist/dist-esm/react-components/src/theming/icons.styles.js +25 -0
  256. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -0
  257. package/dist/dist-esm/react-components/src/theming/themes.d.ts +21 -2
  258. package/dist/dist-esm/react-components/src/theming/themes.js +16 -0
  259. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  260. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +27 -1
  261. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  262. package/dist/dist-esm/react-components/src/types/OnRender.d.ts +8 -0
  263. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  264. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +6 -0
  265. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js +2 -0
  266. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  267. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +78 -0
  268. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +87 -7
  269. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  270. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +144 -0
  271. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  272. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +75 -5
  273. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +317 -50
  274. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  275. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +130 -1
  276. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -1
  277. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  278. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +2 -1
  279. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +7 -1
  280. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  281. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +6 -0
  282. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js +2 -0
  283. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  284. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +2 -0
  285. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +67 -10
  286. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  287. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +1 -0
  288. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +121 -12
  289. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  290. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +48 -0
  291. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +218 -0
  292. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -0
  293. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +2 -0
  294. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +27 -0
  295. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  296. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +20 -2
  297. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  298. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +2 -0
  299. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +27 -0
  300. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  301. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.d.ts +12 -0
  302. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +93 -0
  303. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -0
  304. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +1 -0
  305. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +33 -6
  306. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  307. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts +0 -9
  308. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +21 -37
  309. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  310. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +0 -4
  311. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  312. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +4 -2
  313. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  314. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +36 -2
  315. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  316. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +4 -2
  317. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  318. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.d.ts +8 -0
  319. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +26 -0
  320. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -0
  321. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +8 -1
  322. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  323. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +6 -2
  324. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  325. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +23 -6
  326. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  327. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +6 -0
  328. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js +2 -0
  329. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  330. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +1 -2
  331. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +6 -3
  332. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  333. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +7 -0
  334. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +97 -6
  335. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  336. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +24 -0
  337. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +28 -0
  338. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -0
  339. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +2 -2
  340. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  341. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.d.ts +11 -0
  342. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +113 -0
  343. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -0
  344. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +15 -0
  345. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +54 -0
  346. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -0
  347. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +5 -0
  348. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.d.ts +5 -0
  349. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +9 -0
  350. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +10 -0
  351. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  352. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +5 -0
  353. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.d.ts +5 -0
  354. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +5 -0
  355. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.d.ts +5 -0
  356. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +5 -0
  357. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +5 -0
  358. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +4 -0
  359. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  360. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +5 -0
  361. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +5 -0
  362. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +5 -0
  363. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +5 -0
  364. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +10 -0
  365. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +5 -0
  366. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +5 -0
  367. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.d.ts +32 -0
  368. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +81 -0
  369. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -0
  370. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.d.ts +37 -0
  371. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js +73 -0
  372. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js.map +1 -0
  373. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +1 -80
  374. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  375. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +15 -3
  376. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +88 -1
  377. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  378. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +68 -1
  379. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +35 -5
  380. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  381. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +32 -0
  382. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  383. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +30 -5
  384. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +111 -4
  385. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  386. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +64 -0
  387. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  388. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +10 -2
  389. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +40 -0
  390. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  391. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +13 -0
  392. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +37 -1
  393. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  394. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.d.ts +1 -0
  395. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  396. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +24 -0
  397. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +11 -1
  398. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  399. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +20 -0
  400. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +4 -0
  401. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  402. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +133 -5
  403. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  404. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +18 -0
  405. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +18 -0
  406. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -0
  407. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.d.ts +15 -0
  408. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +23 -0
  409. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +1 -0
  410. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +4 -0
  411. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  412. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +28 -2
  413. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +126 -4
  414. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  415. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.d.ts +28 -0
  416. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +159 -1
  417. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  418. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +17 -2
  419. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  420. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +2 -0
  421. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  422. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +8 -1
  423. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  424. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +6 -0
  425. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +11 -0
  426. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -0
  427. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +4 -0
  428. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  429. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +12 -0
  430. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +15 -0
  431. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -0
  432. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +34 -0
  433. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +14 -0
  434. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +1 -0
  435. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +5 -1
  436. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +11 -0
  437. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  438. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +22 -0
  439. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +107 -0
  440. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -0
  441. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts +17 -0
  442. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +32 -0
  443. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -0
  444. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.d.ts +5 -0
  445. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +3 -2
  446. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  447. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +22 -0
  448. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +74 -0
  449. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -0
  450. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts +15 -0
  451. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +61 -0
  452. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -0
  453. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.d.ts +2 -0
  454. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +8 -2
  455. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -1
  456. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +2 -0
  457. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +14 -6
  458. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  459. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.d.ts +84 -23
  460. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js +13 -5
  461. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  462. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.d.ts +2 -0
  463. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +70 -1
  464. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  465. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +65 -3
  466. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  467. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.d.ts +1 -0
  468. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  469. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +20 -3
  470. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  471. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.d.ts +1 -2
  472. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +3 -1
  473. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  474. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +21 -2
  475. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  476. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.d.ts +17 -0
  477. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +50 -0
  478. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +1 -0
  479. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.d.ts +11 -0
  480. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js +40 -0
  481. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +1 -0
  482. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +103 -73
  483. package/dist/dist-esm/react-composites/src/composites/common/icons.js +18 -2
  484. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  485. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +21 -83
  486. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  487. package/dist/dist-esm/react-composites/src/composites/index.d.ts +1 -0
  488. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  489. package/dist/tsdoc-metadata.json +1 -1
  490. package/package.json +6 -74
  491. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.d.ts +0 -13
  492. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +0 -32
  493. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Camera.js","sourceRoot":"","sources":["../../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/buttons/Camera.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,YAAY,EAA0B,+CAAmC;AAClF,+CAA+C;AAC/C,OAAO,EAAE,sBAAsB,EAAE,+CAAmC;AACpE,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,wCAAwC,CAAC,+CAA+C;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAG/D;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAQtB,EAAe,EAAE;;IAChB,MAAM,iBAAiB,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,WAAC,OAAA,sBAAsB,CAAC,MAAA,KAAK,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAA,EAAA,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACzF,wCAAwC,CAAC,+CAA+C;IACxF,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,+CAA+C;IAC/C,MAAM,qBAAqB,GAAG,MAAA,MAAA,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,mBAAmB,0CAAE,YAAY,CAAC,WAAW,CAAC;IACrG,OAAO,oBAAC,YAAY,gCAAY,8BAA8B,IAAK,iBAAiB,IAAE,SAAS,EAAE,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,EAAE,KAAK,CAAC,8BAA8B,EAAE,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ;QACzQ,+CAA+C,CAAC,eAAe,EAAE,qBAAqB,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,oBAAC,sBAAsB,IAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,+BAA+B,GAAI,CAAC,CAAC,CAAC,SAAS;QACpO,2DAA2D,CAAC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,CAAC;AACnJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CameraButton, ControlBarButtonStyles } from '@internal/react-components';\n/* @conditional-compile-remove(capabilities) */\nimport { _HighContrastAwareIcon } from '@internal/react-components';\nimport React, { useMemo } from 'react';\nimport { CallControlDisplayType } from '../../../common/types/CommonCallControlOptions';\nimport { usePropsFor } from '../../hooks/usePropsFor';\nimport { concatButtonBaseStyles } from '../../styles/Buttons.styles';\n/* @conditional-compile-remove(rooms) */ /* @conditional-compile-remove(capabilities) */\nimport { useAdapter } from '../../adapter/CallAdapterProvider';\nimport { IButton } from '@fluentui/react';\n\n/**\n * @private\n */\nexport const Camera = (props: {\n displayType?: CallControlDisplayType;\n styles?: ControlBarButtonStyles;\n splitButtonsForDeviceSelection?: boolean;\n disabled?: boolean;\n /* @conditional-compile-remove(video-background-effects) */\n onClickVideoEffects?: (showVideoEffects: boolean) => void;\n componentRef?: React.RefObject<IButton>;\n}): JSX.Element => {\n const cameraButtonProps = usePropsFor(CameraButton);\n const styles = useMemo(() => concatButtonBaseStyles(props.styles ?? {}), [props.styles]);\n /* @conditional-compile-remove(rooms) */ /* @conditional-compile-remove(capabilities) */\n const adapter = useAdapter();\n /* @conditional-compile-remove(capabilities) */\n const turnVideoOnCapability = adapter.getState().call?.capabilitiesFeature?.capabilities.turnVideoOn;\n return <CameraButton data-ui-id=\"call-composite-camera-button\" {...cameraButtonProps} showLabel={props.displayType !== 'compact'} styles={styles} enableDeviceSelectionMenu={props.splitButtonsForDeviceSelection} disabled={cameraButtonProps.disabled || props.disabled}\n /* @conditional-compile-remove(capabilities) */ onRenderOffIcon={turnVideoOnCapability && !turnVideoOnCapability.isPresent ? () => <_HighContrastAwareIcon disabled={true} iconName={'ControlButtonCameraProhibited'} /> : undefined}\n /* @conditional-compile-remove(video-background-effects) */ onClickVideoEffects={props.onClickVideoEffects} componentRef={props.componentRef} />;\n};\"../../../../../../react-components/src\""]}
1
+ {"version":3,"file":"Camera.js","sourceRoot":"","sources":["../../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/buttons/Camera.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,YAAY,EAA0B,+CAAmC;AAClF,+CAA+C;AAC/C,OAAO,EAAE,sBAAsB,EAAE,+CAAmC;AACpE,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,wCAAwC,CAAC,+CAA+C;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAG/D;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAQtB,EAAe,EAAE;;IAChB,MAAM,iBAAiB,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,WAAC,OAAA,sBAAsB,CAAC,MAAA,KAAK,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAA,EAAA,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACzF,wCAAwC,CAAC,+CAA+C;IACxF,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,wCAAwC;IACxC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC;IAEnD,+CAA+C;IAC/C,MAAM,qBAAqB,GAAG,MAAA,MAAA,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,mBAAmB,0CAAE,YAAY,CAAC,WAAW,CAAC;IACrG,OAAO,oBAAC,YAAY,gCAAY,8BAA8B,IAAK,iBAAiB,IAAE,SAAS,EAAE,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,EAAE,KAAK,CAAC,8BAA8B,EAAE,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,IAAI,wCAAwC,CAAA,WAAW,IAAI,CAAA,MAAA,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,IAAI,MAAK,SAAS;QAC/W,+CAA+C,CAAC,eAAe,EAAE,qBAAqB,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,oBAAC,sBAAsB,IAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,+BAA+B,GAAI,CAAC,CAAC,CAAC,SAAS;QACpO,2DAA2D,CAAC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,CAAC;AACnJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CameraButton, ControlBarButtonStyles } from '@internal/react-components';\n/* @conditional-compile-remove(capabilities) */\nimport { _HighContrastAwareIcon } from '@internal/react-components';\nimport React, { useMemo } from 'react';\nimport { CallControlDisplayType } from '../../../common/types/CommonCallControlOptions';\nimport { usePropsFor } from '../../hooks/usePropsFor';\nimport { concatButtonBaseStyles } from '../../styles/Buttons.styles';\n/* @conditional-compile-remove(rooms) */ /* @conditional-compile-remove(capabilities) */\nimport { useAdapter } from '../../adapter/CallAdapterProvider';\nimport { IButton } from '@fluentui/react';\n\n/**\n * @private\n */\nexport const Camera = (props: {\n displayType?: CallControlDisplayType;\n styles?: ControlBarButtonStyles;\n splitButtonsForDeviceSelection?: boolean;\n disabled?: boolean;\n /* @conditional-compile-remove(video-background-effects) */\n onClickVideoEffects?: (showVideoEffects: boolean) => void;\n componentRef?: React.RefObject<IButton>;\n}): JSX.Element => {\n const cameraButtonProps = usePropsFor(CameraButton);\n const styles = useMemo(() => concatButtonBaseStyles(props.styles ?? {}), [props.styles]);\n /* @conditional-compile-remove(rooms) */ /* @conditional-compile-remove(capabilities) */\n const adapter = useAdapter();\n /* @conditional-compile-remove(rooms) */\n const isRoomsCall = adapter.getState().isRoomsCall;\n\n /* @conditional-compile-remove(capabilities) */\n const turnVideoOnCapability = adapter.getState().call?.capabilitiesFeature?.capabilities.turnVideoOn;\n return <CameraButton data-ui-id=\"call-composite-camera-button\" {...cameraButtonProps} showLabel={props.displayType !== 'compact'} styles={styles} enableDeviceSelectionMenu={props.splitButtonsForDeviceSelection} disabled={cameraButtonProps.disabled || props.disabled || /* @conditional-compile-remove(rooms) */isRoomsCall && adapter.getState().call?.role === 'Unknown'}\n /* @conditional-compile-remove(capabilities) */ onRenderOffIcon={turnVideoOnCapability && !turnVideoOnCapability.isPresent ? () => <_HighContrastAwareIcon disabled={true} iconName={'ControlButtonCameraProhibited'} /> : undefined}\n /* @conditional-compile-remove(video-background-effects) */ onClickVideoEffects={props.onClickVideoEffects} componentRef={props.componentRef} />;\n};\"../../../../../../react-components/src\""]}
@@ -4,13 +4,47 @@ import { DevicesButton } from "../../../../../../react-components/src";
4
4
  import React, { useMemo } from 'react';
5
5
  import { usePropsFor } from '../../hooks/usePropsFor';
6
6
  import { concatButtonBaseStyles, devicesButtonWithIncreasedTouchTargets } from '../../styles/Buttons.styles';
7
+ /* @conditional-compile-remove(rooms) */
8
+ import { useLocale } from '../../../localization';
9
+ import { _HighContrastAwareIcon } from "../../../../../../react-components/src";
10
+ /* @conditional-compile-remove(rooms) */
11
+ import { useAdapter } from '../../adapter/CallAdapterProvider';
7
12
  /** @private */
8
13
  export const Devices = (props) => {
14
+ var _a, _b;
9
15
  const devicesButtonProps = usePropsFor(DevicesButton);
10
- const augmentedDeviceButtonProps = useMemo(() => (Object.assign({}, devicesButtonProps)), [devicesButtonProps]);
16
+ /* @conditional-compile-remove(rooms) */
17
+ const adapter = useAdapter();
18
+ /* @conditional-compile-remove(rooms) */
19
+ const role = (_b = (_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.role) !== null && _b !== void 0 ? _b : 'Unknown';
20
+ const augmentedDeviceButtonProps = useMemo(() => (Object.assign(Object.assign({}, devicesButtonProps), {
21
+ /* @conditional-compile-remove(rooms) */
22
+ microphones: role === 'Consumer' ? [] : devicesButtonProps.microphones,
23
+ /* @conditional-compile-remove(rooms) */
24
+ cameras: role === 'Consumer' ? [] : devicesButtonProps.cameras })), [devicesButtonProps,
25
+ role]);
11
26
  const styles = useMemo(() => { var _a; return concatButtonBaseStyles(props.increaseFlyoutItemSize ? devicesButtonWithIncreasedTouchTargets : {}, (_a = props.styles) !== null && _a !== void 0 ? _a : {}); }, [props.increaseFlyoutItemSize, props.styles]);
27
+ /* @conditional-compile-remove(rooms) */
28
+ const locale = useLocale();
29
+ /* @conditional-compile-remove(rooms) */
30
+ const onlyManageSpeakers = role === 'Consumer';
31
+ /* @conditional-compile-remove(rooms) */
32
+ const onRenderDevicesIcon = () => {
33
+ return React.createElement(_HighContrastAwareIcon, { disabled: props.disabled, iconName: "OptionsSpeaker" });
34
+ };
12
35
  return React.createElement(DevicesButton
13
36
  /* By setting `persistMenu?` to true, we prevent options menu from getting hidden every time a participant joins or leaves. */ , Object.assign({
14
- /* By setting `persistMenu?` to true, we prevent options menu from getting hidden every time a participant joins or leaves. */ persistMenu: true }, augmentedDeviceButtonProps, { showLabel: props.displayType !== 'compact', styles: styles, "data-ui-id": "calling-composite-devices-button", disabled: props.disabled }));
37
+ /* By setting `persistMenu?` to true, we prevent options menu from getting hidden every time a participant joins or leaves. */ persistMenu: true }, augmentedDeviceButtonProps, { showLabel: props.displayType !== 'compact', styles: styles, "data-ui-id": "calling-composite-devices-button", disabled: props.disabled,
38
+ /* @conditional-compile-remove(rooms) */ strings: getLabelFromRole(role, locale),
39
+ /* @conditional-compile-remove(rooms) */ onRenderIcon: onlyManageSpeakers ? onRenderDevicesIcon : undefined }));
40
+ };
41
+ /* @conditional-compile-remove(rooms) */
42
+ const getLabelFromRole = (role, locale) => {
43
+ if (role === 'Consumer') {
44
+ return {
45
+ label: locale.component.strings.microphoneButton.speakerMenuTitle
46
+ };
47
+ }
48
+ return undefined;
15
49
  };
16
50
  //# sourceMappingURL=Devices.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Devices.js","sourceRoot":"","sources":["../../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/buttons/Devices.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAA0B,aAAa,EAAE,+CAAmC;AACnF,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,sCAAsC,EAAE,MAAM,6BAA6B,CAAC;AAG7G,eAAe;AACf,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAKvB,EAAe,EAAE;IAChB,MAAM,kBAAkB,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IACtD,MAAM,0BAA0B,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,mBAC5C,kBAAkB,EACrB,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,WAAC,OAAA,sBAAsB,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAA,KAAK,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAA,EAAA,EAAE,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACnM,OAAO,oBAAC,aAAa;IACrB,8HAA8H;QAA9H,8HAA8H,CAAC,WAAW,EAAE,IAAI,IAAM,0BAA0B,IAAE,SAAS,EAAE,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,MAAM,EAAE,MAAM,gBAAa,kCAAkC,EAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC;AAC3T,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ControlBarButtonStyles, DevicesButton } from '@internal/react-components';\nimport React, { useMemo } from 'react';\nimport { usePropsFor } from '../../hooks/usePropsFor';\nimport { concatButtonBaseStyles, devicesButtonWithIncreasedTouchTargets } from '../../styles/Buttons.styles';\nimport { _HighContrastAwareIcon } from '@internal/react-components';\nimport { CallControlDisplayType } from '../../../common/types/CommonCallControlOptions';\n/** @private */\nexport const Devices = (props: {\n displayType?: CallControlDisplayType;\n increaseFlyoutItemSize?: boolean;\n styles?: ControlBarButtonStyles;\n disabled?: boolean;\n}): JSX.Element => {\n const devicesButtonProps = usePropsFor(DevicesButton);\n const augmentedDeviceButtonProps = useMemo(() => ({\n ...devicesButtonProps\n }), [devicesButtonProps]);\n const styles = useMemo(() => concatButtonBaseStyles(props.increaseFlyoutItemSize ? devicesButtonWithIncreasedTouchTargets : {}, props.styles ?? {}), [props.increaseFlyoutItemSize, props.styles]);\n return <DevicesButton\n /* By setting `persistMenu?` to true, we prevent options menu from getting hidden every time a participant joins or leaves. */ persistMenu={true} {...augmentedDeviceButtonProps} showLabel={props.displayType !== 'compact'} styles={styles} data-ui-id=\"calling-composite-devices-button\" disabled={props.disabled} />;\n};\"../../../../../../react-components/src\""]}
1
+ {"version":3,"file":"Devices.js","sourceRoot":"","sources":["../../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/buttons/Devices.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAA0B,aAAa,EAAE,+CAAmC;AAGnF,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,sCAAsC,EAAE,MAAM,6BAA6B,CAAC;AAC7G,wCAAwC;AACxC,OAAO,EAAmB,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,+CAAmC;AAEpE,wCAAwC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAI/D,eAAe;AACf,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAKvB,EAAe,EAAE;;IAChB,MAAM,kBAAkB,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IACtD,wCAAwC;IACxC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,wCAAwC;IACxC,MAAM,IAAI,GAAoB,MAAA,MAAA,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,IAAI,mCAAI,SAAS,CAAC;IACzE,MAAM,0BAA0B,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,iCAC5C,kBAAkB;QACrB,wCAAwC;QACxC,WAAW,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,WAAW;QACtE,wCAAwC;QACxC,OAAO,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,IAC9D,EAAE,CAAC,kBAAkB;QACvB,IAAI,CAAC,CAAC,CAAC;IACP,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,WAAC,OAAA,sBAAsB,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAA,KAAK,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAA,EAAA,EAAE,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACnM,wCAAwC;IACxC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,wCAAwC;IACxC,MAAM,kBAAkB,GAAG,IAAI,KAAK,UAAU,CAAC;IAE/C,wCAAwC;IACxC,MAAM,mBAAmB,GAAG,GAAgB,EAAE;QAC5C,OAAO,oBAAC,sBAAsB,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAC,gBAAgB,GAAG,CAAC;IACxF,CAAC,CAAC;IACF,OAAO,oBAAC,aAAa;IACrB,8HAA8H;QAA9H,8HAA8H,CAAC,WAAW,EAAE,IAAI,IAAM,0BAA0B,IAAE,SAAS,EAAE,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,MAAM,EAAE,MAAM,gBAAa,kCAAkC,EAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACpT,wCAAwC,CAAC,OAAO,EAAE,gBAAgB,CAAE,IAAwB,EAAE,MAAM,CAAC;QACrG,wCAAwC,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC;AAClH,CAAC,CAAC;AAEF,wCAAwC;AACxC,MAAM,gBAAgB,GAAG,CAAC,IAAqB,EAAE,MAAuB,EAA6C,EAAE;IACrH,IAAI,IAAI,KAAK,UAAU,EAAE;QACvB,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,gBAAgB;SAClE,CAAC;KACH;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ControlBarButtonStyles, DevicesButton } from '@internal/react-components';\n/* @conditional-compile-remove(rooms) */\nimport { DevicesButtonStrings } from '@internal/react-components';\nimport React, { useMemo } from 'react';\nimport { usePropsFor } from '../../hooks/usePropsFor';\nimport { concatButtonBaseStyles, devicesButtonWithIncreasedTouchTargets } from '../../styles/Buttons.styles';\n/* @conditional-compile-remove(rooms) */\nimport { CompositeLocale, useLocale } from '../../../localization';\nimport { _HighContrastAwareIcon } from '@internal/react-components';\nimport { CallControlDisplayType } from '../../../common/types/CommonCallControlOptions';\n/* @conditional-compile-remove(rooms) */\nimport { useAdapter } from '../../adapter/CallAdapterProvider';\n/* @conditional-compile-remove(rooms) */\nimport { ParticipantRole } from '@azure/communication-calling';\n\n/** @private */\nexport const Devices = (props: {\n displayType?: CallControlDisplayType;\n increaseFlyoutItemSize?: boolean;\n styles?: ControlBarButtonStyles;\n disabled?: boolean;\n}): JSX.Element => {\n const devicesButtonProps = usePropsFor(DevicesButton);\n /* @conditional-compile-remove(rooms) */\n const adapter = useAdapter();\n /* @conditional-compile-remove(rooms) */\n const role: ParticipantRole = adapter.getState().call?.role ?? 'Unknown';\n const augmentedDeviceButtonProps = useMemo(() => ({\n ...devicesButtonProps,\n /* @conditional-compile-remove(rooms) */\n microphones: role === 'Consumer' ? [] : devicesButtonProps.microphones,\n /* @conditional-compile-remove(rooms) */\n cameras: role === 'Consumer' ? [] : devicesButtonProps.cameras\n }), [devicesButtonProps, /* @conditional-compile-remove(rooms) */\n role]);\n const styles = useMemo(() => concatButtonBaseStyles(props.increaseFlyoutItemSize ? devicesButtonWithIncreasedTouchTargets : {}, props.styles ?? {}), [props.increaseFlyoutItemSize, props.styles]);\n /* @conditional-compile-remove(rooms) */\n const locale = useLocale();\n /* @conditional-compile-remove(rooms) */\n const onlyManageSpeakers = role === 'Consumer';\n\n /* @conditional-compile-remove(rooms) */\n const onRenderDevicesIcon = (): JSX.Element => {\n return <_HighContrastAwareIcon disabled={props.disabled} iconName=\"OptionsSpeaker\" />;\n };\n return <DevicesButton\n /* By setting `persistMenu?` to true, we prevent options menu from getting hidden every time a participant joins or leaves. */ persistMenu={true} {...augmentedDeviceButtonProps} showLabel={props.displayType !== 'compact'} styles={styles} data-ui-id=\"calling-composite-devices-button\" disabled={props.disabled}\n /* @conditional-compile-remove(rooms) */ strings={getLabelFromRole((role as ParticipantRole), locale)}\n /* @conditional-compile-remove(rooms) */ onRenderIcon={onlyManageSpeakers ? onRenderDevicesIcon : undefined} />;\n};\n\n/* @conditional-compile-remove(rooms) */\nconst getLabelFromRole = (role: ParticipantRole, locale: CompositeLocale): Partial<DevicesButtonStrings> | undefined => {\n if (role === 'Consumer') {\n return {\n label: locale.component.strings.microphoneButton.speakerMenuTitle\n };\n }\n return undefined;\n};\"../../../../../../react-components/src\""]}
@@ -16,13 +16,15 @@ import { useAdapter } from '../../adapter/CallAdapterProvider';
16
16
  * @private
17
17
  */
18
18
  export const Microphone = (props) => {
19
- var _a, _b;
19
+ var _a, _b, _c;
20
20
  const microphoneButtonProps = usePropsFor(MicrophoneButton);
21
21
  const callStatus = useSelector(getCallStatus);
22
22
  const isLocalMicrophoneEnabled = useSelector(getLocalMicrophoneEnabled);
23
23
  const strings = useLocale().strings.call;
24
24
  /* @conditional-compile-remove(rooms) */ /* @conditional-compile-remove(capabilities) */
25
25
  const adapter = useAdapter();
26
+ /* @conditional-compile-remove(rooms) */
27
+ const isRoomsCall = adapter.getState().isRoomsCall;
26
28
  /* @conditional-compile-remove(capabilities) */
27
29
  const unmuteMicCapability = (_b = (_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.capabilitiesFeature) === null || _b === void 0 ? void 0 : _b.capabilities.unmuteMic;
28
30
  /**
@@ -43,7 +45,7 @@ export const Microphone = (props) => {
43
45
  } : {};
44
46
  const styles = useMemo(() => { var _a; return concatButtonBaseStyles((_a = props.styles) !== null && _a !== void 0 ? _a : {}); }, [props.styles]);
45
47
  // tab focus on MicrophoneButton on page load
46
- return React.createElement(MicrophoneButton, Object.assign({ "data-ui-id": "call-composite-microphone-button" }, microphoneButtonProps, { showLabel: props.displayType !== 'compact', styles: styles }, microphoneButtonStrings, { enableDeviceSelectionMenu: props.splitButtonsForDeviceSelection, disabled: microphoneButtonProps.disabled || props.disabled,
48
+ return React.createElement(MicrophoneButton, Object.assign({ "data-ui-id": "call-composite-microphone-button" }, microphoneButtonProps, { showLabel: props.displayType !== 'compact', styles: styles }, microphoneButtonStrings, { enableDeviceSelectionMenu: props.splitButtonsForDeviceSelection, disabled: microphoneButtonProps.disabled || props.disabled || /* @conditional-compile-remove(rooms) */ isRoomsCall && ((_c = adapter.getState().call) === null || _c === void 0 ? void 0 : _c.role) === 'Unknown',
47
49
  /* @conditional-compile-remove(capabilities) */ onRenderOffIcon: unmuteMicCapability && !unmuteMicCapability.isPresent ? () => React.createElement(_HighContrastAwareIcon, { disabled: true, iconName: 'ControlButtonMicProhibited' }) : undefined }));
48
50
  };
49
51
  //# sourceMappingURL=Microphone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Microphone.js","sourceRoot":"","sources":["../../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/buttons/Microphone.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,sBAAsB,EAAE,yDAA6C;AAC9E,OAAO,EAA0B,gBAAgB,EAAE,+CAAmC;AACtF,+CAA+C;AAC/C,OAAO,EAAE,sBAAsB,EAAE,+CAAmC;AACpE,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,wCAAwC,CAAC,+CAA+C;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAK1B,EAAe,EAAE;;IAChB,MAAM,qBAAqB,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IAC9C,MAAM,wBAAwB,GAAG,WAAW,CAAC,yBAAyB,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACzC,wCAAwC,CAAC,+CAA+C;IACxF,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,+CAA+C;IAC/C,MAAM,mBAAmB,GAAG,MAAA,MAAA,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,mBAAmB,0CAAE,YAAY,CAAC,SAAS,CAAC;IAEjG;;;OAGG;IACH,IAAI,sBAAsB,CAAC,UAAU,CAAC,EAAE;QACtC,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtC,+FAA+F;QAC/F,mDAAmD;QACnD,qBAAqB,CAAC,OAAO,GAAG,wBAAwB,CAAC;KAC1D;IACD,MAAM,uBAAuB,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACnE,OAAO,EAAE;YACP,iBAAiB,EAAE,OAAO,CAAC,iCAAiC;YAC5D,gBAAgB,EAAE,OAAO,CAAC,iCAAiC;SAC5D;KACF,CAAC,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,WAAC,OAAA,sBAAsB,CAAC,MAAA,KAAK,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAA,EAAA,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAEzF,6CAA6C;IAC7C,OAAO,oBAAC,gBAAgB,gCAAY,kCAAkC,IAAK,qBAAqB,IAAE,SAAS,EAAE,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,MAAM,EAAE,MAAM,IAAM,uBAAuB,IAAE,yBAAyB,EAAE,KAAK,CAAC,8BAA8B,EAAE,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ;QACtT,+CAA+C,CAAC,eAAe,EAAE,mBAAmB,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,oBAAC,sBAAsB,IAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,4BAA4B,GAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC;AACpO,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport { ControlBarButtonStyles, MicrophoneButton } from '@internal/react-components';\n/* @conditional-compile-remove(capabilities) */\nimport { _HighContrastAwareIcon } from '@internal/react-components';\nimport React, { useMemo } from 'react';\nimport { CallControlDisplayType } from '../../../common/types/CommonCallControlOptions';\nimport { useLocale } from '../../../localization';\nimport { usePropsFor } from '../../hooks/usePropsFor';\nimport { useSelector } from '../../hooks/useSelector';\nimport { getCallStatus, getLocalMicrophoneEnabled } from '../../selectors/baseSelectors';\nimport { concatButtonBaseStyles } from '../../styles/Buttons.styles';\n/* @conditional-compile-remove(rooms) */ /* @conditional-compile-remove(capabilities) */\nimport { useAdapter } from '../../adapter/CallAdapterProvider';\n\n/**\n * @private\n */\nexport const Microphone = (props: {\n displayType?: CallControlDisplayType;\n styles?: ControlBarButtonStyles;\n splitButtonsForDeviceSelection?: boolean;\n disabled?: boolean;\n}): JSX.Element => {\n const microphoneButtonProps = usePropsFor(MicrophoneButton);\n const callStatus = useSelector(getCallStatus);\n const isLocalMicrophoneEnabled = useSelector(getLocalMicrophoneEnabled);\n const strings = useLocale().strings.call;\n /* @conditional-compile-remove(rooms) */ /* @conditional-compile-remove(capabilities) */\n const adapter = useAdapter();\n /* @conditional-compile-remove(capabilities) */\n const unmuteMicCapability = adapter.getState().call?.capabilitiesFeature?.capabilities.unmuteMic;\n\n /**\n * When call is in Lobby, microphone button should be disabled.\n * This is due to to headless limitation where a call can not be muted/unmuted in lobby.\n */\n if (_isInLobbyOrConnecting(callStatus)) {\n microphoneButtonProps.disabled = true;\n // Lobby page should show the microphone status that was set on the local preview/configuration\n // page until the user successfully joins the call.\n microphoneButtonProps.checked = isLocalMicrophoneEnabled;\n }\n const microphoneButtonStrings = _isInLobbyOrConnecting(callStatus) ? {\n strings: {\n tooltipOffContent: strings.microphoneToggleInLobbyNotAllowed,\n tooltipOnContent: strings.microphoneToggleInLobbyNotAllowed\n }\n } : {};\n const styles = useMemo(() => concatButtonBaseStyles(props.styles ?? {}), [props.styles]);\n\n // tab focus on MicrophoneButton on page load\n return <MicrophoneButton data-ui-id=\"call-composite-microphone-button\" {...microphoneButtonProps} showLabel={props.displayType !== 'compact'} styles={styles} {...microphoneButtonStrings} enableDeviceSelectionMenu={props.splitButtonsForDeviceSelection} disabled={microphoneButtonProps.disabled || props.disabled}\n /* @conditional-compile-remove(capabilities) */ onRenderOffIcon={unmuteMicCapability && !unmuteMicCapability.isPresent ? () => <_HighContrastAwareIcon disabled={true} iconName={'ControlButtonMicProhibited'} /> : undefined} />;\n};\"../../../../../../calling-component-bindings/src\"\"../../../../../../react-components/src\""]}
1
+ {"version":3,"file":"Microphone.js","sourceRoot":"","sources":["../../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/buttons/Microphone.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,sBAAsB,EAAE,yDAA6C;AAC9E,OAAO,EAA0B,gBAAgB,EAAE,+CAAmC;AACtF,+CAA+C;AAC/C,OAAO,EAAE,sBAAsB,EAAE,+CAAmC;AACpE,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,wCAAwC,CAAC,+CAA+C;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAK1B,EAAe,EAAE;;IAChB,MAAM,qBAAqB,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IAC9C,MAAM,wBAAwB,GAAG,WAAW,CAAC,yBAAyB,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACzC,wCAAwC,CAAC,+CAA+C;IACxF,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,wCAAwC;IACxC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC;IAEnD,+CAA+C;IAC/C,MAAM,mBAAmB,GAAG,MAAA,MAAA,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,mBAAmB,0CAAE,YAAY,CAAC,SAAS,CAAC;IAEjG;;;OAGG;IACH,IAAI,sBAAsB,CAAC,UAAU,CAAC,EAAE;QACtC,qBAAqB,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtC,+FAA+F;QAC/F,mDAAmD;QACnD,qBAAqB,CAAC,OAAO,GAAG,wBAAwB,CAAC;KAC1D;IACD,MAAM,uBAAuB,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACnE,OAAO,EAAE;YACP,iBAAiB,EAAE,OAAO,CAAC,iCAAiC;YAC5D,gBAAgB,EAAE,OAAO,CAAC,iCAAiC;SAC5D;KACF,CAAC,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,WAAC,OAAA,sBAAsB,CAAC,MAAA,KAAK,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAA,EAAA,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAEzF,6CAA6C;IAC7C,OAAO,oBAAC,gBAAgB,gCAAY,kCAAkC,IAAK,qBAAqB,IAAE,SAAS,EAAE,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,MAAM,EAAE,MAAM,IAAM,uBAAuB,IAAE,yBAAyB,EAAE,KAAK,CAAC,8BAA8B,EAAE,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,IAAI,wCAAwC,CAAA,WAAW,IAAI,CAAA,MAAA,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,IAAI,MAAK,SAAS;QAC5Z,+CAA+C,CAAC,eAAe,EAAE,mBAAmB,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,oBAAC,sBAAsB,IAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,4BAA4B,GAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC;AACpO,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport { ControlBarButtonStyles, MicrophoneButton } from '@internal/react-components';\n/* @conditional-compile-remove(capabilities) */\nimport { _HighContrastAwareIcon } from '@internal/react-components';\nimport React, { useMemo } from 'react';\nimport { CallControlDisplayType } from '../../../common/types/CommonCallControlOptions';\nimport { useLocale } from '../../../localization';\nimport { usePropsFor } from '../../hooks/usePropsFor';\nimport { useSelector } from '../../hooks/useSelector';\nimport { getCallStatus, getLocalMicrophoneEnabled } from '../../selectors/baseSelectors';\nimport { concatButtonBaseStyles } from '../../styles/Buttons.styles';\n/* @conditional-compile-remove(rooms) */ /* @conditional-compile-remove(capabilities) */\nimport { useAdapter } from '../../adapter/CallAdapterProvider';\n\n/**\n * @private\n */\nexport const Microphone = (props: {\n displayType?: CallControlDisplayType;\n styles?: ControlBarButtonStyles;\n splitButtonsForDeviceSelection?: boolean;\n disabled?: boolean;\n}): JSX.Element => {\n const microphoneButtonProps = usePropsFor(MicrophoneButton);\n const callStatus = useSelector(getCallStatus);\n const isLocalMicrophoneEnabled = useSelector(getLocalMicrophoneEnabled);\n const strings = useLocale().strings.call;\n /* @conditional-compile-remove(rooms) */ /* @conditional-compile-remove(capabilities) */\n const adapter = useAdapter();\n /* @conditional-compile-remove(rooms) */\n const isRoomsCall = adapter.getState().isRoomsCall;\n\n /* @conditional-compile-remove(capabilities) */\n const unmuteMicCapability = adapter.getState().call?.capabilitiesFeature?.capabilities.unmuteMic;\n\n /**\n * When call is in Lobby, microphone button should be disabled.\n * This is due to to headless limitation where a call can not be muted/unmuted in lobby.\n */\n if (_isInLobbyOrConnecting(callStatus)) {\n microphoneButtonProps.disabled = true;\n // Lobby page should show the microphone status that was set on the local preview/configuration\n // page until the user successfully joins the call.\n microphoneButtonProps.checked = isLocalMicrophoneEnabled;\n }\n const microphoneButtonStrings = _isInLobbyOrConnecting(callStatus) ? {\n strings: {\n tooltipOffContent: strings.microphoneToggleInLobbyNotAllowed,\n tooltipOnContent: strings.microphoneToggleInLobbyNotAllowed\n }\n } : {};\n const styles = useMemo(() => concatButtonBaseStyles(props.styles ?? {}), [props.styles]);\n\n // tab focus on MicrophoneButton on page load\n return <MicrophoneButton data-ui-id=\"call-composite-microphone-button\" {...microphoneButtonProps} showLabel={props.displayType !== 'compact'} styles={styles} {...microphoneButtonStrings} enableDeviceSelectionMenu={props.splitButtonsForDeviceSelection} disabled={microphoneButtonProps.disabled || props.disabled || /* @conditional-compile-remove(rooms) */isRoomsCall && adapter.getState().call?.role === 'Unknown'}\n /* @conditional-compile-remove(capabilities) */ onRenderOffIcon={unmuteMicCapability && !unmuteMicCapability.isPresent ? () => <_HighContrastAwareIcon disabled={true} iconName={'ControlButtonMicProhibited'} /> : undefined} />;\n};\"../../../../../../calling-component-bindings/src\"\"../../../../../../react-components/src\""]}
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { ControlBarButtonProps } from "../../../../../../react-components/src";
3
+ /**
4
+ * @private
5
+ */
6
+ /** @beta */
7
+ export declare const People: (props: ControlBarButtonProps) => JSX.Element;
8
+ //# sourceMappingURL=People.d.ts.map
@@ -0,0 +1,26 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import React, { useMemo } from 'react';
4
+ import { ControlBarButton, useTheme } from "../../../../../../react-components/src";
5
+ import { concatStyleSets } from '@fluentui/react';
6
+ import { CallCompositeIcon } from '../../../common/icons';
7
+ import { controlButtonBaseStyle } from '../../styles/Buttons.styles';
8
+ const icon = () => React.createElement(CallCompositeIcon, { iconName: 'ControlButtonParticipants' });
9
+ /**
10
+ * @private
11
+ */
12
+ /** @beta */
13
+ export const People = (props) => {
14
+ const { strings, onRenderOnIcon, onRenderOffIcon, onClick } = props;
15
+ const theme = useTheme();
16
+ const styles = useMemo(() => {
17
+ var _a;
18
+ return concatStyleSets({
19
+ rootChecked: {
20
+ background: theme.palette.neutralLight
21
+ }
22
+ }, (_a = props.styles) !== null && _a !== void 0 ? _a : {}, controlButtonBaseStyle);
23
+ }, [props.styles, theme.palette.neutralLight]);
24
+ return React.createElement(ControlBarButton, Object.assign({}, props, { "data-ui-id": "call-composite-participants-button", strings: strings, labelKey: 'peopleButtonLabelKey', onRenderOnIcon: onRenderOnIcon !== null && onRenderOnIcon !== void 0 ? onRenderOnIcon : icon, onRenderOffIcon: onRenderOffIcon !== null && onRenderOffIcon !== void 0 ? onRenderOffIcon : icon, onClick: onClick, styles: styles }));
25
+ };
26
+ //# sourceMappingURL=People.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"People.js","sourceRoot":"","sources":["../../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/buttons/People.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAiD,QAAQ,EAAE,+CAAmC;AACvH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,MAAM,IAAI,GAAG,GAAgB,EAAE,CAAC,oBAAC,iBAAiB,IAAC,QAAQ,EAAE,2BAA2B,GAAI,CAAC;AAE7F;;GAEG;AACH,YAAY;AACZ,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAA4B,EAAe,EAAE;IAClE,MAAM,EACJ,OAAO,EACP,cAAc,EACd,eAAe,EACf,OAAO,EACR,GAAG,KAAK,CAAC;IACV,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,MAAM,GAA2B,OAAO,CAAC,GAAG,EAAE;;QAAC,OAAA,eAAe,CAAC;YACnE,WAAW,EAAE;gBACX,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;aACvC;SACF,EAAE,MAAA,KAAK,CAAC,MAAM,mCAAI,EAAE,EAAE,sBAAsB,CAAC,CAAA;KAAA,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5F,OAAO,oBAAC,gBAAgB,oBAAK,KAAK,kBAAa,oCAAoC,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,cAAc,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,IAAI,EAAE,eAAe,EAAE,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AACjQ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { useMemo } from 'react';\nimport { ControlBarButton, ControlBarButtonProps, ControlBarButtonStyles, useTheme } from '@internal/react-components';\nimport { concatStyleSets } from '@fluentui/react';\nimport { CallCompositeIcon } from '../../../common/icons';\nimport { controlButtonBaseStyle } from '../../styles/Buttons.styles';\nconst icon = (): JSX.Element => <CallCompositeIcon iconName={'ControlButtonParticipants'} />;\n\n/**\n * @private\n */\n/** @beta */\nexport const People = (props: ControlBarButtonProps): JSX.Element => {\n const {\n strings,\n onRenderOnIcon,\n onRenderOffIcon,\n onClick\n } = props;\n const theme = useTheme();\n const styles: ControlBarButtonStyles = useMemo(() => concatStyleSets({\n rootChecked: {\n background: theme.palette.neutralLight\n }\n }, props.styles ?? {}, controlButtonBaseStyle), [props.styles, theme.palette.neutralLight]);\n return <ControlBarButton {...props} data-ui-id=\"call-composite-participants-button\" strings={strings} labelKey={'peopleButtonLabelKey'} onRenderOnIcon={onRenderOnIcon ?? icon} onRenderOffIcon={onRenderOffIcon ?? icon} onClick={onClick} styles={styles} />;\n};\"../../../../../../react-components/src\""]}
@@ -4,17 +4,24 @@ import { ScreenShareButton } from "../../../../../../react-components/src";
4
4
  import React, { useMemo } from 'react';
5
5
  import { usePropsFor } from '../../hooks/usePropsFor';
6
6
  import { concatButtonBaseStyles } from '../../styles/Buttons.styles';
7
+ /* @conditional-compile-remove(rooms) */
8
+ import { useAdapter } from '../../adapter/CallAdapterProvider';
7
9
  /** @private */
8
10
  export const ScreenShare = (props) => {
11
+ var _a;
9
12
  const screenShareButtonProps = usePropsFor(ScreenShareButton);
10
13
  const styles = useMemo(() => { var _a; return concatButtonBaseStyles((_a = props.styles) !== null && _a !== void 0 ? _a : {}); }, [props.styles]);
14
+ /* @conditional-compile-remove(rooms) */
15
+ const adapter = useAdapter();
16
+ /* @conditional-compile-remove(rooms) */
17
+ const isRoomsCall = adapter.getState().isRoomsCall;
11
18
  const screenShareButtonDisabled = () => {
12
19
  var _a;
13
20
  /* @conditional-compile-remove(capabilities) */ /* @conditional-compile-remove(PSTN-calls) */
14
21
  return (_a = screenShareButtonProps === null || screenShareButtonProps === void 0 ? void 0 : screenShareButtonProps.disabled) !== null && _a !== void 0 ? _a : isDisabled(props.option);
15
22
  return isDisabled(props.option);
16
23
  };
17
- return React.createElement(ScreenShareButton, Object.assign({ "data-ui-id": "call-composite-screenshare-button" }, screenShareButtonProps, { showLabel: props.displayType !== 'compact', disabled: screenShareButtonDisabled() || props.disabled, styles: styles }));
24
+ return React.createElement(ScreenShareButton, Object.assign({ "data-ui-id": "call-composite-screenshare-button" }, screenShareButtonProps, { showLabel: props.displayType !== 'compact', disabled: screenShareButtonDisabled() || props.disabled || /* @conditional-compile-remove(rooms) */ isRoomsCall && ((_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.role) === 'Unknown', styles: styles }));
18
25
  };
19
26
  const isDisabled = (option) => {
20
27
  if (option === undefined || option === true || option === false) {
@@ -1 +1 @@
1
- {"version":3,"file":"ScreenShare.js","sourceRoot":"","sources":["../../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAA0B,iBAAiB,EAAE,+CAAmC;AACvF,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,eAAe;AACf,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAQ3B,EAAe,EAAE;IAChB,MAAM,sBAAsB,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,WAAC,OAAA,sBAAsB,CAAC,MAAA,KAAK,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAA,EAAA,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACzF,MAAM,yBAAyB,GAAG,GAAY,EAAE;;QAC9C,+CAA+C,CAAC,6CAA6C;QAC7F,OAAO,MAAA,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,QAAQ,mCAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpE,OAAO,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CAAC;IACF,OAAO,oBAAC,iBAAiB,gCAAY,mCAAmC,IAAK,sBAAsB,IAAE,SAAS,EAAE,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,QAAQ,EAAE,yBAAyB,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC/N,CAAC,CAAC;AACF,MAAM,UAAU,GAAG,CAAC,MAEnB,EAAW,EAAE;IACZ,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,KAAK,EAAE;QAC/D,OAAO,KAAK,CAAC;KACd;IACD,OAAO,MAAM,CAAC,QAAQ,CAAC;AACzB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ControlBarButtonStyles, ScreenShareButton } from '@internal/react-components';\nimport React, { useMemo } from 'react';\nimport { CallControlDisplayType } from '../../../common/types/CommonCallControlOptions';\nimport { usePropsFor } from '../../hooks/usePropsFor';\nimport { concatButtonBaseStyles } from '../../styles/Buttons.styles';\n/** @private */\nexport const ScreenShare = (props: {\n // The value of `CallControlOptions.screenShareButton`.\n option?: boolean | {\n disabled: boolean;\n };\n displayType?: CallControlDisplayType;\n styles?: ControlBarButtonStyles;\n disabled?: boolean;\n}): JSX.Element => {\n const screenShareButtonProps = usePropsFor(ScreenShareButton);\n const styles = useMemo(() => concatButtonBaseStyles(props.styles ?? {}), [props.styles]);\n const screenShareButtonDisabled = (): boolean => {\n /* @conditional-compile-remove(capabilities) */ /* @conditional-compile-remove(PSTN-calls) */\n return screenShareButtonProps?.disabled ?? isDisabled(props.option);\n return isDisabled(props.option);\n };\n return <ScreenShareButton data-ui-id=\"call-composite-screenshare-button\" {...screenShareButtonProps} showLabel={props.displayType !== 'compact'} disabled={screenShareButtonDisabled() || props.disabled} styles={styles} />;\n};\nconst isDisabled = (option?: boolean | {\n disabled: boolean;\n}): boolean => {\n if (option === undefined || option === true || option === false) {\n return false;\n }\n return option.disabled;\n};\"../../../../../../react-components/src\""]}
1
+ {"version":3,"file":"ScreenShare.js","sourceRoot":"","sources":["../../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAA0B,iBAAiB,EAAE,+CAAmC;AACvF,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,wCAAwC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAE/D,eAAe;AACf,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAQ3B,EAAe,EAAE;;IAChB,MAAM,sBAAsB,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,WAAC,OAAA,sBAAsB,CAAC,MAAA,KAAK,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAA,EAAA,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACzF,wCAAwC;IACxC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,wCAAwC;IACxC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC;IACnD,MAAM,yBAAyB,GAAG,GAAY,EAAE;;QAC9C,+CAA+C,CAAC,6CAA6C;QAC7F,OAAO,MAAA,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,QAAQ,mCAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACpE,OAAO,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CAAC;IACF,OAAO,oBAAC,iBAAiB,gCAAY,mCAAmC,IAAK,sBAAsB,IAAE,SAAS,EAAE,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,QAAQ,EAAE,yBAAyB,EAAE,IAAI,KAAK,CAAC,QAAQ,IAAI,wCAAwC,CAAA,WAAW,IAAI,CAAA,MAAA,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,IAAI,MAAK,SAAS,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AACrU,CAAC,CAAC;AACF,MAAM,UAAU,GAAG,CAAC,MAEnB,EAAW,EAAE;IACZ,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,KAAK,EAAE;QAC/D,OAAO,KAAK,CAAC;KACd;IACD,OAAO,MAAM,CAAC,QAAQ,CAAC;AACzB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ControlBarButtonStyles, ScreenShareButton } from '@internal/react-components';\nimport React, { useMemo } from 'react';\nimport { CallControlDisplayType } from '../../../common/types/CommonCallControlOptions';\nimport { usePropsFor } from '../../hooks/usePropsFor';\nimport { concatButtonBaseStyles } from '../../styles/Buttons.styles';\n/* @conditional-compile-remove(rooms) */\nimport { useAdapter } from '../../adapter/CallAdapterProvider';\n\n/** @private */\nexport const ScreenShare = (props: {\n // The value of `CallControlOptions.screenShareButton`.\n option?: boolean | {\n disabled: boolean;\n };\n displayType?: CallControlDisplayType;\n styles?: ControlBarButtonStyles;\n disabled?: boolean;\n}): JSX.Element => {\n const screenShareButtonProps = usePropsFor(ScreenShareButton);\n const styles = useMemo(() => concatButtonBaseStyles(props.styles ?? {}), [props.styles]);\n /* @conditional-compile-remove(rooms) */\n const adapter = useAdapter();\n /* @conditional-compile-remove(rooms) */\n const isRoomsCall = adapter.getState().isRoomsCall;\n const screenShareButtonDisabled = (): boolean => {\n /* @conditional-compile-remove(capabilities) */ /* @conditional-compile-remove(PSTN-calls) */\n return screenShareButtonProps?.disabled ?? isDisabled(props.option);\n return isDisabled(props.option);\n };\n return <ScreenShareButton data-ui-id=\"call-composite-screenshare-button\" {...screenShareButtonProps} showLabel={props.displayType !== 'compact'} disabled={screenShareButtonDisabled() || props.disabled || /* @conditional-compile-remove(rooms) */isRoomsCall && adapter.getState().call?.role === 'Unknown'} styles={styles} />;\n};\nconst isDisabled = (option?: boolean | {\n disabled: boolean;\n}): boolean => {\n if (option === undefined || option === true || option === false) {\n return false;\n }\n return option.disabled;\n};\"../../../../../../react-components/src\""]}
@@ -59,7 +59,11 @@ const memoizeState = memoizeOne((userId, deviceManager, calls, latestErrors, dis
59
59
  displayName
60
60
  },
61
61
  calls,
62
- latestErrors
62
+ latestErrors,
63
+ /* @conditional-compile-remove(PSTN-calls) */
64
+ alternateCallerId,
65
+ /* @conditional-compile-remove(unsupported-browser) */
66
+ environmentInfo
63
67
  }));
64
68
  const memoizeCalls = memoizeOne((call) => call ? {
65
69
  [call.id]: call
@@ -79,6 +83,6 @@ const adaptCompositeState = (compositeState) => {
79
83
  // that are unknown to the UI component and data binding libraries. Generic handling of the errors (e.g.,
80
84
  // just displaying them in some UI surface) will continue to work for these operations. Handling of
81
85
  // specific operations (e.g., acting on errors related to permission issues) will ignore these operations.
82
- compositeState.latestErrors), compositeState.displayName);
86
+ compositeState.latestErrors), compositeState.displayName, /* @conditional-compile-remove(PSTN-calls) */ compositeState.alternateCallerId, /* @conditional-compile-remove(unsupported-browser) */ compositeState.environmentInfo);
83
87
  };
84
88
  //# 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 } from '@internal/calling-stateful-client';\nimport { CommunicationIdentifierKind } from '@azure/communication-common';\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, displayName?: string, alternateCallerId?: string, environmentInfo?: undefined): CallClientState => ({\n userId,\n incomingCalls: {},\n incomingCallsEnded: {},\n callsEnded: {},\n deviceManager,\n callAgent: {\n displayName\n },\n calls,\n latestErrors\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.displayName);\n};\"../../../../../calling-stateful-client/src\""]}
1
+ {"version":3,"file":"useAdaptedSelector.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,uDAAuD;AAEvD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAM5D;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAiE,QAAmB,EAAE,aAAwC,EAAyB,EAAE;IACzL,OAAO,yBAAyB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,aAAa,CAAC,CAAC;AACjF,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAA4H,QAAmB,EAAE,UAAsB,EAAE,aAAwC,EAAyB,EAAE;;IACnR,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,sHAAsH;IACtH,qHAAqH;IACrH,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,EAAE,CAAC;IAC3C,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACrC,MAAM;KACP,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACd,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,eAAe,CAAC,CAAC,CAAC;IAC/G,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;IACxB,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,aAAa,GAAG,CAAC,KAAuB,EAAQ,EAAE;YACtD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBACpB,OAAO;aACR;YACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,eAAe,CAAC,CAAC;YAC/E,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE;gBAChC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACpB;QACH,CAAC,CAAC;QACF,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACrC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACxC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;IACpE,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AACF,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,MAAmC,EAAE,aAAiC,EAAE,KAExG,EAAE,YAAwB,EAAE,WAAoB,EAAE,iBAA0B,EAAE,eAAmG,EAAmB,EAAE,CAAC,CAAC;IACvM,MAAM;IACN,aAAa,EAAE,EAAE;IACjB,kBAAkB,EAAE,EAAE;IACtB,UAAU,EAAE,EAAE;IACd,aAAa;IACb,SAAS,EAAE;QACT,WAAW;KACZ;IACD,KAAK;IACL,YAAY;IACZ,6CAA6C;IAC7C,iBAAiB;IACjB,sDAAsD;IACtD,eAAe;CAChB,CAAC,CAAC,CAAC;AACJ,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,IAAgB,EAE/C,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACV,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI;CAChB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACR,MAAM,mBAAmB,GAAG,CAAC,cAAgC,EAAmB,EAAE;IAChF,OAAO,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;IACtG,oCAAoC;IACpC,uFAAuF;IACvF,EAAE;IACF,oEAAoE;IACpE,6FAA6F;IAC7F,sEAAsE;IACtE,qGAAqG;IACrG,mEAAmE;IACnE,EAAE;IACF,6GAA6G;IAC7G,yGAAyG;IACzG,mGAAmG;IACnG,0GAA0G;IAC1G,cAAc,CAAC,YAA0B,CAAC,EAAE,cAAc,CAAC,WAAW,EAAE,6CAA6C,CACrH,cAAc,CAAC,iBAAiB,EAAE,sDAAsD,CACxF,cAAc,CAAC,eAAe,CAAC,CAAC;AAClC,CAAC,CAAC","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 } from '@internal/calling-stateful-client';\nimport { CommunicationIdentifierKind } from '@azure/communication-common';\n/* @conditional-compile-remove(unsupported-browser) */\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, displayName?: string, alternateCallerId?: string, environmentInfo?: undefined | /* @conditional-compile-remove(unsupported-browser) */EnvironmentInfo): CallClientState => ({\n userId,\n incomingCalls: {},\n incomingCallsEnded: {},\n callsEnded: {},\n deviceManager,\n callAgent: {\n displayName\n },\n calls,\n latestErrors,\n /* @conditional-compile-remove(PSTN-calls) */\n alternateCallerId,\n /* @conditional-compile-remove(unsupported-browser) */\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.displayName, /* @conditional-compile-remove(PSTN-calls) */\n compositeState.alternateCallerId, /* @conditional-compile-remove(unsupported-browser) */\n compositeState.environmentInfo);\n};\"../../../../../calling-stateful-client/src\""]}
@@ -30,6 +30,19 @@ const createCompositeHandlers = memoizeOne((adapter) => ({
30
30
  onHangUp: (forEveryone) => __awaiter(void 0, void 0, void 0, function* () {
31
31
  yield adapter.leaveCall(forEveryone);
32
32
  }),
33
+ /* @conditional-compile-remove(PSTN-calls) */
34
+ onToggleHold: () => __awaiter(void 0, void 0, void 0, function* () {
35
+ var _a;
36
+ return ((_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.state) === 'LocalHold' ? yield adapter.resumeCall() : yield adapter.holdCall();
37
+ }),
38
+ /* @conditional-compile-remove(PSTN-calls) */
39
+ onAddParticipant: (participant, options) => __awaiter(void 0, void 0, void 0, function* () {
40
+ return yield adapter.addParticipant(participant, options);
41
+ }),
42
+ /* @conditional-compile-remove(PSTN-calls) */
43
+ onSendDtmfTone: (dtmfTone) => __awaiter(void 0, void 0, void 0, function* () {
44
+ yield adapter.sendDtmfTone(dtmfTone);
45
+ }),
33
46
  onRemoveParticipant: (userId) => __awaiter(void 0, void 0, void 0, function* () {
34
47
  yield adapter.removeParticipant(userId);
35
48
  }),
@@ -43,8 +56,8 @@ const createCompositeHandlers = memoizeOne((adapter) => ({
43
56
  }),
44
57
  /* @conditional-compile-remove(raise-hand) */
45
58
  onToggleRaiseHand: () => __awaiter(void 0, void 0, void 0, function* () {
46
- var _a;
47
- ((_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.raiseHand.localParticipantRaisedHand) ? yield adapter.lowerHand() : yield adapter.raiseHand();
59
+ var _b;
60
+ ((_b = adapter.getState().call) === null || _b === void 0 ? void 0 : _b.raiseHand.localParticipantRaisedHand) ? yield adapter.lowerHand() : yield adapter.raiseHand();
48
61
  }),
49
62
  onSelectCamera: (deviceInfo, options) => __awaiter(void 0, void 0, void 0, function* () {
50
63
  yield adapter.setCamera(deviceInfo, options);
@@ -69,12 +82,12 @@ const createCompositeHandlers = memoizeOne((adapter) => ({
69
82
  isCameraOn(adapter.getState()) ? yield adapter.stopCamera() : yield adapter.startCamera(options);
70
83
  }),
71
84
  onToggleMicrophone: () => __awaiter(void 0, void 0, void 0, function* () {
72
- var _b;
73
- return ((_b = adapter.getState().call) === null || _b === void 0 ? void 0 : _b.isMuted) ? yield adapter.unmute() : yield adapter.mute();
85
+ var _c;
86
+ return ((_c = adapter.getState().call) === null || _c === void 0 ? void 0 : _c.isMuted) ? yield adapter.unmute() : yield adapter.mute();
74
87
  }),
75
88
  onToggleScreenShare: () => __awaiter(void 0, void 0, void 0, function* () {
76
- var _c;
77
- return ((_c = adapter.getState().call) === null || _c === void 0 ? void 0 : _c.isScreenSharingOn) ? yield adapter.stopScreenShare() : yield adapter.startScreenShare();
89
+ var _d;
90
+ return ((_d = adapter.getState().call) === null || _d === void 0 ? void 0 : _d.isScreenSharingOn) ? yield adapter.stopScreenShare() : yield adapter.startScreenShare();
78
91
  }),
79
92
  onStartLocalVideo: () => __awaiter(void 0, void 0, void 0, function* () {
80
93
  if (adapter.getState().call) {
@@ -93,6 +106,10 @@ const createCompositeHandlers = memoizeOne((adapter) => ({
93
106
  onDisposeRemoteVideoStreamView: (userId) => __awaiter(void 0, void 0, void 0, function* () {
94
107
  return adapter.disposeRemoteVideoStreamView(userId);
95
108
  }),
109
+ /* @conditional-compile-remove(call-readiness) */
110
+ askDevicePermission: (constrain) => __awaiter(void 0, void 0, void 0, function* () {
111
+ return adapter.askDevicePermission(constrain);
112
+ }),
96
113
  /* @conditional-compile-remove(video-background-effects) */
97
114
  onRemoveVideoBackgroundEffects: () => __awaiter(void 0, void 0, void 0, function* () {
98
115
  return yield adapter.stopVideoBackgroundEffects();
@@ -1 +1 @@
1
- {"version":3,"file":"useHandlers.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/hooks/useHandlers.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;AAGlC,OAAO,EAAoB,6BAA6B,EAAE,yCAAgC;AAE1F,OAAO,UAAU,MAAM,aAAa,CAAC;AAIrC,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAItC;;GAEG;AACH,+HAA+H;AAC/H,MAAM,CAAC,MAAM,WAAW,GAAG,CAAU,UAAkD,EAAgF,EAAE;IACvK,OAAO,uBAAuB,CAAC,UAAU,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC;AACF,MAAM,uBAAuB,GAAG,UAAU,CAAC,CAAC,OAA0B,EAAyB,EAAE,CAAC,CAAC;IACjG,uBAAuB,EAAE,CAAM,OAAO,EAAC,EAAE;QACvC,OAAO,MAAM,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC,CAAA;IACD,wBAAwB,EAAE,CAAO,MAAM,EAAE,OAAO,EAAE,EAAE;QAClD,OAAO,MAAM,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC,CAAA;IACD,QAAQ,EAAE,CAAO,WAAqB,EAAE,EAAE;QACxC,MAAM,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC,CAAA;IACD,mBAAmB,EAAE,CAAM,MAAM,EAAC,EAAE;QAClC,MAAM,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC,CAAA;IACD,6CAA6C;IAC7C,WAAW,EAAE,GAAS,EAAE;QACtB,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC,CAAA;IACD,6CAA6C;IAC7C,WAAW,EAAE,GAAS,EAAE;QACtB,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC,CAAA;IACD,6CAA6C;IAC7C,iBAAiB,EAAE,GAAS,EAAE;;QAC5B,CAAA,MAAA,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,SAAS,CAAC,0BAA0B,EAAC,CAAC,CAAC,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;IACxH,CAAC,CAAA;IACD,cAAc,EAAE,CAAO,UAAU,EAAE,OAAO,EAAE,EAAE;QAC5C,MAAM,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC,CAAA;IACD,kBAAkB,EAAE,CAAM,UAAU,EAAC,EAAE;QACrC,MAAM,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC,CAAA;IACD,eAAe,EAAE,CAAM,UAAU,EAAC,EAAE;QAClC,MAAM,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC,CAAA;IACD,WAAW,EAAE,CAAC,YAAY,EAAE,OAAQ,EAAE,EAAE;QACtC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3F,OAAO,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IACD,kBAAkB,EAAE,GAAS,EAAE;QAC7B,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC;IACnC,CAAC,CAAA;IACD,iBAAiB,EAAE,GAAS,EAAE;QAC5B,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;IAClC,CAAC,CAAA;IACD,cAAc,EAAE,CAAM,OAAO,EAAC,EAAE;QAC9B,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACnG,CAAC,CAAA;IACD,kBAAkB,EAAE,GAAS,EAAE;;QAC7B,OAAO,CAAA,MAAA,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,OAAO,EAAC,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IAC1F,CAAC,CAAA;IACD,mBAAmB,EAAE,GAAS,EAAE;;QAC9B,OAAO,CAAA,MAAA,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,iBAAiB,EAAC,CAAC,CAAC,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC;IACzH,CAAC,CAAA;IACD,iBAAiB,EAAE,GAAS,EAAE;QAC5B,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;YAC3B,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;SAC9B;IACH,CAAC,CAAA;IACD,wBAAwB,EAAE,GAAS,EAAE;QACnC,OAAO,OAAO,CAAC,2BAA2B,EAAE,CAAC;IAC/C,CAAC,CAAA;IACD,yBAAyB,EAAE,CAAM,MAAM,EAAC,EAAE;QACxC,OAAO,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC,CAAA;IACD,oCAAoC,EAAE,CAAM,MAAM,EAAC,EAAE;QACnD,OAAO,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC,CAAA;IACD,8BAA8B,EAAE,CAAM,MAAM,EAAC,EAAE;QAC7C,OAAO,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC,CAAA;IACD,2DAA2D;IAC3D,8BAA8B,EAAE,GAAS,EAAE;QACzC,OAAO,MAAM,OAAO,CAAC,0BAA0B,EAAE,CAAC;IACpD,CAAC,CAAA;IACD,2DAA2D;IAC3D,qBAAqB,EAAE,CAAO,oBAA2C,EAAE,EAAE;QAC3E,MAAM,UAAU,mBACd,UAAU,EAAE,MAAM,IACf,oBAAoB,CACxB,CAAC;QACF,OAAO,MAAM,OAAO,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC,CAAA;IACD,2DAA2D;IAC3D,wBAAwB,EAAE,CAAO,2BAAwD,EAAE,EAAE;QAC3F,MAAM,iBAAiB,mBACrB,UAAU,EAAE,aAAa,IACtB,2BAA2B,CAC/B,CAAC;QACF,OAAO,MAAM,OAAO,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;IACrE,CAAC,CAAA;IACD,iDAAiD;IACjD,eAAe,EAAE,CAAM,OAAO,EAAC,EAAE;QAC/B,MAAM,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC,CAAA;IACD,iDAAiD;IACjD,cAAc,EAAE,GAAS,EAAE;QACzB,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;IAC/B,CAAC,CAAA;IACD,iDAAiD;IACjD,mBAAmB,EAAE,CAAM,QAAQ,EAAC,EAAE;QACpC,MAAM,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC,CAAA;IACD,iDAAiD;IACjD,oBAAoB,EAAE,CAAM,QAAQ,EAAC,EAAE;QACrC,MAAM,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC,CAAA;CACF,CAAC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CommonCallingHandlers } 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 '..';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoBackgroundBlurEffect, VideoBackgroundReplacementEffect } from '..';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { isCameraOn } from '../utils';\n/* @conditional-compile-remove(video-background-effects) */\nimport type { BackgroundReplacementConfig, BackgroundBlurConfig } from '@azure/communication-calling';\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<CommonCallingHandlers, CommonProperties<CommonCallingHandlers, PropsT>> => {\n return createCompositeHandlers(useAdapter());\n};\nconst createCompositeHandlers = memoizeOne((adapter: CommonCallAdapter): CommonCallingHandlers => ({\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 onRemoveParticipant: async userId => {\n await adapter.removeParticipant(userId);\n },\n /* @conditional-compile-remove(raise-hand) */\n onRaiseHand: async () => {\n await adapter.raiseHand();\n },\n /* @conditional-compile-remove(raise-hand) */\n onLowerHand: async () => {\n await adapter.lowerHand();\n },\n /* @conditional-compile-remove(raise-hand) */\n onToggleRaiseHand: async () => {\n adapter.getState().call?.raiseHand.localParticipantRaisedHand ? await adapter.lowerHand() : await adapter.raiseHand();\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 onDisposeRemoteVideoStreamView: async userId => {\n return adapter.disposeRemoteVideoStreamView(userId);\n },\n /* @conditional-compile-remove(video-background-effects) */\n onRemoveVideoBackgroundEffects: async () => {\n return await adapter.stopVideoBackgroundEffects();\n },\n /* @conditional-compile-remove(video-background-effects) */\n onBlurVideoBackground: async (backgroundBlurConfig?: BackgroundBlurConfig) => {\n const blurConfig: VideoBackgroundBlurEffect = {\n effectName: 'blur',\n ...backgroundBlurConfig\n };\n return await adapter.startVideoBackgroundEffect(blurConfig);\n },\n /* @conditional-compile-remove(video-background-effects) */\n onReplaceVideoBackground: async (backgroundReplacementConfig: BackgroundReplacementConfig) => {\n const replacementConfig: VideoBackgroundReplacementEffect = {\n effectName: 'replacement',\n ...backgroundReplacementConfig\n };\n return await adapter.startVideoBackgroundEffect(replacementConfig);\n },\n /* @conditional-compile-remove(close-captions) */\n onStartCaptions: async options => {\n await adapter.startCaptions(options);\n },\n /* @conditional-compile-remove(close-captions) */\n onStopCaptions: async () => {\n await adapter.stopCaptions();\n },\n /* @conditional-compile-remove(close-captions) */\n onSetSpokenLanguage: async language => {\n await adapter.setSpokenLanguage(language);\n },\n /* @conditional-compile-remove(close-captions) */\n onSetCaptionLanguage: async language => {\n await adapter.setCaptionLanguage(language);\n }\n}));\"../../../../../calling-component-bindings/src\"\"../../../../../acs-ui-common/src\""]}
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 { CommonProperties, toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { ReactElement } from 'react';\nimport memoizeOne from 'memoize-one';\nimport { CommonCallAdapter } from '..';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoBackgroundBlurEffect, VideoBackgroundReplacementEffect } from '..';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { isCameraOn } from '../utils';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { DtmfTone } from '@azure/communication-calling';\n/* @conditional-compile-remove(video-background-effects) */\nimport type { BackgroundReplacementConfig, BackgroundBlurConfig } from '@azure/communication-calling';\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<CommonCallingHandlers, CommonProperties<CommonCallingHandlers, PropsT>> => {\n return createCompositeHandlers(useAdapter());\n};\nconst createCompositeHandlers = memoizeOne((adapter: CommonCallAdapter): CommonCallingHandlers => ({\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 /* @conditional-compile-remove(PSTN-calls) */\n onToggleHold: async () => {\n return adapter.getState().call?.state === 'LocalHold' ? await adapter.resumeCall() : await adapter.holdCall();\n },\n /* @conditional-compile-remove(PSTN-calls) */\n onAddParticipant: async (participant, options?) => {\n return await adapter.addParticipant(participant, options);\n },\n /* @conditional-compile-remove(PSTN-calls) */\n onSendDtmfTone: async (dtmfTone: DtmfTone) => {\n await adapter.sendDtmfTone(dtmfTone);\n },\n onRemoveParticipant: async userId => {\n await adapter.removeParticipant(userId);\n },\n /* @conditional-compile-remove(raise-hand) */\n onRaiseHand: async () => {\n await adapter.raiseHand();\n },\n /* @conditional-compile-remove(raise-hand) */\n onLowerHand: async () => {\n await adapter.lowerHand();\n },\n /* @conditional-compile-remove(raise-hand) */\n onToggleRaiseHand: async () => {\n adapter.getState().call?.raiseHand.localParticipantRaisedHand ? await adapter.lowerHand() : await adapter.raiseHand();\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 onDisposeRemoteVideoStreamView: async userId => {\n return adapter.disposeRemoteVideoStreamView(userId);\n },\n /* @conditional-compile-remove(call-readiness) */\n askDevicePermission: async constrain => {\n return adapter.askDevicePermission(constrain);\n },\n /* @conditional-compile-remove(video-background-effects) */\n onRemoveVideoBackgroundEffects: async () => {\n return await adapter.stopVideoBackgroundEffects();\n },\n /* @conditional-compile-remove(video-background-effects) */\n onBlurVideoBackground: async (backgroundBlurConfig?: BackgroundBlurConfig) => {\n const blurConfig: VideoBackgroundBlurEffect = {\n effectName: 'blur',\n ...backgroundBlurConfig\n };\n return await adapter.startVideoBackgroundEffect(blurConfig);\n },\n /* @conditional-compile-remove(video-background-effects) */\n onReplaceVideoBackground: async (backgroundReplacementConfig: BackgroundReplacementConfig) => {\n const replacementConfig: VideoBackgroundReplacementEffect = {\n effectName: 'replacement',\n ...backgroundReplacementConfig\n };\n return await adapter.startVideoBackgroundEffect(replacementConfig);\n },\n /* @conditional-compile-remove(close-captions) */\n onStartCaptions: async options => {\n await adapter.startCaptions(options);\n },\n /* @conditional-compile-remove(close-captions) */\n onStopCaptions: async () => {\n await adapter.stopCaptions();\n },\n /* @conditional-compile-remove(close-captions) */\n onSetSpokenLanguage: async language => {\n await adapter.setSpokenLanguage(language);\n },\n /* @conditional-compile-remove(close-captions) */\n onSetCaptionLanguage: async language => {\n await adapter.setCaptionLanguage(language);\n }\n}));\"../../../../../calling-component-bindings/src\"\"../../../../../acs-ui-common/src\""]}
@@ -1,16 +1,22 @@
1
1
  export { CallComposite } from './CallComposite';
2
2
  export type { CallCompositeOptions, CallCompositeProps } from './CallComposite';
3
+ export type { DeviceCheckOptions } from './CallComposite';
3
4
  export type { RemoteVideoTileMenuOptions } from './CallComposite';
5
+ export type { LocalVideoTileOptions } from './CallComposite';
4
6
  export type { CallControlOptions } from './types/CallControlOptions';
5
7
  export * from './Strings';
6
8
  export { createAzureCommunicationCallAdapter, createAzureCommunicationCallAdapterFromClient, useAzureCommunicationCallAdapter } from './adapter';
9
+ export { createTeamsCallAdapter, createTeamsCallAdapterFromClient, useTeamsCallAdapter } from './adapter';
7
10
  export type { TeamsAdapterOptions } from './adapter';
11
+ export type { TeamsCallAdapter, TeamsCallAdapterArgs, Profile, OnFetchProfileCallback } from './adapter';
8
12
  export type { AzureCommunicationCallAdapterArgs, CallAdapterLocator, CommonCallAdapter, CallAdapterCallOperations } from './adapter';
9
13
  export type { AzureCommunicationCallAdapterOptions } from './adapter';
10
14
  export type { CommonCallAdapterOptions } from './adapter';
15
+ export type { CallParticipantsLocator } from './adapter';
11
16
  export type { VideoBackgroundImage, VideoBackgroundEffect, VideoBackgroundNoEffect, VideoBackgroundBlurEffect, VideoBackgroundReplacementEffect } from './adapter/CallAdapter';
12
17
  export type { CallAdapter, CallAdapterCallEndedEvent, CallAdapterCallManagement, CallAdapterClientState, CallAdapterDeviceManagement, CallAdapterState, CallAdapterSubscribers, CallAdapterUiState, CallCompositePage, CallEndedListener, CallIdChangedListener, DiagnosticChangedEventListner, DisplayNameChangedListener, IsLocalScreenSharingActiveChangedListener, IsMutedChangedListener, IsSpeakingChangedListener, MediaDiagnosticChangedEvent, NetworkDiagnosticChangedEvent, ParticipantsJoinedListener, ParticipantsLeftListener, JoinCallOptions } from './adapter';
13
18
  export type { CaptionsReceivedListener, IsCaptionsActiveChangedListener, IsCaptionLanguageChangedListener, IsSpokenLanguageChangedListener } from './adapter';
19
+ export type { TransferRequestedListener } from './adapter';
14
20
  export type { CapabilitiesChangedListener } from './adapter';
15
21
  export type { CapabilityChangedNotificationStrings } from './components/CapabilitiesChangedNotificationBar';
16
22
  //# sourceMappingURL=index.d.ts.map
@@ -3,4 +3,6 @@
3
3
  export { CallComposite } from './CallComposite';
4
4
  export * from './Strings';
5
5
  export { createAzureCommunicationCallAdapter, createAzureCommunicationCallAdapterFromClient, useAzureCommunicationCallAdapter } from './adapter';
6
+ /* @conditional-compile-remove(teams-identity-support) */
7
+ export { createTeamsCallAdapter, createTeamsCallAdapterFromClient, useTeamsCallAdapter } from './adapter';
6
8
  //# sourceMappingURL=index.js.map
@@ -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;AAKhD,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,mCAAmC,EAAE,6CAA6C,EAAE,gCAAgC,EAAE,MAAM,WAAW,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { CallComposite } from './CallComposite';\nexport type { CallCompositeOptions, CallCompositeProps } from './CallComposite';\n/* @conditional-compile-remove(pinned-participants) */\nexport type { RemoteVideoTileMenuOptions } from './CallComposite';\nexport type { CallControlOptions } from './types/CallControlOptions';\nexport * from './Strings';\nexport { createAzureCommunicationCallAdapter, createAzureCommunicationCallAdapterFromClient, useAzureCommunicationCallAdapter } from './adapter';\nexport type { TeamsAdapterOptions } from './adapter';\nexport type { AzureCommunicationCallAdapterArgs, CallAdapterLocator, CommonCallAdapter, CallAdapterCallOperations } from './adapter';\n\n/* @conditional-compile-remove(video-background-effects) */\nexport type { AzureCommunicationCallAdapterOptions } from './adapter';\n\n/* @conditional-compile-remove(video-background-effects) */\nexport type { CommonCallAdapterOptions } from './adapter';\n/* @conditional-compile-remove(video-background-effects) */\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 } from './adapter';\n\n/* @conditional-compile-remove(close-captions) */\nexport type { CaptionsReceivedListener, IsCaptionsActiveChangedListener, IsCaptionLanguageChangedListener, IsSpokenLanguageChangedListener } from './adapter';\n/* @conditional-compile-remove(capabilities) */\nexport type { CapabilitiesChangedListener } from './adapter';\n/* @conditional-compile-remove(capabilities) */\nexport type { CapabilityChangedNotificationStrings } from './components/CapabilitiesChangedNotificationBar';"]}
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;AAShD,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,mCAAmC,EAAE,6CAA6C,EAAE,gCAAgC,EAAE,MAAM,WAAW,CAAC;AAEjJ,yDAAyD;AACzD,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 } from './CallComposite';\n/* @conditional-compile-remove(call-readiness) */\nexport type { DeviceCheckOptions } from './CallComposite';\n/* @conditional-compile-remove(pinned-participants) */\nexport type { RemoteVideoTileMenuOptions } from './CallComposite';\n/* @conditional-compile-remove(click-to-call) */\nexport type { LocalVideoTileOptions } from './CallComposite';\nexport type { CallControlOptions } from './types/CallControlOptions';\nexport * from './Strings';\nexport { createAzureCommunicationCallAdapter, createAzureCommunicationCallAdapterFromClient, useAzureCommunicationCallAdapter } from './adapter';\n\n/* @conditional-compile-remove(teams-identity-support) */\nexport { createTeamsCallAdapter, createTeamsCallAdapterFromClient, useTeamsCallAdapter } from './adapter';\nexport type { TeamsAdapterOptions } from './adapter';\n\n/* @conditional-compile-remove(teams-identity-support) */\nexport type { TeamsCallAdapter, TeamsCallAdapterArgs, Profile, OnFetchProfileCallback } from './adapter';\nexport type { AzureCommunicationCallAdapterArgs, CallAdapterLocator, CommonCallAdapter, CallAdapterCallOperations } from './adapter';\n\n/* @conditional-compile-remove(video-background-effects) */\nexport type { AzureCommunicationCallAdapterOptions } from './adapter';\n\n/* @conditional-compile-remove(video-background-effects) */\nexport type { CommonCallAdapterOptions } from './adapter';\n\n/* @conditional-compile-remove(teams-adhoc-call) */\nexport type { CallParticipantsLocator } from './adapter';\n\n/* @conditional-compile-remove(video-background-effects) */\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 } from './adapter';\n\n/* @conditional-compile-remove(close-captions) */\nexport type { CaptionsReceivedListener, IsCaptionsActiveChangedListener, IsCaptionLanguageChangedListener, IsSpokenLanguageChangedListener } from './adapter';\n\n/* @conditional-compile-remove(call-transfer) */\nexport type { TransferRequestedListener } from './adapter';\n\n/* @conditional-compile-remove(capabilities) */\nexport type { CapabilitiesChangedListener } from './adapter';\n/* @conditional-compile-remove(capabilities) */\nexport type { CapabilityChangedNotificationStrings } from './components/CapabilitiesChangedNotificationBar';"]}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { DiagnosticQuality } from '@azure/communication-calling';
3
- import { ActiveErrorMessage, OnRenderAvatarCallback, ParticipantMenuItemsCallback } from "../../../../../react-components/src";
3
+ import { ActiveErrorMessage, ParticipantMenuItemsCallback } from "../../../../../react-components/src";
4
4
  import { VideoGalleryLayout } from "../../../../../react-components/src";
5
5
  import { AvatarPersonaDataCallback } from '../../common/AvatarPersona';
6
6
  import { CallCompositeOptions } from '../CallComposite';
@@ -14,7 +14,6 @@ export interface CallPageProps {
14
14
  mobileView: boolean;
15
15
  modalLayerHostId: string;
16
16
  callInvitationURL?: string;
17
- onRenderAvatar?: OnRenderAvatarCallback;
18
17
  onFetchAvatarPersonaData?: AvatarPersonaDataCallback;
19
18
  onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;
20
19
  updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;
@@ -22,7 +22,7 @@ import { reduceCallControlsForMobile } from '../utils';
22
22
  * @private
23
23
  */
24
24
  export const CallPage = (props) => {
25
- const { callInvitationURL, onRenderAvatar, onFetchAvatarPersonaData, onFetchParticipantMenuItems, options, mobileView,
25
+ const { callInvitationURL, onFetchAvatarPersonaData, onFetchParticipantMenuItems, options, mobileView,
26
26
  /* @conditional-compile-remove(gallery-layouts) */
27
27
  galleryLayout = 'floatingLocalVideo',
28
28
  /* @conditional-compile-remove(gallery-layouts) */
@@ -49,8 +49,11 @@ export const CallPage = (props) => {
49
49
  onFetchParticipantMenuItems: onFetchParticipantMenuItems,
50
50
  options: callControlOptions,
51
51
  increaseFlyoutItemSize: mobileView
52
- }, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? React.createElement(MediaGallery, Object.assign({ isMobile: mobileView }, mediaGalleryProps, mediaGalleryHandlers, { onRenderAvatar: onRenderAvatar, onFetchAvatarPersonaData: onFetchAvatarPersonaData,
53
- /* @conditional-compile-remove(pinned-participants) */ remoteVideoTileMenuOptions: options === null || options === void 0 ? void 0 : options.remoteVideoTileMenuOptions, drawerMenuHostId: drawerMenuHostId, userSetOverflowGalleryPosition: userSetOverflowGalleryPosition,
52
+ },
53
+ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */ onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? React.createElement(MediaGallery, Object.assign({ isMobile: mobileView }, mediaGalleryProps, mediaGalleryHandlers, { onFetchAvatarPersonaData: onFetchAvatarPersonaData,
54
+ /* @conditional-compile-remove(pinned-participants) */ remoteVideoTileMenuOptions: options === null || options === void 0 ? void 0 : options.remoteVideoTileMenuOptions, drawerMenuHostId: drawerMenuHostId,
55
+ /* @conditional-compile-remove(click-to-call) */ localVideoTileOptions: options === null || options === void 0 ? void 0 : options.localVideoTile,
56
+ /* @conditional-compile-remove(gallery-layouts) */ userSetOverflowGalleryPosition: userSetOverflowGalleryPosition,
54
57
  /* @conditional-compile-remove(gallery-layouts) */ userSetGalleryLayout: galleryLayout })) : React.createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps)) : React.createElement(React.Fragment, null), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, dataUiId: 'call-page', latestErrors: props.latestErrors, onDismissError: props.onDismissError,
55
58
  /* @conditional-compile-remove(gallery-layouts) */ onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition,
56
59
  /* @conditional-compile-remove(gallery-layouts) */ onUserSetGalleryLayoutChange: onUserSetGalleryLayoutChange,
@@ -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, OnRenderAvatarCallback, ParticipantMenuItemsCallback } from '@internal/react-components';\n/* @conditional-compile-remove(gallery-layouts) */\nimport { VideoGalleryLayout } from '@internal/react-components';\nimport React from 'react';\nimport { AvatarPersonaDataCallback } from '../../common/AvatarPersona';\nimport { useLocale } from '../../localization';\nimport { CallCompositeOptions } 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 { mutedNotificationSelector } from '../selectors/mutedNotificationSelector';\nimport { networkReconnectTileSelector } from '../selectors/networkReconnectTileSelector';\nimport { reduceCallControlsForMobile } from '../utils';\nimport { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';\nimport { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';\n/* @conditional-compile-remove(capabilities) */\nimport { CapabilitiesChangeNotificationBarProps } from '../components/CapabilitiesChangedNotificationBar';\n\n/**\n * @private\n */\nexport interface CallPageProps {\n mobileView: boolean;\n modalLayerHostId: string;\n callInvitationURL?: string;\n onRenderAvatar?: OnRenderAvatarCallback;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n options?: CallCompositeOptions;\n latestErrors: ActiveErrorMessage[];\n onDismissError: (error: ActiveErrorMessage) => void;\n /* @conditional-compile-remove(gallery-layouts) */\n galleryLayout: VideoGalleryLayout;\n /* @conditional-compile-remove(capabilities) */\n capabilitiesChangedNotificationBarProps?: CapabilitiesChangeNotificationBarProps;\n /* @conditional-compile-remove(gallery-layouts) */\n onUserSetGalleryLayoutChange?: (layout: VideoGalleryLayout) => void;\n /* @conditional-compile-remove(gallery-layouts) */\n userSetOverflowGalleryPosition?: 'Responsive' | 'horizontalTop';\n /* @conditional-compile-remove(gallery-layouts) */\n onSetUserSetOverflowGalleryPosition?: (position: 'Responsive' | 'horizontalTop') => void;\n}\n\n/**\n * @private\n */\nexport const CallPage = (props: CallPageProps): JSX.Element => {\n const {\n callInvitationURL,\n onRenderAvatar,\n onFetchAvatarPersonaData,\n onFetchParticipantMenuItems,\n options,\n mobileView,\n /* @conditional-compile-remove(gallery-layouts) */\n galleryLayout = 'floatingLocalVideo',\n /* @conditional-compile-remove(gallery-layouts) */\n onUserSetGalleryLayoutChange,\n /* @conditional-compile-remove(gallery-layouts) */\n userSetOverflowGalleryPosition = 'Responsive',\n /* @conditional-compile-remove(gallery-layouts) */\n onSetUserSetOverflowGalleryPosition\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 strings = useLocale().strings.call;\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 return <CallArrangement id={drawerMenuHostId} complianceBannerProps={{\n ...complianceBannerProps,\n strings\n }} errorBarProps={options?.errorBar !== false && errorBarProps} mutedNotificationProps={mutedNotificationProps} callControlProps={{\n callInvitationURL: callInvitationURL,\n onFetchParticipantMenuItems: onFetchParticipantMenuItems,\n options: callControlOptions,\n increaseFlyoutItemSize: mobileView\n }} mobileView={mobileView} modalLayerHostId={props.modalLayerHostId} onRenderGalleryContent={() => _isInCall(callStatus) ? isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? <MediaGallery isMobile={mobileView} {...mediaGalleryProps} {...mediaGalleryHandlers} onRenderAvatar={onRenderAvatar} onFetchAvatarPersonaData={onFetchAvatarPersonaData}\n /* @conditional-compile-remove(pinned-participants) */ remoteVideoTileMenuOptions={options?.remoteVideoTileMenuOptions} drawerMenuHostId={drawerMenuHostId} /* @conditional-compile-remove(gallery-layouts) */\n userSetOverflowGalleryPosition={userSetOverflowGalleryPosition}\n /* @conditional-compile-remove(gallery-layouts) */ userSetGalleryLayout={galleryLayout} /> : <NetworkReconnectTile {...networkReconnectTileProps} /> : <></>} updateSidePaneRenderer={props.updateSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} dataUiId={'call-page'} latestErrors={props.latestErrors} onDismissError={props.onDismissError}\n /* @conditional-compile-remove(gallery-layouts) */ onUserSetOverflowGalleryPositionChange={onSetUserSetOverflowGalleryPosition}\n /* @conditional-compile-remove(gallery-layouts) */ onUserSetGalleryLayoutChange={onUserSetGalleryLayoutChange}\n /* @conditional-compile-remove(gallery-layouts) */ userSetGalleryLayout={galleryLayout}\n /* @conditional-compile-remove(capabilities) */ capabilitiesChangedNotificationBarProps={props.capabilitiesChangedNotificationBarProps} />;\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};\"../../../../../calling-component-bindings/src\"\"../../../../../react-components/src\""]}
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';\n/* @conditional-compile-remove(gallery-layouts) */\nimport { VideoGalleryLayout } from '@internal/react-components';\nimport React from 'react';\nimport { AvatarPersonaDataCallback } from '../../common/AvatarPersona';\nimport { useLocale } from '../../localization';\nimport { CallCompositeOptions } 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 { mutedNotificationSelector } from '../selectors/mutedNotificationSelector';\nimport { networkReconnectTileSelector } from '../selectors/networkReconnectTileSelector';\nimport { reduceCallControlsForMobile } from '../utils';\nimport { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';\nimport { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';\n/* @conditional-compile-remove(capabilities) */\nimport { CapabilitiesChangeNotificationBarProps } from '../components/CapabilitiesChangedNotificationBar';\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[];\n onDismissError: (error: ActiveErrorMessage) => void;\n /* @conditional-compile-remove(gallery-layouts) */\n galleryLayout: VideoGalleryLayout;\n /* @conditional-compile-remove(capabilities) */\n capabilitiesChangedNotificationBarProps?: CapabilitiesChangeNotificationBarProps;\n /* @conditional-compile-remove(gallery-layouts) */\n onUserSetGalleryLayoutChange?: (layout: VideoGalleryLayout) => void;\n /* @conditional-compile-remove(gallery-layouts) */\n userSetOverflowGalleryPosition?: 'Responsive' | 'horizontalTop';\n /* @conditional-compile-remove(gallery-layouts) */\n onSetUserSetOverflowGalleryPosition?: (position: 'Responsive' | 'horizontalTop') => void;\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 /* @conditional-compile-remove(gallery-layouts) */\n galleryLayout = 'floatingLocalVideo',\n /* @conditional-compile-remove(gallery-layouts) */\n onUserSetGalleryLayoutChange,\n /* @conditional-compile-remove(gallery-layouts) */\n userSetOverflowGalleryPosition = 'Responsive',\n /* @conditional-compile-remove(gallery-layouts) */\n onSetUserSetOverflowGalleryPosition\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 strings = useLocale().strings.call;\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 return <CallArrangement id={drawerMenuHostId} complianceBannerProps={{\n ...complianceBannerProps,\n strings\n }} errorBarProps={options?.errorBar !== false && errorBarProps} mutedNotificationProps={mutedNotificationProps} callControlProps={{\n callInvitationURL: callInvitationURL,\n onFetchParticipantMenuItems: onFetchParticipantMenuItems,\n options: callControlOptions,\n increaseFlyoutItemSize: mobileView\n }}\n /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */ onFetchAvatarPersonaData={onFetchAvatarPersonaData} mobileView={mobileView} modalLayerHostId={props.modalLayerHostId} onRenderGalleryContent={() => _isInCall(callStatus) ? isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? <MediaGallery isMobile={mobileView} {...mediaGalleryProps} {...mediaGalleryHandlers} onFetchAvatarPersonaData={onFetchAvatarPersonaData}\n /* @conditional-compile-remove(pinned-participants) */ remoteVideoTileMenuOptions={options?.remoteVideoTileMenuOptions} drawerMenuHostId={drawerMenuHostId}\n /* @conditional-compile-remove(click-to-call) */ localVideoTileOptions={options?.localVideoTile}\n /* @conditional-compile-remove(gallery-layouts) */ userSetOverflowGalleryPosition={userSetOverflowGalleryPosition}\n /* @conditional-compile-remove(gallery-layouts) */ userSetGalleryLayout={galleryLayout} /> : <NetworkReconnectTile {...networkReconnectTileProps} /> : <></>} updateSidePaneRenderer={props.updateSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} dataUiId={'call-page'} latestErrors={props.latestErrors} onDismissError={props.onDismissError}\n /* @conditional-compile-remove(gallery-layouts) */ onUserSetOverflowGalleryPositionChange={onSetUserSetOverflowGalleryPosition}\n /* @conditional-compile-remove(gallery-layouts) */ onUserSetGalleryLayoutChange={onUserSetGalleryLayoutChange}\n /* @conditional-compile-remove(gallery-layouts) */ userSetGalleryLayout={galleryLayout}\n /* @conditional-compile-remove(capabilities) */ capabilitiesChangedNotificationBarProps={props.capabilitiesChangedNotificationBarProps} />;\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};\"../../../../../calling-component-bindings/src\"\"../../../../../react-components/src\""]}