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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. package/CHANGELOG.beta.md +123 -1
  2. package/CHANGELOG.json +1068 -0
  3. package/README.md +1 -1
  4. package/dist/communication-react.d.ts +602 -170
  5. package/dist/dist-cjs/communication-react/index.js +6134 -3678
  6. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  9. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +13 -0
  10. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +36 -0
  11. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  12. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.d.ts +49 -0
  13. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +53 -0
  14. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -0
  15. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +1 -1
  16. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  17. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +12 -0
  18. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +27 -1
  19. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  20. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +3 -1
  21. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  22. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +3 -0
  23. package/dist/dist-esm/calling-component-bindings/src/index.js +2 -0
  24. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  25. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +68 -1
  26. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  27. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +19 -0
  28. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +95 -0
  29. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  30. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +57 -0
  31. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  32. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +2 -0
  33. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +19 -0
  34. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  35. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.d.ts +18 -0
  36. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js +38 -0
  37. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -0
  38. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +6 -0
  39. package/dist/dist-esm/calling-stateful-client/src/Converter.js +18 -1
  40. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  41. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.d.ts +4 -1
  42. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +5 -1
  43. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  44. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.d.ts +3 -0
  45. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +5 -0
  46. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  47. package/dist/dist-esm/calling-stateful-client/src/Logger.d.ts +16 -29
  48. package/dist/dist-esm/calling-stateful-client/src/Logger.js +16 -29
  49. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  50. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +1 -1
  51. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  52. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +137 -370
  53. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  54. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.d.ts +17 -0
  55. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js +198 -0
  56. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js.map +1 -0
  57. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +7 -0
  58. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +10 -0
  59. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  60. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +1 -0
  61. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  62. package/dist/dist-esm/calling-stateful-client/src/index.d.ts +1 -0
  63. package/dist/dist-esm/calling-stateful-client/src/index.js +2 -0
  64. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  65. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +59 -5
  66. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  67. package/dist/dist-esm/chat-component-bindings/src/utils/constants.d.ts +4 -0
  68. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js +4 -0
  69. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  70. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +32 -26
  71. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  72. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +15 -3
  73. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  74. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +6 -1
  75. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  76. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.d.ts +1 -0
  77. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  78. package/dist/dist-esm/communication-react/src/index.d.ts +9 -2
  79. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  80. package/dist/dist-esm/react-components/src/components/CameraButton.d.ts +12 -0
  81. package/dist/dist-esm/react-components/src/components/CameraButton.js +24 -1
  82. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  83. package/dist/dist-esm/react-components/src/components/Caption.d.ts +21 -0
  84. package/dist/dist-esm/react-components/src/components/Caption.js +33 -0
  85. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -0
  86. package/dist/dist-esm/react-components/src/components/CaptionsBanner.d.ts +31 -0
  87. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +49 -0
  88. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -0
  89. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.d.ts +37 -0
  90. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js +88 -0
  91. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -0
  92. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.d.ts +22 -2
  93. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +19 -16
  94. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  95. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.d.ts +1 -1
  96. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +4 -2
  97. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  98. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.d.ts +11 -1
  99. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +38 -20
  100. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  101. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +14 -2
  102. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +96 -11
  103. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  104. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +1 -1
  105. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  106. package/dist/dist-esm/react-components/src/components/DevicesButton.d.ts +1 -1
  107. package/dist/dist-esm/react-components/src/components/DevicesButton.js +79 -55
  108. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  109. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.d.ts +2 -0
  110. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +1 -0
  111. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  112. package/dist/dist-esm/react-components/src/components/ErrorBar.d.ts +4 -0
  113. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  114. package/dist/dist-esm/react-components/src/components/FileDownloadCards.d.ts +13 -0
  115. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +5 -1
  116. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  117. package/dist/dist-esm/react-components/src/components/GridLayout.js +1 -1
  118. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  119. package/dist/dist-esm/react-components/src/components/HorizontalGallery.d.ts +4 -0
  120. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +29 -24
  121. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  122. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +38 -6
  123. package/dist/dist-esm/react-components/src/components/MessageThread.js +110 -51
  124. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  125. package/dist/dist-esm/react-components/src/components/MicrophoneButton.d.ts +12 -0
  126. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +29 -1
  127. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  128. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +1 -1
  129. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  130. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +1 -1
  131. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  132. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +1 -1
  133. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  134. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.d.ts +4 -2
  135. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +6 -42
  136. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  137. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.d.ts +35 -0
  138. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js +32 -0
  139. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +1 -0
  140. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +10 -2
  141. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  142. package/dist/dist-esm/react-components/src/components/SendBox.js +5 -2
  143. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  144. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.d.ts +70 -0
  145. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js +52 -0
  146. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -0
  147. package/dist/dist-esm/react-components/src/components/VerticalGallery.d.ts +67 -0
  148. package/dist/dist-esm/react-components/src/components/VerticalGallery.js +113 -0
  149. package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -0
  150. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.d.ts +21 -0
  151. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js +65 -0
  152. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js.map +1 -0
  153. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.d.ts +75 -0
  154. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +44 -0
  155. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -0
  156. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.d.ts +88 -0
  157. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js +80 -0
  158. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -0
  159. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.d.ts +1 -1
  160. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +55 -19
  161. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  162. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.d.ts +10 -3
  163. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +12 -10
  164. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  165. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.d.ts +1 -1
  166. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +81 -24
  167. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  168. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.d.ts +11 -1
  169. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  170. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.d.ts +21 -0
  171. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +63 -0
  172. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -0
  173. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.d.ts +2 -1
  174. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +8 -2
  175. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -1
  176. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.d.ts +32 -7
  177. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +28 -12
  178. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  179. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +2 -2
  180. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -1
  181. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.d.ts +4 -1
  182. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +8 -7
  183. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
  184. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.d.ts +64 -0
  185. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js +79 -0
  186. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -0
  187. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.d.ts +25 -0
  188. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js +94 -0
  189. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js.map +1 -0
  190. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.d.ts +4 -4
  191. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +58 -49
  192. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  193. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +25 -0
  194. package/dist/dist-esm/react-components/src/components/VideoGallery.js +32 -4
  195. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  196. package/dist/dist-esm/react-components/src/components/VideoTile.js +9 -12
  197. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  198. package/dist/dist-esm/react-components/src/components/index.d.ts +12 -1
  199. package/dist/dist-esm/react-components/src/components/index.js +11 -0
  200. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  201. package/dist/dist-esm/react-components/src/components/styles/Captions.style.d.ts +33 -0
  202. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js +60 -0
  203. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -0
  204. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.d.ts +34 -0
  205. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js +86 -0
  206. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -0
  207. package/dist/dist-esm/react-components/src/components/styles/Common.style.d.ts +14 -0
  208. package/dist/dist-esm/react-components/src/components/styles/Common.style.js +16 -0
  209. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -0
  210. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js +1 -0
  211. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  212. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +7 -2
  213. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +58 -2
  214. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  215. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.d.ts +32 -0
  216. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js +66 -0
  217. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js.map +1 -0
  218. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +1 -0
  219. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  220. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +6 -4
  221. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +1 -1
  222. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  223. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.d.ts +11 -0
  224. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js +22 -0
  225. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js.map +1 -0
  226. package/dist/dist-esm/react-components/src/components/utils/responsive.d.ts +6 -0
  227. package/dist/dist-esm/react-components/src/components/utils/responsive.js +7 -0
  228. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  229. package/dist/dist-esm/react-components/src/components/utils.d.ts +9 -0
  230. package/dist/dist-esm/react-components/src/components/utils.js +24 -0
  231. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  232. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +6 -14
  233. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  234. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +10 -4
  235. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +7 -2
  236. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  237. package/dist/dist-esm/react-components/src/index.d.ts +2 -0
  238. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  239. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +5 -0
  240. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  241. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +17 -4
  242. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +17 -4
  243. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +18 -4
  244. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +17 -4
  245. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +17 -4
  246. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +17 -4
  247. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +17 -4
  248. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +17 -4
  249. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +17 -4
  250. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +17 -4
  251. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +17 -4
  252. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +17 -4
  253. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +17 -4
  254. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +17 -4
  255. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.d.ts +1 -1
  256. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js.map +1 -1
  257. package/dist/dist-esm/react-components/src/theming/icons.d.ts +11 -0
  258. package/dist/dist-esm/react-components/src/theming/icons.js +33 -7
  259. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  260. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.d.ts +48 -0
  261. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js +4 -0
  262. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js.map +1 -0
  263. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +21 -1
  264. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  265. package/dist/dist-esm/react-components/src/types/index.d.ts +1 -0
  266. package/dist/dist-esm/react-components/src/types/index.js +1 -0
  267. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  268. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +2 -9
  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 +65 -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 +13 -0
  273. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +69 -7
  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 +53 -0
  276. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  277. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +1 -0
  278. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  279. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +103 -21
  280. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  281. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +2 -2
  282. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  283. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +3 -3
  284. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  285. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +21 -3
  286. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  287. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +1 -1
  288. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  289. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.d.ts +1 -1
  290. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  291. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.d.ts +9 -8
  292. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +4 -32
  293. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +1 -1
  294. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.d.ts +1 -1
  295. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  296. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.d.ts +1 -1
  297. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  298. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.d.ts +1 -1
  299. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  300. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.d.ts +1 -1
  301. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  302. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.d.ts +1 -1
  303. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  304. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +16 -0
  305. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  306. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +3 -2
  307. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  308. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +1 -1
  309. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  310. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +17 -0
  311. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +41 -0
  312. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  313. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.d.ts +5 -1
  314. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +20 -0
  315. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  316. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  317. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +4 -4
  318. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  319. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.d.ts +20 -0
  320. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +21 -1
  321. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  322. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +5 -87
  323. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  324. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.d.ts +1 -1
  325. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +3 -3
  326. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  327. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  328. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +15 -75
  329. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +12 -6
  330. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  331. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +12 -0
  332. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  333. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +17 -1
  334. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +66 -6
  335. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  336. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +30 -1
  337. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  338. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +5 -0
  339. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +24 -0
  340. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  341. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +4 -0
  342. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +6 -0
  343. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  344. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js +4 -0
  345. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  346. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.d.ts +1 -1
  347. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  348. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.d.ts +1 -1
  349. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js +5 -3
  350. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  351. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +27 -2
  352. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  353. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +19 -2
  354. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +68 -6
  355. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  356. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +4 -0
  357. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  358. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +1 -0
  359. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  360. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.d.ts +6 -0
  361. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +60 -0
  362. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -0
  363. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.d.ts +12 -0
  364. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js +107 -0
  365. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -0
  366. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.d.ts +7 -0
  367. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js +38 -0
  368. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js.map +1 -0
  369. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +30 -0
  370. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +286 -0
  371. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -0
  372. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.d.ts +83 -0
  373. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js +81 -0
  374. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -0
  375. package/dist/dist-esm/react-composites/src/composites/{CallWithChatComposite/components → common/ControlBar}/DesktopMoreButton.d.ts +4 -0
  376. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +193 -0
  377. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -0
  378. package/dist/dist-esm/react-composites/src/composites/{CallWithChatComposite → common/ControlBar}/PeopleButton.d.ts +1 -1
  379. package/dist/dist-esm/react-composites/src/composites/{CallWithChatComposite → common/ControlBar}/PeopleButton.js +3 -3
  380. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -0
  381. package/dist/dist-esm/react-composites/src/composites/{CallWithChatComposite/components → common/Drawer}/MoreDrawer.d.ts +15 -2
  382. package/dist/dist-esm/react-composites/src/composites/{CallWithChatComposite/components → common/Drawer}/MoreDrawer.js +113 -9
  383. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -0
  384. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.d.ts +6 -0
  385. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js +24 -0
  386. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +1 -0
  387. package/dist/dist-esm/react-composites/src/composites/{CallWithChatComposite → common/Drawer}/PreparedMoreDrawer.d.ts +3 -2
  388. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js +26 -0
  389. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -0
  390. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.d.ts +20 -0
  391. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.js +55 -0
  392. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.js.map +1 -0
  393. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.styles.d.ts +7 -0
  394. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.styles.js +25 -0
  395. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.styles.js.map +1 -0
  396. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  397. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  398. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +1 -1
  399. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  400. package/dist/dist-esm/react-composites/src/composites/common/constants.d.ts +9 -0
  401. package/dist/dist-esm/react-composites/src/composites/common/constants.js +11 -0
  402. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -0
  403. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +13 -1
  404. package/dist/dist-esm/react-composites/src/composites/common/icons.js +8 -14
  405. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  406. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.d.ts +7 -0
  407. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.js +9 -0
  408. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.js.map +1 -0
  409. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +165 -0
  410. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js +4 -0
  411. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -0
  412. package/dist/dist-esm/react-composites/src/composites/common/utils.d.ts +4 -0
  413. package/dist/dist-esm/react-composites/src/composites/common/utils.js +4 -0
  414. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  415. package/dist/dist-esm/react-composites/src/composites/index.d.ts +3 -0
  416. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  417. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +66 -1
  418. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +66 -1
  419. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +66 -1
  420. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +66 -1
  421. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +66 -1
  422. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +66 -1
  423. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +66 -1
  424. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +66 -1
  425. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +66 -1
  426. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +66 -1
  427. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +66 -1
  428. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +66 -1
  429. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +66 -1
  430. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +66 -1
  431. package/package.json +15 -16
  432. package/dist/dist-esm/react-components/src/components/VideoGallery/VideoGalleryResponsiveHorizontalGallery.d.ts +0 -14
  433. package/dist/dist-esm/react-components/src/components/VideoGallery/VideoGalleryResponsiveHorizontalGallery.js +0 -19
  434. package/dist/dist-esm/react-components/src/components/VideoGallery/VideoGalleryResponsiveHorizontalGallery.js.map +0 -1
  435. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.d.ts +0 -27
  436. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js +0 -190
  437. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js.map +0 -1
  438. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.d.ts +0 -67
  439. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js +0 -75
  440. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js.map +0 -1
  441. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeopleButton.js.map +0 -1
  442. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.js +0 -22
  443. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.js.map +0 -1
  444. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js +0 -65
  445. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js.map +0 -1
  446. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js.map +0 -1
@@ -0,0 +1,193 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
+ return new (P || (P = Promise))(function (resolve, reject) {
6
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
10
+ });
11
+ };
12
+ /* @conditional-compile-remove(close-captions) */
13
+ import { _StartCaptionsButton } from "../../../../../react-components/src";
14
+ /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
15
+ import { HoldButton } from "../../../../../react-components/src";
16
+ import React from 'react';
17
+ /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */
18
+ import { useMemo, useCallback } from 'react';
19
+ /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
20
+ import { usePropsFor } from '../../CallComposite/hooks/usePropsFor';
21
+ /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
22
+ import { buttonFlyoutIncreasedSizeStyles } from '../../CallComposite/styles/Buttons.styles';
23
+ import { MoreButton } from '../MoreButton';
24
+ /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
25
+ import { useLocale } from '../../localization';
26
+ /* @conditional-compile-remove(control-bar-button-injection) */
27
+ import { CUSTOM_BUTTON_OPTIONS, generateCustomCallDesktopOverflowButtons, onFetchCustomButtonPropsTrampoline } from './CustomButton';
28
+ /* @conditional-compile-remove(close-captions) */
29
+ import { useHandlers } from '../../CallComposite/hooks/useHandlers';
30
+ /* @conditional-compile-remove(close-captions) */
31
+ import { _startCaptionsButtonSelector } from "../../../../../calling-component-bindings/src";
32
+ /* @conditional-compile-remove(close-captions) */
33
+ import { useAdaptedSelector } from '../../CallComposite/hooks/useAdaptedSelector';
34
+ import { _preventDismissOnEvent } from "../../../../../acs-ui-common/src";
35
+ /**
36
+ *
37
+ * @private
38
+ */
39
+ export const DesktopMoreButton = (props) => {
40
+ /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */
41
+ const localeStrings = useLocale();
42
+ /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
43
+ const holdButtonProps = usePropsFor(HoldButton);
44
+ /* @conditional-compile-remove(close-captions) */
45
+ const startCaptionsButtonProps = useAdaptedSelector(_startCaptionsButtonSelector);
46
+ /* @conditional-compile-remove(close-captions) */
47
+ const startCaptionsButtonHandlers = useHandlers(_StartCaptionsButton);
48
+ /* @conditional-compile-remove(close-captions) */
49
+ const startCaptions = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
50
+ yield startCaptionsButtonHandlers.onStartCaptions({
51
+ spokenLanguage: startCaptionsButtonProps.currentSpokenLanguage
52
+ });
53
+ // set spoken language when start captions with a spoken language specified.
54
+ // this is to fix the bug when a second user starts captions with a new spoken language, captions bot ignore that spoken language
55
+ startCaptionsButtonHandlers.onSetSpokenLanguage(startCaptionsButtonProps.currentSpokenLanguage);
56
+ }), [startCaptionsButtonHandlers, startCaptionsButtonProps.currentSpokenLanguage]);
57
+ /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */
58
+ const moreButtonStrings = useMemo(() => ({
59
+ label: localeStrings.strings.call.moreButtonCallingLabel,
60
+ tooltipOffContent: localeStrings.strings.callWithChat.moreDrawerButtonTooltip
61
+ }), [localeStrings]);
62
+ const moreButtonContextualMenuItems = [];
63
+ /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
64
+ moreButtonContextualMenuItems.push({
65
+ key: 'holdButtonKey',
66
+ text: localeStrings.component.strings.holdButton.tooltipOffContent,
67
+ onClick: () => {
68
+ holdButtonProps.onToggleHold();
69
+ },
70
+ iconProps: { iconName: 'HoldCallContextualMenuItem', styles: { root: { lineHeight: 0 } } },
71
+ itemProps: {
72
+ styles: buttonFlyoutIncreasedSizeStyles
73
+ },
74
+ disabled: props.disableButtonsForHoldScreen
75
+ });
76
+ // is captions feature is active
77
+ /* @conditional-compile-remove(close-captions) */
78
+ if (props.isCaptionsSupported) {
79
+ const captionsContextualMenuItems = [];
80
+ const menuSubIconStyleSet = {
81
+ root: {
82
+ height: 'unset',
83
+ lineHeight: '100%',
84
+ width: '1.25rem'
85
+ }
86
+ };
87
+ moreButtonContextualMenuItems.push({
88
+ key: 'liveCaptionsKey',
89
+ id: 'common-call-composite-captions-button',
90
+ text: localeStrings.strings.call.liveCaptionsLabel,
91
+ iconProps: { iconName: 'CaptionsIcon', styles: { root: { lineHeight: 0 } } },
92
+ itemProps: {
93
+ styles: buttonFlyoutIncreasedSizeStyles
94
+ },
95
+ disabled: props.disableButtonsForHoldScreen,
96
+ subMenuProps: {
97
+ id: 'captions-contextual-menu',
98
+ items: captionsContextualMenuItems,
99
+ calloutProps: {
100
+ preventDismissOnEvent: _preventDismissOnEvent
101
+ }
102
+ },
103
+ submenuIconProps: {
104
+ iconName: 'HorizontalGalleryRightButton',
105
+ styles: menuSubIconStyleSet
106
+ }
107
+ });
108
+ captionsContextualMenuItems.push({
109
+ key: 'ToggleCaptionsKey',
110
+ id: 'common-call-composite-captions-toggle-button',
111
+ text: startCaptionsButtonProps.checked
112
+ ? localeStrings.strings.call.startCaptionsButtonTooltipOnContent
113
+ : localeStrings.strings.call.startCaptionsButtonTooltipOffContent,
114
+ onClick: () => {
115
+ startCaptionsButtonProps.checked
116
+ ? startCaptionsButtonHandlers.onStopCaptions()
117
+ : startCaptionsButtonProps.currentSpokenLanguage !== ''
118
+ ? startCaptions()
119
+ : props.onCaptionsSettingsClick && props.onCaptionsSettingsClick();
120
+ },
121
+ iconProps: {
122
+ iconName: startCaptionsButtonProps.checked ? 'CaptionsOffIcon' : 'CaptionsIcon',
123
+ styles: { root: { lineHeight: 0 } }
124
+ },
125
+ itemProps: {
126
+ styles: buttonFlyoutIncreasedSizeStyles
127
+ },
128
+ disabled: props.disableButtonsForHoldScreen
129
+ });
130
+ if (props.onCaptionsSettingsClick) {
131
+ captionsContextualMenuItems.push({
132
+ key: 'openCaptionsSettingsKey',
133
+ id: 'common-call-composite-captions-settings-button',
134
+ text: localeStrings.strings.call.captionsSettingsLabel,
135
+ onClick: props.onCaptionsSettingsClick,
136
+ iconProps: {
137
+ iconName: 'CaptionsSettingsIcon',
138
+ styles: { root: { lineHeight: 0 } }
139
+ },
140
+ itemProps: {
141
+ styles: buttonFlyoutIncreasedSizeStyles
142
+ },
143
+ disabled: props.disableButtonsForHoldScreen || !startCaptionsButtonProps.checked
144
+ });
145
+ }
146
+ }
147
+ /*@conditional-compile-remove(PSTN-calls) */
148
+ if (props.onClickShowDialpad) {
149
+ moreButtonContextualMenuItems.push({
150
+ key: 'showDialpadKey',
151
+ text: localeStrings.strings.callWithChat.openDtmfDialpadLabel,
152
+ onClick: () => {
153
+ props.onClickShowDialpad && props.onClickShowDialpad();
154
+ },
155
+ iconProps: { iconName: 'Dialpad', styles: { root: { lineHeight: 0 } } },
156
+ itemProps: {
157
+ styles: buttonFlyoutIncreasedSizeStyles
158
+ },
159
+ disabled: props.disableButtonsForHoldScreen
160
+ });
161
+ }
162
+ /* @conditional-compile-remove(control-bar-button-injection) */
163
+ const customDrawerButtons = useMemo(() => generateCustomCallDesktopOverflowButtons(onFetchCustomButtonPropsTrampoline(typeof props.callControls === 'object' ? props.callControls : undefined), typeof props.callControls === 'object' ? props.callControls.displayType : undefined), [props.callControls]);
164
+ /* @conditional-compile-remove(control-bar-button-injection) */
165
+ customDrawerButtons['primary'].slice(CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_DESKTOP_CUSTOM_BUTTONS).forEach((element) => {
166
+ moreButtonContextualMenuItems.push(Object.assign({ itemProps: {
167
+ styles: buttonFlyoutIncreasedSizeStyles
168
+ } }, element));
169
+ });
170
+ /* @conditional-compile-remove(control-bar-button-injection) */
171
+ customDrawerButtons['secondary']
172
+ .slice(CUSTOM_BUTTON_OPTIONS.MAX_SECONDARY_DESKTOP_CUSTOM_BUTTONS)
173
+ .forEach((element) => {
174
+ moreButtonContextualMenuItems.push(Object.assign({ itemProps: {
175
+ styles: buttonFlyoutIncreasedSizeStyles
176
+ } }, element));
177
+ });
178
+ /* @conditional-compile-remove(control-bar-button-injection) */
179
+ customDrawerButtons['overflow'].forEach((element) => {
180
+ moreButtonContextualMenuItems.push(Object.assign({ itemProps: {
181
+ styles: buttonFlyoutIncreasedSizeStyles
182
+ } }, element));
183
+ });
184
+ return (React.createElement(MoreButton, Object.assign({}, props, { "data-ui-id": "common-call-composite-more-button",
185
+ /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */
186
+ strings: moreButtonStrings, menuIconProps: { hidden: true }, menuProps: {
187
+ items: moreButtonContextualMenuItems,
188
+ calloutProps: {
189
+ preventDismissOnEvent: _preventDismissOnEvent
190
+ }
191
+ } })));
192
+ };
193
+ //# sourceMappingURL=DesktopMoreButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DesktopMoreButton.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/common/ControlBar/DesktopMoreButton.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { IContextualMenuItem } from '@fluentui/react';\nimport { ControlBarButtonProps } from '@internal/react-components';\n/* @conditional-compile-remove(close-captions) */\nimport { _StartCaptionsButton } from '@internal/react-components';\n/*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\nimport { HoldButton } from '@internal/react-components';\nimport React from 'react';\n/*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */\nimport { useMemo, useCallback } from 'react';\n/*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\nimport { usePropsFor } from '../../CallComposite/hooks/usePropsFor';\n/*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\nimport { buttonFlyoutIncreasedSizeStyles } from '../../CallComposite/styles/Buttons.styles';\nimport { MoreButton } from '../MoreButton';\n/*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\nimport { useLocale } from '../../localization';\n/* @conditional-compile-remove(control-bar-button-injection) */\nimport { CommonCallControlOptions } from '../types/CommonCallControlOptions';\n/* @conditional-compile-remove(control-bar-button-injection) */\nimport {\n CUSTOM_BUTTON_OPTIONS,\n generateCustomCallDesktopOverflowButtons,\n onFetchCustomButtonPropsTrampoline\n} from './CustomButton';\n/* @conditional-compile-remove(close-captions) */\nimport { useHandlers } from '../../CallComposite/hooks/useHandlers';\n/* @conditional-compile-remove(close-captions) */\nimport { _startCaptionsButtonSelector } from '@internal/calling-component-bindings';\n/* @conditional-compile-remove(close-captions) */\nimport { useAdaptedSelector } from '../../CallComposite/hooks/useAdaptedSelector';\nimport { _preventDismissOnEvent } from '@internal/acs-ui-common';\n\n/** @private */\nexport interface DesktopMoreButtonProps extends ControlBarButtonProps {\n disableButtonsForHoldScreen?: boolean;\n onClickShowDialpad?: () => void;\n /* @conditional-compile-remove(close-captions) */\n isCaptionsSupported?: boolean;\n /* @conditional-compile-remove(control-bar-button-injection) */\n callControls?: boolean | CommonCallControlOptions;\n onCaptionsSettingsClick?: () => void;\n}\n\n/**\n *\n * @private\n */\nexport const DesktopMoreButton = (props: DesktopMoreButtonProps): JSX.Element => {\n /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */\n const localeStrings = useLocale();\n /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n const holdButtonProps = usePropsFor(HoldButton);\n /* @conditional-compile-remove(close-captions) */\n const startCaptionsButtonProps = useAdaptedSelector(_startCaptionsButtonSelector);\n /* @conditional-compile-remove(close-captions) */\n const startCaptionsButtonHandlers = useHandlers(_StartCaptionsButton);\n /* @conditional-compile-remove(close-captions) */\n const startCaptions = useCallback(async () => {\n await startCaptionsButtonHandlers.onStartCaptions({\n spokenLanguage: startCaptionsButtonProps.currentSpokenLanguage\n });\n // set spoken language when start captions with a spoken language specified.\n // this is to fix the bug when a second user starts captions with a new spoken language, captions bot ignore that spoken language\n startCaptionsButtonHandlers.onSetSpokenLanguage(startCaptionsButtonProps.currentSpokenLanguage);\n }, [startCaptionsButtonHandlers, startCaptionsButtonProps.currentSpokenLanguage]);\n\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */\n const moreButtonStrings = useMemo(\n () => ({\n label: localeStrings.strings.call.moreButtonCallingLabel,\n tooltipOffContent: localeStrings.strings.callWithChat.moreDrawerButtonTooltip\n }),\n [localeStrings]\n );\n\n const moreButtonContextualMenuItems: IContextualMenuItem[] = [];\n\n /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n moreButtonContextualMenuItems.push({\n key: 'holdButtonKey',\n text: localeStrings.component.strings.holdButton.tooltipOffContent,\n onClick: () => {\n holdButtonProps.onToggleHold();\n },\n iconProps: { iconName: 'HoldCallContextualMenuItem', styles: { root: { lineHeight: 0 } } },\n itemProps: {\n styles: buttonFlyoutIncreasedSizeStyles\n },\n disabled: props.disableButtonsForHoldScreen\n });\n\n // is captions feature is active\n /* @conditional-compile-remove(close-captions) */\n if (props.isCaptionsSupported) {\n const captionsContextualMenuItems: IContextualMenuItem[] = [];\n\n const menuSubIconStyleSet = {\n root: {\n height: 'unset',\n lineHeight: '100%',\n width: '1.25rem'\n }\n };\n\n moreButtonContextualMenuItems.push({\n key: 'liveCaptionsKey',\n id: 'common-call-composite-captions-button',\n text: localeStrings.strings.call.liveCaptionsLabel,\n iconProps: { iconName: 'CaptionsIcon', styles: { root: { lineHeight: 0 } } },\n itemProps: {\n styles: buttonFlyoutIncreasedSizeStyles\n },\n disabled: props.disableButtonsForHoldScreen,\n subMenuProps: {\n id: 'captions-contextual-menu',\n items: captionsContextualMenuItems,\n calloutProps: {\n preventDismissOnEvent: _preventDismissOnEvent\n }\n },\n submenuIconProps: {\n iconName: 'HorizontalGalleryRightButton',\n styles: menuSubIconStyleSet\n }\n });\n\n captionsContextualMenuItems.push({\n key: 'ToggleCaptionsKey',\n id: 'common-call-composite-captions-toggle-button',\n text: startCaptionsButtonProps.checked\n ? localeStrings.strings.call.startCaptionsButtonTooltipOnContent\n : localeStrings.strings.call.startCaptionsButtonTooltipOffContent,\n onClick: () => {\n startCaptionsButtonProps.checked\n ? startCaptionsButtonHandlers.onStopCaptions()\n : startCaptionsButtonProps.currentSpokenLanguage !== ''\n ? startCaptions()\n : props.onCaptionsSettingsClick && props.onCaptionsSettingsClick();\n },\n iconProps: {\n iconName: startCaptionsButtonProps.checked ? 'CaptionsOffIcon' : 'CaptionsIcon',\n styles: { root: { lineHeight: 0 } }\n },\n itemProps: {\n styles: buttonFlyoutIncreasedSizeStyles\n },\n disabled: props.disableButtonsForHoldScreen\n });\n\n if (props.onCaptionsSettingsClick) {\n captionsContextualMenuItems.push({\n key: 'openCaptionsSettingsKey',\n id: 'common-call-composite-captions-settings-button',\n text: localeStrings.strings.call.captionsSettingsLabel,\n onClick: props.onCaptionsSettingsClick,\n iconProps: {\n iconName: 'CaptionsSettingsIcon',\n styles: { root: { lineHeight: 0 } }\n },\n itemProps: {\n styles: buttonFlyoutIncreasedSizeStyles\n },\n disabled: props.disableButtonsForHoldScreen || !startCaptionsButtonProps.checked\n });\n }\n }\n\n /*@conditional-compile-remove(PSTN-calls) */\n if (props.onClickShowDialpad) {\n moreButtonContextualMenuItems.push({\n key: 'showDialpadKey',\n text: localeStrings.strings.callWithChat.openDtmfDialpadLabel,\n onClick: () => {\n props.onClickShowDialpad && props.onClickShowDialpad();\n },\n iconProps: { iconName: 'Dialpad', styles: { root: { lineHeight: 0 } } },\n itemProps: {\n styles: buttonFlyoutIncreasedSizeStyles\n },\n disabled: props.disableButtonsForHoldScreen\n });\n }\n\n /* @conditional-compile-remove(control-bar-button-injection) */\n const customDrawerButtons = useMemo(\n () =>\n generateCustomCallDesktopOverflowButtons(\n onFetchCustomButtonPropsTrampoline(typeof props.callControls === 'object' ? props.callControls : undefined),\n typeof props.callControls === 'object' ? props.callControls.displayType : undefined\n ),\n [props.callControls]\n );\n\n /* @conditional-compile-remove(control-bar-button-injection) */\n customDrawerButtons['primary'].slice(CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_DESKTOP_CUSTOM_BUTTONS).forEach((element) => {\n moreButtonContextualMenuItems.push({\n itemProps: {\n styles: buttonFlyoutIncreasedSizeStyles\n },\n ...element\n });\n });\n /* @conditional-compile-remove(control-bar-button-injection) */\n customDrawerButtons['secondary']\n .slice(CUSTOM_BUTTON_OPTIONS.MAX_SECONDARY_DESKTOP_CUSTOM_BUTTONS)\n .forEach((element) => {\n moreButtonContextualMenuItems.push({\n itemProps: {\n styles: buttonFlyoutIncreasedSizeStyles\n },\n ...element\n });\n });\n\n /* @conditional-compile-remove(control-bar-button-injection) */\n customDrawerButtons['overflow'].forEach((element) => {\n moreButtonContextualMenuItems.push({\n itemProps: {\n styles: buttonFlyoutIncreasedSizeStyles\n },\n ...element\n });\n });\n\n return (\n <MoreButton\n {...props}\n data-ui-id=\"common-call-composite-more-button\"\n /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */\n strings={moreButtonStrings}\n menuIconProps={{ hidden: true }}\n menuProps={{\n items: moreButtonContextualMenuItems,\n calloutProps: {\n preventDismissOnEvent: _preventDismissOnEvent\n }\n }}\n />\n );\n};\n\"../../../../../react-components/src\"\"../../../../../calling-component-bindings/src\"\"../../../../../acs-ui-common/src\""]}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { ControlBarButtonProps } from "../../../../react-components/src";
2
+ import { ControlBarButtonProps } from "../../../../../react-components/src";
3
3
  /**
4
4
  * @private
5
5
  */
@@ -1,10 +1,10 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
3
  import React, { useMemo } from 'react';
4
- import { ControlBarButton, useTheme } from "../../../../react-components/src";
4
+ import { ControlBarButton, useTheme } from "../../../../../react-components/src";
5
5
  import { concatStyleSets } from '@fluentui/react';
6
- import { CallWithChatCompositeIcon } from '../common/icons';
7
- const icon = () => React.createElement(CallWithChatCompositeIcon, { iconName: 'ControlBarPeopleButton' });
6
+ import { CallCompositeIcon } from '../icons';
7
+ const icon = () => React.createElement(CallCompositeIcon, { iconName: 'ControlBarPeopleButton' });
8
8
  /**
9
9
  * @private
10
10
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PeopleButton.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/common/ControlBar/PeopleButton.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAiD,QAAQ,EAAE,4CAAmC;AACvH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,IAAI,GAAG,GAAgB,EAAE,CAAC,oBAAC,iBAAiB,IAAC,QAAQ,EAAE,wBAAwB,GAAI,CAAC;AAE1F;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAA4B,EAAe,EAAE;IACxE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACpE,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,MAAM,GAA2B,OAAO,CAC5C,GAAG,EAAE;;QACH,OAAA,eAAe,CACb;YACE,WAAW,EAAE;gBACX,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;aACvC;SACF,EACD,MAAA,KAAK,CAAC,MAAM,mCAAI,EAAE,CACnB,CAAA;KAAA,EACH,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAC3C,CAAC;IAEF,OAAO,CACL,oBAAC,gBAAgB,oBACX,KAAK,IACT,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,sBAAsB,EAChC,cAAc,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,IAAI,EACtC,eAAe,EAAE,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAI,EACxC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,IACd,CACH,CAAC;AACJ,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 '../icons';\n\nconst icon = (): JSX.Element => <CallCompositeIcon iconName={'ControlBarPeopleButton'} />;\n\n/**\n * @private\n */\nexport const PeopleButton = (props: ControlBarButtonProps): JSX.Element => {\n const { strings, onRenderOnIcon, onRenderOffIcon, onClick } = props;\n const theme = useTheme();\n const styles: ControlBarButtonStyles = useMemo(\n () =>\n concatStyleSets(\n {\n rootChecked: {\n background: theme.palette.neutralLight\n }\n },\n props.styles ?? {}\n ),\n [props.styles, theme.palette.neutralLight]\n );\n\n return (\n <ControlBarButton\n {...props}\n strings={strings}\n labelKey={'peopleButtonLabelKey'}\n onRenderOnIcon={onRenderOnIcon ?? icon}\n onRenderOffIcon={onRenderOffIcon ?? icon}\n onClick={onClick}\n styles={styles}\n />\n );\n};\n\"../../../../../react-components/src\""]}
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { OptionsDevice } from "../../../../../react-components/src";
3
3
  import { AudioDeviceInfo } from '@azure/communication-calling';
4
- import { CallWithChatControlOptions } from '../CallWithChatComposite';
4
+ import { CommonCallControlOptions } from '../types/CommonCallControlOptions';
5
5
  /** @private */
6
6
  export interface MoreDrawerStrings {
7
7
  /**
@@ -29,6 +29,18 @@ export interface MoreDrawerStrings {
29
29
  *
30
30
  */
31
31
  speakerMenuTitle: string;
32
+ /**
33
+ * Label for captions drawerMenuItem
34
+ *
35
+ * @remarks Only displayed when in Teams call
36
+ */
37
+ captionsMenuTitle: string;
38
+ /**
39
+ * Label for spokenLanguage drawerMenuItem
40
+ *
41
+ * @remarks Only displayed when in Teams call, disabled until captions is on
42
+ */
43
+ spokenLanguageMenuTitle: string;
32
44
  }
33
45
  /** @private */
34
46
  export interface MoreDrawerDevicesMenuProps {
@@ -61,8 +73,9 @@ export interface MoreDrawerDevicesMenuProps {
61
73
  export interface MoreDrawerProps extends MoreDrawerDevicesMenuProps {
62
74
  onLightDismiss: () => void;
63
75
  onPeopleButtonClicked: () => void;
64
- callControls?: boolean | CallWithChatControlOptions;
76
+ callControls?: boolean | CommonCallControlOptions;
65
77
  onClickShowDialpad?: () => void;
78
+ isCaptionsSupported?: boolean;
66
79
  strings: MoreDrawerStrings;
67
80
  disableButtonsForHoldScreen?: boolean;
68
81
  }
@@ -1,18 +1,45 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
+ return new (P || (P = Promise))(function (resolve, reject) {
6
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
10
+ });
11
+ };
3
12
  import React, { useCallback } from 'react';
13
+ /* @conditional-compile-remove(close-captions) */
14
+ import { useState } from 'react';
4
15
  /* @conditional-compile-remove(control-bar-button-injection) */
5
16
  import { useMemo } from 'react';
6
17
  import { _DrawerMenu as DrawerMenu } from "../../../../../react-components/src";
18
+ /* @conditional-compile-remove(close-captions) */
19
+ import { _StartCaptionsButton } from "../../../../../react-components/src";
7
20
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
8
21
  import { HoldButton } from "../../../../../react-components/src";
9
22
  /* @conditional-compile-remove(control-bar-button-injection) */
10
- import { CUSTOM_BUTTON_OPTIONS, generateCustomCallWithChatDrawerButtons, onFetchCustomButtonPropsTrampoline } from '../CustomButton';
23
+ import { CUSTOM_BUTTON_OPTIONS, generateCustomCallDrawerButtons, onFetchCustomButtonPropsTrampoline } from '../ControlBar/CustomButton';
11
24
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
12
25
  import { usePropsFor } from '../../CallComposite/hooks/usePropsFor';
13
26
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
14
27
  import { useLocale } from '../../localization';
15
28
  import { isDisabled } from '../../CallComposite/utils';
29
+ /* @conditional-compile-remove(close-captions) */
30
+ import { Stack, Toggle, useTheme } from '@fluentui/react';
31
+ /* @conditional-compile-remove(close-captions) */
32
+ import { useAdaptedSelector } from '../../CallComposite/hooks/useAdaptedSelector';
33
+ /* @conditional-compile-remove(close-captions) */
34
+ import { _startCaptionsButtonSelector } from "../../../../../calling-component-bindings/src";
35
+ /* @conditional-compile-remove(close-captions) */
36
+ import { useHandlers } from '../../CallComposite/hooks/useHandlers';
37
+ /* @conditional-compile-remove(close-captions) */
38
+ import { defaultSpokenLanguage } from '../utils';
39
+ /* @conditional-compile-remove(close-captions) */
40
+ import { SpokenLanguageDrawer } from './SpokenLanguageDrawer';
41
+ /* @conditional-compile-remove(close-captions) */
42
+ import { themedToggleButtonStyle } from './MoreDrawer.styles';
16
43
  const inferCallWithChatControlOptions = (callWithChatControls) => {
17
44
  if (callWithChatControls === false) {
18
45
  return false;
@@ -22,7 +49,9 @@ const inferCallWithChatControlOptions = (callWithChatControls) => {
22
49
  };
23
50
  /** @private */
24
51
  export const MoreDrawer = (props) => {
25
- var _a, _b, _c, _d, _e;
52
+ var _a, _b;
53
+ /* @conditional-compile-remove(close-captions) */
54
+ const theme = useTheme();
26
55
  const drawerMenuItems = [];
27
56
  const { speakers, onSelectSpeaker, onLightDismiss } = props;
28
57
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
@@ -97,21 +126,22 @@ export const MoreDrawer = (props) => {
97
126
  if (drawerSelectionOptions !== false && isEnabled(drawerSelectionOptions === null || drawerSelectionOptions === void 0 ? void 0 : drawerSelectionOptions.peopleButton)) {
98
127
  drawerMenuItems.push({
99
128
  itemKey: 'people',
129
+ id: 'call-composite-drawer-people-button',
100
130
  text: props.strings.peopleButtonLabel,
101
131
  iconProps: { iconName: 'MoreDrawerPeople' },
102
132
  onItemClick: props.onPeopleButtonClicked,
103
- disabled: drawerSelectionOptions !== false ? isDisabled(drawerSelectionOptions.peopleButton) : undefined
133
+ disabled: isDisabled(drawerSelectionOptions.peopleButton)
104
134
  });
105
135
  }
106
136
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
107
137
  if (drawerSelectionOptions !== false && isEnabled(drawerSelectionOptions === null || drawerSelectionOptions === void 0 ? void 0 : drawerSelectionOptions.holdButton)) {
108
138
  drawerMenuItems.push({
109
139
  itemKey: 'holdButtonKey',
110
- disabled: props.disableButtonsForHoldScreen ||
111
- (drawerSelectionOptions !== false ? isDisabled(drawerSelectionOptions.holdButton) : undefined),
140
+ disabled: props.disableButtonsForHoldScreen || isDisabled(drawerSelectionOptions.holdButton),
112
141
  text: localeStrings.component.strings.holdButton.tooltipOffContent,
113
142
  onItemClick: () => {
114
143
  holdButtonProps.onToggleHold();
144
+ onLightDismiss();
115
145
  },
116
146
  iconProps: { iconName: 'HoldCallContextualMenuItem', styles: { root: { lineHeight: 0 } } }
117
147
  });
@@ -129,20 +159,94 @@ export const MoreDrawer = (props) => {
129
159
  iconProps: { iconName: 'Dialpad', styles: { root: { lineHeight: 0 } } }
130
160
  });
131
161
  }
162
+ /* @conditional-compile-remove(close-captions) */
163
+ //Captions drawer menu
164
+ const supportedLanguageStrings = useLocale().strings.call.captionsAvailableLanguageStrings;
165
+ /* @conditional-compile-remove(close-captions) */
166
+ const startCaptionsButtonProps = useAdaptedSelector(_startCaptionsButtonSelector);
167
+ /* @conditional-compile-remove(close-captions) */
168
+ const startCaptionsButtonHandlers = useHandlers(_StartCaptionsButton);
169
+ /* @conditional-compile-remove(close-captions) */
170
+ const [isSpokenLanguageDrawerOpen, setIsSpokenLanguageDrawerOpen] = useState(false);
171
+ /* @conditional-compile-remove(close-captions) */
172
+ const [currentSpokenLanguage, setCurrentSpokenLanguage] = useState(startCaptionsButtonProps.currentSpokenLanguage === ''
173
+ ? defaultSpokenLanguage
174
+ : startCaptionsButtonProps.currentSpokenLanguage);
175
+ /* @conditional-compile-remove(close-captions) */
176
+ const onToggleChange = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
177
+ if (!startCaptionsButtonProps.checked) {
178
+ yield startCaptionsButtonHandlers.onStartCaptions({
179
+ spokenLanguage: currentSpokenLanguage
180
+ });
181
+ // set spoken language when start captions with a spoken language specified.
182
+ // this is to fix the bug when a second user starts captions with a new spoken language, captions bot ignore that spoken language
183
+ startCaptionsButtonHandlers.onSetSpokenLanguage(currentSpokenLanguage);
184
+ }
185
+ else {
186
+ startCaptionsButtonHandlers.onStopCaptions();
187
+ }
188
+ }), [startCaptionsButtonProps.checked, startCaptionsButtonHandlers, currentSpokenLanguage]);
189
+ /* @conditional-compile-remove(close-captions) */
190
+ if (props.isCaptionsSupported) {
191
+ const captionsDrawerItems = [];
192
+ drawerMenuItems.push({
193
+ itemKey: 'captions',
194
+ id: 'common-call-composite-captions-button',
195
+ disabled: props.disableButtonsForHoldScreen,
196
+ text: props.strings.captionsMenuTitle,
197
+ iconProps: { iconName: 'CaptionsIcon' },
198
+ subMenuProps: captionsDrawerItems
199
+ });
200
+ captionsDrawerItems.push({
201
+ itemKey: 'ToggleCaptionsKey',
202
+ text: startCaptionsButtonProps.checked
203
+ ? localeStrings.strings.call.startCaptionsButtonTooltipOnContent
204
+ : localeStrings.strings.call.startCaptionsButtonTooltipOffContent,
205
+ iconProps: {
206
+ iconName: startCaptionsButtonProps.checked ? 'CaptionsOffIcon' : 'CaptionsIcon',
207
+ styles: { root: { lineHeight: 0 } }
208
+ },
209
+ disabled: props.disableButtonsForHoldScreen,
210
+ secondaryComponent: (React.createElement(Stack, { verticalFill: true, verticalAlign: "center" },
211
+ React.createElement(Toggle, { id: "common-call-composite-captions-toggle-button", checked: startCaptionsButtonProps.checked, styles: themedToggleButtonStyle(theme, startCaptionsButtonProps.checked), onChange: onToggleChange })))
212
+ });
213
+ captionsDrawerItems.push({
214
+ itemKey: 'ChangeSpokenLanguage',
215
+ text: props.strings.spokenLanguageMenuTitle,
216
+ id: 'common-call-composite-captions-settings-button',
217
+ secondaryText: supportedLanguageStrings ? supportedLanguageStrings[currentSpokenLanguage] : currentSpokenLanguage,
218
+ iconProps: {
219
+ iconName: 'ChangeSpokenLanguageIcon',
220
+ styles: { root: { lineHeight: 0 } }
221
+ },
222
+ disabled: props.disableButtonsForHoldScreen || !startCaptionsButtonProps.checked,
223
+ onItemClick: () => {
224
+ setIsSpokenLanguageDrawerOpen(true);
225
+ },
226
+ secondaryIconProps: {
227
+ iconName: 'ChevronRight',
228
+ styles: { root: { lineHeight: 0 } }
229
+ }
230
+ });
231
+ }
132
232
  /* @conditional-compile-remove(control-bar-button-injection) */
133
- const customDrawerButtons = useMemo(() => generateCustomCallWithChatDrawerButtons(onFetchCustomButtonPropsTrampoline(drawerSelectionOptions !== false ? drawerSelectionOptions : undefined), drawerSelectionOptions !== false ? drawerSelectionOptions === null || drawerSelectionOptions === void 0 ? void 0 : drawerSelectionOptions.displayType : undefined), [drawerSelectionOptions]);
233
+ const customDrawerButtons = useMemo(() => generateCustomCallDrawerButtons(onFetchCustomButtonPropsTrampoline(drawerSelectionOptions !== false ? drawerSelectionOptions : undefined), drawerSelectionOptions !== false ? drawerSelectionOptions === null || drawerSelectionOptions === void 0 ? void 0 : drawerSelectionOptions.displayType : undefined), [drawerSelectionOptions]);
134
234
  /* @conditional-compile-remove(control-bar-button-injection) */
135
- (_c = customDrawerButtons['overflow']) === null || _c === void 0 ? void 0 : _c.props.children.forEach((element) => {
235
+ customDrawerButtons['primary'].slice(CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_MOBILE_CUSTOM_BUTTONS).forEach((element) => {
136
236
  drawerMenuItems.push(element);
137
237
  });
138
238
  /* @conditional-compile-remove(control-bar-button-injection) */
139
- (_d = customDrawerButtons['primary']) === null || _d === void 0 ? void 0 : _d.props.children.slice(CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_MOBILE_CUSTOM_BUTTONS).forEach((element) => {
239
+ customDrawerButtons['secondary'].forEach((element) => {
140
240
  drawerMenuItems.push(element);
141
241
  });
142
242
  /* @conditional-compile-remove(control-bar-button-injection) */
143
- (_e = customDrawerButtons['secondary']) === null || _e === void 0 ? void 0 : _e.props.children.forEach((element) => {
243
+ customDrawerButtons['overflow'].forEach((element) => {
144
244
  drawerMenuItems.push(element);
145
245
  });
246
+ /* @conditional-compile-remove(close-captions) */
247
+ return (React.createElement(React.Fragment, null,
248
+ isSpokenLanguageDrawerOpen && props.isCaptionsSupported && (React.createElement(SpokenLanguageDrawer, { onLightDismiss: props.onLightDismiss, setCurrentSpokenLanguage: setCurrentSpokenLanguage, currentSpokenLanguage: currentSpokenLanguage, strings: props.strings, supportedLanguageStrings: supportedLanguageStrings })),
249
+ !isSpokenLanguageDrawerOpen && React.createElement(DrawerMenu, { items: drawerMenuItems, onLightDismiss: props.onLightDismiss })));
146
250
  return React.createElement(DrawerMenu, { items: drawerMenuItems, onLightDismiss: props.onLightDismiss });
147
251
  };
148
252
  const isDeviceSelected = (speaker, selectedSpeaker) => !!selectedSpeaker && speaker.id === selectedSpeaker.id;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MoreDrawer.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/common/Drawer/MoreDrawer.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport React, { useCallback } from 'react';\n/* @conditional-compile-remove(close-captions) */\nimport { useState } from 'react';\n/* @conditional-compile-remove(control-bar-button-injection) */\nimport { useMemo } from 'react';\nimport {\n OptionsDevice,\n _DrawerMenu as DrawerMenu,\n _DrawerMenuItemProps as DrawerMenuItemProps,\n _DrawerMenuStyles\n} from '@internal/react-components';\n/* @conditional-compile-remove(close-captions) */\nimport { _StartCaptionsButton } from '@internal/react-components';\n\n/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\nimport { HoldButton } from '@internal/react-components';\nimport { AudioDeviceInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(control-bar-button-injection) */\nimport {\n CUSTOM_BUTTON_OPTIONS,\n generateCustomCallDrawerButtons,\n onFetchCustomButtonPropsTrampoline\n} from '../ControlBar/CustomButton';\n/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\nimport { usePropsFor } from '../../CallComposite/hooks/usePropsFor';\n/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\nimport { useLocale } from '../../localization';\nimport { isDisabled } from '../../CallComposite/utils';\nimport { CommonCallControlOptions } from '../types/CommonCallControlOptions';\n/* @conditional-compile-remove(close-captions) */\nimport { Stack, Toggle, useTheme } from '@fluentui/react';\n/* @conditional-compile-remove(close-captions) */\nimport { _pxToRem } from '@internal/acs-ui-common';\n/* @conditional-compile-remove(close-captions) */\nimport { useAdaptedSelector } from '../../CallComposite/hooks/useAdaptedSelector';\n/* @conditional-compile-remove(close-captions) */\nimport { _startCaptionsButtonSelector } from '@internal/calling-component-bindings';\n/* @conditional-compile-remove(close-captions) */\nimport { useHandlers } from '../../CallComposite/hooks/useHandlers';\n/* @conditional-compile-remove(close-captions) */\nimport { defaultSpokenLanguage } from '../utils';\n/* @conditional-compile-remove(close-captions) */\nimport { SpokenLanguageDrawer } from './SpokenLanguageDrawer';\n/* @conditional-compile-remove(close-captions) */\nimport { themedToggleButtonStyle } from './MoreDrawer.styles';\n\n/** @private */\nexport interface MoreDrawerStrings {\n /**\n * Label for people drawerMenuItem.\n */\n peopleButtonLabel: string;\n /**\n * Label for audio device drawerMenuItem.\n *\n * @remarks This replaces the microphoneMenuTitle speakers can not be enumerated\n *\n */\n audioDeviceMenuTitle?: string;\n /**\n * Label for microphone drawerMenuItem.\n *\n * @remarks Only displayed when speakers can be enumerated otherwise audioDeviceMenuTitle is used\n *\n */\n microphoneMenuTitle: string;\n /**\n * Label for speaker drawerMenuItem.\n *\n * @remarks Only displayed when speakers can be enumerated\n *\n */\n speakerMenuTitle: string;\n /* @conditional-compile-remove(close-captions) */\n /**\n * Label for captions drawerMenuItem\n *\n * @remarks Only displayed when in Teams call\n */\n captionsMenuTitle: string;\n /* @conditional-compile-remove(close-captions) */\n /**\n * Label for spokenLanguage drawerMenuItem\n *\n * @remarks Only displayed when in Teams call, disabled until captions is on\n */\n spokenLanguageMenuTitle: string;\n}\n\n/** @private */\nexport interface MoreDrawerDevicesMenuProps {\n /**\n * Available microphones for selection\n */\n microphones?: OptionsDevice[];\n /**\n * Available speakers for selection\n */\n speakers?: OptionsDevice[];\n /**\n * Microphone that is shown as currently selected\n */\n selectedMicrophone?: OptionsDevice;\n /**\n * Speaker that is shown as currently selected\n */\n selectedSpeaker?: OptionsDevice;\n /**\n * Speaker when a speaker is selected\n */\n onSelectSpeaker: (device: AudioDeviceInfo) => Promise<void>;\n /**\n * Callback when a microphone is selected\n */\n onSelectMicrophone: (device: AudioDeviceInfo) => Promise<void>;\n}\n\n/** @private */\nexport interface MoreDrawerProps extends MoreDrawerDevicesMenuProps {\n onLightDismiss: () => void;\n onPeopleButtonClicked: () => void;\n callControls?: boolean | CommonCallControlOptions;\n onClickShowDialpad?: () => void;\n /* @conditional-compile-remove(close-captions) */\n isCaptionsSupported?: boolean;\n strings: MoreDrawerStrings;\n disableButtonsForHoldScreen?: boolean;\n}\n\nconst inferCallWithChatControlOptions = (\n callWithChatControls?: boolean | CommonCallControlOptions\n): CommonCallControlOptions | false => {\n if (callWithChatControls === false) {\n return false;\n }\n const options = callWithChatControls === true || callWithChatControls === undefined ? {} : callWithChatControls;\n return options;\n};\n\n/** @private */\nexport const MoreDrawer = (props: MoreDrawerProps): JSX.Element => {\n /* @conditional-compile-remove(close-captions) */\n const theme = useTheme();\n const drawerMenuItems: DrawerMenuItemProps[] = [];\n\n const { speakers, onSelectSpeaker, onLightDismiss } = props;\n\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n const localeStrings = useLocale();\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n const holdButtonProps = usePropsFor(HoldButton);\n\n const onSpeakerItemClick = useCallback(\n (_ev, itemKey) => {\n const selected = speakers?.find((speaker) => speaker.id === itemKey);\n if (selected) {\n // This is unsafe - we're only passing in part of the argument to the handler.\n // But this is a known issue in our state.\n onSelectSpeaker(selected as AudioDeviceInfo);\n }\n onLightDismiss();\n },\n [speakers, onSelectSpeaker, onLightDismiss]\n );\n\n const drawerSelectionOptions = inferCallWithChatControlOptions(props.callControls);\n\n if (props.speakers && props.speakers.length > 0) {\n drawerMenuItems.push({\n itemKey: 'speakers',\n disabled: props.disableButtonsForHoldScreen,\n text: props.strings.speakerMenuTitle,\n iconProps: { iconName: 'MoreDrawerSpeakers' },\n subMenuProps: props.speakers.map((speaker) => ({\n itemKey: speaker.id,\n iconProps: {\n iconName: isDeviceSelected(speaker, props.selectedSpeaker)\n ? 'MoreDrawerSelectedSpeaker'\n : 'MoreDrawerSpeakers'\n },\n text: speaker.name,\n onItemClick: onSpeakerItemClick,\n secondaryIconProps: isDeviceSelected(speaker, props.selectedSpeaker) ? { iconName: 'Accept' } : undefined\n })),\n secondaryText: props.selectedSpeaker?.name\n });\n }\n\n const { microphones, onSelectMicrophone } = props;\n const onMicrophoneItemClick = useCallback(\n (_ev, itemKey) => {\n const selected = microphones?.find((mic) => mic.id === itemKey);\n if (selected) {\n // This is unsafe - we're only passing in part of the argument to the handler.\n // But this is a known issue in our state.\n onSelectMicrophone(selected as AudioDeviceInfo);\n }\n onLightDismiss();\n },\n [microphones, onSelectMicrophone, onLightDismiss]\n );\n\n if (props.microphones && props.microphones.length > 0) {\n // Set props as Microphone if speakers can be enumerated else set as Audio Device\n const speakersAvailable = props.speakers && props.speakers.length > 0;\n const itemKey = speakersAvailable ? 'microphones' : 'audioDevices';\n const text = speakersAvailable ? props.strings.microphoneMenuTitle : props.strings.audioDeviceMenuTitle;\n const iconName = speakersAvailable ? 'MoreDrawerMicrophones' : 'MoreDrawerSpeakers';\n const selectedIconName = speakersAvailable ? 'MoreDrawerSelectedMicrophone' : 'MoreDrawerSelectedSpeaker';\n\n drawerMenuItems.push({\n itemKey: itemKey,\n disabled: props.disableButtonsForHoldScreen,\n text: text,\n iconProps: { iconName: iconName },\n subMenuProps: props.microphones.map((mic) => ({\n itemKey: mic.id,\n iconProps: {\n iconName: isDeviceSelected(mic, props.selectedMicrophone) ? selectedIconName : iconName\n },\n text: mic.name,\n onItemClick: onMicrophoneItemClick,\n secondaryIconProps: isDeviceSelected(mic, props.selectedMicrophone) ? { iconName: 'Accept' } : undefined,\n disabled: drawerSelectionOptions !== false ? isDisabled(drawerSelectionOptions.microphoneButton) : undefined\n })),\n secondaryText: props.selectedMicrophone?.name\n });\n }\n if (drawerSelectionOptions !== false && isEnabled(drawerSelectionOptions?.peopleButton)) {\n drawerMenuItems.push({\n itemKey: 'people',\n id: 'call-composite-drawer-people-button',\n text: props.strings.peopleButtonLabel,\n iconProps: { iconName: 'MoreDrawerPeople' },\n onItemClick: props.onPeopleButtonClicked,\n disabled: isDisabled(drawerSelectionOptions.peopleButton)\n });\n }\n\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n if (drawerSelectionOptions !== false && isEnabled(drawerSelectionOptions?.holdButton)) {\n drawerMenuItems.push({\n itemKey: 'holdButtonKey',\n disabled: props.disableButtonsForHoldScreen || isDisabled(drawerSelectionOptions.holdButton),\n text: localeStrings.component.strings.holdButton.tooltipOffContent,\n onItemClick: () => {\n holdButtonProps.onToggleHold();\n onLightDismiss();\n },\n iconProps: { iconName: 'HoldCallContextualMenuItem', styles: { root: { lineHeight: 0 } } }\n });\n }\n\n /*@conditional-compile-remove(PSTN-calls) */\n // dtmf tone sending only works for 1:1 PSTN call\n if (drawerSelectionOptions !== false && props.onClickShowDialpad) {\n drawerMenuItems.push({\n itemKey: 'showDialpadKey',\n disabled: props.disableButtonsForHoldScreen,\n text: localeStrings.strings.callWithChat.openDtmfDialpadLabel,\n onItemClick: () => {\n props.onClickShowDialpad && props.onClickShowDialpad();\n },\n iconProps: { iconName: 'Dialpad', styles: { root: { lineHeight: 0 } } }\n });\n }\n\n /* @conditional-compile-remove(close-captions) */\n //Captions drawer menu\n const supportedLanguageStrings = useLocale().strings.call.captionsAvailableLanguageStrings;\n /* @conditional-compile-remove(close-captions) */\n const startCaptionsButtonProps = useAdaptedSelector(_startCaptionsButtonSelector);\n /* @conditional-compile-remove(close-captions) */\n const startCaptionsButtonHandlers = useHandlers(_StartCaptionsButton);\n\n /* @conditional-compile-remove(close-captions) */\n const [isSpokenLanguageDrawerOpen, setIsSpokenLanguageDrawerOpen] = useState<boolean>(false);\n\n /* @conditional-compile-remove(close-captions) */\n const [currentSpokenLanguage, setCurrentSpokenLanguage] = useState<string>(\n startCaptionsButtonProps.currentSpokenLanguage === ''\n ? defaultSpokenLanguage\n : startCaptionsButtonProps.currentSpokenLanguage\n );\n /* @conditional-compile-remove(close-captions) */\n const onToggleChange = useCallback(async () => {\n if (!startCaptionsButtonProps.checked) {\n await startCaptionsButtonHandlers.onStartCaptions({\n spokenLanguage: currentSpokenLanguage\n });\n // set spoken language when start captions with a spoken language specified.\n // this is to fix the bug when a second user starts captions with a new spoken language, captions bot ignore that spoken language\n startCaptionsButtonHandlers.onSetSpokenLanguage(currentSpokenLanguage);\n } else {\n startCaptionsButtonHandlers.onStopCaptions();\n }\n }, [startCaptionsButtonProps.checked, startCaptionsButtonHandlers, currentSpokenLanguage]);\n\n /* @conditional-compile-remove(close-captions) */\n if (props.isCaptionsSupported) {\n const captionsDrawerItems: DrawerMenuItemProps[] = [];\n\n drawerMenuItems.push({\n itemKey: 'captions',\n id: 'common-call-composite-captions-button',\n disabled: props.disableButtonsForHoldScreen,\n text: props.strings.captionsMenuTitle,\n iconProps: { iconName: 'CaptionsIcon' },\n subMenuProps: captionsDrawerItems\n });\n\n captionsDrawerItems.push({\n itemKey: 'ToggleCaptionsKey',\n text: startCaptionsButtonProps.checked\n ? localeStrings.strings.call.startCaptionsButtonTooltipOnContent\n : localeStrings.strings.call.startCaptionsButtonTooltipOffContent,\n iconProps: {\n iconName: startCaptionsButtonProps.checked ? 'CaptionsOffIcon' : 'CaptionsIcon',\n styles: { root: { lineHeight: 0 } }\n },\n disabled: props.disableButtonsForHoldScreen,\n secondaryComponent: (\n <Stack verticalFill verticalAlign=\"center\">\n <Toggle\n id=\"common-call-composite-captions-toggle-button\"\n checked={startCaptionsButtonProps.checked}\n styles={themedToggleButtonStyle(theme, startCaptionsButtonProps.checked)}\n onChange={onToggleChange}\n />\n </Stack>\n )\n });\n\n captionsDrawerItems.push({\n itemKey: 'ChangeSpokenLanguage',\n text: props.strings.spokenLanguageMenuTitle,\n id: 'common-call-composite-captions-settings-button',\n secondaryText: supportedLanguageStrings ? supportedLanguageStrings[currentSpokenLanguage] : currentSpokenLanguage,\n iconProps: {\n iconName: 'ChangeSpokenLanguageIcon',\n styles: { root: { lineHeight: 0 } }\n },\n disabled: props.disableButtonsForHoldScreen || !startCaptionsButtonProps.checked,\n onItemClick: () => {\n setIsSpokenLanguageDrawerOpen(true);\n },\n secondaryIconProps: {\n iconName: 'ChevronRight',\n styles: { root: { lineHeight: 0 } }\n }\n });\n }\n\n /* @conditional-compile-remove(control-bar-button-injection) */\n const customDrawerButtons = useMemo(\n () =>\n generateCustomCallDrawerButtons(\n onFetchCustomButtonPropsTrampoline(drawerSelectionOptions !== false ? drawerSelectionOptions : undefined),\n drawerSelectionOptions !== false ? drawerSelectionOptions?.displayType : undefined\n ),\n [drawerSelectionOptions]\n );\n\n /* @conditional-compile-remove(control-bar-button-injection) */\n customDrawerButtons['primary'].slice(CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_MOBILE_CUSTOM_BUTTONS).forEach((element) => {\n drawerMenuItems.push(element);\n });\n /* @conditional-compile-remove(control-bar-button-injection) */\n customDrawerButtons['secondary'].forEach((element) => {\n drawerMenuItems.push(element);\n });\n /* @conditional-compile-remove(control-bar-button-injection) */\n customDrawerButtons['overflow'].forEach((element) => {\n drawerMenuItems.push(element);\n });\n /* @conditional-compile-remove(close-captions) */\n return (\n <>\n {isSpokenLanguageDrawerOpen && props.isCaptionsSupported && (\n <SpokenLanguageDrawer\n onLightDismiss={props.onLightDismiss}\n setCurrentSpokenLanguage={setCurrentSpokenLanguage}\n currentSpokenLanguage={currentSpokenLanguage}\n strings={props.strings}\n supportedLanguageStrings={supportedLanguageStrings}\n />\n )}\n {!isSpokenLanguageDrawerOpen && <DrawerMenu items={drawerMenuItems} onLightDismiss={props.onLightDismiss} />}\n </>\n );\n\n return <DrawerMenu items={drawerMenuItems} onLightDismiss={props.onLightDismiss} />;\n};\n\nconst isDeviceSelected = (speaker: OptionsDevice, selectedSpeaker?: OptionsDevice): boolean =>\n !!selectedSpeaker && speaker.id === selectedSpeaker.id;\n\nconst isEnabled = (option: unknown): boolean => option !== false;\n\"../../../../../react-components/src\"\"../../../../../acs-ui-common/src\"\"../../../../../calling-component-bindings/src\""]}
@@ -0,0 +1,6 @@
1
+ import { Theme, IToggleStyles } from '@fluentui/react';
2
+ /**
3
+ * @private
4
+ */
5
+ export declare const themedToggleButtonStyle: (theme: Theme, checked: boolean) => Partial<IToggleStyles>;
6
+ //# sourceMappingURL=MoreDrawer.styles.d.ts.map
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @private
3
+ */
4
+ export const themedToggleButtonStyle = (theme, checked) => {
5
+ if (checked) {
6
+ return {
7
+ root: {
8
+ margin: 0
9
+ },
10
+ pill: {
11
+ backgroundColor: `${theme.palette.themePrimary} !important`
12
+ },
13
+ thumb: {
14
+ backgroundColor: `${theme.palette.white} !important`
15
+ }
16
+ };
17
+ }
18
+ return {
19
+ root: {
20
+ margin: 0
21
+ }
22
+ };
23
+ };
24
+ //# sourceMappingURL=MoreDrawer.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MoreDrawer.styles.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/common/Drawer/MoreDrawer.styles.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAY,EAAE,OAAgB,EAA0B,EAAE;IAChG,IAAI,OAAO,EAAE;QACX,OAAO;YACL,IAAI,EAAE;gBACJ,MAAM,EAAE,CAAC;aACV;YACD,IAAI,EAAE;gBACJ,eAAe,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,aAAa;aAC5D;YACD,KAAK,EAAE;gBACL,eAAe,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,aAAa;aACrD;SACF,CAAC;KACH;IACD,OAAO;QACL,IAAI,EAAE;YACJ,MAAM,EAAE,CAAC;SACV;KACF,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { Theme, IToggleStyles } from '@fluentui/react';\nimport { _pxToRem } from '@internal/acs-ui-common';\n\n/**\n * @private\n */\nexport const themedToggleButtonStyle = (theme: Theme, checked: boolean): Partial<IToggleStyles> => {\n if (checked) {\n return {\n root: {\n margin: 0\n },\n pill: {\n backgroundColor: `${theme.palette.themePrimary} !important`\n },\n thumb: {\n backgroundColor: `${theme.palette.white} !important`\n }\n };\n }\n return {\n root: {\n margin: 0\n }\n };\n};\n\"../../../../../acs-ui-common/src\""]}
@@ -1,11 +1,12 @@
1
1
  /// <reference types="react" />
2
- import { CallWithChatControlOptions } from './CallWithChatComposite';
2
+ import { CommonCallControlOptions } from '../types/CommonCallControlOptions';
3
3
  /** @private */
4
4
  export interface PreparedMoreDrawerProps {
5
5
  onLightDismiss: () => void;
6
6
  onPeopleButtonClicked: () => void;
7
- callControls?: boolean | CallWithChatControlOptions;
7
+ callControls?: boolean | CommonCallControlOptions;
8
8
  onClickShowDialpad?: () => void;
9
+ isCaptionsSupported?: boolean;
9
10
  disableButtonsForHoldScreen?: boolean;
10
11
  }
11
12
  /** @private */