@azure/communication-react 1.29.0-alpha-202507050018 → 1.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1252) hide show
  1. package/dist/communication-react.d.ts +34 -1577
  2. package/dist/dist-cjs/communication-react/index.js +40312 -177
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  6. package/dist/dist-esm/acs-ui-common/src/common.d.ts +0 -13
  7. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/constants.d.ts +0 -5
  10. package/dist/dist-esm/acs-ui-common/src/constants.js +0 -6
  11. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/identifier.js +1 -4
  14. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/index.d.ts +0 -4
  16. package/dist/dist-esm/acs-ui-common/src/index.js +0 -6
  17. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  18. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  19. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  20. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  21. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  22. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  23. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  24. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  25. package/dist/dist-esm/acs-ui-javascript-loaders/src/callCompositeLoader.js.map +1 -1
  26. package/dist/dist-esm/acs-ui-javascript-loaders/src/callWithChatCompositeLoader.js.map +1 -1
  27. package/dist/dist-esm/acs-ui-javascript-loaders/src/chatCompositeLoader.js.map +1 -1
  28. package/dist/dist-esm/acs-ui-javascript-loaders/src/index.js.map +1 -1
  29. package/dist/dist-esm/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.js +7 -6
  30. package/dist/dist-esm/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.js.map +1 -1
  31. package/dist/dist-esm/acs-ui-javascript-loaders/src/utils.js +1 -1
  32. package/dist/dist-esm/acs-ui-javascript-loaders/src/utils.js.map +1 -1
  33. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +0 -3
  34. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +7 -17
  36. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  37. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +14 -37
  38. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
  39. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +53 -21
  40. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  41. package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js.map +1 -1
  43. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +0 -2
  44. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +81 -84
  45. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  46. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +3 -5
  47. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  48. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +5 -1
  49. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  50. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +7 -34
  51. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  52. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  53. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  54. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +1 -1
  55. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +1 -3
  56. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  57. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  58. package/dist/dist-esm/calling-component-bindings/src/incomingCallStackSelector.js +2 -8
  59. package/dist/dist-esm/calling-component-bindings/src/incomingCallStackSelector.js.map +1 -1
  60. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  61. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +59 -35
  62. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
  63. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +0 -1
  64. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +13 -41
  65. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  66. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  67. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  68. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +3 -6
  69. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  70. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  71. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  72. package/dist/dist-esm/calling-component-bindings/src/remoteParticipantsSelector.js.map +1 -1
  73. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js +1 -4
  74. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  75. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +7 -18
  76. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  77. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +9 -11
  78. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  79. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +1 -1
  80. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +13 -23
  81. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  82. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +7 -31
  83. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  84. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  85. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js +8 -12
  86. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js.map +1 -1
  87. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  88. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +71 -66
  89. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  90. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +2 -63
  91. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  92. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +0 -6
  93. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +38 -82
  94. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  95. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +8 -7
  96. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  97. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +111 -102
  98. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/CallFeatureStreamUtils.js +12 -3
  100. package/dist/dist-esm/calling-stateful-client/src/CallFeatureStreamUtils.js.map +1 -1
  101. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  102. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  103. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +0 -4
  104. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +12 -39
  105. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  106. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js +2 -6
  107. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -1
  108. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  109. package/dist/dist-esm/calling-stateful-client/src/Converter.js +24 -14
  110. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  111. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +73 -58
  112. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  113. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +16 -14
  114. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  115. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  116. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +21 -6
  117. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  118. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js.map +1 -1
  119. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  120. package/dist/dist-esm/calling-stateful-client/src/MediaAccessSubscriber.js.map +1 -1
  121. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js +3 -1
  122. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js.map +1 -1
  123. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js.map +1 -1
  124. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  125. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js.map +1 -1
  126. package/dist/dist-esm/calling-stateful-client/src/ReactionSubscriber.js.map +1 -1
  127. package/dist/dist-esm/calling-stateful-client/src/RealTimeTextSubscriber.js.map +1 -1
  128. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.d.ts +0 -1
  129. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +0 -11
  130. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  131. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  132. package/dist/dist-esm/calling-stateful-client/src/SpotlightSubscriber.js.map +1 -1
  133. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +70 -66
  134. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  135. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +21 -23
  136. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  137. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js +11 -8
  138. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js.map +1 -1
  139. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
  140. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +0 -17
  141. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  142. package/dist/dist-esm/calling-stateful-client/src/TeamsIncomingCallDeclarative.js +16 -14
  143. package/dist/dist-esm/calling-stateful-client/src/TeamsIncomingCallDeclarative.js.map +1 -1
  144. package/dist/dist-esm/calling-stateful-client/src/TogetherModeSubscriber.js +4 -10
  145. package/dist/dist-esm/calling-stateful-client/src/TogetherModeSubscriber.js.map +1 -1
  146. package/dist/dist-esm/calling-stateful-client/src/TogetherModeVideoStreamSubscriber.js.map +1 -1
  147. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  148. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  149. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.d.ts +0 -1
  150. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +3 -34
  151. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  152. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js +7 -6
  153. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -1
  154. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +0 -2
  155. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  156. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  157. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +4 -4
  158. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  159. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +2 -2
  160. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  161. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +15 -15
  162. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  163. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +2 -6
  164. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +8 -60
  165. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  166. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  167. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.d.ts +2 -3
  168. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js +0 -6
  169. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  170. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  171. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  172. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +18 -68
  173. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  174. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  175. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  176. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  177. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  178. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +7 -3
  179. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  180. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +1 -3
  181. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  182. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  183. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -10
  184. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  185. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -15
  186. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  187. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +22 -16
  188. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  189. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +12 -11
  190. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  191. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  192. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js +16 -4
  193. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js.map +1 -1
  194. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +67 -57
  195. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  196. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +128 -114
  197. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  198. package/dist/dist-esm/chat-stateful-client/src/constants.js.map +1 -1
  199. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  200. package/dist/dist-esm/chat-stateful-client/src/index.d.ts +0 -1
  201. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  202. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  203. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  204. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  205. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  206. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  207. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  208. package/dist/dist-esm/communication-react/src/api-summary.js.map +1 -1
  209. package/dist/dist-esm/communication-react/src/index.d.ts +0 -27
  210. package/dist/dist-esm/communication-react/src/index.js +0 -12
  211. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  212. package/dist/dist-esm/communication-react/src/javascript-loaders.js.map +1 -1
  213. package/dist/dist-esm/communication-react/src/mergedHooks.d.ts +2 -2
  214. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  215. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js +6 -3
  216. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js.map +1 -1
  217. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.js.map +1 -1
  218. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js.map +1 -1
  219. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js +10 -4
  220. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js.map +1 -1
  221. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js +1 -1
  222. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js.map +1 -1
  223. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js +1 -1
  224. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js.map +1 -1
  225. package/dist/dist-esm/react-components/src/components/Announcer.js +1 -1
  226. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  227. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js +13 -13
  228. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js.map +1 -1
  229. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCardGroup.js +1 -1
  230. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCardGroup.js.map +1 -1
  231. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.d.ts +0 -2
  232. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js +6 -15
  233. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js.map +1 -1
  234. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentUploadCards.js +18 -21
  235. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentUploadCards.js.map +1 -1
  236. package/dist/dist-esm/react-components/src/components/CameraButton.js +20 -13
  237. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  238. package/dist/dist-esm/react-components/src/components/Caption.js +2 -2
  239. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
  240. package/dist/dist-esm/react-components/src/components/CaptionsAndRTTAnnouncer.js +9 -9
  241. package/dist/dist-esm/react-components/src/components/CaptionsAndRTTAnnouncer.js.map +1 -1
  242. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +20 -25
  243. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  244. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js +20 -38
  245. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -1
  246. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +5 -2
  247. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  248. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +22 -38
  249. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  250. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +1 -13
  251. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +24 -30
  252. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  253. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +0 -11
  254. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +27 -63
  255. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  256. package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.js +5 -9
  257. package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.js.map +1 -1
  258. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +1 -8
  259. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +9 -39
  260. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  261. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.d.ts +1 -2
  262. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +12 -47
  263. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
  264. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.d.ts +1 -4
  265. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +25 -59
  266. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
  267. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +1 -22
  268. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +0 -20
  269. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
  270. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +2 -23
  271. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +6 -50
  272. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  273. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +1 -8
  274. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +16 -61
  275. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  276. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +15 -80
  277. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  278. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  279. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  280. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +4 -7
  281. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  282. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +2 -2
  283. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  284. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  285. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  286. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  287. package/dist/dist-esm/react-components/src/components/ControlBar.js +14 -10
  288. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  289. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +4 -14
  290. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  291. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +16 -5
  292. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  293. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js +14 -15
  294. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
  295. package/dist/dist-esm/react-components/src/components/DevicesButton.js +26 -18
  296. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  297. package/dist/dist-esm/react-components/src/components/Dialpad/DTMFToneGenerator.js +48 -12
  298. package/dist/dist-esm/react-components/src/components/Dialpad/DTMFToneGenerator.js.map +1 -1
  299. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +51 -45
  300. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  301. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js +4 -4
  302. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  303. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +6 -2
  304. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  305. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +9 -11
  306. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  307. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +23 -11
  308. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  309. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +4 -6
  310. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  311. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.js +5 -11
  312. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.js.map +1 -1
  313. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  314. package/dist/dist-esm/react-components/src/components/EndCallButton.js +13 -12
  315. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  316. package/dist/dist-esm/react-components/src/components/ErrorBar.js +5 -9
  317. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  318. package/dist/dist-esm/react-components/src/components/ErrorBoundary.js +6 -2
  319. package/dist/dist-esm/react-components/src/components/ErrorBoundary.js.map +1 -1
  320. package/dist/dist-esm/react-components/src/components/GridLayout.js +37 -37
  321. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  322. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +2 -2
  323. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  324. package/dist/dist-esm/react-components/src/components/HoldButton.js +1 -1
  325. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -1
  326. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +9 -7
  327. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  328. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +14 -13
  329. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
  330. package/dist/dist-esm/react-components/src/components/IncomingCallNotification.js +39 -26
  331. package/dist/dist-esm/react-components/src/components/IncomingCallNotification.js.map +1 -1
  332. package/dist/dist-esm/react-components/src/components/IncomingCallStack.js +7 -5
  333. package/dist/dist-esm/react-components/src/components/IncomingCallStack.js.map +1 -1
  334. package/dist/dist-esm/react-components/src/components/InputBoxButton.js +10 -3
  335. package/dist/dist-esm/react-components/src/components/InputBoxButton.js.map +1 -1
  336. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +0 -2
  337. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +7 -23
  338. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  339. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +5 -3
  340. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  341. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +22 -40
  342. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  343. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js +23 -15
  344. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js.map +1 -1
  345. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js +14 -6
  346. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js.map +1 -1
  347. package/dist/dist-esm/react-components/src/components/MessageStatusIcon.js +2 -2
  348. package/dist/dist-esm/react-components/src/components/MessageStatusIcon.js.map +1 -1
  349. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  350. package/dist/dist-esm/react-components/src/components/MessageStatusIndicatorInternal.js +33 -20
  351. package/dist/dist-esm/react-components/src/components/MessageStatusIndicatorInternal.js.map +1 -1
  352. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +5 -81
  353. package/dist/dist-esm/react-components/src/components/MessageThread.js +49 -116
  354. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  355. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +17 -16
  356. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  357. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +102 -95
  358. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  359. package/dist/dist-esm/react-components/src/components/Notification.js +14 -6
  360. package/dist/dist-esm/react-components/src/components/Notification.js.map +1 -1
  361. package/dist/dist-esm/react-components/src/components/NotificationStack.js +9 -12
  362. package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
  363. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +22 -21
  364. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  365. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +0 -15
  366. package/dist/dist-esm/react-components/src/components/ParticipantList.js +47 -63
  367. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  368. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +32 -46
  369. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  370. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  371. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  372. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  373. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  374. package/dist/dist-esm/react-components/src/components/RTTDisclosureBanner.js +4 -2
  375. package/dist/dist-esm/react-components/src/components/RTTDisclosureBanner.js.map +1 -1
  376. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js +14 -6
  377. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js.map +1 -1
  378. package/dist/dist-esm/react-components/src/components/ReactionButton.js +23 -24
  379. package/dist/dist-esm/react-components/src/components/ReactionButton.js.map +1 -1
  380. package/dist/dist-esm/react-components/src/components/RealTimeText.js +2 -2
  381. package/dist/dist-esm/react-components/src/components/RealTimeText.js.map +1 -1
  382. package/dist/dist-esm/react-components/src/components/RealTimeTextModal.js +7 -3
  383. package/dist/dist-esm/react-components/src/components/RealTimeTextModal.js.map +1 -1
  384. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +16 -25
  385. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  386. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +2 -2
  387. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  388. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js +2 -2
  389. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +1 -1
  390. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +14 -6
  391. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  392. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +1 -51
  393. package/dist/dist-esm/react-components/src/components/SendBox.js +12 -105
  394. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  395. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js +4 -2
  396. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -1
  397. package/dist/dist-esm/react-components/src/components/StartRealTimeTextButton.js +1 -1
  398. package/dist/dist-esm/react-components/src/components/StartRealTimeTextButton.js.map +1 -1
  399. package/dist/dist-esm/react-components/src/components/StreamMedia.js +3 -14
  400. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  401. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.js +3 -10
  402. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.js.map +1 -1
  403. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.styles.js.map +1 -1
  404. package/dist/dist-esm/react-components/src/components/Survey/SurveyTypes.js.map +1 -1
  405. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.js +23 -23
  406. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.js.map +1 -1
  407. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.styles.js.map +1 -1
  408. package/dist/dist-esm/react-components/src/components/SystemMessage.js +4 -2
  409. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  410. package/dist/dist-esm/react-components/src/components/TogetherModeOverlay.js +29 -32
  411. package/dist/dist-esm/react-components/src/components/TogetherModeOverlay.js.map +1 -1
  412. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +10 -10
  413. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  414. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +6 -9
  415. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  416. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +1 -3
  417. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  418. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +1 -3
  419. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  420. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +0 -20
  421. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  422. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +1 -3
  423. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  424. package/dist/dist-esm/react-components/src/components/VerticalGallery.js +39 -19
  425. package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
  426. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js +1 -3
  427. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js.map +1 -1
  428. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +13 -9
  429. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  430. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js +22 -8
  431. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
  432. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +2 -6
  433. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -1
  434. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +8 -19
  435. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  436. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +13 -15
  437. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  438. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +17 -41
  439. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  440. package/dist/dist-esm/react-components/src/components/VideoGallery/FocusContentLayout.js +2 -2
  441. package/dist/dist-esm/react-components/src/components/VideoGallery/FocusContentLayout.js.map +1 -1
  442. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  443. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +8 -8
  444. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  445. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +4 -6
  446. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
  447. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js +11 -17
  448. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js.map +1 -1
  449. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js +24 -29
  450. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js.map +1 -1
  451. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +6 -8
  452. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  453. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +4 -2
  454. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -1
  455. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js +10 -34
  456. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -1
  457. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeLayout.js.map +1 -1
  458. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeStream.js +3 -7
  459. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeStream.js.map +1 -1
  460. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js +6 -1
  461. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js.map +1 -1
  462. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +34 -9
  463. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  464. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js +11 -2
  465. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js.map +1 -1
  466. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js.map +1 -1
  467. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +1 -1
  468. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js +5 -1
  469. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  470. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteVideoTile.styles.js.map +1 -1
  471. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +3 -1
  472. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -1
  473. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +11 -10
  474. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
  475. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js +28 -22
  476. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -1
  477. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +5 -12
  478. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  479. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +73 -57
  480. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  481. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js.map +1 -1
  482. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/reactionUtils.js.map +1 -1
  483. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +31 -39
  484. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  485. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +1 -1
  486. package/dist/dist-esm/react-components/src/components/VideoGallery.js +29 -144
  487. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  488. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +0 -2
  489. package/dist/dist-esm/react-components/src/components/VideoTile.js +77 -60
  490. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  491. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js +2 -2
  492. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js.map +1 -1
  493. package/dist/dist-esm/react-components/src/components/index.d.ts +0 -21
  494. package/dist/dist-esm/react-components/src/components/index.js +0 -15
  495. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  496. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.d.ts +1 -1
  497. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js.map +1 -1
  498. package/dist/dist-esm/react-components/src/components/styles/AttachmentCardGroup.styles.d.ts +1 -1
  499. package/dist/dist-esm/react-components/src/components/styles/AttachmentCardGroup.styles.js.map +1 -1
  500. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js +9 -5
  501. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  502. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -1
  503. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +10 -3
  504. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  505. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -1
  506. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  507. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  508. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  509. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  510. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  511. package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.js +5 -2
  512. package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.js.map +1 -1
  513. package/dist/dist-esm/react-components/src/components/styles/InputBoxButton.style.js.map +1 -1
  514. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +5 -2
  515. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  516. package/dist/dist-esm/react-components/src/components/styles/MessageBarLink.styles.js.map +1 -1
  517. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  518. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +3 -3
  519. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +10 -13
  520. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  521. package/dist/dist-esm/react-components/src/components/styles/Notification.styles.js.map +1 -1
  522. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +4 -6
  523. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  524. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  525. package/dist/dist-esm/react-components/src/components/styles/RTTDisclosureBanner.styles.js.map +1 -1
  526. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js +3 -1
  527. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js.map +1 -1
  528. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js +2 -2
  529. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js.map +1 -1
  530. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +10 -2
  531. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  532. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +6 -3
  533. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  534. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  535. package/dist/dist-esm/react-components/src/components/styles/TeamsMeetingConferenceInfo.js.map +1 -1
  536. package/dist/dist-esm/react-components/src/components/styles/TogetherMode.styles.js +6 -9
  537. package/dist/dist-esm/react-components/src/components/styles/TogetherMode.styles.js.map +1 -1
  538. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +2 -1
  539. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  540. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  541. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js +2 -1
  542. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js.map +1 -1
  543. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +19 -5
  544. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  545. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +1 -1
  546. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  547. package/dist/dist-esm/react-components/src/components/styles/v8StyleShim.js.map +1 -1
  548. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +1 -38
  549. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +6 -46
  550. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  551. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +2 -4
  552. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +6 -29
  553. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  554. package/dist/dist-esm/react-components/src/components/utils/Datetime.js +4 -1
  555. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  556. package/dist/dist-esm/react-components/src/components/utils/Logger.js.map +1 -1
  557. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +1 -47
  558. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +5 -169
  559. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  560. package/dist/dist-esm/react-components/src/components/utils/common.js +0 -4
  561. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  562. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  563. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  564. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +1 -2
  565. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +5 -2
  566. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  567. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  568. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js.map +1 -1
  569. package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
  570. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  571. package/dist/dist-esm/react-components/src/components/utils/sortCaptionsAndRealTimeTexts.js +3 -10
  572. package/dist/dist-esm/react-components/src/components/utils/sortCaptionsAndRealTimeTexts.js.map +1 -1
  573. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js +1 -10
  574. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  575. package/dist/dist-esm/react-components/src/components/utils.js +27 -33
  576. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  577. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +6 -8
  578. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  579. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  580. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +0 -4
  581. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +1 -5
  582. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  583. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  584. package/dist/dist-esm/react-components/src/index.d.ts +0 -1
  585. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  586. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +0 -54
  587. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  588. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  589. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/ComponentLocale.js.map +1 -1
  590. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +5 -0
  591. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/ComponentLocale.js.map +1 -1
  592. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +5 -0
  593. package/dist/dist-esm/react-components/src/localization/locales/cy-GB/ComponentLocale.js.map +1 -1
  594. package/dist/dist-esm/react-components/src/localization/locales/cy-GB/strings.json +5 -0
  595. package/dist/dist-esm/react-components/src/localization/locales/de-DE/ComponentLocale.js.map +1 -1
  596. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +5 -0
  597. package/dist/dist-esm/react-components/src/localization/locales/en-GB/ComponentLocale.js.map +1 -1
  598. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +5 -0
  599. package/dist/dist-esm/react-components/src/localization/locales/es-ES/ComponentLocale.js.map +1 -1
  600. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +5 -0
  601. package/dist/dist-esm/react-components/src/localization/locales/es-MX/ComponentLocale.js.map +1 -1
  602. package/dist/dist-esm/react-components/src/localization/locales/es-MX/strings.json +5 -0
  603. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/ComponentLocale.js.map +1 -1
  604. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +5 -0
  605. package/dist/dist-esm/react-components/src/localization/locales/fr-CA/ComponentLocale.js.map +1 -1
  606. package/dist/dist-esm/react-components/src/localization/locales/fr-CA/strings.json +5 -0
  607. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/ComponentLocale.js.map +1 -1
  608. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +5 -0
  609. package/dist/dist-esm/react-components/src/localization/locales/he-IL/ComponentLocale.js.map +1 -1
  610. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +5 -0
  611. package/dist/dist-esm/react-components/src/localization/locales/index.js +3 -1
  612. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  613. package/dist/dist-esm/react-components/src/localization/locales/it-IT/ComponentLocale.js.map +1 -1
  614. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +5 -0
  615. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/ComponentLocale.js.map +1 -1
  616. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +5 -0
  617. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/ComponentLocale.js.map +1 -1
  618. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +5 -0
  619. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/ComponentLocale.js.map +1 -1
  620. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +5 -0
  621. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/ComponentLocale.js.map +1 -1
  622. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +5 -0
  623. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/ComponentLocale.js.map +1 -1
  624. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +5 -0
  625. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/ComponentLocale.js.map +1 -1
  626. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +5 -0
  627. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/ComponentLocale.js.map +1 -1
  628. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +5 -0
  629. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/ComponentLocale.js.map +1 -1
  630. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +5 -0
  631. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/ComponentLocale.js.map +1 -1
  632. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +5 -0
  633. package/dist/dist-esm/react-components/src/localization/locales/utils.js +1 -1
  634. package/dist/dist-esm/react-components/src/localization/locales/utils.js.map +1 -1
  635. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/ComponentLocale.js.map +1 -1
  636. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +5 -0
  637. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/ComponentLocale.js.map +1 -1
  638. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +5 -0
  639. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +5 -3
  640. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  641. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js +2 -2
  642. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js.map +1 -1
  643. package/dist/dist-esm/react-components/src/theming/generateTheme.js +1 -15
  644. package/dist/dist-esm/react-components/src/theming/generateTheme.js.map +1 -1
  645. package/dist/dist-esm/react-components/src/theming/icons.d.ts +0 -25
  646. package/dist/dist-esm/react-components/src/theming/icons.js +14 -128
  647. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  648. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  649. package/dist/dist-esm/react-components/src/theming/themeDuplicates.js.map +1 -1
  650. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  651. package/dist/dist-esm/react-components/src/theming/themes.d.ts +0 -6
  652. package/dist/dist-esm/react-components/src/theming/themes.js +0 -10
  653. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  654. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js +7 -1
  655. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js.map +1 -1
  656. package/dist/dist-esm/react-components/src/types/Attachment.d.ts +0 -13
  657. package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
  658. package/dist/dist-esm/react-components/src/types/CallSurveyImprovementSuggestions.js.map +1 -1
  659. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js.map +1 -1
  660. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -20
  661. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  662. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  663. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.js.map +1 -1
  664. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  665. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  666. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  667. package/dist/dist-esm/react-components/src/types/ReactionTypes.js.map +1 -1
  668. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  669. package/dist/dist-esm/react-components/src/types/SurveyIssues.js.map +1 -1
  670. package/dist/dist-esm/react-components/src/types/SurveyIssuesHeadingStrings.js.map +1 -1
  671. package/dist/dist-esm/react-components/src/types/TogetherModeTypes.js.map +1 -1
  672. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +0 -2
  673. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  674. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  675. package/dist/dist-esm/react-composites/src/Logger.js.map +1 -1
  676. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +0 -72
  677. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +52 -84
  678. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  679. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  680. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +6 -39
  681. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +61 -147
  682. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  683. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +1 -6
  684. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -7
  685. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  686. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  687. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js +2 -4
  688. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js.map +1 -1
  689. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  690. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js +3 -1
  691. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -1
  692. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  693. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +2 -2
  694. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  695. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +0 -2
  696. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  697. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js +3 -3
  698. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js.map +1 -1
  699. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js +11 -11
  700. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js.map +1 -1
  701. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +41 -82
  702. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  703. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +60 -36
  704. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  705. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js +18 -10
  706. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js.map +1 -1
  707. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +0 -2
  708. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +0 -21
  709. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  710. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +4 -22
  711. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  712. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +0 -2
  713. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +0 -21
  714. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  715. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +4 -4
  716. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  717. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +4 -4
  718. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -1
  719. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +4 -4
  720. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  721. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +23 -34
  722. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  723. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +0 -1
  724. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +24 -42
  725. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  726. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +30 -26
  727. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  728. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +41 -69
  729. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  730. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  731. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  732. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +12 -12
  733. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  734. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js +32 -10
  735. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js.map +1 -1
  736. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +11 -29
  737. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
  738. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.js.map +1 -1
  739. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js +1 -1
  740. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js.map +1 -1
  741. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +139 -166
  742. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  743. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +4 -4
  744. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -1
  745. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  746. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  747. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js +5 -3
  748. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js.map +1 -1
  749. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +1 -3
  750. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  751. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +7 -10
  752. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  753. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +14 -26
  754. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  755. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +1 -3
  756. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  757. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +2 -5
  758. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  759. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +1 -1
  760. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -1
  761. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js +1 -1
  762. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js.map +1 -1
  763. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.js +1 -1
  764. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.js.map +1 -1
  765. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +1 -1
  766. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  767. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +12 -4
  768. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  769. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js +1 -3
  770. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js.map +1 -1
  771. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +36 -66
  772. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  773. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  774. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  775. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  776. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +0 -3
  777. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  778. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +30 -18
  779. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  780. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +0 -7
  781. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +16 -119
  782. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  783. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js +13 -5
  784. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js.map +1 -1
  785. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +7 -15
  786. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  787. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +8 -18
  788. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  789. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +3 -3
  790. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  791. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/SurveyPage.js +2 -2
  792. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/SurveyPage.js.map +1 -1
  793. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ThankYouForFeedbackPage.js +2 -2
  794. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ThankYouForFeedbackPage.js.map +1 -1
  795. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +22 -21
  796. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  797. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  798. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  799. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  800. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js +1 -2
  801. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +1 -1
  802. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  803. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  804. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  805. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.d.ts +1 -1
  806. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js +4 -1
  807. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js.map +1 -1
  808. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.d.ts +1 -1
  809. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.js +1 -1
  810. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.js.map +1 -1
  811. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  812. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  813. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.d.ts +1 -1
  814. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.js.map +1 -1
  815. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  816. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  817. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  818. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +1 -1
  819. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +1 -3
  820. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  821. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.d.ts +1 -1
  822. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.js +4 -10
  823. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.js.map +1 -1
  824. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +4 -4
  825. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +1 -1
  826. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  827. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +10 -10
  828. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +2 -10
  829. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  830. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  831. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -4
  832. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  833. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  834. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  835. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  836. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +5 -5
  837. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +4 -4
  838. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  839. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  840. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  841. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  842. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +5 -5
  843. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  844. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  845. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  846. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +6 -2
  847. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  848. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +31 -43
  849. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  850. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  851. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +2 -1
  852. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  853. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/DtmfDialpadPage.styles.js.map +1 -1
  854. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +5 -2
  855. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  856. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -1
  857. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +9 -2
  858. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  859. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  860. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +11 -13
  861. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  862. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  863. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  864. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +2 -1
  865. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  866. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js +24 -6
  867. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js.map +1 -1
  868. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  869. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CapabilityChangedNotificationTracking.js.map +1 -1
  870. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  871. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +12 -10
  872. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  873. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js +7 -19
  874. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js.map +1 -1
  875. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js +2 -4
  876. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  877. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +1 -12
  878. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +22 -115
  879. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  880. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  881. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js +5 -15
  882. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js.map +1 -1
  883. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.js +2 -2
  884. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.js.map +1 -1
  885. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/useConsoleErrors.js.map +1 -1
  886. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +0 -65
  887. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +22 -91
  888. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  889. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js +1 -1
  890. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js.map +1 -1
  891. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js +7 -9
  892. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  893. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js +9 -6
  894. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js.map +1 -1
  895. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js +2 -2
  896. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js.map +1 -1
  897. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  898. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +3 -11
  899. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +37 -99
  900. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  901. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +3 -22
  902. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  903. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +0 -1
  904. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +0 -4
  905. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  906. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +4 -10
  907. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +2 -20
  908. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  909. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  910. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  911. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +1 -1
  912. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  913. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +0 -8
  914. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  915. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  916. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +0 -27
  917. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +2 -10
  918. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  919. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +5 -3
  920. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  921. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts +0 -2
  922. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +27 -298
  923. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  924. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +0 -20
  925. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  926. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -6
  927. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +35 -83
  928. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  929. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -12
  930. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  931. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  932. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/OnFetchProfileCallback.js +11 -28
  933. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/OnFetchProfileCallback.js.map +1 -1
  934. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +3 -1
  935. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  936. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +3 -27
  937. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  938. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  939. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +1 -1
  940. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -1
  941. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +0 -2
  942. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  943. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +0 -4
  944. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +0 -6
  945. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -1
  946. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +6 -2
  947. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  948. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +17 -9
  949. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  950. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +25 -24
  951. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  952. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -1
  953. package/dist/dist-esm/react-composites/src/composites/common/AudioProvider.js.map +1 -1
  954. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +3 -7
  955. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  956. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +14 -5
  957. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  958. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsBanner.js +14 -12
  959. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsBanner.js.map +1 -1
  960. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsSettingsModal.js +1 -1
  961. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsSettingsModal.js.map +1 -1
  962. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +23 -9
  963. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  964. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -1
  965. package/dist/dist-esm/react-composites/src/composites/common/CallingRealTimeTextModal.js +1 -1
  966. package/dist/dist-esm/react-composites/src/composites/common/CallingRealTimeTextModal.js.map +1 -1
  967. package/dist/dist-esm/react-composites/src/composites/common/CalloutWithIcon.js +5 -3
  968. package/dist/dist-esm/react-composites/src/composites/common/CalloutWithIcon.js.map +1 -1
  969. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js +15 -7
  970. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -1
  971. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +5 -1
  972. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  973. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +48 -71
  974. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  975. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js +37 -39
  976. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  977. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +91 -113
  978. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  979. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js +1 -1
  980. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js.map +1 -1
  981. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js +1 -1
  982. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -1
  983. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js +4 -2
  984. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js.map +1 -1
  985. package/dist/dist-esm/react-composites/src/composites/common/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  986. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.js +7 -5
  987. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.js.map +1 -1
  988. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +147 -111
  989. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  990. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +1 -1
  991. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js +1 -1
  992. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  993. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.js +7 -5
  994. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.js.map +1 -1
  995. package/dist/dist-esm/react-composites/src/composites/common/Drawer/captionSettingsDrawer.styles.js.map +1 -1
  996. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.js +1 -1
  997. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.js.map +1 -1
  998. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js +9 -11
  999. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js.map +1 -1
  1000. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +12 -23
  1001. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  1002. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  1003. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  1004. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +16 -16
  1005. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  1006. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +10 -14
  1007. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  1008. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +2 -48
  1009. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +0 -39
  1010. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
  1011. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +16 -8
  1012. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  1013. package/dist/dist-esm/react-composites/src/composites/common/StarSurvey.js.map +1 -1
  1014. package/dist/dist-esm/react-composites/src/composites/common/Survey.js +34 -19
  1015. package/dist/dist-esm/react-composites/src/composites/common/Survey.js.map +1 -1
  1016. package/dist/dist-esm/react-composites/src/composites/common/SurveyContent.js +2 -2
  1017. package/dist/dist-esm/react-composites/src/composites/common/SurveyContent.js.map +1 -1
  1018. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +8 -11
  1019. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  1020. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js +1 -1
  1021. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js.map +1 -1
  1022. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +13 -18
  1023. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
  1024. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  1025. package/dist/dist-esm/react-composites/src/composites/common/constants.d.ts +0 -5
  1026. package/dist/dist-esm/react-composites/src/composites/common/constants.js +0 -6
  1027. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  1028. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +2 -34
  1029. package/dist/dist-esm/react-composites/src/composites/common/icons.js +3 -7
  1030. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  1031. package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependency.js +3 -1
  1032. package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependency.js.map +1 -1
  1033. package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependencyLazy.js +3 -1
  1034. package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependencyLazy.js.map +1 -1
  1035. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.js.map +1 -1
  1036. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.js.map +1 -1
  1037. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.js.map +1 -1
  1038. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  1039. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +10 -4
  1040. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  1041. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +44 -11
  1042. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  1043. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +29 -6
  1044. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  1045. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +22 -4
  1046. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  1047. package/dist/dist-esm/react-composites/src/composites/common/styles/Survey.styles.js +13 -15
  1048. package/dist/dist-esm/react-composites/src/composites/common/styles/Survey.styles.js.map +1 -1
  1049. package/dist/dist-esm/react-composites/src/composites/common/styles/TeamsMeetingConferenceInfo.style.js.map +1 -1
  1050. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  1051. package/dist/dist-esm/react-composites/src/composites/common/utils.js +14 -19
  1052. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  1053. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  1054. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  1055. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  1056. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  1057. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/CompositeLocale.js.map +1 -1
  1058. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/CompositeLocale.js.map +1 -1
  1059. package/dist/dist-esm/react-composites/src/composites/localization/locales/cy-GB/CompositeLocale.js.map +1 -1
  1060. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/CompositeLocale.js.map +1 -1
  1061. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/CompositeLocale.js.map +1 -1
  1062. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/CompositeLocale.js.map +1 -1
  1063. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-MX/CompositeLocale.js.map +1 -1
  1064. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/CompositeLocale.js.map +1 -1
  1065. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-CA/CompositeLocale.js.map +1 -1
  1066. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/CompositeLocale.js.map +1 -1
  1067. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/CompositeLocale.js.map +1 -1
  1068. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  1069. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/CompositeLocale.js.map +1 -1
  1070. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/CompositeLocale.js.map +1 -1
  1071. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/CompositeLocale.js.map +1 -1
  1072. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/CompositeLocale.js.map +1 -1
  1073. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/CompositeLocale.js.map +1 -1
  1074. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/CompositeLocale.js.map +1 -1
  1075. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/CompositeLocale.js.map +1 -1
  1076. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/CompositeLocale.js.map +1 -1
  1077. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/CompositeLocale.js.map +1 -1
  1078. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/CompositeLocale.js.map +1 -1
  1079. package/dist/dist-esm/react-composites/src/composites/localization/locales/utils.js +1 -1
  1080. package/dist/dist-esm/react-composites/src/composites/localization/locales/utils.js.map +1 -1
  1081. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/CompositeLocale.js.map +1 -1
  1082. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/CompositeLocale.js.map +1 -1
  1083. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  1084. package/package.json +4 -4
  1085. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-DQ9dQv8d.js +0 -290
  1086. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-DQ9dQv8d.js.map +0 -1
  1087. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-D9ul0DM3.js +0 -51
  1088. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-D9ul0DM3.js.map +0 -1
  1089. package/dist/dist-cjs/communication-react/index-yOQjorwU.js +0 -47844
  1090. package/dist/dist-cjs/communication-react/index-yOQjorwU.js.map +0 -1
  1091. package/dist/dist-esm/acs-ui-common/src/dataConversion.d.ts +0 -6
  1092. package/dist/dist-esm/acs-ui-common/src/dataConversion.js +0 -21
  1093. package/dist/dist-esm/acs-ui-common/src/dataConversion.js.map +0 -1
  1094. package/dist/dist-esm/acs-ui-common/src/removeImageTags.d.ts +0 -7
  1095. package/dist/dist-esm/acs-ui-common/src/removeImageTags.js +0 -18
  1096. package/dist/dist-esm/acs-ui-common/src/removeImageTags.js.map +0 -1
  1097. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.d.ts +0 -17
  1098. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +0 -36
  1099. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +0 -1
  1100. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.d.ts +0 -6
  1101. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js +0 -23
  1102. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js.map +0 -1
  1103. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +0 -10
  1104. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +0 -15
  1105. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +0 -1
  1106. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +0 -24
  1107. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +0 -288
  1108. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +0 -1
  1109. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +0 -69
  1110. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +0 -37
  1111. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +0 -1
  1112. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +0 -75
  1113. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +0 -58
  1114. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +0 -1
  1115. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +0 -105
  1116. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +0 -86
  1117. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +0 -1
  1118. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +0 -86
  1119. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +0 -32
  1120. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +0 -1
  1121. package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +0 -121
  1122. package/dist/dist-esm/react-components/src/components/MentionPopover.js +0 -126
  1123. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +0 -1
  1124. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.d.ts +0 -9
  1125. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js +0 -29
  1126. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js.map +0 -1
  1127. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.d.ts +0 -30
  1128. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +0 -112
  1129. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +0 -1
  1130. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.d.ts +0 -19
  1131. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js +0 -41
  1132. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js.map +0 -1
  1133. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.d.ts +0 -15
  1134. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js +0 -42
  1135. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js.map +0 -1
  1136. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.d.ts +0 -24
  1137. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js +0 -66
  1138. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js.map +0 -1
  1139. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.d.ts +0 -20
  1140. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js +0 -45
  1141. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js.map +0 -1
  1142. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.d.ts +0 -14
  1143. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js +0 -56
  1144. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js.map +0 -1
  1145. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.d.ts +0 -30
  1146. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js +0 -96
  1147. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js.map +0 -1
  1148. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.d.ts +0 -59
  1149. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +0 -380
  1150. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +0 -1
  1151. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +0 -37
  1152. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +0 -100
  1153. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +0 -1
  1154. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +0 -215
  1155. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +0 -294
  1156. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +0 -1
  1157. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.d.ts +0 -16
  1158. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +0 -77
  1159. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +0 -1
  1160. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxUtils.d.ts +0 -9
  1161. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxUtils.js +0 -18
  1162. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxUtils.js.map +0 -1
  1163. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.d.ts +0 -19
  1164. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js +0 -240
  1165. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js.map +0 -1
  1166. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.d.ts +0 -7
  1167. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js +0 -49
  1168. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js.map +0 -1
  1169. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.d.ts +0 -15
  1170. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js +0 -67
  1171. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js.map +0 -1
  1172. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.d.ts +0 -6
  1173. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js +0 -13
  1174. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js.map +0 -1
  1175. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.d.ts +0 -56
  1176. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +0 -91
  1177. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +0 -1
  1178. package/dist/dist-esm/react-components/src/components/SendBoxErrors.d.ts +0 -14
  1179. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +0 -20
  1180. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +0 -1
  1181. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +0 -24
  1182. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +0 -595
  1183. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +0 -1
  1184. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +0 -152
  1185. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +0 -821
  1186. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +0 -1
  1187. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.d.ts +0 -17
  1188. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js +0 -99
  1189. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js.map +0 -1
  1190. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +0 -58
  1191. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +0 -144
  1192. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +0 -1
  1193. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +0 -26
  1194. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +0 -69
  1195. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +0 -1
  1196. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.d.ts +0 -82
  1197. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +0 -303
  1198. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +0 -1
  1199. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.d.ts +0 -21
  1200. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js +0 -34
  1201. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js.map +0 -1
  1202. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +0 -38
  1203. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +0 -99
  1204. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +0 -1
  1205. package/dist/dist-esm/react-components/src/components/styles/Stack.style.d.ts +0 -5
  1206. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js +0 -32
  1207. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +0 -1
  1208. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +0 -26
  1209. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +0 -69
  1210. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +0 -1
  1211. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.d.ts +0 -73
  1212. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +0 -186
  1213. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +0 -1
  1214. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.d.ts +0 -33
  1215. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js +0 -127
  1216. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js.map +0 -1
  1217. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +0 -7
  1218. package/dist/dist-esm/react-components/src/components/utils/merge.js +0 -16
  1219. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +0 -1
  1220. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +0 -6
  1221. package/dist/dist-esm/react-components/src/theming/icons.styles.js +0 -25
  1222. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +0 -1
  1223. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +0 -49
  1224. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +0 -220
  1225. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +0 -1
  1226. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +0 -15
  1227. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +0 -54
  1228. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +0 -1
  1229. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.d.ts +0 -15
  1230. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js +0 -21
  1231. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js.map +0 -1
  1232. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +0 -18
  1233. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +0 -18
  1234. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +0 -1
  1235. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.d.ts +0 -49
  1236. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js +0 -48
  1237. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js.map +0 -1
  1238. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.d.ts +0 -39
  1239. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js +0 -275
  1240. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js.map +0 -1
  1241. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.d.ts +0 -80
  1242. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js +0 -41
  1243. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +0 -1
  1244. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.d.ts +0 -38
  1245. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +0 -80
  1246. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +0 -1
  1247. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +0 -5
  1248. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js +0 -5
  1249. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +0 -1
  1250. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.d.ts +0 -10
  1251. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js +0 -20
  1252. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CameraButton.js","sourceRoot":"","sources":["../../../../../../react-components/src/components/CameraButton.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { useCallback, useState, useMemo } from 'react';\nimport { useLocale } from '../localization';\nimport { VideoStreamOptions } from '../types';\nimport { ControlBarButton, ControlBarButtonProps } from './ControlBarButton';\nimport { _HighContrastAwareIcon } from './HighContrastAwareIcon';\n\nimport {\n ContextualMenuItemType,\n IButtonProps,\n IContextualMenuItem,\n IContextualMenuItemStyles,\n IContextualMenuStyles\n} from '@fluentui/react';\nimport { ControlBarButtonStyles } from './ControlBarButton';\nimport { OptionsDevice, generateDefaultDeviceMenuProps } from './DevicesButton';\nimport { Announcer } from './Announcer';\n\nconst defaultLocalVideoViewOptions = {\n scalingMode: 'Crop',\n isMirrored: true\n} as VideoStreamOptions;\n\n/**\n * Strings of CameraButton that can be overridden.\n *\n * @public\n */\nexport interface CameraButtonStrings {\n /** Label when button is on. */\n onLabel: string;\n /** Label when button is off. */\n offLabel: string;\n /** Tooltip content when the button is disabled. */\n tooltipDisabledContent?: string;\n /** Tooltip content when the button is on. */\n tooltipOnContent?: string;\n /** Tooltip content when the button is off. */\n tooltipOffContent?: string;\n /** Tooltip content when the button is disabled due to video loading. */\n tooltipVideoLoadingContent?: string;\n /**\n * Title of camera menu\n */\n cameraMenuTitle: string;\n /**\n * Tooltip of camera menu\n */\n cameraMenuTooltip: string;\n /**\n * description of camera button split button role\n */\n cameraButtonSplitRoleDescription?: string;\n /**\n * Camera split button aria label for when button is enabled.\n */\n onSplitButtonAriaLabel?: string;\n /**\n * Camera split button aria label for when button is disabled.\n */\n offSplitButtonAriaLabel?: string;\n /**\n * Camera action turned on string for announcer\n */\n cameraActionTurnedOnAnnouncement?: string;\n /**\n * Camera action turned off string for announcer\n */\n cameraActionTurnedOffAnnouncement?: string;\n /**\n * Primary action for when the camera is turned off\n */\n offSplitButtonPrimaryActionCamera?: string;\n /**\n * Primary action for when the camera is on\n */\n onSplitButtonPrimaryActionCamera?: string;\n /**\n * Title for primary action section of split button\n */\n cameraPrimaryActionSplitButtonTitle?: string;\n /**\n * Title for video effects menu item\n */\n videoEffectsMenuItemTitle?: string;\n /**\n * Aria description for camera button\n */\n cameraButtonAriaDescription?: string;\n}\n\n/**\n * Styles for {@link CameraButton}\n *\n * @public\n */\nexport interface CameraButtonStyles extends ControlBarButtonStyles {\n /**\n * Styles for the {@link CameraButton} menu.\n */\n menuStyles?: Partial<CameraButtonContextualMenuStyles>;\n}\n\n/**\n * Styles for the {@link CameraButton} menu.\n *\n * @public\n */\nexport interface CameraButtonContextualMenuStyles extends IContextualMenuStyles {\n /**\n * Styles for the items inside the {@link CameraButton} button menu.\n */\n menuItemStyles?: IContextualMenuItemStyles;\n}\n/**\n * Props for {@link CameraButton} component.\n *\n * @public\n */\nexport interface CameraButtonProps extends ControlBarButtonProps {\n /**\n * Utility property for using this component with `communication react eventHandlers`.\n * Maps directly to the `onClick` property.\n */\n onToggleCamera?: (options?: VideoStreamOptions) => Promise<void>;\n\n /**\n * Options for rendering local video view.\n */\n localVideoViewOptions?: VideoStreamOptions;\n /**\n * Available cameras for selection\n */\n cameras?: OptionsDevice[];\n /**\n * Camera that is shown as currently selected\n */\n selectedCamera?: OptionsDevice;\n /**\n * Callback when a camera is selected\n */\n onSelectCamera?: (device: OptionsDevice) => Promise<void>;\n /**\n * Whether to use a {@link SplitButton} with a {@link IContextualMenu} for device selection.\n *\n * default: false\n */\n enableDeviceSelectionMenu?: boolean;\n /**\n * Optional strings to override in component\n */\n strings?: Partial<CameraButtonStrings>;\n /**\n * Styles for {@link CameraButton} and the device selection flyout.\n */\n styles?: Partial<CameraButtonStyles>;\n\n /**\n * Callback when a effects is clicked\n */\n onClickVideoEffects?: (showVideoEffects: boolean) => void;\n}\n\n/**\n * A button to turn camera on / off.\n *\n * Can be used with {@link ControlBar}.\n *\n * @public\n */\nexport const CameraButton = (props: CameraButtonProps): JSX.Element => {\n const { localVideoViewOptions, onToggleCamera, onSelectCamera } = props;\n const [waitForCamera, setWaitForCamera] = useState(false);\n const localeStrings = useLocale().strings.cameraButton;\n const strings = { ...localeStrings, ...props.strings };\n const [announcerString, setAnnouncerString] = useState<string | undefined>(undefined);\n const [announcerPresent, setAnnouncerPresent] = useState<boolean>(false);\n\n const disabled = props.disabled || waitForCamera;\n\n const onRenderCameraOnIcon = (): JSX.Element => (\n <_HighContrastAwareIcon disabled={disabled} iconName=\"ControlButtonCameraOn\" />\n );\n const onRenderCameraOffIcon = (): JSX.Element => (\n <_HighContrastAwareIcon disabled={disabled} iconName=\"ControlButtonCameraOff\" />\n );\n if (waitForCamera && strings.tooltipVideoLoadingContent) {\n strings.tooltipDisabledContent = strings.tooltipVideoLoadingContent;\n }\n\n const cameraOn = props.checked;\n const cameraTurningOn = waitForCamera && !cameraOn;\n // Ensure Aria-label by default reflects the loading state of the camera\n const ariaLabel = props.ariaLabel ?? cameraTurningOn ? strings.tooltipVideoLoadingContent : undefined;\n\n const splitButtonAriaString = cameraTurningOn\n ? strings.tooltipVideoLoadingContent\n : cameraOn\n ? strings.onSplitButtonAriaLabel\n : strings.offSplitButtonAriaLabel;\n\n const toggleAnnouncerString = useCallback(\n (isCameraOn: boolean) => {\n setAnnouncerString(\n !isCameraOn ? strings.cameraActionTurnedOffAnnouncement : strings.cameraActionTurnedOnAnnouncement\n );\n },\n [strings.cameraActionTurnedOffAnnouncement, strings.cameraActionTurnedOnAnnouncement]\n );\n\n const onVideoIsLoadingAnnouncementCallback = useCallback(() => {\n if (!cameraOn) {\n setAnnouncerString(strings.tooltipVideoLoadingContent);\n }\n }, [setAnnouncerString, cameraOn, strings.tooltipVideoLoadingContent]);\n\n const onToggleClick = useCallback(async () => {\n // Throttle click on camera, need to await onToggleCamera then allow another click\n if (onToggleCamera) {\n setWaitForCamera(true);\n try {\n await onToggleCamera(localVideoViewOptions ?? defaultLocalVideoViewOptions);\n // allows for the setting of narrator strings triggering the announcer when camera is turned on or off.\n toggleAnnouncerString(!cameraOn);\n } finally {\n setWaitForCamera(false);\n }\n }\n }, [cameraOn, localVideoViewOptions, onToggleCamera, toggleAnnouncerString]);\n\n const onToggleClickCallback = useCallback(() => {\n onVideoIsLoadingAnnouncementCallback();\n onToggleClick();\n }, [onVideoIsLoadingAnnouncementCallback, onToggleClick]);\n\n const onChangeCameraClick = useCallback(\n async (device: OptionsDevice) => {\n // Throttle changing camera to prevent too many callbacks\n if (onSelectCamera) {\n setWaitForCamera(true);\n try {\n await onSelectCamera(device);\n } finally {\n setWaitForCamera(false);\n }\n }\n },\n [onSelectCamera]\n );\n\n const splitButtonMenuItems: IContextualMenuItem[] = [];\n\n if (props.onClickVideoEffects) {\n splitButtonMenuItems.push({\n key: 'effects',\n 'data-ui-id': 'camera-split-button-video-effects',\n text: strings.videoEffectsMenuItemTitle,\n iconProps: { iconName: 'ControlButtonVideoEffectsOption', styles: { root: { lineHeight: 0 } } },\n onClick: () => {\n if (props.onClickVideoEffects) {\n props.onClickVideoEffects(true);\n }\n }\n });\n }\n\n splitButtonMenuItems.push({\n key: 'cameraPrimaryAction',\n text: props.checked ? strings.onSplitButtonPrimaryActionCamera : strings.offSplitButtonPrimaryActionCamera,\n onClick: () => {\n onToggleClick();\n },\n iconProps: {\n iconName: props.checked ? 'SplitButtonPrimaryActionCameraOn' : 'SplitButtonPrimaryActionCameraOff',\n styles: { root: { lineHeight: 0 } }\n }\n });\n\n const splitButtonPrimaryAction: IContextualMenuItem = {\n key: 'primaryAction',\n title: 'toggle camera',\n itemType: ContextualMenuItemType.Section,\n sectionProps: {\n topDivider: true,\n items: splitButtonMenuItems\n }\n };\n\n const splitButtonMenuProps: IButtonProps = useMemo(\n () => ({\n ...props.splitButtonMenuProps,\n className: 'camera-split-button'\n }),\n [props.splitButtonMenuProps]\n );\n\n return (\n <>\n {announcerPresent && <Announcer announcementString={announcerString} ariaLive={'polite'} />}\n <ControlBarButton\n {...props}\n disabled={disabled}\n onClick={onToggleCamera ? onToggleClickCallback : props.onClick}\n onRenderOnIcon={props.onRenderOnIcon ?? onRenderCameraOnIcon}\n onRenderOffIcon={props.onRenderOffIcon ?? onRenderCameraOffIcon}\n strings={strings}\n labelKey={props.labelKey ?? 'cameraButtonLabel'}\n menuProps={\n props.menuProps ??\n (props.enableDeviceSelectionMenu\n ? generateDefaultDeviceMenuProps(\n { ...props, onSelectCamera: onChangeCameraClick, styles: props.styles?.menuStyles },\n strings,\n splitButtonPrimaryAction\n )\n : undefined)\n }\n menuIconProps={props.menuIconProps ?? !props.enableDeviceSelectionMenu ? { hidden: true } : undefined}\n split={props.split ?? props.enableDeviceSelectionMenu}\n aria-description={strings.cameraButtonAriaDescription}\n aria-roledescription={props.enableDeviceSelectionMenu ? strings.cameraButtonSplitRoleDescription : undefined}\n ariaLabel={ariaLabel}\n splitButtonAriaLabel={props.enableDeviceSelectionMenu ? splitButtonAriaString : undefined}\n splitButtonMenuProps={splitButtonMenuProps}\n onFocus={() => setAnnouncerPresent(true)}\n onBlur={() => setAnnouncerPresent(false)}\n />\n </>\n );\n};\n"]}
1
+ {"version":3,"file":"CameraButton.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/components/CameraButton.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { useCallback, useState, useMemo } from 'react';\nimport { useLocale } from '../localization';\nimport { VideoStreamOptions } from '../types';\nimport { ControlBarButton, ControlBarButtonProps } from './ControlBarButton';\nimport { _HighContrastAwareIcon } from './HighContrastAwareIcon';\nimport { ContextualMenuItemType, IButtonProps, IContextualMenuItem, IContextualMenuItemStyles, IContextualMenuStyles } from '@fluentui/react';\nimport { ControlBarButtonStyles } from './ControlBarButton';\nimport { OptionsDevice, generateDefaultDeviceMenuProps } from './DevicesButton';\nimport { Announcer } from './Announcer';\nconst defaultLocalVideoViewOptions = {\n scalingMode: 'Crop',\n isMirrored: true\n} as VideoStreamOptions;\n\n/**\n * Strings of CameraButton that can be overridden.\n *\n * @public\n */\nexport interface CameraButtonStrings {\n /** Label when button is on. */\n onLabel: string;\n /** Label when button is off. */\n offLabel: string;\n /** Tooltip content when the button is disabled. */\n tooltipDisabledContent?: string;\n /** Tooltip content when the button is on. */\n tooltipOnContent?: string;\n /** Tooltip content when the button is off. */\n tooltipOffContent?: string;\n /** Tooltip content when the button is disabled due to video loading. */\n tooltipVideoLoadingContent?: string;\n /**\n * Title of camera menu\n */\n cameraMenuTitle: string;\n /**\n * Tooltip of camera menu\n */\n cameraMenuTooltip: string;\n /**\n * description of camera button split button role\n */\n cameraButtonSplitRoleDescription?: string;\n /**\n * Camera split button aria label for when button is enabled.\n */\n onSplitButtonAriaLabel?: string;\n /**\n * Camera split button aria label for when button is disabled.\n */\n offSplitButtonAriaLabel?: string;\n /**\n * Camera action turned on string for announcer\n */\n cameraActionTurnedOnAnnouncement?: string;\n /**\n * Camera action turned off string for announcer\n */\n cameraActionTurnedOffAnnouncement?: string;\n /**\n * Primary action for when the camera is turned off\n */\n offSplitButtonPrimaryActionCamera?: string;\n /**\n * Primary action for when the camera is on\n */\n onSplitButtonPrimaryActionCamera?: string;\n /**\n * Title for primary action section of split button\n */\n cameraPrimaryActionSplitButtonTitle?: string;\n /**\n * Title for video effects menu item\n */\n videoEffectsMenuItemTitle?: string;\n /**\n * Aria description for camera button\n */\n cameraButtonAriaDescription?: string;\n}\n\n/**\n * Styles for {@link CameraButton}\n *\n * @public\n */\nexport interface CameraButtonStyles extends ControlBarButtonStyles {\n /**\n * Styles for the {@link CameraButton} menu.\n */\n menuStyles?: Partial<CameraButtonContextualMenuStyles>;\n}\n\n/**\n * Styles for the {@link CameraButton} menu.\n *\n * @public\n */\nexport interface CameraButtonContextualMenuStyles extends IContextualMenuStyles {\n /**\n * Styles for the items inside the {@link CameraButton} button menu.\n */\n menuItemStyles?: IContextualMenuItemStyles;\n}\n/**\n * Props for {@link CameraButton} component.\n *\n * @public\n */\nexport interface CameraButtonProps extends ControlBarButtonProps {\n /**\n * Utility property for using this component with `communication react eventHandlers`.\n * Maps directly to the `onClick` property.\n */\n onToggleCamera?: (options?: VideoStreamOptions) => Promise<void>;\n\n /**\n * Options for rendering local video view.\n */\n localVideoViewOptions?: VideoStreamOptions;\n /**\n * Available cameras for selection\n */\n cameras?: OptionsDevice[];\n /**\n * Camera that is shown as currently selected\n */\n selectedCamera?: OptionsDevice;\n /**\n * Callback when a camera is selected\n */\n onSelectCamera?: (device: OptionsDevice) => Promise<void>;\n /**\n * Whether to use a {@link SplitButton} with a {@link IContextualMenu} for device selection.\n *\n * default: false\n */\n enableDeviceSelectionMenu?: boolean;\n /**\n * Optional strings to override in component\n */\n strings?: Partial<CameraButtonStrings>;\n /**\n * Styles for {@link CameraButton} and the device selection flyout.\n */\n styles?: Partial<CameraButtonStyles>;\n\n /**\n * Callback when a effects is clicked\n */\n onClickVideoEffects?: (showVideoEffects: boolean) => void;\n}\n\n/**\n * A button to turn camera on / off.\n *\n * Can be used with {@link ControlBar}.\n *\n * @public\n */\nexport const CameraButton = (props: CameraButtonProps): JSX.Element => {\n const {\n localVideoViewOptions,\n onToggleCamera,\n onSelectCamera\n } = props;\n const [waitForCamera, setWaitForCamera] = useState(false);\n const localeStrings = useLocale().strings.cameraButton;\n const strings = {\n ...localeStrings,\n ...props.strings\n };\n const [announcerString, setAnnouncerString] = useState<string | undefined>(undefined);\n const [announcerPresent, setAnnouncerPresent] = useState<boolean>(false);\n const disabled = props.disabled || waitForCamera;\n const onRenderCameraOnIcon = (): JSX.Element => <_HighContrastAwareIcon disabled={disabled} iconName=\"ControlButtonCameraOn\" />;\n const onRenderCameraOffIcon = (): JSX.Element => <_HighContrastAwareIcon disabled={disabled} iconName=\"ControlButtonCameraOff\" />;\n if (waitForCamera && strings.tooltipVideoLoadingContent) {\n strings.tooltipDisabledContent = strings.tooltipVideoLoadingContent;\n }\n const cameraOn = props.checked;\n const cameraTurningOn = waitForCamera && !cameraOn;\n // Ensure Aria-label by default reflects the loading state of the camera\n const ariaLabel = props.ariaLabel ?? cameraTurningOn ? strings.tooltipVideoLoadingContent : undefined;\n const splitButtonAriaString = cameraTurningOn ? strings.tooltipVideoLoadingContent : cameraOn ? strings.onSplitButtonAriaLabel : strings.offSplitButtonAriaLabel;\n const toggleAnnouncerString = useCallback((isCameraOn: boolean) => {\n setAnnouncerString(!isCameraOn ? strings.cameraActionTurnedOffAnnouncement : strings.cameraActionTurnedOnAnnouncement);\n }, [strings.cameraActionTurnedOffAnnouncement, strings.cameraActionTurnedOnAnnouncement]);\n const onVideoIsLoadingAnnouncementCallback = useCallback(() => {\n if (!cameraOn) {\n setAnnouncerString(strings.tooltipVideoLoadingContent);\n }\n }, [setAnnouncerString, cameraOn, strings.tooltipVideoLoadingContent]);\n const onToggleClick = useCallback(async () => {\n // Throttle click on camera, need to await onToggleCamera then allow another click\n if (onToggleCamera) {\n setWaitForCamera(true);\n try {\n await onToggleCamera(localVideoViewOptions ?? defaultLocalVideoViewOptions);\n // allows for the setting of narrator strings triggering the announcer when camera is turned on or off.\n toggleAnnouncerString(!cameraOn);\n } finally {\n setWaitForCamera(false);\n }\n }\n }, [cameraOn, localVideoViewOptions, onToggleCamera, toggleAnnouncerString]);\n const onToggleClickCallback = useCallback(() => {\n onVideoIsLoadingAnnouncementCallback();\n onToggleClick();\n }, [onVideoIsLoadingAnnouncementCallback, onToggleClick]);\n const onChangeCameraClick = useCallback(async (device: OptionsDevice) => {\n // Throttle changing camera to prevent too many callbacks\n if (onSelectCamera) {\n setWaitForCamera(true);\n try {\n await onSelectCamera(device);\n } finally {\n setWaitForCamera(false);\n }\n }\n }, [onSelectCamera]);\n const splitButtonMenuItems: IContextualMenuItem[] = [];\n if (props.onClickVideoEffects) {\n splitButtonMenuItems.push({\n key: 'effects',\n 'data-ui-id': 'camera-split-button-video-effects',\n text: strings.videoEffectsMenuItemTitle,\n iconProps: {\n iconName: 'ControlButtonVideoEffectsOption',\n styles: {\n root: {\n lineHeight: 0\n }\n }\n },\n onClick: () => {\n if (props.onClickVideoEffects) {\n props.onClickVideoEffects(true);\n }\n }\n });\n }\n splitButtonMenuItems.push({\n key: 'cameraPrimaryAction',\n text: props.checked ? strings.onSplitButtonPrimaryActionCamera : strings.offSplitButtonPrimaryActionCamera,\n onClick: () => {\n onToggleClick();\n },\n iconProps: {\n iconName: props.checked ? 'SplitButtonPrimaryActionCameraOn' : 'SplitButtonPrimaryActionCameraOff',\n styles: {\n root: {\n lineHeight: 0\n }\n }\n }\n });\n const splitButtonPrimaryAction: IContextualMenuItem = {\n key: 'primaryAction',\n title: 'toggle camera',\n itemType: ContextualMenuItemType.Section,\n sectionProps: {\n topDivider: true,\n items: splitButtonMenuItems\n }\n };\n const splitButtonMenuProps: IButtonProps = useMemo(() => ({\n ...props.splitButtonMenuProps,\n className: 'camera-split-button'\n }), [props.splitButtonMenuProps]);\n return <>\n {announcerPresent && <Announcer announcementString={announcerString} ariaLive={'polite'} />}\n <ControlBarButton {...props} disabled={disabled} onClick={onToggleCamera ? onToggleClickCallback : props.onClick} onRenderOnIcon={props.onRenderOnIcon ?? onRenderCameraOnIcon} onRenderOffIcon={props.onRenderOffIcon ?? onRenderCameraOffIcon} strings={strings} labelKey={props.labelKey ?? 'cameraButtonLabel'} menuProps={props.menuProps ?? (props.enableDeviceSelectionMenu ? generateDefaultDeviceMenuProps({\n ...props,\n onSelectCamera: onChangeCameraClick,\n styles: props.styles?.menuStyles\n }, strings, splitButtonPrimaryAction) : undefined)} menuIconProps={props.menuIconProps ?? !props.enableDeviceSelectionMenu ? {\n hidden: true\n } : undefined} split={props.split ?? props.enableDeviceSelectionMenu} aria-description={strings.cameraButtonAriaDescription} aria-roledescription={props.enableDeviceSelectionMenu ? strings.cameraButtonSplitRoleDescription : undefined} ariaLabel={ariaLabel} splitButtonAriaLabel={props.enableDeviceSelectionMenu ? splitButtonAriaString : undefined} splitButtonMenuProps={splitButtonMenuProps} onFocus={() => setAnnouncerPresent(true)} onBlur={() => setAnnouncerPresent(false)} />\n </>;\n};"]}
@@ -23,11 +23,11 @@ export const _Caption = (props) => {
23
23
  }
24
24
  };
25
25
  const userIcon = onRenderAvatar ? onRenderAvatar(userId !== null && userId !== void 0 ? userId : '', personaOptions) : React.createElement(Persona, Object.assign({}, personaOptions));
26
- return (React.createElement(Stack, { horizontal: true, verticalAlign: "start", horizontalAlign: "start" },
26
+ return React.createElement(Stack, { horizontal: true, verticalAlign: "start", horizontalAlign: "start" },
27
27
  React.createElement(Stack.Item, { className: iconClassName }, userIcon),
28
28
  React.createElement(Stack, { verticalAlign: "start", className: captionsContentContainerClassName },
29
29
  React.createElement(Stack.Item, { className: displayNameContainerClassName },
30
30
  React.createElement(Text, { className: displayNameClassName }, displayName)),
31
- React.createElement(Stack.Item, { className: captionClassName, dir: "auto" }, captionText))));
31
+ React.createElement(Stack.Item, { className: captionClassName, dir: "auto" }, captionText)));
32
32
  };
33
33
  //# sourceMappingURL=Caption.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Caption.js","sourceRoot":"","sources":["../../../../../../react-components/src/components/Caption.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAY,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,gBAAgB,EAChB,iCAAiC,EACjC,oBAAoB,EACpB,6BAA6B,EAC7B,aAAa,EACd,MAAM,yBAAyB,CAAC;AAgBjC;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAe,EAAE;IAC5D,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAEnE,MAAM,cAAc,GAAa;QAC/B,kBAAkB,EAAE,IAAI;QACxB,IAAI,EAAE,WAAW,CAAC,MAAM;QACxB,IAAI,EAAE,WAAW;QACjB,mBAAmB,EAAE,KAAK;QAC1B,uBAAuB,EAAE,IAAI;QAC7B,iBAAiB,EAAE,OAAO;QAC1B,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,MAAM,EAAE,SAAS;aAClB;SACF;KACF,CAAC;IAEF,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,oBAAC,OAAO,oBAAK,cAAc,EAAI,CAAC;IAEjH,OAAO,CACL,oBAAC,KAAK,IAAC,UAAU,QAAC,aAAa,EAAC,OAAO,EAAC,eAAe,EAAC,OAAO;QAC7D,oBAAC,KAAK,CAAC,IAAI,IAAC,SAAS,EAAE,aAAa,IAAG,QAAQ,CAAc;QAE7D,oBAAC,KAAK,IAAC,aAAa,EAAC,OAAO,EAAC,SAAS,EAAE,iCAAiC;YACvE,oBAAC,KAAK,CAAC,IAAI,IAAC,SAAS,EAAE,6BAA6B;gBAClD,oBAAC,IAAI,IAAC,SAAS,EAAE,oBAAoB,IAAG,WAAW,CAAQ,CAChD;YACb,oBAAC,KAAK,CAAC,IAAI,IAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,EAAC,MAAM,IAChD,WAAW,CACD,CACP,CACF,CACT,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { IPersona, Persona, Stack, PersonaSize, Text } from '@fluentui/react';\nimport React from 'react';\nimport { OnRenderAvatarCallback } from '../types';\nimport {\n captionClassName,\n captionsContentContainerClassName,\n displayNameClassName,\n displayNameContainerClassName,\n iconClassName\n} from './styles/Captions.style';\nimport { CaptionsInformation } from './CaptionsBanner';\n\n/**\n * @internal\n * Props for a single line of caption.\n */\nexport interface _CaptionProps extends CaptionsInformation {\n /**\n * Optional callback to override render of the avatar.\n *\n * @param userId - user Id\n */\n onRenderAvatar?: OnRenderAvatarCallback;\n}\n\n/**\n * @internal\n * A component for displaying a single line of caption\n */\nexport const _Caption = (props: _CaptionProps): JSX.Element => {\n const { displayName, userId, captionText, onRenderAvatar } = props;\n\n const personaOptions: IPersona = {\n hidePersonaDetails: true,\n size: PersonaSize.size32,\n text: displayName,\n showOverflowTooltip: false,\n imageShouldStartVisible: true,\n initialsTextColor: 'white',\n styles: {\n root: {\n margin: '0.25rem'\n }\n }\n };\n\n const userIcon = onRenderAvatar ? onRenderAvatar(userId ?? '', personaOptions) : <Persona {...personaOptions} />;\n\n return (\n <Stack horizontal verticalAlign=\"start\" horizontalAlign=\"start\">\n <Stack.Item className={iconClassName}>{userIcon}</Stack.Item>\n\n <Stack verticalAlign=\"start\" className={captionsContentContainerClassName}>\n <Stack.Item className={displayNameContainerClassName}>\n <Text className={displayNameClassName}>{displayName}</Text>\n </Stack.Item>\n <Stack.Item className={captionClassName} dir=\"auto\">\n {captionText}\n </Stack.Item>\n </Stack>\n </Stack>\n );\n};\n"]}
1
+ {"version":3,"file":"Caption.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/components/Caption.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAY,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,iCAAiC,EAAE,oBAAoB,EAAE,6BAA6B,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAgBlK;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAe,EAAE;IAC5D,MAAM,EACJ,WAAW,EACX,MAAM,EACN,WAAW,EACX,cAAc,EACf,GAAG,KAAK,CAAC;IACV,MAAM,cAAc,GAAa;QAC/B,kBAAkB,EAAE,IAAI;QACxB,IAAI,EAAE,WAAW,CAAC,MAAM;QACxB,IAAI,EAAE,WAAW;QACjB,mBAAmB,EAAE,KAAK;QAC1B,uBAAuB,EAAE,IAAI;QAC7B,iBAAiB,EAAE,OAAO;QAC1B,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,MAAM,EAAE,SAAS;aAClB;SACF;KACF,CAAC;IACF,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,oBAAC,OAAO,oBAAK,cAAc,EAAI,CAAC;IACjH,OAAO,oBAAC,KAAK,IAAC,UAAU,QAAC,aAAa,EAAC,OAAO,EAAC,eAAe,EAAC,OAAO;QAClE,oBAAC,KAAK,CAAC,IAAI,IAAC,SAAS,EAAE,aAAa,IAAG,QAAQ,CAAc;QAE7D,oBAAC,KAAK,IAAC,aAAa,EAAC,OAAO,EAAC,SAAS,EAAE,iCAAiC;YACvE,oBAAC,KAAK,CAAC,IAAI,IAAC,SAAS,EAAE,6BAA6B;gBAClD,oBAAC,IAAI,IAAC,SAAS,EAAE,oBAAoB,IAAG,WAAW,CAAQ,CAChD;YACb,oBAAC,KAAK,CAAC,IAAI,IAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,EAAC,MAAM,IAChD,WAAW,CACD,CACP,CACF,CAAC;AACb,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { IPersona, Persona, Stack, PersonaSize, Text } from '@fluentui/react';\nimport React from 'react';\nimport { OnRenderAvatarCallback } from '../types';\nimport { captionClassName, captionsContentContainerClassName, displayNameClassName, displayNameContainerClassName, iconClassName } from './styles/Captions.style';\nimport { CaptionsInformation } from './CaptionsBanner';\n\n/**\n * @internal\n * Props for a single line of caption.\n */\nexport interface _CaptionProps extends CaptionsInformation {\n /**\n * Optional callback to override render of the avatar.\n *\n * @param userId - user Id\n */\n onRenderAvatar?: OnRenderAvatarCallback;\n}\n\n/**\n * @internal\n * A component for displaying a single line of caption\n */\nexport const _Caption = (props: _CaptionProps): JSX.Element => {\n const {\n displayName,\n userId,\n captionText,\n onRenderAvatar\n } = props;\n const personaOptions: IPersona = {\n hidePersonaDetails: true,\n size: PersonaSize.size32,\n text: displayName,\n showOverflowTooltip: false,\n imageShouldStartVisible: true,\n initialsTextColor: 'white',\n styles: {\n root: {\n margin: '0.25rem'\n }\n }\n };\n const userIcon = onRenderAvatar ? onRenderAvatar(userId ?? '', personaOptions) : <Persona {...personaOptions} />;\n return <Stack horizontal verticalAlign=\"start\" horizontalAlign=\"start\">\n <Stack.Item className={iconClassName}>{userIcon}</Stack.Item>\n\n <Stack verticalAlign=\"start\" className={captionsContentContainerClassName}>\n <Stack.Item className={displayNameContainerClassName}>\n <Text className={displayNameClassName}>{displayName}</Text>\n </Stack.Item>\n <Stack.Item className={captionClassName} dir=\"auto\">\n {captionText}\n </Stack.Item>\n </Stack>\n </Stack>;\n};"]}
@@ -12,33 +12,33 @@ export const _CaptionsAndRTTAnnouncer = (props) => {
12
12
  useEffect(() => {
13
13
  if (realTimeTexts === null || realTimeTexts === void 0 ? void 0 : realTimeTexts.completedMessages) {
14
14
  //filter out the messages that have already been announced
15
- const rTTMessagesToAnnounce = realTimeTexts.completedMessages.filter((message) => !announcedRTT.includes(message.id));
15
+ const rTTMessagesToAnnounce = realTimeTexts.completedMessages.filter(message => !announcedRTT.includes(message.id));
16
16
  if (rTTMessagesToAnnounce.length > 0) {
17
17
  setRTTAnnouncementText(rTTMessagesToAnnounce);
18
- setAnnouncedRTT((prev) => [...prev, ...rTTMessagesToAnnounce.map((message) => message.id)]);
18
+ setAnnouncedRTT(prev => [...prev, ...rTTMessagesToAnnounce.map(message => message.id)]);
19
19
  }
20
20
  }
21
21
  if (captions.length > 0) {
22
22
  // filter out the captions that have already been announced
23
- const captionsToAnnounce = captions.filter((caption) => !announcedCaption.includes(caption.id) && caption.isFinalized);
23
+ const captionsToAnnounce = captions.filter(caption => !announcedCaption.includes(caption.id) && caption.isFinalized);
24
24
  if (captionsToAnnounce.length > 0) {
25
25
  setCaptionAnnouncementText(captionsToAnnounce);
26
- setAnnouncedCaption((prev) => [...prev, ...captionsToAnnounce.map((caption) => caption.id)]);
26
+ setAnnouncedCaption(prev => [...prev, ...captionsToAnnounce.map(caption => caption.id)]);
27
27
  }
28
28
  }
29
29
  }, [captions, realTimeTexts === null || realTimeTexts === void 0 ? void 0 : realTimeTexts.completedMessages, announcedRTT, announcedCaption]);
30
- return (React.createElement(React.Fragment, null, (rttAnnouncementText.length > 0 || (captionAnnouncementText === null || captionAnnouncementText === void 0 ? void 0 : captionAnnouncementText.length) > 0) && (React.createElement("div", { "aria-live": "assertive", role: "alert", "aria-atomic": "true", className: hiddenAnnouncementClassName },
31
- React.createElement("span", null, rttAnnouncementText.map((text) => (React.createElement("span", null,
30
+ return React.createElement(React.Fragment, null, (rttAnnouncementText.length > 0 || (captionAnnouncementText === null || captionAnnouncementText === void 0 ? void 0 : captionAnnouncementText.length) > 0) && React.createElement("div", { "aria-live": "assertive", role: "alert", "aria-atomic": "true", className: hiddenAnnouncementClassName },
31
+ React.createElement("span", null, rttAnnouncementText.map(text => React.createElement("span", null,
32
32
  realTimeTextTitle,
33
33
  " ",
34
34
  text.displayName,
35
35
  ": ",
36
- text.message)))),
37
- React.createElement("span", null, captionAnnouncementText.map((text) => (React.createElement("span", null,
36
+ text.message))),
37
+ React.createElement("span", null, captionAnnouncementText.map(text => React.createElement("span", null,
38
38
  captionsTitle,
39
39
  " ",
40
40
  text.displayName,
41
41
  ": ",
42
- text.captionText))))))));
42
+ text.captionText)))));
43
43
  };
44
44
  //# sourceMappingURL=CaptionsAndRTTAnnouncer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CaptionsAndRTTAnnouncer.js","sourceRoot":"","sources":["../../../../../../react-components/src/components/CaptionsAndRTTAnnouncer.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport React, { useEffect, useState } from 'react';\nimport { hiddenAnnouncementClassName } from './styles/Captions.style';\nimport { CaptionsInformation, RealTimeTextInformation } from './CaptionsBanner';\n\n/** @internal */\nexport type _CaptionsAndRTTAnnouncerProps = {\n /**\n * Array of captions to be displayed\n */\n captions: CaptionsInformation[];\n /**\n * Array of finalized and partial real time text messages\n */\n realTimeTexts?: {\n completedMessages?: RealTimeTextInformation[];\n currentInProgress?: RealTimeTextInformation[];\n myInProgress?: RealTimeTextInformation;\n };\n /**\n * Title for the real time text messages\n */\n realTimeTextTitle: string;\n /**\n * Title for the captions\n */\n captionsTitle: string;\n};\n\n/** @internal */\nexport const _CaptionsAndRTTAnnouncer = (props: _CaptionsAndRTTAnnouncerProps): JSX.Element => {\n const { captions, realTimeTexts, realTimeTextTitle, captionsTitle } = props;\n const [announcedRTT, setAnnouncedRTT] = useState<number[]>([]);\n const [announcedCaption, setAnnouncedCaption] = useState<string[]>([]);\n const [captionAnnouncementText, setCaptionAnnouncementText] = useState<CaptionsInformation[]>([]);\n const [rttAnnouncementText, setRTTAnnouncementText] = useState<RealTimeTextInformation[]>([]);\n\n useEffect(() => {\n if (realTimeTexts?.completedMessages) {\n //filter out the messages that have already been announced\n const rTTMessagesToAnnounce = realTimeTexts.completedMessages.filter(\n (message) => !announcedRTT.includes(message.id)\n );\n if (rTTMessagesToAnnounce.length > 0) {\n setRTTAnnouncementText(rTTMessagesToAnnounce);\n setAnnouncedRTT((prev) => [...prev, ...rTTMessagesToAnnounce.map((message) => message.id)]);\n }\n }\n if (captions.length > 0) {\n // filter out the captions that have already been announced\n const captionsToAnnounce = captions.filter(\n (caption) => !announcedCaption.includes(caption.id) && caption.isFinalized\n );\n if (captionsToAnnounce.length > 0) {\n setCaptionAnnouncementText(captionsToAnnounce);\n setAnnouncedCaption((prev) => [...prev, ...captionsToAnnounce.map((caption) => caption.id)]);\n }\n }\n }, [captions, realTimeTexts?.completedMessages, announcedRTT, announcedCaption]);\n return (\n <>\n {(rttAnnouncementText.length > 0 || captionAnnouncementText?.length > 0) && (\n <div aria-live=\"assertive\" role=\"alert\" aria-atomic=\"true\" className={hiddenAnnouncementClassName}>\n <span>\n {rttAnnouncementText.map((text) => (\n <span>\n {realTimeTextTitle} {text.displayName}: {text.message}\n </span>\n ))}\n </span>\n <span>\n {captionAnnouncementText.map((text) => (\n <span>\n {captionsTitle} {text.displayName}: {text.captionText}\n </span>\n ))}\n </span>\n </div>\n )}\n </>\n );\n};\n"]}
1
+ {"version":3,"file":"CaptionsAndRTTAnnouncer.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/components/CaptionsAndRTTAnnouncer.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport React, { useEffect, useState } from 'react';\nimport { hiddenAnnouncementClassName } from './styles/Captions.style';\nimport { CaptionsInformation, RealTimeTextInformation } from './CaptionsBanner';\n\n/** @internal */\nexport type _CaptionsAndRTTAnnouncerProps = {\n /**\n * Array of captions to be displayed\n */\n captions: CaptionsInformation[];\n /**\n * Array of finalized and partial real time text messages\n */\n realTimeTexts?: {\n completedMessages?: RealTimeTextInformation[];\n currentInProgress?: RealTimeTextInformation[];\n myInProgress?: RealTimeTextInformation;\n };\n /**\n * Title for the real time text messages\n */\n realTimeTextTitle: string;\n /**\n * Title for the captions\n */\n captionsTitle: string;\n};\n\n/** @internal */\nexport const _CaptionsAndRTTAnnouncer = (props: _CaptionsAndRTTAnnouncerProps): JSX.Element => {\n const {\n captions,\n realTimeTexts,\n realTimeTextTitle,\n captionsTitle\n } = props;\n const [announcedRTT, setAnnouncedRTT] = useState<number[]>([]);\n const [announcedCaption, setAnnouncedCaption] = useState<string[]>([]);\n const [captionAnnouncementText, setCaptionAnnouncementText] = useState<CaptionsInformation[]>([]);\n const [rttAnnouncementText, setRTTAnnouncementText] = useState<RealTimeTextInformation[]>([]);\n useEffect(() => {\n if (realTimeTexts?.completedMessages) {\n //filter out the messages that have already been announced\n const rTTMessagesToAnnounce = realTimeTexts.completedMessages.filter(message => !announcedRTT.includes(message.id));\n if (rTTMessagesToAnnounce.length > 0) {\n setRTTAnnouncementText(rTTMessagesToAnnounce);\n setAnnouncedRTT(prev => [...prev, ...rTTMessagesToAnnounce.map(message => message.id)]);\n }\n }\n if (captions.length > 0) {\n // filter out the captions that have already been announced\n const captionsToAnnounce = captions.filter(caption => !announcedCaption.includes(caption.id) && caption.isFinalized);\n if (captionsToAnnounce.length > 0) {\n setCaptionAnnouncementText(captionsToAnnounce);\n setAnnouncedCaption(prev => [...prev, ...captionsToAnnounce.map(caption => caption.id)]);\n }\n }\n }, [captions, realTimeTexts?.completedMessages, announcedRTT, announcedCaption]);\n return <>\n {(rttAnnouncementText.length > 0 || captionAnnouncementText?.length > 0) && <div aria-live=\"assertive\" role=\"alert\" aria-atomic=\"true\" className={hiddenAnnouncementClassName}>\n <span>\n {rttAnnouncementText.map(text => <span>\n {realTimeTextTitle} {text.displayName}: {text.message}\n </span>)}\n </span>\n <span>\n {captionAnnouncementText.map(text => <span>\n {captionsTitle} {text.displayName}: {text.captionText}\n </span>)}\n </span>\n </div>}\n </>;\n};"]}
@@ -61,8 +61,7 @@ export const CaptionsBanner = (props) => {
61
61
  if (!captionsScrollDivRef.current) {
62
62
  return;
63
63
  }
64
- const atBottom = Math.ceil(captionsScrollDivRef.current.scrollTop) >=
65
- captionsScrollDivRef.current.scrollHeight - captionsScrollDivRef.current.clientHeight - SCROLL_OFFSET_ALLOWANCE;
64
+ const atBottom = Math.ceil(captionsScrollDivRef.current.scrollTop) >= captionsScrollDivRef.current.scrollHeight - captionsScrollDivRef.current.clientHeight - SCROLL_OFFSET_ALLOWANCE;
66
65
  setIsAtBottomOfScroll(atBottom);
67
66
  }, []);
68
67
  useEffect(() => {
@@ -100,35 +99,31 @@ export const CaptionsBanner = (props) => {
100
99
  bannerLinkLabel: (_c = strings.realTimeTextBannerLinkLabel) !== null && _c !== void 0 ? _c : ''
101
100
  };
102
101
  const captionsAndRealTimeText = () => {
103
- return (React.createElement(React.Fragment, null, mergedCaptions
104
- .filter((caption) => caption)
105
- .map((caption) => {
102
+ return React.createElement(React.Fragment, null, mergedCaptions.filter(caption => caption).map(caption => {
106
103
  if ('message' in caption) {
107
- return (React.createElement("div", { key: `RealTimeText - ${caption.id}`, className: captionContainerClassName, "data-is-focusable": true },
108
- React.createElement(RealTimeText, Object.assign({}, caption))));
104
+ return React.createElement("div", { key: `RealTimeText - ${caption.id}`, className: captionContainerClassName, "data-is-focusable": true },
105
+ React.createElement(RealTimeText, Object.assign({}, caption)));
109
106
  }
110
- return (React.createElement("div", { key: `Captions - ${caption.id}`, className: captionContainerClassName, "data-is-focusable": true },
111
- React.createElement(_Caption, Object.assign({}, caption, { onRenderAvatar: onRenderAvatar }))));
112
- })));
107
+ return React.createElement("div", { key: `Captions - ${caption.id}`, className: captionContainerClassName, "data-is-focusable": true },
108
+ React.createElement(_Caption, Object.assign({}, caption, { onRenderAvatar: onRenderAvatar })));
109
+ }));
113
110
  };
114
- return (React.createElement(React.Fragment, null, (startCaptionsInProgress || isCaptionsOn || isRealTimeTextOn) && (React.createElement(FocusZone, { shouldFocusOnMount: true, className: captionsContainerClassName, "data-ui-id": "captions-banner" },
111
+ return React.createElement(React.Fragment, null, (startCaptionsInProgress || isCaptionsOn || isRealTimeTextOn) && React.createElement(FocusZone, { shouldFocusOnMount: true, className: captionsContainerClassName, "data-ui-id": "captions-banner" },
115
112
  React.createElement(_CaptionsAndRTTAnnouncer, { captions: captions, realTimeTexts: realTimeTexts, realTimeTextTitle: (_d = strings.realTimeTextBannerTitle) !== null && _d !== void 0 ? _d : '', captionsTitle: (_e = strings.captionsOnlyContainerTitle) !== null && _e !== void 0 ? _e : '' }),
116
- (isCaptionsOn || isRealTimeTextOn) && formFactor === 'compact' && (React.createElement(Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center", className: bannerTitleContainerClassName },
113
+ (isCaptionsOn || isRealTimeTextOn) && formFactor === 'compact' && React.createElement(Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center", className: bannerTitleContainerClassName },
117
114
  React.createElement(Text, { className: titleClassName }, getTitle()),
118
- React.createElement(IconButton, { "data-ui-id": "captions-banner-expand-icon", iconProps: { iconName: expandBannerHeight ? 'MinimizeIcon' : 'ExpandIcon' }, ariaLabel: expandBannerHeight ? strings.minimizeButtonAriaLabel : strings.expandButtonAriaLabel, onClick: () => setExpandBannerHeight(!expandBannerHeight), styles: expandIconClassName(theme) }))),
119
- (isCaptionsOn || isRealTimeTextOn) && (React.createElement("div", { ref: captionsScrollDivRef, className: (captionsOptions === null || captionsOptions === void 0 ? void 0 : captionsOptions.height) === 'full'
120
- ? captionsBannerFullHeightClassName(theme)
121
- : captionsBannerClassName(formFactor, expandBannerHeight), "data-ui-id": "captions-banner-inner", "data-is-focusable": true },
122
- isRealTimeTextOn && (React.createElement(Stack, { className: rttDisclosureBannerClassName() },
123
- React.createElement(_RTTDisclosureBanner, { strings: realTimeTextDisclosureBannerStrings }))),
124
- captionsAndRealTimeText())),
125
- isRealTimeTextOn && onSendRealTimeText && (React.createElement(TextField, { styles: realTimeTextInputBoxStyles(theme), placeholder: strings.realTimeTextInputBoxDefaultText, value: textFieldValue, onKeyDown: handleKeyDown, onChange: (_, newValue) => {
115
+ React.createElement(IconButton, { "data-ui-id": "captions-banner-expand-icon", iconProps: {
116
+ iconName: expandBannerHeight ? 'MinimizeIcon' : 'ExpandIcon'
117
+ }, ariaLabel: expandBannerHeight ? strings.minimizeButtonAriaLabel : strings.expandButtonAriaLabel, onClick: () => setExpandBannerHeight(!expandBannerHeight), styles: expandIconClassName(theme) })),
118
+ (isCaptionsOn || isRealTimeTextOn) && React.createElement("div", { ref: captionsScrollDivRef, className: (captionsOptions === null || captionsOptions === void 0 ? void 0 : captionsOptions.height) === 'full' ? captionsBannerFullHeightClassName(theme) : captionsBannerClassName(formFactor, expandBannerHeight), "data-ui-id": "captions-banner-inner", "data-is-focusable": true },
119
+ isRealTimeTextOn && React.createElement(Stack, { className: rttDisclosureBannerClassName() },
120
+ React.createElement(_RTTDisclosureBanner, { strings: realTimeTextDisclosureBannerStrings })),
121
+ captionsAndRealTimeText()),
122
+ isRealTimeTextOn && onSendRealTimeText && React.createElement(TextField, { styles: realTimeTextInputBoxStyles(theme), placeholder: strings.realTimeTextInputBoxDefaultText, value: textFieldValue, onKeyDown: handleKeyDown, onChange: (_, newValue) => {
126
123
  setTextFieldValue(newValue || '');
127
124
  onSendRealTimeText(newValue || '', false);
128
- }, maxLength: 2000, errorMessage: textFieldValue.length >= 2000 ? strings.realTimeTextInputErrorMessage : undefined })),
129
- !isCaptionsOn && !isRealTimeTextOn && (React.createElement(Stack, { verticalAlign: "center", styles: (captionsOptions === null || captionsOptions === void 0 ? void 0 : captionsOptions.height) === 'full'
130
- ? loadingBannerFullHeightStyles(theme)
131
- : loadingBannerStyles(formFactor), "data-is-focusable": true },
132
- React.createElement(Spinner, { label: strings === null || strings === void 0 ? void 0 : strings.captionsBannerSpinnerText, ariaLive: "assertive", labelPosition: "right" })))))));
125
+ }, maxLength: 2000, errorMessage: textFieldValue.length >= 2000 ? strings.realTimeTextInputErrorMessage : undefined }),
126
+ !isCaptionsOn && !isRealTimeTextOn && React.createElement(Stack, { verticalAlign: "center", styles: (captionsOptions === null || captionsOptions === void 0 ? void 0 : captionsOptions.height) === 'full' ? loadingBannerFullHeightStyles(theme) : loadingBannerStyles(formFactor), "data-is-focusable": true },
127
+ React.createElement(Spinner, { label: strings === null || strings === void 0 ? void 0 : strings.captionsBannerSpinnerText, ariaLive: "assertive", labelPosition: "right" }))));
133
128
  };
134
129
  //# sourceMappingURL=CaptionsBanner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CaptionsBanner.js","sourceRoot":"","sources":["../../../../../../react-components/src/components/CaptionsBanner.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { Stack, FocusZone, Spinner, useTheme } from '@fluentui/react';\nimport { TextField } from '@fluentui/react';\nimport React, { useEffect, useRef, useState, useCallback } from 'react';\nimport { useMemo } from 'react';\nimport { _Caption } from './Caption';\nimport {\n captionContainerClassName,\n captionsBannerClassName,\n captionsBannerFullHeightClassName,\n captionsContainerClassName,\n loadingBannerFullHeightStyles,\n loadingBannerStyles\n} from './styles/Captions.style';\nimport { rttDisclosureBannerClassName } from './styles/Captions.style';\nimport { OnRenderAvatarCallback } from '../types';\nimport { useLocale } from '../localization';\nimport { RealTimeText } from './RealTimeText';\nimport { _RTTDisclosureBanner } from './RTTDisclosureBanner';\nimport { sortCaptionsAndRealTimeTexts } from './utils/sortCaptionsAndRealTimeTexts';\nimport {\n expandIconClassName,\n bannerTitleContainerClassName,\n realTimeTextInputBoxStyles\n} from './styles/Captions.style';\nimport { titleClassName } from './styles/CaptionsSettingsModal.styles';\nimport { Text, IconButton } from '@fluentui/react';\nimport { _CaptionsAndRTTAnnouncer } from './CaptionsAndRTTAnnouncer';\n/**\n * @public\n * information required for each line of caption\n */\nexport type CaptionsInformation = {\n /**\n * unique id for each caption\n */\n id: string;\n /**\n * speaker's display name\n */\n displayName: string;\n /**\n * content of the caption\n */\n captionText: string;\n /**\n * id of the speaker\n */\n userId?: string;\n /**\n * timestamp when the caption was created\n * Please note that this value is essential for determining the order of captions and real time text messages\n * If you are using both captions and real time text, please ensure that the createdTimeStamp is populated\n */\n createdTimeStamp?: Date;\n /**\n * If caption is finalized\n */\n isFinalized?: boolean;\n};\n\n/**\n * @public\n * information required for each line of real time text\n */\nexport type RealTimeTextInformation = {\n /**\n * The id of the real time text.\n */\n id: number;\n /**\n * sender's display name\n */\n displayName: string;\n /**\n * id of the sender\n */\n userId?: string;\n /**\n * The real time text message.\n */\n message: string;\n /**\n * if the real time text received is partial\n */\n isTyping: boolean;\n /**\n * timestamp when the real time text was finalized\n */\n finalizedTimeStamp: Date;\n /**\n * If message originated from the local participant\n * default value is false\n */\n isMe?: boolean;\n};\n/**\n * @public\n * strings for captions banner\n */\nexport interface CaptionsBannerStrings {\n /**\n * Spinner text for captions banner\n */\n captionsBannerSpinnerText?: string;\n\n /**\n * Default text for RTT input text box\n */\n realTimeTextInputBoxDefaultText?: string;\n\n /**\n * Error message for RTT input text box when the size exceeds the limit 2000\n */\n realTimeTextInputErrorMessage?: string;\n\n /**\n * Real time text disclosure banner title\n */\n realTimeTextBannerTitle?: string;\n\n /**\n * Real time text disclosure banner content\n */\n realTimeTextBannerContent?: string;\n\n /**\n * Real time text disclosure banner link label\n */\n realTimeTextBannerLinkLabel?: string;\n\n /**\n * Title for the container when only captions is enabled\n */\n captionsOnlyContainerTitle?: string;\n /**\n * Title for the container when only real time text is enabled\n */\n realTimeTextOnlyContainerTitle?: string;\n /**\n * Title for the container when both captions and real time text is enabled\n */\n captionsAndRealTimeTextContainerTitle?: string;\n /**\n * Expand button aria label\n */\n expandButtonAriaLabel?: string;\n /**\n * Minimize button aria label\n */\n minimizeButtonAriaLabel?: string;\n}\n\n/**\n * @public\n * CaptionsBanner Component Props.\n */\nexport interface CaptionsBannerProps {\n /**\n * Array of captions to be displayed\n */\n captions: CaptionsInformation[];\n /**\n * Array of finalized and partial real time text messages\n */\n realTimeTexts?: {\n completedMessages?: RealTimeTextInformation[];\n currentInProgress?: RealTimeTextInformation[];\n myInProgress?: RealTimeTextInformation;\n };\n /**\n * Flag to indicate if captions are on\n */\n isCaptionsOn?: boolean;\n\n /**\n * Flag to indicate if real time text is on\n */\n isRealTimeTextOn?: boolean;\n /**\n * Flag to indicate if captions are being started\n * This is used to show spinner while captions are being started\n */\n startCaptionsInProgress?: boolean;\n /**\n * Optional callback to override render of the avatar.\n *\n * @param userId - user Id\n */\n onRenderAvatar?: OnRenderAvatarCallback;\n /**\n * Optional strings for the component\n */\n strings?: CaptionsBannerStrings;\n /**\n * Optional form factor for the component.\n * @defaultValue 'default'\n */\n formFactor?: 'default' | 'compact';\n /**\n * Optional options for the component.\n */\n captionsOptions?: {\n height: 'full' | 'default';\n };\n\n /**\n * Optional callback to send real time text.\n */\n onSendRealTimeText?: (text: string, isFinalized: boolean) => Promise<void>;\n\n /**\n * Latest local real time text\n */\n latestLocalRealTimeText?: RealTimeTextInformation;\n}\n\nconst SCROLL_OFFSET_ALLOWANCE = 20;\n\n/**\n * @public\n * A component for displaying a CaptionsBanner with user icon, displayName and captions text.\n */\nexport const CaptionsBanner = (props: CaptionsBannerProps): JSX.Element => {\n const {\n captions,\n realTimeTexts,\n isCaptionsOn,\n startCaptionsInProgress,\n onRenderAvatar,\n formFactor = 'default',\n captionsOptions,\n isRealTimeTextOn,\n onSendRealTimeText,\n latestLocalRealTimeText\n } = props;\n const localeStrings = useLocale().strings.captionsBanner;\n const strings = { ...localeStrings, ...props.strings };\n const captionsScrollDivRef = useRef<HTMLDivElement>(null);\n const [isAtBottomOfScroll, setIsAtBottomOfScroll] = useState<boolean>(true);\n const theme = useTheme();\n\n const [expandBannerHeight, setExpandBannerHeight] = useState<boolean>(false);\n\n const getTitle = (): string => {\n if (isCaptionsOn && isRealTimeTextOn) {\n return strings.captionsAndRealTimeTextContainerTitle ?? '';\n } else if (isCaptionsOn) {\n return strings.captionsOnlyContainerTitle ?? '';\n } else if (isRealTimeTextOn) {\n return strings.realTimeTextOnlyContainerTitle ?? '';\n }\n return '';\n };\n\n // merge realtimetexts and captions into one array based on timestamp\n // Combine captions and realTimeTexts into one list\n const combinedList: (CaptionsInformation | RealTimeTextInformation)[] = useMemo(() => {\n return sortCaptionsAndRealTimeTexts(captions, realTimeTexts?.completedMessages ?? []);\n }, [captions, realTimeTexts?.completedMessages]);\n\n const mergedCaptions: (CaptionsInformation | RealTimeTextInformation)[] = useMemo(() => {\n return [...combinedList, ...(realTimeTexts?.currentInProgress ?? []), realTimeTexts?.myInProgress].slice(-50) as (\n | CaptionsInformation\n | RealTimeTextInformation\n )[];\n }, [combinedList, realTimeTexts]);\n\n const scrollToBottom = (): void => {\n if (captionsScrollDivRef.current) {\n captionsScrollDivRef.current.scrollTop = captionsScrollDivRef.current.scrollHeight;\n }\n };\n\n const handleScrollToTheBottom = useCallback((): void => {\n if (!captionsScrollDivRef.current) {\n return;\n }\n const atBottom =\n Math.ceil(captionsScrollDivRef.current.scrollTop) >=\n captionsScrollDivRef.current.scrollHeight - captionsScrollDivRef.current.clientHeight - SCROLL_OFFSET_ALLOWANCE;\n\n setIsAtBottomOfScroll(atBottom);\n }, []);\n\n useEffect(() => {\n const captionsScrollDiv = captionsScrollDivRef.current;\n captionsScrollDiv?.addEventListener('scroll', handleScrollToTheBottom);\n\n return () => {\n captionsScrollDiv?.removeEventListener('scroll', handleScrollToTheBottom);\n };\n }, [handleScrollToTheBottom, isCaptionsOn, isRealTimeTextOn]);\n\n useEffect(() => {\n // only auto scroll to bottom is already is at bottom of scroll before new caption comes in\n if (isAtBottomOfScroll) {\n scrollToBottom();\n }\n }, [captions, realTimeTexts, isAtBottomOfScroll]);\n\n const [textFieldValue, setTextFieldValue] = useState<string>('');\n\n useEffect(() => {\n // if the latest real time text sent by myself is final, clear the text field\n if (latestLocalRealTimeText && !latestLocalRealTimeText.isTyping) {\n setTextFieldValue('');\n }\n }, [latestLocalRealTimeText]);\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>): void => {\n if (event.key === 'Enter') {\n event.preventDefault();\n if (textFieldValue && onSendRealTimeText) {\n onSendRealTimeText(textFieldValue, true);\n setTextFieldValue('');\n }\n }\n };\n\n const realTimeTextDisclosureBannerStrings = {\n bannerTitle: strings.realTimeTextBannerTitle ?? '',\n bannerContent: strings.realTimeTextBannerContent ?? '',\n bannerLinkLabel: strings.realTimeTextBannerLinkLabel ?? ''\n };\n\n const captionsAndRealTimeText = (): JSX.Element => {\n return (\n <>\n {mergedCaptions\n .filter((caption) => caption)\n .map((caption) => {\n if ('message' in caption) {\n return (\n <div\n key={`RealTimeText - ${caption.id}`}\n className={captionContainerClassName}\n data-is-focusable={true}\n >\n <RealTimeText {...(caption as RealTimeTextInformation)} />\n </div>\n );\n }\n return (\n <div key={`Captions - ${caption.id}`} className={captionContainerClassName} data-is-focusable={true}>\n <_Caption {...(caption as CaptionsInformation)} onRenderAvatar={onRenderAvatar} />\n </div>\n );\n })}\n </>\n );\n };\n\n return (\n <>\n {(startCaptionsInProgress || isCaptionsOn || isRealTimeTextOn) && (\n <FocusZone shouldFocusOnMount className={captionsContainerClassName} data-ui-id=\"captions-banner\">\n <_CaptionsAndRTTAnnouncer\n captions={captions}\n realTimeTexts={realTimeTexts}\n realTimeTextTitle={strings.realTimeTextBannerTitle ?? ''}\n captionsTitle={strings.captionsOnlyContainerTitle ?? ''}\n />\n {(isCaptionsOn || isRealTimeTextOn) && formFactor === 'compact' && (\n <Stack\n horizontal\n horizontalAlign=\"space-between\"\n verticalAlign=\"center\"\n className={bannerTitleContainerClassName}\n >\n <Text className={titleClassName}>{getTitle()}</Text>\n <IconButton\n data-ui-id=\"captions-banner-expand-icon\"\n iconProps={{ iconName: expandBannerHeight ? 'MinimizeIcon' : 'ExpandIcon' }}\n ariaLabel={expandBannerHeight ? strings.minimizeButtonAriaLabel : strings.expandButtonAriaLabel}\n onClick={() => setExpandBannerHeight(!expandBannerHeight)}\n styles={expandIconClassName(theme)}\n />\n </Stack>\n )}\n {(isCaptionsOn || isRealTimeTextOn) && (\n <div\n ref={captionsScrollDivRef}\n className={\n captionsOptions?.height === 'full'\n ? captionsBannerFullHeightClassName(theme)\n : captionsBannerClassName(formFactor, expandBannerHeight)\n }\n data-ui-id=\"captions-banner-inner\"\n data-is-focusable={true}\n >\n {isRealTimeTextOn && (\n <Stack className={rttDisclosureBannerClassName()}>\n <_RTTDisclosureBanner strings={realTimeTextDisclosureBannerStrings} />\n </Stack>\n )}\n {captionsAndRealTimeText()}\n </div>\n )}\n {isRealTimeTextOn && onSendRealTimeText && (\n <TextField\n styles={realTimeTextInputBoxStyles(theme)}\n placeholder={strings.realTimeTextInputBoxDefaultText}\n value={textFieldValue}\n onKeyDown={handleKeyDown}\n onChange={(_, newValue) => {\n setTextFieldValue(newValue || '');\n onSendRealTimeText(newValue || '', false);\n }}\n maxLength={2000}\n errorMessage={textFieldValue.length >= 2000 ? strings.realTimeTextInputErrorMessage : undefined}\n />\n )}\n {!isCaptionsOn && !isRealTimeTextOn && (\n <Stack\n verticalAlign=\"center\"\n styles={\n captionsOptions?.height === 'full'\n ? loadingBannerFullHeightStyles(theme)\n : loadingBannerStyles(formFactor)\n }\n data-is-focusable={true}\n >\n <Spinner label={strings?.captionsBannerSpinnerText} ariaLive=\"assertive\" labelPosition=\"right\" />\n </Stack>\n )}\n </FocusZone>\n )}\n </>\n );\n};\n"]}
1
+ {"version":3,"file":"CaptionsBanner.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/components/CaptionsBanner.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,iCAAiC,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAChN,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACzH,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AA6LrE,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAe,EAAE;;IACxE,MAAM,EACJ,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,cAAc,EACd,UAAU,GAAG,SAAS,EACtB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACxB,GAAG,KAAK,CAAC;IACV,MAAM,aAAa,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;IACzD,MAAM,OAAO,mCACR,aAAa,GACb,KAAK,CAAC,OAAO,CACjB,CAAC;IACF,MAAM,oBAAoB,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC1D,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAU,IAAI,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,GAAW,EAAE;;QAC5B,IAAI,YAAY,IAAI,gBAAgB,EAAE,CAAC;YACrC,OAAO,MAAA,OAAO,CAAC,qCAAqC,mCAAI,EAAE,CAAC;QAC7D,CAAC;aAAM,IAAI,YAAY,EAAE,CAAC;YACxB,OAAO,MAAA,OAAO,CAAC,0BAA0B,mCAAI,EAAE,CAAC;QAClD,CAAC;aAAM,IAAI,gBAAgB,EAAE,CAAC;YAC5B,OAAO,MAAA,OAAO,CAAC,8BAA8B,mCAAI,EAAE,CAAC;QACtD,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,qEAAqE;IACrE,mDAAmD;IACnD,MAAM,YAAY,GAAsD,OAAO,CAAC,GAAG,EAAE;;QACnF,OAAO,4BAA4B,CAAC,QAAQ,EAAE,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,iBAAiB,mCAAI,EAAE,CAAC,CAAC;IACxF,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,iBAAiB,CAAC,CAAC,CAAC;IACjD,MAAM,cAAc,GAAsD,OAAO,CAAC,GAAG,EAAE;;QACrF,OAAO,CAAC,GAAG,YAAY,EAAE,GAAG,CAAC,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,iBAAiB,mCAAI,EAAE,CAAC,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAsD,CAAC;IACrK,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;IAClC,MAAM,cAAc,GAAG,GAAS,EAAE;QAChC,IAAI,oBAAoB,CAAC,OAAO,EAAE,CAAC;YACjC,oBAAoB,CAAC,OAAO,CAAC,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,YAAY,CAAC;QACrF,CAAC;IACH,CAAC,CAAC;IACF,MAAM,uBAAuB,GAAG,WAAW,CAAC,GAAS,EAAE;QACrD,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,oBAAoB,CAAC,OAAO,CAAC,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAC,YAAY,GAAG,uBAAuB,CAAC;QACtL,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC;QACvD,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,gBAAgB,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;QACvE,OAAO,GAAG,EAAE;YACV,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,mBAAmB,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;QAC5E,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,uBAAuB,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC9D,SAAS,CAAC,GAAG,EAAE;QACb,2FAA2F;QAC3F,IAAI,kBAAkB,EAAE,CAAC;YACvB,cAAc,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IACjE,SAAS,CAAC,GAAG,EAAE;QACb,6EAA6E;QAC7E,IAAI,uBAAuB,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC;YACjE,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAC9B,MAAM,aAAa,GAAG,CAAC,KAAkE,EAAQ,EAAE;QACjG,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YAC1B,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,cAAc,IAAI,kBAAkB,EAAE,CAAC;gBACzC,kBAAkB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBACzC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,MAAM,mCAAmC,GAAG;QAC1C,WAAW,EAAE,MAAA,OAAO,CAAC,uBAAuB,mCAAI,EAAE;QAClD,aAAa,EAAE,MAAA,OAAO,CAAC,yBAAyB,mCAAI,EAAE;QACtD,eAAe,EAAE,MAAA,OAAO,CAAC,2BAA2B,mCAAI,EAAE;KAC3D,CAAC;IACF,MAAM,uBAAuB,GAAG,GAAgB,EAAE;QAChD,OAAO,0CACF,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACzD,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;gBACzB,OAAO,6BAAK,GAAG,EAAE,kBAAkB,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,yBAAyB,uBAAqB,IAAI;oBACtG,oBAAC,YAAY,oBAAK,OAAkC,EAAI,CACpD,CAAC;YACf,CAAC;YACD,OAAO,6BAAK,GAAG,EAAE,cAAc,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,yBAAyB,uBAAqB,IAAI;gBAClG,oBAAC,QAAQ,oBAAK,OAA8B,IAAE,cAAc,EAAE,cAAc,IAAI,CAC5E,CAAC;QACf,CAAC,CAAC,CACC,CAAC;IACR,CAAC,CAAC;IACF,OAAO,0CACF,CAAC,uBAAuB,IAAI,YAAY,IAAI,gBAAgB,CAAC,IAAI,oBAAC,SAAS,IAAC,kBAAkB,QAAC,SAAS,EAAE,0BAA0B,gBAAa,iBAAiB;QAC/J,oBAAC,wBAAwB,IAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAA,OAAO,CAAC,uBAAuB,mCAAI,EAAE,EAAE,aAAa,EAAE,MAAA,OAAO,CAAC,0BAA0B,mCAAI,EAAE,GAAI;QAChM,CAAC,YAAY,IAAI,gBAAgB,CAAC,IAAI,UAAU,KAAK,SAAS,IAAI,oBAAC,KAAK,IAAC,UAAU,QAAC,eAAe,EAAC,eAAe,EAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,6BAA6B;YAChL,oBAAC,IAAI,IAAC,SAAS,EAAE,cAAc,IAAG,QAAQ,EAAE,CAAQ;YACpD,oBAAC,UAAU,kBAAY,6BAA6B,EAAC,SAAS,EAAE;oBACpE,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY;iBAC7D,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAI,CACzL;QACT,CAAC,YAAY,IAAI,gBAAgB,CAAC,IAAI,6BAAK,GAAG,EAAE,oBAAoB,EAAE,SAAS,EAAE,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,MAAK,MAAM,CAAC,CAAC,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,UAAU,EAAE,kBAAkB,CAAC,gBAAa,uBAAuB,uBAAoB,IAAI;YAChR,gBAAgB,IAAI,oBAAC,KAAK,IAAC,SAAS,EAAE,4BAA4B,EAAE;gBACjE,oBAAC,oBAAoB,IAAC,OAAO,EAAE,mCAAmC,GAAI,CAChE;YACT,uBAAuB,EAAE,CACtB;QACP,gBAAgB,IAAI,kBAAkB,IAAI,oBAAC,SAAS,IAAC,MAAM,EAAE,0BAA0B,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,+BAA+B,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE;gBACpO,iBAAiB,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;gBAClC,kBAAkB,CAAC,QAAQ,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;YAC5C,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC,SAAS,GAAI;QAClH,CAAC,YAAY,IAAI,CAAC,gBAAgB,IAAI,oBAAC,KAAK,IAAC,aAAa,EAAC,QAAQ,EAAC,MAAM,EAAE,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,MAAK,MAAM,CAAC,CAAC,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,UAAU,CAAC,uBAAqB,IAAI;YAC7M,oBAAC,OAAO,IAAC,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,yBAAyB,EAAE,QAAQ,EAAC,WAAW,EAAC,aAAa,EAAC,OAAO,GAAG,CAC3F,CACA,CACb,CAAC;AACR,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { Stack, FocusZone, Spinner, useTheme } from '@fluentui/react';\nimport { TextField } from '@fluentui/react';\nimport React, { useEffect, useRef, useState, useCallback } from 'react';\nimport { useMemo } from 'react';\nimport { _Caption } from './Caption';\nimport { captionContainerClassName, captionsBannerClassName, captionsBannerFullHeightClassName, captionsContainerClassName, loadingBannerFullHeightStyles, loadingBannerStyles } from './styles/Captions.style';\nimport { rttDisclosureBannerClassName } from './styles/Captions.style';\nimport { OnRenderAvatarCallback } from '../types';\nimport { useLocale } from '../localization';\nimport { RealTimeText } from './RealTimeText';\nimport { _RTTDisclosureBanner } from './RTTDisclosureBanner';\nimport { sortCaptionsAndRealTimeTexts } from './utils/sortCaptionsAndRealTimeTexts';\nimport { expandIconClassName, bannerTitleContainerClassName, realTimeTextInputBoxStyles } from './styles/Captions.style';\nimport { titleClassName } from './styles/CaptionsSettingsModal.styles';\nimport { Text, IconButton } from '@fluentui/react';\nimport { _CaptionsAndRTTAnnouncer } from './CaptionsAndRTTAnnouncer';\n/**\n * @public\n * information required for each line of caption\n */\nexport type CaptionsInformation = {\n /**\n * unique id for each caption\n */\n id: string;\n /**\n * speaker's display name\n */\n displayName: string;\n /**\n * content of the caption\n */\n captionText: string;\n /**\n * id of the speaker\n */\n userId?: string;\n /**\n * timestamp when the caption was created\n * Please note that this value is essential for determining the order of captions and real time text messages\n * If you are using both captions and real time text, please ensure that the createdTimeStamp is populated\n */\n createdTimeStamp?: Date;\n /**\n * If caption is finalized\n */\n isFinalized?: boolean;\n};\n\n/**\n * @public\n * information required for each line of real time text\n */\nexport type RealTimeTextInformation = {\n /**\n * The id of the real time text.\n */\n id: number;\n /**\n * sender's display name\n */\n displayName: string;\n /**\n * id of the sender\n */\n userId?: string;\n /**\n * The real time text message.\n */\n message: string;\n /**\n * if the real time text received is partial\n */\n isTyping: boolean;\n /**\n * timestamp when the real time text was finalized\n */\n finalizedTimeStamp: Date;\n /**\n * If message originated from the local participant\n * default value is false\n */\n isMe?: boolean;\n};\n/**\n * @public\n * strings for captions banner\n */\nexport interface CaptionsBannerStrings {\n /**\n * Spinner text for captions banner\n */\n captionsBannerSpinnerText?: string;\n\n /**\n * Default text for RTT input text box\n */\n realTimeTextInputBoxDefaultText?: string;\n\n /**\n * Error message for RTT input text box when the size exceeds the limit 2000\n */\n realTimeTextInputErrorMessage?: string;\n\n /**\n * Real time text disclosure banner title\n */\n realTimeTextBannerTitle?: string;\n\n /**\n * Real time text disclosure banner content\n */\n realTimeTextBannerContent?: string;\n\n /**\n * Real time text disclosure banner link label\n */\n realTimeTextBannerLinkLabel?: string;\n\n /**\n * Title for the container when only captions is enabled\n */\n captionsOnlyContainerTitle?: string;\n /**\n * Title for the container when only real time text is enabled\n */\n realTimeTextOnlyContainerTitle?: string;\n /**\n * Title for the container when both captions and real time text is enabled\n */\n captionsAndRealTimeTextContainerTitle?: string;\n /**\n * Expand button aria label\n */\n expandButtonAriaLabel?: string;\n /**\n * Minimize button aria label\n */\n minimizeButtonAriaLabel?: string;\n}\n\n/**\n * @public\n * CaptionsBanner Component Props.\n */\nexport interface CaptionsBannerProps {\n /**\n * Array of captions to be displayed\n */\n captions: CaptionsInformation[];\n /**\n * Array of finalized and partial real time text messages\n */\n realTimeTexts?: {\n completedMessages?: RealTimeTextInformation[];\n currentInProgress?: RealTimeTextInformation[];\n myInProgress?: RealTimeTextInformation;\n };\n /**\n * Flag to indicate if captions are on\n */\n isCaptionsOn?: boolean;\n\n /**\n * Flag to indicate if real time text is on\n */\n isRealTimeTextOn?: boolean;\n /**\n * Flag to indicate if captions are being started\n * This is used to show spinner while captions are being started\n */\n startCaptionsInProgress?: boolean;\n /**\n * Optional callback to override render of the avatar.\n *\n * @param userId - user Id\n */\n onRenderAvatar?: OnRenderAvatarCallback;\n /**\n * Optional strings for the component\n */\n strings?: CaptionsBannerStrings;\n /**\n * Optional form factor for the component.\n * @defaultValue 'default'\n */\n formFactor?: 'default' | 'compact';\n /**\n * Optional options for the component.\n */\n captionsOptions?: {\n height: 'full' | 'default';\n };\n\n /**\n * Optional callback to send real time text.\n */\n onSendRealTimeText?: (text: string, isFinalized: boolean) => Promise<void>;\n\n /**\n * Latest local real time text\n */\n latestLocalRealTimeText?: RealTimeTextInformation;\n}\nconst SCROLL_OFFSET_ALLOWANCE = 20;\n\n/**\n * @public\n * A component for displaying a CaptionsBanner with user icon, displayName and captions text.\n */\nexport const CaptionsBanner = (props: CaptionsBannerProps): JSX.Element => {\n const {\n captions,\n realTimeTexts,\n isCaptionsOn,\n startCaptionsInProgress,\n onRenderAvatar,\n formFactor = 'default',\n captionsOptions,\n isRealTimeTextOn,\n onSendRealTimeText,\n latestLocalRealTimeText\n } = props;\n const localeStrings = useLocale().strings.captionsBanner;\n const strings = {\n ...localeStrings,\n ...props.strings\n };\n const captionsScrollDivRef = useRef<HTMLDivElement>(null);\n const [isAtBottomOfScroll, setIsAtBottomOfScroll] = useState<boolean>(true);\n const theme = useTheme();\n const [expandBannerHeight, setExpandBannerHeight] = useState<boolean>(false);\n const getTitle = (): string => {\n if (isCaptionsOn && isRealTimeTextOn) {\n return strings.captionsAndRealTimeTextContainerTitle ?? '';\n } else if (isCaptionsOn) {\n return strings.captionsOnlyContainerTitle ?? '';\n } else if (isRealTimeTextOn) {\n return strings.realTimeTextOnlyContainerTitle ?? '';\n }\n return '';\n };\n\n // merge realtimetexts and captions into one array based on timestamp\n // Combine captions and realTimeTexts into one list\n const combinedList: (CaptionsInformation | RealTimeTextInformation)[] = useMemo(() => {\n return sortCaptionsAndRealTimeTexts(captions, realTimeTexts?.completedMessages ?? []);\n }, [captions, realTimeTexts?.completedMessages]);\n const mergedCaptions: (CaptionsInformation | RealTimeTextInformation)[] = useMemo(() => {\n return [...combinedList, ...(realTimeTexts?.currentInProgress ?? []), realTimeTexts?.myInProgress].slice(-50) as (CaptionsInformation | RealTimeTextInformation)[];\n }, [combinedList, realTimeTexts]);\n const scrollToBottom = (): void => {\n if (captionsScrollDivRef.current) {\n captionsScrollDivRef.current.scrollTop = captionsScrollDivRef.current.scrollHeight;\n }\n };\n const handleScrollToTheBottom = useCallback((): void => {\n if (!captionsScrollDivRef.current) {\n return;\n }\n const atBottom = Math.ceil(captionsScrollDivRef.current.scrollTop) >= captionsScrollDivRef.current.scrollHeight - captionsScrollDivRef.current.clientHeight - SCROLL_OFFSET_ALLOWANCE;\n setIsAtBottomOfScroll(atBottom);\n }, []);\n useEffect(() => {\n const captionsScrollDiv = captionsScrollDivRef.current;\n captionsScrollDiv?.addEventListener('scroll', handleScrollToTheBottom);\n return () => {\n captionsScrollDiv?.removeEventListener('scroll', handleScrollToTheBottom);\n };\n }, [handleScrollToTheBottom, isCaptionsOn, isRealTimeTextOn]);\n useEffect(() => {\n // only auto scroll to bottom is already is at bottom of scroll before new caption comes in\n if (isAtBottomOfScroll) {\n scrollToBottom();\n }\n }, [captions, realTimeTexts, isAtBottomOfScroll]);\n const [textFieldValue, setTextFieldValue] = useState<string>('');\n useEffect(() => {\n // if the latest real time text sent by myself is final, clear the text field\n if (latestLocalRealTimeText && !latestLocalRealTimeText.isTyping) {\n setTextFieldValue('');\n }\n }, [latestLocalRealTimeText]);\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>): void => {\n if (event.key === 'Enter') {\n event.preventDefault();\n if (textFieldValue && onSendRealTimeText) {\n onSendRealTimeText(textFieldValue, true);\n setTextFieldValue('');\n }\n }\n };\n const realTimeTextDisclosureBannerStrings = {\n bannerTitle: strings.realTimeTextBannerTitle ?? '',\n bannerContent: strings.realTimeTextBannerContent ?? '',\n bannerLinkLabel: strings.realTimeTextBannerLinkLabel ?? ''\n };\n const captionsAndRealTimeText = (): JSX.Element => {\n return <>\n {mergedCaptions.filter(caption => caption).map(caption => {\n if ('message' in caption) {\n return <div key={`RealTimeText - ${caption.id}`} className={captionContainerClassName} data-is-focusable={true}>\n <RealTimeText {...caption as RealTimeTextInformation} />\n </div>;\n }\n return <div key={`Captions - ${caption.id}`} className={captionContainerClassName} data-is-focusable={true}>\n <_Caption {...caption as CaptionsInformation} onRenderAvatar={onRenderAvatar} />\n </div>;\n })}\n </>;\n };\n return <>\n {(startCaptionsInProgress || isCaptionsOn || isRealTimeTextOn) && <FocusZone shouldFocusOnMount className={captionsContainerClassName} data-ui-id=\"captions-banner\">\n <_CaptionsAndRTTAnnouncer captions={captions} realTimeTexts={realTimeTexts} realTimeTextTitle={strings.realTimeTextBannerTitle ?? ''} captionsTitle={strings.captionsOnlyContainerTitle ?? ''} />\n {(isCaptionsOn || isRealTimeTextOn) && formFactor === 'compact' && <Stack horizontal horizontalAlign=\"space-between\" verticalAlign=\"center\" className={bannerTitleContainerClassName}>\n <Text className={titleClassName}>{getTitle()}</Text>\n <IconButton data-ui-id=\"captions-banner-expand-icon\" iconProps={{\n iconName: expandBannerHeight ? 'MinimizeIcon' : 'ExpandIcon'\n }} ariaLabel={expandBannerHeight ? strings.minimizeButtonAriaLabel : strings.expandButtonAriaLabel} onClick={() => setExpandBannerHeight(!expandBannerHeight)} styles={expandIconClassName(theme)} />\n </Stack>}\n {(isCaptionsOn || isRealTimeTextOn) && <div ref={captionsScrollDivRef} className={captionsOptions?.height === 'full' ? captionsBannerFullHeightClassName(theme) : captionsBannerClassName(formFactor, expandBannerHeight)} data-ui-id=\"captions-banner-inner\" data-is-focusable={true}>\n {isRealTimeTextOn && <Stack className={rttDisclosureBannerClassName()}>\n <_RTTDisclosureBanner strings={realTimeTextDisclosureBannerStrings} />\n </Stack>}\n {captionsAndRealTimeText()}\n </div>}\n {isRealTimeTextOn && onSendRealTimeText && <TextField styles={realTimeTextInputBoxStyles(theme)} placeholder={strings.realTimeTextInputBoxDefaultText} value={textFieldValue} onKeyDown={handleKeyDown} onChange={(_, newValue) => {\n setTextFieldValue(newValue || '');\n onSendRealTimeText(newValue || '', false);\n }} maxLength={2000} errorMessage={textFieldValue.length >= 2000 ? strings.realTimeTextInputErrorMessage : undefined} />}\n {!isCaptionsOn && !isRealTimeTextOn && <Stack verticalAlign=\"center\" styles={captionsOptions?.height === 'full' ? loadingBannerFullHeightStyles(theme) : loadingBannerStyles(formFactor)} data-is-focusable={true}>\n <Spinner label={strings?.captionsBannerSpinnerText} ariaLive=\"assertive\" labelPosition=\"right\" />\n </Stack>}\n </FocusZone>}\n </>;\n};"]}
@@ -40,8 +40,7 @@ export const CaptionsSettingsModal = (props) => {
40
40
  text: currentSpokenLanguage || defaultSpokenLanguage
41
41
  });
42
42
  const [selectedCaptionLanguage, setSelectedCaptionLanguage] = useState({
43
- key: currentCaptionLanguage ||
44
- _spokenLanguageToCaptionLanguage[selectedSpokenLanguage.key],
43
+ key: currentCaptionLanguage || _spokenLanguageToCaptionLanguage[selectedSpokenLanguage.key],
45
44
  text: currentCaptionLanguage || _spokenLanguageToCaptionLanguage[selectedSpokenLanguage.key]
46
45
  });
47
46
  useEffect(() => {
@@ -68,21 +67,14 @@ export const CaptionsSettingsModal = (props) => {
68
67
  }
69
68
  }
70
69
  else {
71
- yield onStartCaptions({ spokenLanguage: spokenLanguageCode });
70
+ yield onStartCaptions({
71
+ spokenLanguage: spokenLanguageCode
72
+ });
72
73
  }
73
74
  onDismiss();
74
- }), [
75
- onDismiss,
76
- isCaptionsFeatureActive,
77
- onSetSpokenLanguage,
78
- onSetCaptionLanguage,
79
- onStartCaptions,
80
- selectedSpokenLanguage.key,
81
- selectedCaptionLanguage.key,
82
- changeCaptionLanguage
83
- ]);
75
+ }), [onDismiss, isCaptionsFeatureActive, onSetSpokenLanguage, onSetCaptionLanguage, onStartCaptions, selectedSpokenLanguage.key, selectedCaptionLanguage.key, changeCaptionLanguage]);
84
76
  const spokenLanguageDropdownOptions = useMemo(() => {
85
- return supportedSpokenLanguages.map((languageCode) => {
77
+ return supportedSpokenLanguages.map(languageCode => {
86
78
  return {
87
79
  key: languageCode,
88
80
  text: spokenLanguageStrings ? spokenLanguageStrings[languageCode] : languageCode
@@ -90,7 +82,7 @@ export const CaptionsSettingsModal = (props) => {
90
82
  });
91
83
  }, [supportedSpokenLanguages, spokenLanguageStrings]);
92
84
  const captionLanguageDropdownOptions = useMemo(() => {
93
- return supportedCaptionLanguages === null || supportedCaptionLanguages === void 0 ? void 0 : supportedCaptionLanguages.map((languageCode) => {
85
+ return supportedCaptionLanguages === null || supportedCaptionLanguages === void 0 ? void 0 : supportedCaptionLanguages.map(languageCode => {
94
86
  return {
95
87
  key: languageCode,
96
88
  text: captionLanguageStrings ? captionLanguageStrings[languageCode] : languageCode
@@ -99,11 +91,11 @@ export const CaptionsSettingsModal = (props) => {
99
91
  }, [supportedCaptionLanguages, captionLanguageStrings]);
100
92
  const sortedSpokenLanguageDropdownOptions = useMemo(() => {
101
93
  const copy = [...spokenLanguageDropdownOptions];
102
- return copy.sort((a, b) => (a.text > b.text ? 1 : -1));
94
+ return copy.sort((a, b) => a.text > b.text ? 1 : -1);
103
95
  }, [spokenLanguageDropdownOptions]);
104
96
  const sortedCaptionLanguageDropdownOptions = useMemo(() => {
105
97
  const copy = [...(captionLanguageDropdownOptions !== null && captionLanguageDropdownOptions !== void 0 ? captionLanguageDropdownOptions : [])];
106
- return copy.sort((a, b) => (a.text > b.text ? 1 : -1));
98
+ return copy.sort((a, b) => a.text > b.text ? 1 : -1);
107
99
  }, [captionLanguageDropdownOptions]);
108
100
  const onSpokenLanguageChange = (event, option) => {
109
101
  if (option) {
@@ -121,37 +113,27 @@ export const CaptionsSettingsModal = (props) => {
121
113
  const CaptionsSettingsComponent = useCallback(() => {
122
114
  const placeholderSpokenLanguage = currentSpokenLanguage !== null && currentSpokenLanguage !== void 0 ? currentSpokenLanguage : defaultSpokenLanguage;
123
115
  const placeholderCaptionLanguage = currentCaptionLanguage !== null && currentCaptionLanguage !== void 0 ? currentCaptionLanguage : _spokenLanguageToCaptionLanguage[placeholderSpokenLanguage];
124
- return (React.createElement(Stack, null,
116
+ return React.createElement(Stack, null,
125
117
  React.createElement(Dropdown, { label: strings === null || strings === void 0 ? void 0 : strings.captionsSettingsSpokenLanguageDropdownLabel, selectedKey: selectedSpokenLanguage ? selectedSpokenLanguage.key : undefined, onChange: (ev, option) => onSpokenLanguageChange(ev, option), calloutProps: calloutProps, placeholder: placeholderSpokenLanguage, options: sortedSpokenLanguageDropdownOptions, styles: dropdownStyles }),
126
118
  React.createElement(Text, { className: dropdownInfoTextStyle(theme) }, strings === null || strings === void 0 ? void 0 : strings.captionsSettingsSpokenLanguageDropdownInfoText),
127
- changeCaptionLanguage && (React.createElement(React.Fragment, null,
119
+ changeCaptionLanguage && React.createElement(React.Fragment, null,
128
120
  React.createElement(Dropdown, { label: strings === null || strings === void 0 ? void 0 : strings.captionsSettingsCaptionLanguageDropdownLabel, selectedKey: selectedCaptionLanguage ? selectedCaptionLanguage.key : undefined, onChange: (ev, option) => onCaptionLanguageChange(ev, option), calloutProps: calloutProps, placeholder: placeholderCaptionLanguage, options: sortedCaptionLanguageDropdownOptions, styles: dropdownStyles }),
129
- React.createElement(Text, { className: dropdownInfoTextStyle(theme) }, strings === null || strings === void 0 ? void 0 : strings.captionsSettingsCaptionLanguageDropdownInfoText)))));
130
- }, [
131
- calloutProps,
132
- currentSpokenLanguage,
133
- currentCaptionLanguage,
134
- sortedSpokenLanguageDropdownOptions,
135
- sortedCaptionLanguageDropdownOptions,
136
- selectedCaptionLanguage,
137
- selectedSpokenLanguage,
138
- strings === null || strings === void 0 ? void 0 : strings.captionsSettingsSpokenLanguageDropdownInfoText,
139
- strings === null || strings === void 0 ? void 0 : strings.captionsSettingsCaptionLanguageDropdownLabel,
140
- strings === null || strings === void 0 ? void 0 : strings.captionsSettingsSpokenLanguageDropdownLabel,
141
- strings === null || strings === void 0 ? void 0 : strings.captionsSettingsCaptionLanguageDropdownInfoText,
142
- theme,
143
- changeCaptionLanguage
144
- ]);
121
+ React.createElement(Text, { className: dropdownInfoTextStyle(theme) }, strings === null || strings === void 0 ? void 0 : strings.captionsSettingsCaptionLanguageDropdownInfoText)));
122
+ }, [calloutProps, currentSpokenLanguage, currentCaptionLanguage, sortedSpokenLanguageDropdownOptions, sortedCaptionLanguageDropdownOptions, selectedCaptionLanguage, selectedSpokenLanguage, strings === null || strings === void 0 ? void 0 : strings.captionsSettingsSpokenLanguageDropdownInfoText, strings === null || strings === void 0 ? void 0 : strings.captionsSettingsCaptionLanguageDropdownLabel, strings === null || strings === void 0 ? void 0 : strings.captionsSettingsSpokenLanguageDropdownLabel, strings === null || strings === void 0 ? void 0 : strings.captionsSettingsCaptionLanguageDropdownInfoText, theme, changeCaptionLanguage]);
145
123
  const CaptionsSettingsModalStyle = useMemo(() => themedCaptionsSettingsModalStyle(theme), [theme]);
146
- return (React.createElement(React.Fragment, null, React.createElement(Modal, { titleAriaId: strings === null || strings === void 0 ? void 0 : strings.captionsSettingsModalAriaLabel, isOpen: showModal, onDismiss: onDismiss, isBlocking: true, styles: CaptionsSettingsModalStyle },
124
+ return React.createElement(React.Fragment, null, React.createElement(Modal, { titleAriaId: strings === null || strings === void 0 ? void 0 : strings.captionsSettingsModalAriaLabel, isOpen: showModal, onDismiss: onDismiss, isBlocking: true, styles: CaptionsSettingsModalStyle },
147
125
  React.createElement(Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center", className: titleContainerClassName },
148
126
  React.createElement(Text, { className: titleClassName, role: "heading", "aria-level": 1 }, strings === null || strings === void 0 ? void 0 : strings.captionsSettingsModalTitle),
149
- React.createElement(IconButton, { iconProps: { iconName: 'Cancel' }, ariaLabel: strings === null || strings === void 0 ? void 0 : strings.captionsSettingsCloseModalButtonAriaLabel, onClick: onDismiss, style: { color: theme.palette.black } })),
127
+ React.createElement(IconButton, { iconProps: {
128
+ iconName: 'Cancel'
129
+ }, ariaLabel: strings === null || strings === void 0 ? void 0 : strings.captionsSettingsCloseModalButtonAriaLabel, onClick: onDismiss, style: {
130
+ color: theme.palette.black
131
+ } })),
150
132
  React.createElement(Stack, { className: dropdownContainerClassName }, CaptionsSettingsComponent()),
151
133
  React.createElement(Stack, { horizontal: true, horizontalAlign: "end", className: buttonsContainerClassName },
152
134
  React.createElement(PrimaryButton, { styles: buttonStyles(theme), onClick: onConfirm },
153
135
  React.createElement("span", null, strings === null || strings === void 0 ? void 0 : strings.captionsSettingsConfirmButtonLabel)),
154
136
  React.createElement(DefaultButton, { onClick: onDismiss, styles: defaultButtonStyles() },
155
- React.createElement("span", null, strings === null || strings === void 0 ? void 0 : strings.captionsSettingsCancelButtonLabel))))));
137
+ React.createElement("span", null, strings === null || strings === void 0 ? void 0 : strings.captionsSettingsCancelButtonLabel)))));
156
138
  };
157
139
  //# sourceMappingURL=CaptionsSettingsModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CaptionsSettingsModal.js","sourceRoot":"","sources":["../../../../../../react-components/src/components/CaptionsSettingsModal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { useCallback } from 'react';\nimport { useMemo, useState, useEffect } from 'react';\nimport {\n IModalStyles,\n Modal,\n Stack,\n useTheme,\n Text,\n IconButton,\n Dropdown,\n IDropdownOption,\n DefaultButton,\n PrimaryButton\n} from '@fluentui/react';\n\nimport {\n buttonsContainerClassName,\n buttonStyles,\n defaultButtonStyles,\n dropdownContainerClassName,\n dropdownInfoTextStyle,\n dropdownStyles,\n themedCaptionsSettingsModalStyle,\n titleClassName,\n titleContainerClassName\n} from './styles/CaptionsSettingsModal.styles';\nimport { CaptionsOptions } from './StartCaptionsButton';\nimport { defaultSpokenLanguage } from './utils';\nimport {\n SpokenLanguageStrings,\n CaptionLanguageStrings,\n _spokenLanguageToCaptionLanguage,\n SupportedSpokenLanguage,\n SupportedCaptionLanguage,\n SpokenLanguageDropdownOptions,\n CaptionLanguageDropdownOptions\n} from '../types';\nimport { _preventDismissOnEvent } from '@internal/acs-ui-common';\nimport { useLocale } from '../localization';\n\n/**\n * @public\n * strings for captions setting modal\n */\nexport interface CaptionsSettingsModalStrings {\n /**\n * Title for the modal\n */\n captionsSettingsModalTitle?: string;\n /**\n * Label for the spoken language dropdown menu\n */\n captionsSettingsSpokenLanguageDropdownLabel?: string;\n /**\n * Label for the caption language dropdown menu\n */\n captionsSettingsCaptionLanguageDropdownLabel?: string;\n /**\n * Disclaimer for the spoken language dropdown menu\n */\n captionsSettingsSpokenLanguageDropdownInfoText?: string;\n /**\n * Disclaimer for the caption language dropdown menu\n */\n captionsSettingsCaptionLanguageDropdownInfoText?: string;\n /**\n * Label for the confirm button\n */\n captionsSettingsConfirmButtonLabel?: string;\n /**\n * Label for the cancel button\n */\n captionsSettingsCancelButtonLabel?: string;\n /**\n * Aria label for the modal\n */\n captionsSettingsModalAriaLabel?: string;\n /**\n * Aria label for the close modal button\n */\n captionsSettingsCloseModalButtonAriaLabel?: string;\n}\n\n/**\n * @public\n * CaptionsSettingsModal Component Props.\n */\nexport interface CaptionsSettingsModalProps {\n /**\n * List of supported spoken languages\n */\n supportedSpokenLanguages: SupportedSpokenLanguage[];\n /**\n * List of supported caption languages\n */\n supportedCaptionLanguages?: SupportedCaptionLanguage[];\n /**\n * Callback to set spoken language\n */\n onSetSpokenLanguage: (language: SupportedSpokenLanguage) => Promise<void>;\n /**\n * Callback to set caption language\n */\n onSetCaptionLanguage?: (language: SupportedCaptionLanguage) => Promise<void>;\n /**\n * Callback to start captions\n */\n onStartCaptions: (options?: CaptionsOptions) => Promise<void>;\n /**\n * Current spoken language\n */\n currentSpokenLanguage: SupportedSpokenLanguage;\n /**\n * Current caption language\n */\n currentCaptionLanguage?: SupportedCaptionLanguage;\n /**\n * 1 to 1 mapping between language code and language string for spoken languages\n */\n spokenLanguageStrings?: SpokenLanguageStrings;\n /**\n * 1 to 1 mapping between language code and language string for caption languages\n */\n captionLanguageStrings?: CaptionLanguageStrings;\n /**\n * Flag to indicate if captions feature is active\n */\n isCaptionsFeatureActive?: boolean;\n /**\n * Strings for the captions settings modal\n */\n strings?: CaptionsSettingsModalStrings;\n /**\n * Flag to show the modal\n */\n showModal?: boolean;\n /**\n * Callback that is triggered when the modal is dismissed\n */\n onDismissCaptionsSettings?: () => void;\n /**\n * Flag to show the caption language dropdown\n */\n changeCaptionLanguage?: boolean;\n}\n\n/**\n * @public\n * a component for setting spoken languages\n */\nexport const CaptionsSettingsModal = (props: CaptionsSettingsModalProps): JSX.Element => {\n const {\n supportedSpokenLanguages,\n supportedCaptionLanguages,\n currentSpokenLanguage,\n currentCaptionLanguage,\n isCaptionsFeatureActive,\n showModal,\n onSetSpokenLanguage,\n onSetCaptionLanguage,\n onDismissCaptionsSettings,\n onStartCaptions,\n changeCaptionLanguage = false\n } = props;\n const theme = useTheme();\n const localeStrings = useLocale().strings.captionsSettingsModal;\n const localSpokenLanguageStrings = useLocale().strings.spokenLanguages;\n const localCaptionLanguageStrings = useLocale().strings.captionLanguages;\n const strings = { ...localeStrings, ...props.strings };\n const spokenLanguageStrings = useMemo(() => {\n return { ...localSpokenLanguageStrings, ...props.spokenLanguageStrings };\n }, [localSpokenLanguageStrings, props.spokenLanguageStrings]);\n const captionLanguageStrings = useMemo(() => {\n return { ...localCaptionLanguageStrings, ...props.captionLanguageStrings };\n }, [localCaptionLanguageStrings, props.captionLanguageStrings]);\n const [hasSetSpokenLanguage, setHasSetSpokenLanguage] = useState(false);\n\n const [selectedSpokenLanguage, setSelectedSpokenLanguage] = useState<SpokenLanguageDropdownOptions>({\n key: currentSpokenLanguage || defaultSpokenLanguage,\n text: currentSpokenLanguage || defaultSpokenLanguage\n });\n\n const [selectedCaptionLanguage, setSelectedCaptionLanguage] = useState<CaptionLanguageDropdownOptions>({\n key:\n currentCaptionLanguage ||\n (_spokenLanguageToCaptionLanguage[selectedSpokenLanguage.key] as keyof CaptionLanguageStrings),\n text: currentCaptionLanguage || _spokenLanguageToCaptionLanguage[selectedSpokenLanguage.key]\n });\n\n useEffect(() => {\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 if (isCaptionsFeatureActive && !hasSetSpokenLanguage) {\n onSetSpokenLanguage(selectedSpokenLanguage.key);\n // we only need to call set spoken language once when first starting captions\n setHasSetSpokenLanguage(true);\n }\n }, [isCaptionsFeatureActive, onSetSpokenLanguage, selectedSpokenLanguage.key, hasSetSpokenLanguage]);\n\n const onDismiss = useCallback((): void => {\n if (onDismissCaptionsSettings) {\n onDismissCaptionsSettings();\n }\n }, [onDismissCaptionsSettings]);\n\n const onConfirm = useCallback(async (): Promise<void> => {\n const spokenLanguageCode = selectedSpokenLanguage.key;\n const captionLanguageCode = selectedCaptionLanguage.key;\n if (isCaptionsFeatureActive) {\n onSetSpokenLanguage(spokenLanguageCode);\n if (changeCaptionLanguage) {\n onSetCaptionLanguage && onSetCaptionLanguage(captionLanguageCode);\n }\n } else {\n await onStartCaptions({ spokenLanguage: spokenLanguageCode });\n }\n onDismiss();\n }, [\n onDismiss,\n isCaptionsFeatureActive,\n onSetSpokenLanguage,\n onSetCaptionLanguage,\n onStartCaptions,\n selectedSpokenLanguage.key,\n selectedCaptionLanguage.key,\n changeCaptionLanguage\n ]);\n\n const spokenLanguageDropdownOptions: IDropdownOption[] = useMemo(() => {\n return supportedSpokenLanguages.map((languageCode) => {\n return {\n key: languageCode,\n text: spokenLanguageStrings ? spokenLanguageStrings[languageCode] : languageCode\n };\n });\n }, [supportedSpokenLanguages, spokenLanguageStrings]);\n\n const captionLanguageDropdownOptions: IDropdownOption[] | undefined = useMemo(() => {\n return supportedCaptionLanguages?.map((languageCode) => {\n return {\n key: languageCode,\n text: captionLanguageStrings ? captionLanguageStrings[languageCode] : languageCode\n };\n });\n }, [supportedCaptionLanguages, captionLanguageStrings]);\n\n const sortedSpokenLanguageDropdownOptions: IDropdownOption[] = useMemo(() => {\n const copy = [...spokenLanguageDropdownOptions];\n return copy.sort((a, b) => (a.text > b.text ? 1 : -1));\n }, [spokenLanguageDropdownOptions]);\n\n const sortedCaptionLanguageDropdownOptions: IDropdownOption[] = useMemo(() => {\n const copy = [...(captionLanguageDropdownOptions ?? [])];\n return copy.sort((a, b) => (a.text > b.text ? 1 : -1));\n }, [captionLanguageDropdownOptions]);\n\n const onSpokenLanguageChange = (\n event: React.FormEvent<HTMLDivElement>,\n option: SpokenLanguageDropdownOptions | undefined\n ): void => {\n if (option) {\n setSelectedSpokenLanguage(option);\n }\n };\n\n const onCaptionLanguageChange = (\n event: React.FormEvent<HTMLDivElement>,\n option: CaptionLanguageDropdownOptions | undefined\n ): void => {\n if (option) {\n setSelectedCaptionLanguage(option);\n }\n };\n\n const calloutProps = useMemo(\n () => ({\n preventDismissOnEvent: _preventDismissOnEvent\n }),\n []\n );\n\n const CaptionsSettingsComponent = useCallback((): JSX.Element => {\n const placeholderSpokenLanguage = currentSpokenLanguage ?? defaultSpokenLanguage;\n const placeholderCaptionLanguage =\n currentCaptionLanguage ?? _spokenLanguageToCaptionLanguage[placeholderSpokenLanguage];\n return (\n <Stack>\n <Dropdown\n label={strings?.captionsSettingsSpokenLanguageDropdownLabel}\n selectedKey={selectedSpokenLanguage ? selectedSpokenLanguage.key : undefined}\n onChange={(ev, option) => onSpokenLanguageChange(ev, option as SpokenLanguageDropdownOptions)}\n calloutProps={calloutProps}\n placeholder={placeholderSpokenLanguage}\n options={sortedSpokenLanguageDropdownOptions}\n styles={dropdownStyles}\n />\n <Text className={dropdownInfoTextStyle(theme)}>{strings?.captionsSettingsSpokenLanguageDropdownInfoText}</Text>\n {changeCaptionLanguage && (\n <>\n <Dropdown\n label={strings?.captionsSettingsCaptionLanguageDropdownLabel}\n selectedKey={selectedCaptionLanguage ? selectedCaptionLanguage.key : undefined}\n onChange={(ev, option) => onCaptionLanguageChange(ev, option as CaptionLanguageDropdownOptions)}\n calloutProps={calloutProps}\n placeholder={placeholderCaptionLanguage}\n options={sortedCaptionLanguageDropdownOptions}\n styles={dropdownStyles}\n />\n <Text className={dropdownInfoTextStyle(theme)}>\n {strings?.captionsSettingsCaptionLanguageDropdownInfoText}\n </Text>\n </>\n )}\n </Stack>\n );\n }, [\n calloutProps,\n currentSpokenLanguage,\n currentCaptionLanguage,\n sortedSpokenLanguageDropdownOptions,\n sortedCaptionLanguageDropdownOptions,\n selectedCaptionLanguage,\n selectedSpokenLanguage,\n strings?.captionsSettingsSpokenLanguageDropdownInfoText,\n strings?.captionsSettingsCaptionLanguageDropdownLabel,\n strings?.captionsSettingsSpokenLanguageDropdownLabel,\n strings?.captionsSettingsCaptionLanguageDropdownInfoText,\n theme,\n changeCaptionLanguage\n ]);\n\n const CaptionsSettingsModalStyle: Partial<IModalStyles> = useMemo(\n () => themedCaptionsSettingsModalStyle(theme),\n [theme]\n );\n\n return (\n <>\n {\n <Modal\n titleAriaId={strings?.captionsSettingsModalAriaLabel}\n isOpen={showModal}\n onDismiss={onDismiss}\n isBlocking={true}\n styles={CaptionsSettingsModalStyle}\n >\n <Stack horizontal horizontalAlign=\"space-between\" verticalAlign=\"center\" className={titleContainerClassName}>\n <Text className={titleClassName} role=\"heading\" aria-level={1}>\n {strings?.captionsSettingsModalTitle}\n </Text>\n <IconButton\n iconProps={{ iconName: 'Cancel' }}\n ariaLabel={strings?.captionsSettingsCloseModalButtonAriaLabel}\n onClick={onDismiss}\n style={{ color: theme.palette.black }}\n />\n </Stack>\n\n <Stack className={dropdownContainerClassName}>{CaptionsSettingsComponent()}</Stack>\n <Stack horizontal horizontalAlign=\"end\" className={buttonsContainerClassName}>\n <PrimaryButton styles={buttonStyles(theme)} onClick={onConfirm}>\n <span>{strings?.captionsSettingsConfirmButtonLabel}</span>\n </PrimaryButton>\n <DefaultButton onClick={onDismiss} styles={defaultButtonStyles()}>\n <span>{strings?.captionsSettingsCancelButtonLabel}</span>\n </DefaultButton>\n </Stack>\n </Modal>\n }\n </>\n );\n};\n"]}
1
+ {"version":3,"file":"CaptionsSettingsModal.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/components/CaptionsSettingsModal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { useCallback } from 'react';\nimport { useMemo, useState, useEffect } from 'react';\nimport { IModalStyles, Modal, Stack, useTheme, Text, IconButton, Dropdown, IDropdownOption, DefaultButton, PrimaryButton } from '@fluentui/react';\nimport { buttonsContainerClassName, buttonStyles, defaultButtonStyles, dropdownContainerClassName, dropdownInfoTextStyle, dropdownStyles, themedCaptionsSettingsModalStyle, titleClassName, titleContainerClassName } from './styles/CaptionsSettingsModal.styles';\nimport { CaptionsOptions } from './StartCaptionsButton';\nimport { defaultSpokenLanguage } from './utils';\nimport { SpokenLanguageStrings, CaptionLanguageStrings, _spokenLanguageToCaptionLanguage, SupportedSpokenLanguage, SupportedCaptionLanguage, SpokenLanguageDropdownOptions, CaptionLanguageDropdownOptions } from '../types';\nimport { _preventDismissOnEvent } from '@internal/acs-ui-common';\nimport { useLocale } from '../localization';\n\n/**\n * @public\n * strings for captions setting modal\n */\nexport interface CaptionsSettingsModalStrings {\n /**\n * Title for the modal\n */\n captionsSettingsModalTitle?: string;\n /**\n * Label for the spoken language dropdown menu\n */\n captionsSettingsSpokenLanguageDropdownLabel?: string;\n /**\n * Label for the caption language dropdown menu\n */\n captionsSettingsCaptionLanguageDropdownLabel?: string;\n /**\n * Disclaimer for the spoken language dropdown menu\n */\n captionsSettingsSpokenLanguageDropdownInfoText?: string;\n /**\n * Disclaimer for the caption language dropdown menu\n */\n captionsSettingsCaptionLanguageDropdownInfoText?: string;\n /**\n * Label for the confirm button\n */\n captionsSettingsConfirmButtonLabel?: string;\n /**\n * Label for the cancel button\n */\n captionsSettingsCancelButtonLabel?: string;\n /**\n * Aria label for the modal\n */\n captionsSettingsModalAriaLabel?: string;\n /**\n * Aria label for the close modal button\n */\n captionsSettingsCloseModalButtonAriaLabel?: string;\n}\n\n/**\n * @public\n * CaptionsSettingsModal Component Props.\n */\nexport interface CaptionsSettingsModalProps {\n /**\n * List of supported spoken languages\n */\n supportedSpokenLanguages: SupportedSpokenLanguage[];\n /**\n * List of supported caption languages\n */\n supportedCaptionLanguages?: SupportedCaptionLanguage[];\n /**\n * Callback to set spoken language\n */\n onSetSpokenLanguage: (language: SupportedSpokenLanguage) => Promise<void>;\n /**\n * Callback to set caption language\n */\n onSetCaptionLanguage?: (language: SupportedCaptionLanguage) => Promise<void>;\n /**\n * Callback to start captions\n */\n onStartCaptions: (options?: CaptionsOptions) => Promise<void>;\n /**\n * Current spoken language\n */\n currentSpokenLanguage: SupportedSpokenLanguage;\n /**\n * Current caption language\n */\n currentCaptionLanguage?: SupportedCaptionLanguage;\n /**\n * 1 to 1 mapping between language code and language string for spoken languages\n */\n spokenLanguageStrings?: SpokenLanguageStrings;\n /**\n * 1 to 1 mapping between language code and language string for caption languages\n */\n captionLanguageStrings?: CaptionLanguageStrings;\n /**\n * Flag to indicate if captions feature is active\n */\n isCaptionsFeatureActive?: boolean;\n /**\n * Strings for the captions settings modal\n */\n strings?: CaptionsSettingsModalStrings;\n /**\n * Flag to show the modal\n */\n showModal?: boolean;\n /**\n * Callback that is triggered when the modal is dismissed\n */\n onDismissCaptionsSettings?: () => void;\n /**\n * Flag to show the caption language dropdown\n */\n changeCaptionLanguage?: boolean;\n}\n\n/**\n * @public\n * a component for setting spoken languages\n */\nexport const CaptionsSettingsModal = (props: CaptionsSettingsModalProps): JSX.Element => {\n const {\n supportedSpokenLanguages,\n supportedCaptionLanguages,\n currentSpokenLanguage,\n currentCaptionLanguage,\n isCaptionsFeatureActive,\n showModal,\n onSetSpokenLanguage,\n onSetCaptionLanguage,\n onDismissCaptionsSettings,\n onStartCaptions,\n changeCaptionLanguage = false\n } = props;\n const theme = useTheme();\n const localeStrings = useLocale().strings.captionsSettingsModal;\n const localSpokenLanguageStrings = useLocale().strings.spokenLanguages;\n const localCaptionLanguageStrings = useLocale().strings.captionLanguages;\n const strings = {\n ...localeStrings,\n ...props.strings\n };\n const spokenLanguageStrings = useMemo(() => {\n return {\n ...localSpokenLanguageStrings,\n ...props.spokenLanguageStrings\n };\n }, [localSpokenLanguageStrings, props.spokenLanguageStrings]);\n const captionLanguageStrings = useMemo(() => {\n return {\n ...localCaptionLanguageStrings,\n ...props.captionLanguageStrings\n };\n }, [localCaptionLanguageStrings, props.captionLanguageStrings]);\n const [hasSetSpokenLanguage, setHasSetSpokenLanguage] = useState(false);\n const [selectedSpokenLanguage, setSelectedSpokenLanguage] = useState<SpokenLanguageDropdownOptions>({\n key: currentSpokenLanguage || defaultSpokenLanguage,\n text: currentSpokenLanguage || defaultSpokenLanguage\n });\n const [selectedCaptionLanguage, setSelectedCaptionLanguage] = useState<CaptionLanguageDropdownOptions>({\n key: currentCaptionLanguage || _spokenLanguageToCaptionLanguage[selectedSpokenLanguage.key] as keyof CaptionLanguageStrings,\n text: currentCaptionLanguage || _spokenLanguageToCaptionLanguage[selectedSpokenLanguage.key]\n });\n useEffect(() => {\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 if (isCaptionsFeatureActive && !hasSetSpokenLanguage) {\n onSetSpokenLanguage(selectedSpokenLanguage.key);\n // we only need to call set spoken language once when first starting captions\n setHasSetSpokenLanguage(true);\n }\n }, [isCaptionsFeatureActive, onSetSpokenLanguage, selectedSpokenLanguage.key, hasSetSpokenLanguage]);\n const onDismiss = useCallback((): void => {\n if (onDismissCaptionsSettings) {\n onDismissCaptionsSettings();\n }\n }, [onDismissCaptionsSettings]);\n const onConfirm = useCallback(async (): Promise<void> => {\n const spokenLanguageCode = selectedSpokenLanguage.key;\n const captionLanguageCode = selectedCaptionLanguage.key;\n if (isCaptionsFeatureActive) {\n onSetSpokenLanguage(spokenLanguageCode);\n if (changeCaptionLanguage) {\n onSetCaptionLanguage && onSetCaptionLanguage(captionLanguageCode);\n }\n } else {\n await onStartCaptions({\n spokenLanguage: spokenLanguageCode\n });\n }\n onDismiss();\n }, [onDismiss, isCaptionsFeatureActive, onSetSpokenLanguage, onSetCaptionLanguage, onStartCaptions, selectedSpokenLanguage.key, selectedCaptionLanguage.key, changeCaptionLanguage]);\n const spokenLanguageDropdownOptions: IDropdownOption[] = useMemo(() => {\n return supportedSpokenLanguages.map(languageCode => {\n return {\n key: languageCode,\n text: spokenLanguageStrings ? spokenLanguageStrings[languageCode] : languageCode\n };\n });\n }, [supportedSpokenLanguages, spokenLanguageStrings]);\n const captionLanguageDropdownOptions: IDropdownOption[] | undefined = useMemo(() => {\n return supportedCaptionLanguages?.map(languageCode => {\n return {\n key: languageCode,\n text: captionLanguageStrings ? captionLanguageStrings[languageCode] : languageCode\n };\n });\n }, [supportedCaptionLanguages, captionLanguageStrings]);\n const sortedSpokenLanguageDropdownOptions: IDropdownOption[] = useMemo(() => {\n const copy = [...spokenLanguageDropdownOptions];\n return copy.sort((a, b) => a.text > b.text ? 1 : -1);\n }, [spokenLanguageDropdownOptions]);\n const sortedCaptionLanguageDropdownOptions: IDropdownOption[] = useMemo(() => {\n const copy = [...(captionLanguageDropdownOptions ?? [])];\n return copy.sort((a, b) => a.text > b.text ? 1 : -1);\n }, [captionLanguageDropdownOptions]);\n const onSpokenLanguageChange = (event: React.FormEvent<HTMLDivElement>, option: SpokenLanguageDropdownOptions | undefined): void => {\n if (option) {\n setSelectedSpokenLanguage(option);\n }\n };\n const onCaptionLanguageChange = (event: React.FormEvent<HTMLDivElement>, option: CaptionLanguageDropdownOptions | undefined): void => {\n if (option) {\n setSelectedCaptionLanguage(option);\n }\n };\n const calloutProps = useMemo(() => ({\n preventDismissOnEvent: _preventDismissOnEvent\n }), []);\n const CaptionsSettingsComponent = useCallback((): JSX.Element => {\n const placeholderSpokenLanguage = currentSpokenLanguage ?? defaultSpokenLanguage;\n const placeholderCaptionLanguage = currentCaptionLanguage ?? _spokenLanguageToCaptionLanguage[placeholderSpokenLanguage];\n return <Stack>\n <Dropdown label={strings?.captionsSettingsSpokenLanguageDropdownLabel} selectedKey={selectedSpokenLanguage ? selectedSpokenLanguage.key : undefined} onChange={(ev, option) => onSpokenLanguageChange(ev, option as SpokenLanguageDropdownOptions)} calloutProps={calloutProps} placeholder={placeholderSpokenLanguage} options={sortedSpokenLanguageDropdownOptions} styles={dropdownStyles} />\n <Text className={dropdownInfoTextStyle(theme)}>{strings?.captionsSettingsSpokenLanguageDropdownInfoText}</Text>\n {changeCaptionLanguage && <>\n <Dropdown label={strings?.captionsSettingsCaptionLanguageDropdownLabel} selectedKey={selectedCaptionLanguage ? selectedCaptionLanguage.key : undefined} onChange={(ev, option) => onCaptionLanguageChange(ev, option as CaptionLanguageDropdownOptions)} calloutProps={calloutProps} placeholder={placeholderCaptionLanguage} options={sortedCaptionLanguageDropdownOptions} styles={dropdownStyles} />\n <Text className={dropdownInfoTextStyle(theme)}>\n {strings?.captionsSettingsCaptionLanguageDropdownInfoText}\n </Text>\n </>}\n </Stack>;\n }, [calloutProps, currentSpokenLanguage, currentCaptionLanguage, sortedSpokenLanguageDropdownOptions, sortedCaptionLanguageDropdownOptions, selectedCaptionLanguage, selectedSpokenLanguage, strings?.captionsSettingsSpokenLanguageDropdownInfoText, strings?.captionsSettingsCaptionLanguageDropdownLabel, strings?.captionsSettingsSpokenLanguageDropdownLabel, strings?.captionsSettingsCaptionLanguageDropdownInfoText, theme, changeCaptionLanguage]);\n const CaptionsSettingsModalStyle: Partial<IModalStyles> = useMemo(() => themedCaptionsSettingsModalStyle(theme), [theme]);\n return <>\n {<Modal titleAriaId={strings?.captionsSettingsModalAriaLabel} isOpen={showModal} onDismiss={onDismiss} isBlocking={true} styles={CaptionsSettingsModalStyle}>\n <Stack horizontal horizontalAlign=\"space-between\" verticalAlign=\"center\" className={titleContainerClassName}>\n <Text className={titleClassName} role=\"heading\" aria-level={1}>\n {strings?.captionsSettingsModalTitle}\n </Text>\n <IconButton iconProps={{\n iconName: 'Cancel'\n }} ariaLabel={strings?.captionsSettingsCloseModalButtonAriaLabel} onClick={onDismiss} style={{\n color: theme.palette.black\n }} />\n </Stack>\n\n <Stack className={dropdownContainerClassName}>{CaptionsSettingsComponent()}</Stack>\n <Stack horizontal horizontalAlign=\"end\" className={buttonsContainerClassName}>\n <PrimaryButton styles={buttonStyles(theme)} onClick={onConfirm}>\n <span>{strings?.captionsSettingsConfirmButtonLabel}</span>\n </PrimaryButton>\n <DefaultButton onClick={onDismiss} styles={defaultButtonStyles()}>\n <span>{strings?.captionsSettingsCancelButtonLabel}</span>\n </DefaultButton>\n </Stack>\n </Modal>}\n </>;\n};"]}