@azure/communication-react 1.11.0-alpha-202312100013 → 1.11.0-alpha-202312111717

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 (506) hide show
  1. package/dist/dist-cjs/communication-react/index.js +52 -48
  2. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  3. package/dist/dist-esm/acs-ui-common/src/MessageStatus.d.ts +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/areEqual.d.ts +3 -3
  5. package/dist/dist-esm/acs-ui-common/src/commonProperties.d.ts +2 -2
  6. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/logEvent.d.ts +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.d.ts +2 -2
  10. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/telemetry.d.ts +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  16. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +1 -1
  17. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  18. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +6 -6
  19. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  20. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.d.ts +3 -3
  21. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
  22. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.d.ts +1 -1
  23. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  24. package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js.map +1 -1
  25. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +2 -2
  26. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  27. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  28. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +2 -2
  29. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  30. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  31. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  32. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  33. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +2 -2
  34. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  36. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +1 -1
  37. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.d.ts +1 -1
  39. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  40. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts +1 -1
  41. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.d.ts +1 -1
  43. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  44. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts +1 -1
  45. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  46. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  47. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +1 -1
  48. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  49. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  50. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.d.ts +1 -1
  52. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  53. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +5 -5
  54. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +2 -2
  55. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  56. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +2 -2
  57. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  58. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +4 -4
  59. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  60. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  61. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  62. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  63. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  64. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  65. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  66. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  67. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.d.ts +1 -1
  68. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  69. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.d.ts +3 -3
  70. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  71. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js.map +1 -1
  72. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  73. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js.map +1 -1
  74. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  75. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  76. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +3 -3
  77. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  78. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.d.ts +1 -1
  79. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  80. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js.map +1 -1
  81. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +1 -1
  82. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
  83. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.d.ts +1 -1
  84. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  85. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  86. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  87. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -1
  88. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.d.ts +1 -1
  89. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  90. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.d.ts +1 -1
  91. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  92. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.d.ts +1 -1
  93. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  94. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +1 -1
  95. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  96. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  97. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.d.ts +1 -1
  98. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  99. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  100. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.d.ts +1 -1
  101. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  102. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.d.ts +1 -1
  103. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  104. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.d.ts +1 -1
  105. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  106. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.d.ts +1 -1
  107. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  108. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.d.ts +1 -1
  109. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  110. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  111. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  112. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +5 -5
  113. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  114. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +8 -6
  115. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  116. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.d.ts +3 -3
  117. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  118. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  119. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  120. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.d.ts +1 -1
  121. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  122. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  123. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.d.ts +1 -1
  124. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  125. package/dist/dist-esm/communication-react/src/mergedHooks.d.ts +5 -5
  126. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  127. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.d.ts +2 -2
  128. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js.map +1 -1
  129. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.d.ts +1 -1
  130. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js.map +1 -1
  131. package/dist/dist-esm/react-components/src/components/Announcer.d.ts +1 -1
  132. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  133. package/dist/dist-esm/react-components/src/components/CaptionsBanner.d.ts +1 -1
  134. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  135. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -1
  136. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.d.ts +1 -1
  137. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  138. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  139. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.d.ts +1 -1
  140. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  141. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.d.ts +1 -1
  142. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  143. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.d.ts +1 -1
  144. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  145. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +1 -1
  146. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  147. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +2 -2
  148. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  149. package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.js.map +1 -1
  150. package/dist/dist-esm/react-components/src/components/ChatMessage/FluentChatMessageComponentWrapper.d.ts +1 -1
  151. package/dist/dist-esm/react-components/src/components/ChatMessage/FluentChatMessageComponentWrapper.js.map +1 -1
  152. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  153. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  154. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  155. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.d.ts +2 -2
  156. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  157. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.d.ts +1 -1
  158. package/dist/dist-esm/react-components/src/components/ControlBar.d.ts +1 -1
  159. package/dist/dist-esm/react-components/src/components/ControlBarButton.d.ts +1 -1
  160. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -1
  161. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -1
  162. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.d.ts +1 -1
  163. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
  164. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +3 -3
  165. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +1 -1
  166. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +1 -1
  167. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  168. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.d.ts +1 -1
  169. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  170. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  171. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  172. package/dist/dist-esm/react-components/src/components/ErrorBar.d.ts +1 -1
  173. package/dist/dist-esm/react-components/src/components/FileCard.js +1 -1
  174. package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
  175. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
  176. package/dist/dist-esm/react-components/src/components/FileDownloadCards.d.ts +3 -3
  177. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  178. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
  179. package/dist/dist-esm/react-components/src/components/GridLayout.d.ts +2 -2
  180. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  181. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  182. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +2 -2
  183. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  184. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  185. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  186. package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +1 -1
  187. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -1
  188. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  189. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +6 -6
  190. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  191. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  192. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.d.ts +1 -1
  193. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  194. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  195. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +2 -2
  196. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  197. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  198. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.d.ts +2 -2
  199. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  200. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +1 -1
  201. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +2 -2
  202. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  203. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  204. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  205. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  206. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.d.ts +1 -1
  207. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -1
  208. package/dist/dist-esm/react-components/src/components/StreamMedia.d.ts +1 -1
  209. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  210. package/dist/dist-esm/react-components/src/components/SystemMessage.d.ts +2 -2
  211. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +1 -1
  212. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +1 -1
  213. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +6 -6
  214. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +3 -3
  215. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +1 -1
  216. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  217. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  218. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  219. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  220. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  221. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  222. package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
  223. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.d.ts +1 -1
  224. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  225. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
  226. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.d.ts +1 -1
  227. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  228. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  229. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  230. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.d.ts +1 -1
  231. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js.map +1 -1
  232. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  233. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
  234. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  235. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -1
  236. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -1
  237. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +2 -2
  238. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  239. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -1
  240. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  241. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  242. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js.map +1 -1
  243. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  244. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +3 -3
  245. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  246. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  247. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -1
  248. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  249. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -1
  250. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +1 -1
  251. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  252. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.js +1 -1
  253. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.js.map +1 -1
  254. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +1 -1
  255. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  256. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +2 -2
  257. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  258. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +1 -1
  259. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  260. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +1 -1
  261. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +3 -3
  262. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  263. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +1 -1
  264. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  265. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +1 -1
  266. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js +1 -1
  267. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js.map +1 -1
  268. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +2 -2
  269. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  270. package/dist/dist-esm/react-components/src/components/styles/v8StyleShim.js.map +1 -1
  271. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  272. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  273. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  274. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -1
  275. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js.map +1 -1
  276. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  277. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  278. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  279. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.d.ts +1 -1
  280. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  281. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +1 -1
  282. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  283. package/dist/dist-esm/react-components/src/theming/generateTheme.js.map +1 -1
  284. package/dist/dist-esm/react-components/src/theming/icons.d.ts +1 -1
  285. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  286. package/dist/dist-esm/react-components/src/theming/themeDuplicates.d.ts +2 -2
  287. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  288. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +4 -4
  289. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  290. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.d.ts +1 -1
  291. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.d.ts +1 -1
  292. package/dist/dist-esm/react-components/src/types/OnRender.d.ts +2 -2
  293. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.d.ts +4 -4
  294. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.d.ts +1 -1
  295. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +2 -2
  296. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +1 -1
  297. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  298. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  299. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +9 -9
  300. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +7 -7
  301. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  302. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +25 -25
  303. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  304. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.d.ts +1 -1
  305. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  306. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js.map +1 -1
  307. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  308. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.d.ts +2 -2
  309. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -1
  310. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.d.ts +1 -1
  311. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +1 -1
  312. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  313. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  314. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +1 -1
  315. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  316. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -1
  317. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js.map +1 -1
  318. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  319. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  320. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  321. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  322. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -1
  323. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  324. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  325. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  326. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  327. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +1 -1
  328. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  329. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  330. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
  331. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.d.ts +2 -2
  332. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  333. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -1
  334. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js.map +1 -1
  335. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  336. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  337. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  338. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  339. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  340. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -1
  341. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js.map +1 -1
  342. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  343. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  344. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  345. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.d.ts +1 -1
  346. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  347. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  348. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  349. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  350. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  351. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  352. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +1 -1
  353. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -1
  354. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  355. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +1 -1
  356. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  357. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  358. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.d.ts +1 -1
  359. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  360. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.d.ts +1 -1
  361. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  362. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +2 -2
  363. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  364. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +4 -4
  365. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  366. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +10 -10
  367. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  368. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  369. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  370. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  371. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +5 -5
  372. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  373. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +5 -5
  374. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  375. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +3 -3
  376. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  377. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -1
  378. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +1 -1
  379. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  380. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +1 -1
  381. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  382. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +1 -1
  383. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CapabilityChangedNotificationTracking.d.ts +1 -1
  384. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.d.ts +1 -1
  385. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  386. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.d.ts +1 -1
  387. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  388. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js.map +1 -1
  389. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  390. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +1 -1
  391. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  392. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/useConsoleErrors.js.map +1 -1
  393. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +1 -1
  394. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  395. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js.map +1 -1
  396. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  397. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.d.ts +1 -1
  398. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js +3 -3
  399. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js.map +1 -1
  400. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js.map +1 -1
  401. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +2 -2
  402. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  403. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +1 -1
  404. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  405. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  406. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  407. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  408. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.d.ts +1 -1
  409. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  410. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  411. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +1 -1
  412. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  413. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.d.ts +1 -1
  414. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  415. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts +2 -2
  416. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  417. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +1 -1
  418. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -1
  419. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +1 -1
  420. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -2
  421. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +7 -5
  422. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  423. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.d.ts +1 -1
  424. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  425. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +10 -10
  426. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  427. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.d.ts +1 -1
  428. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  429. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.d.ts +4 -4
  430. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
  431. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.d.ts +1 -1
  432. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +1 -1
  433. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  434. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  435. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.d.ts +1 -1
  436. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  437. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +6 -6
  438. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  439. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  440. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  441. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.d.ts +2 -2
  442. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  443. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  444. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  445. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -1
  446. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -1
  447. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -1
  448. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js.map +1 -1
  449. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.d.ts +1 -1
  450. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  451. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.d.ts +5 -5
  452. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  453. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  454. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -1
  455. package/dist/dist-esm/react-composites/src/composites/common/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  456. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionSettingsDrawer.js.map +1 -1
  457. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  458. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +1 -1
  459. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  460. package/dist/dist-esm/react-composites/src/composites/common/Drawer/captionSettingsDrawer.styles.js.map +1 -1
  461. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  462. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  463. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.d.ts +1 -1
  464. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +1 -1
  465. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  466. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  467. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +1 -1
  468. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +1 -1
  469. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  470. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.d.ts +2 -2
  471. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  472. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
  473. package/dist/dist-esm/react-composites/src/composites/common/adapters.d.ts +1 -1
  474. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +5 -5
  475. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  476. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.js.map +1 -1
  477. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.js.map +1 -1
  478. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.d.ts +1 -1
  479. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  480. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  481. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +2 -2
  482. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  483. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.d.ts +1 -1
  484. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  485. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/CompositeLocale.js.map +1 -1
  486. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/CompositeLocale.js.map +1 -1
  487. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/CompositeLocale.js.map +1 -1
  488. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/CompositeLocale.js.map +1 -1
  489. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/CompositeLocale.js.map +1 -1
  490. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/CompositeLocale.js.map +1 -1
  491. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/CompositeLocale.js.map +1 -1
  492. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/CompositeLocale.js.map +1 -1
  493. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  494. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/CompositeLocale.js.map +1 -1
  495. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/CompositeLocale.js.map +1 -1
  496. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/CompositeLocale.js.map +1 -1
  497. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/CompositeLocale.js.map +1 -1
  498. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/CompositeLocale.js.map +1 -1
  499. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/CompositeLocale.js.map +1 -1
  500. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/CompositeLocale.js.map +1 -1
  501. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/CompositeLocale.js.map +1 -1
  502. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/CompositeLocale.js.map +1 -1
  503. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/CompositeLocale.js.map +1 -1
  504. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/CompositeLocale.js.map +1 -1
  505. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/CompositeLocale.js.map +1 -1
  506. package/package.json +4 -2
@@ -4,7 +4,7 @@ import { BlockedMessage } from '../../types/ChatMessage';
4
4
  import { MentionDisplayOptions } from '../MentionPopover';
5
5
  import { MessageThreadStrings } from '../MessageThread';
6
6
  import { AttachmentMetadata } from '../FileDownloadCards';
7
- declare type ChatMessageContentProps = {
7
+ type ChatMessageContentProps = {
8
8
  message: ChatMessage;
9
9
  strings: MessageThreadStrings;
10
10
  mentionDisplayOptions?: MentionDisplayOptions;
@@ -12,7 +12,7 @@ declare type ChatMessageContentProps = {
12
12
  onFetchAttachments?: (attachments: AttachmentMetadata[], messageId: string) => Promise<void>;
13
13
  onInlineImageClicked?: (attachmentId: string) => void;
14
14
  };
15
- declare type BlockedMessageContentProps = {
15
+ type BlockedMessageContentProps = {
16
16
  message: BlockedMessage;
17
17
  strings: MessageThreadStrings;
18
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessageContent.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/ChatMessage/ChatMessageContent.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,uEAAuE;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,sCAAgC;AACxD,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,sBAAsB,EAA6B,MAAM,eAAe,CAAC;AAElH,OAAO,OAAO,MAAM,eAAe,CAAC;AAIpC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAIvC,uDAAuD;AACvD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAIlD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,0CAA0C;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,SAAS,MAAM,WAAW,CAAC;AA4BlC,eAAe;AACf,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAA8B,EAAe,EAAE;IAChF,QAAQ,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE;QACjC,KAAK,MAAM;YACT,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACrC,KAAK,MAAM;YACT,OAAO,4BAA4B,CAAC,KAAK,CAAC,CAAC;QAC7C,KAAK,eAAe;YAClB,OAAO,4BAA4B,CAAC,KAAK,CAAC,CAAC;QAC7C;YACE,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC7C,OAAO,yCAAK,CAAC;KAChB;AACH,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,KAAsC,EAAe,EAAE;IACzF,OAAO,CACL,+CAAqB,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAC,MAAM,gBAAa,KAAK,CAAC,SAAS;QAChF,oBAAC,WAAW,IAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAC,QAAQ,GAAG;QAC5D,KAAK,CAAC,OAAO,CACV,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,KAA8B,EAAe,EAAE;IACnF,MAAM;IACJ,uEAAuE;IACvE,0FAA0F;IAC1F,OAAO;IACP,uEAAuE;IACvE,cAAc;IACd,uEAAuE;IACvE,kBAAkB,EACnB,GAAG,KAAK,CAAC;IACV,uEAAuE;IACvE,SAAS,CAAC,GAAG,EAAE;;QACb,IAAI,CAAC,cAAc,IAAI,CAAC,kBAAkB,EAAE;YAC1C,OAAO;SACR;QACD,MAAM,WAAW,GAAG,MAAA,OAAO,CAAC,YAAY,0CAAE,MAAM,CAAC,CAAC,aAAa,EAAE,EAAE;YACjE,OAAO,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACzC,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;SACpD;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC,CAAC;IAElF,OAAO,CACL,oBAAC,0BAA0B,IACzB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,WAAW,EAAE,mBAAmB,CAAC,KAAK,CAAC,EACvC,SAAS,EAAE,sBAAsB,CAAC,KAAK,CAAC,EACxC,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAClC,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,KAA8B,EAAe,EAAE;IAC3E,OAAO,CACL,oBAAC,0BAA0B,IACzB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,WAAW,EAAE,mBAAmB,CAAC,KAAK,CAAC,EACvC,SAAS,EAAE,sBAAsB,CAAC,KAAK,CAAC,EACxC,OAAO,EACL,oBAAC,OAAO,IACN,kBAAkB,EAAE,CAAC,aAAqB,EAAE,aAAqB,EAAE,GAAW,EAAE,EAAE;gBAChF,OAAO,CACL,oBAAC,IAAI,IAAC,MAAM,EAAC,QAAQ,EAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,IAChD,aAAa,CACT,CACR,CAAC;YACJ,CAAC,IAEA,KAAK,CAAC,OAAO,CAAC,OAAO,CACd,GAEZ,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,uDAAuD;AACvD;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAiC,EAAe,EAAE;;IACtF,MAAM,IAAI,GAAgB,oBAAC,QAAQ,IAAC,QAAQ,EAAE,8BAA8B,GAAI,CAAC;IACjF,MAAM,cAAc,GAClB,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;IACzG,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;IAC9C,MAAM,sBAAsB,GAAG,kBAAkB;QAC/C,CAAC,CAAC,MAAA,KAAK,CAAC,OAAO,CAAC,QAAQ,mCAAI,KAAK,CAAC,OAAO,CAAC,sBAAsB;QAChE,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,UAAU,GACd,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAC7G,MAAM,sBAAsB,GAAG,GAAG,UAAU,IAAI,cAAc,IAAI,sBAAsB,EAAE,CAAC;IAC3F,OAAO,CACL,oBAAC,0BAA0B,IACzB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,WAAW,EAAE,sBAAsB,EACnC,SAAS,EAAE,sBAAsB,EACjC,OAAO,EACL,oBAAC,KAAK,IAAC,UAAU,QAAC,IAAI;YACnB,IAAI;YACJ,cAAc,IAAI,+BAAI,cAAc,CAAK;YACzC,kBAAkB,IAAI,CACrB,oBAAC,IAAI,IAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,IAC7C,sBAAsB,CAClB,CACR,CACK,GAEV,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,oGAAoG;AACpG,MAAM,cAAc,GAAG,CAAC,CAAS,EAAU,EAAE;IAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACnB,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,KAA8B,EAAU,EAAE;IACrE,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAElH,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAC7D,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAC5B,IAAI,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,KAA8B,EAAsB,EAAE;IACpF,iDAAiD;IAEjD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO;QAC1B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;YAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,0BAA0B,EAAE;gBACtD,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;aACzE,CAAC;YACJ,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,sBAAsB,EAAE;gBAClD,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE;gBAC5C,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;aACzE,CAAC;QACN,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,sBAAsB,EAAE,CAAC;AACxD,MAAM,iBAAiB,GAAG,MAAM,EAAE,CAAC;AAEnC,uEAAuE;AACvE,MAAM,kBAAkB,GAAG,CAAC,KAA8B,EAA6B,EAAE,CAAC,CAAC;IACzF,0BAA0B;IAC1B,iBAAiB,EAAE,CAAC,IAAI,EAAW,EAAE;;QACnC,SAAS,iBAAiB,CAAC,aAAkC;YAC3D,OAAO,aAAa,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,CAAC;QAED,+CAA+C;QAC/C,OAAO,CACL,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,IAAI,KAAK,KAAK;YACnB,IAAI,CAAC,OAAO;YACZ,IAAI,CAAC,OAAO,CAAC,EAAE;aACf,MAAA,KAAK,CAAC,OAAO,CAAC,YAAY,0CAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA,CACpD,CAAC;IACJ,CAAC;IACD,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAe,EAAE;QAClD,IAAI,CAAC,OAAO,mCAAQ,IAAI,CAAC,OAAO,KAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GAAE,CAAC;QACpE,gCAAgC;QAChC,IAAI,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,CAAC,cAAc,EAAE;YACnE,IAAI,CAAC,OAAO,mCAAQ,IAAI,CAAC,OAAO,KAAE,GAAG,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAE,CAAC;SAChF;QACD,gDAAgD;QAChD,MAAM,aAAa,GAAG,GAAS,EAAE;YAC/B,KAAK,CAAC,oBAAoB,IAAI,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC,CAAC;QACF,gDAAgD;QAChD,OAAO,CACL,4CACc,IAAI,CAAC,OAAO,CAAC,EAAE,EAC3B,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,CAAC,EACX,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE;gBACL,MAAM,EAAE,SAAS;aAClB,EACD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;gBACf,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;oBACrB,aAAa,EAAE,CAAC;iBACjB;YACH,CAAC,IAEA,sBAAsB,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAC5D,CACR,CAAC;QACF,OAAO,sBAAsB,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC;CACF,CAAC,CAAC;AAEH,0CAA0C;AAC1C,MAAM,cAAc,GAAG,CAAC,KAA8B,EAA6B,EAAE,CAAC,CAAC;IACrF,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;;QAC1B,IAAI,MAAA,KAAK,CAAC,qBAAqB,0CAAE,eAAe,EAAE;YAChD,2FAA2F;YAC3F,OAAO,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC;SACrC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;;QACpB,IAAI,MAAA,KAAK,CAAC,qBAAqB,0CAAE,eAAe,EAAE;YAChD,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,MAAM,OAAO,GAAY;gBACvB,EAAE,EAAE,EAAE;gBACN,WAAW,EAAE,MAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAAE,IAAI,mCAAI,EAAE;aAC1C,CAAC;YACF,OAAO,KAAK,CAAC,qBAAqB,CAAC,eAAe,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;SACrF;QACD,OAAO,sBAAsB,CAAC,kBAAkB,CAAC;IACnD,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,KAA8B,EAAe,EAAE;;IACzE,MAAM,KAAK,GAAgC;QACzC,uEAAuE;QACvE,kBAAkB,CAAC,KAAK,CAAC;QACzB,0CAA0C;QAC1C,cAAc,CAAC,KAAK,CAAC;QACrB;YACE,6CAA6C;YAC7C,iBAAiB,EAAE,sBAAsB,CAAC,WAAW;YACrD,WAAW,EAAE,sBAAsB,CAAC,kBAAkB;SACvD;KACF,CAAC;IAEF,OAAO,iBAAiB,CAAC,qBAAqB,CAC5C,MAAA,KAAK,CAAC,OAAO,CAAC,OAAO,mCAAI,EAAE,EAC3B,sBAAsB,CAAC,WAAW,EAClC,KAAK,CACN,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React from 'react';\n/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\nimport { useEffect } from 'react';\nimport { _formatString } from '@internal/acs-ui-common';\nimport { Parser, ProcessNodeDefinitions, IsValidNodeDefinitions, ProcessingInstructionType } from 'html-to-react';\n\nimport Linkify from 'react-linkify';\nimport { ChatMessage } from '../../types/ChatMessage';\n/* @conditional-compile-remove(data-loss-prevention) */\nimport { BlockedMessage } from '../../types/ChatMessage';\nimport { Link } from '@fluentui/react';\n/* @conditional-compile-remove(mention) */\nimport { MentionDisplayOptions, Mention } from '../MentionPopover';\n\n/* @conditional-compile-remove(data-loss-prevention) */\nimport { FontIcon, Stack } from '@fluentui/react';\nimport { MessageThreadStrings } from '../MessageThread';\n/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\nimport { AttachmentMetadata, InlineImageMetadata } from '../FileDownloadCards';\nimport LiveMessage from '../Announcer/LiveMessage';\n/* @conditional-compile-remove(mention) */\nimport { defaultOnMentionRender } from './MentionRenderer';\nimport DOMPurify from 'dompurify';\n\ntype ChatMessageContentProps = {\n message: ChatMessage;\n strings: MessageThreadStrings;\n /* @conditional-compile-remove(mention) */\n mentionDisplayOptions?: MentionDisplayOptions;\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n attachmentsMap?: Record<string, string>;\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n onFetchAttachments?: (attachments: AttachmentMetadata[], messageId: string) => Promise<void>;\n /* @conditional-compile-remove(image-gallery) */\n onInlineImageClicked?: (attachmentId: string) => void;\n};\n\n/* @conditional-compile-remove(data-loss-prevention) */\ntype BlockedMessageContentProps = {\n message: BlockedMessage;\n strings: MessageThreadStrings;\n};\n\ntype MessageContentWithLiveAriaProps = {\n message: ChatMessage | /* @conditional-compile-remove(data-loss-prevention) */ BlockedMessage;\n liveMessage: string;\n ariaLabel?: string;\n content: JSX.Element;\n};\n\n/** @private */\nexport const ChatMessageContent = (props: ChatMessageContentProps): JSX.Element => {\n switch (props.message.contentType) {\n case 'text':\n return MessageContentAsText(props);\n case 'html':\n return MessageContentAsRichTextHTML(props);\n case 'richtext/html':\n return MessageContentAsRichTextHTML(props);\n default:\n console.warn('unknown message content type');\n return <></>;\n }\n};\n\nconst MessageContentWithLiveAria = (props: MessageContentWithLiveAriaProps): JSX.Element => {\n return (\n <div data-ui-status={props.message.status} role=\"text\" aria-label={props.ariaLabel}>\n <LiveMessage message={props.liveMessage} ariaLive=\"polite\" />\n {props.content}\n </div>\n );\n};\n\nconst MessageContentAsRichTextHTML = (props: ChatMessageContentProps): JSX.Element => {\n const {\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n // message is used only in useEffect that is under teams-inline-images-and-file-sharing cc\n message,\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n attachmentsMap,\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n onFetchAttachments\n } = props;\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n useEffect(() => {\n if (!attachmentsMap || !onFetchAttachments) {\n return;\n }\n const attachments = message.inlineImages?.filter((inlinedImages) => {\n return attachmentsMap[inlinedImages.id] === undefined;\n });\n if (attachments && attachments.length > 0) {\n onFetchAttachments(attachments, message.messageId);\n }\n }, [message.inlineImages, message.messageId, onFetchAttachments, attachmentsMap]);\n\n return (\n <MessageContentWithLiveAria\n message={props.message}\n liveMessage={generateLiveMessage(props)}\n ariaLabel={messageContentAriaText(props)}\n content={processHtmlToReact(props)}\n />\n );\n};\n\nconst MessageContentAsText = (props: ChatMessageContentProps): JSX.Element => {\n return (\n <MessageContentWithLiveAria\n message={props.message}\n liveMessage={generateLiveMessage(props)}\n ariaLabel={messageContentAriaText(props)}\n content={\n <Linkify\n componentDecorator={(decoratedHref: string, decoratedText: string, key: number) => {\n return (\n <Link target=\"_blank\" href={decoratedHref} key={key}>\n {decoratedText}\n </Link>\n );\n }}\n >\n {props.message.content}\n </Linkify>\n }\n />\n );\n};\n\n/* @conditional-compile-remove(data-loss-prevention) */\n/**\n * @private\n */\nexport const BlockedMessageContent = (props: BlockedMessageContentProps): JSX.Element => {\n const Icon: JSX.Element = <FontIcon iconName={'DataLossPreventionProhibited'} />;\n const blockedMessage =\n props.message.warningText === undefined ? props.strings.blockedWarningText : props.message.warningText;\n const blockedMessageLink = props.message.link;\n const blockedMessageLinkText = blockedMessageLink\n ? props.message.linkText ?? props.strings.blockedWarningLinkText\n : '';\n\n const liveAuthor =\n props.message.mine || props.message.senderDisplayName === undefined ? '' : props.message.senderDisplayName;\n const liveBlockedWarningText = `${liveAuthor} ${blockedMessage} ${blockedMessageLinkText}`;\n return (\n <MessageContentWithLiveAria\n message={props.message}\n liveMessage={liveBlockedWarningText}\n ariaLabel={liveBlockedWarningText}\n content={\n <Stack horizontal wrap>\n {Icon}\n {blockedMessage && <p>{blockedMessage}</p>}\n {blockedMessageLink && (\n <Link target={'_blank'} href={blockedMessageLink}>\n {blockedMessageLinkText}\n </Link>\n )}\n </Stack>\n }\n />\n );\n};\n\n// https://stackoverflow.com/questions/28899298/extract-the-text-out-of-html-string-using-javascript\nconst extractContent = (s: string): string => {\n const span = document.createElement('span');\n span.innerHTML = s;\n return span.textContent || span.innerText;\n};\n\nconst generateLiveMessage = (props: ChatMessageContentProps): string => {\n const liveAuthor = _formatString(props.strings.liveAuthorIntro, { author: `${props.message.senderDisplayName}` });\n\n return `${props.message.editedOn ? props.strings.editedTag : ''} ${\n props.message.mine ? '' : liveAuthor\n } ${extractContent(props.message.content || '')} `;\n};\n\nconst messageContentAriaText = (props: ChatMessageContentProps): string | undefined => {\n // Strip all html tags from the content for aria.\n\n return props.message.content\n ? props.message.mine\n ? _formatString(props.strings.messageContentMineAriaText, {\n message: DOMPurify.sanitize(props.message.content, { ALLOWED_TAGS: [] })\n })\n : _formatString(props.strings.messageContentAriaText, {\n author: `${props.message.senderDisplayName}`,\n message: DOMPurify.sanitize(props.message.content, { ALLOWED_TAGS: [] })\n })\n : undefined;\n};\n\nconst processNodeDefinitions = ProcessNodeDefinitions();\nconst htmlToReactParser = Parser();\n\n/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\nconst processInlineImage = (props: ChatMessageContentProps): ProcessingInstructionType => ({\n // Custom <img> processing\n shouldProcessNode: (node): boolean => {\n function matchingImageNode(imageMetadata: InlineImageMetadata): boolean {\n return imageMetadata.id === node.attribs.id;\n }\n\n // Process img node with id in attachments list\n return (\n node.name &&\n node.name === 'img' &&\n node.attribs &&\n node.attribs.id &&\n props.message.inlineImages?.find(matchingImageNode)\n );\n },\n processNode: (node, children, index): JSX.Element => {\n node.attribs = { ...node.attribs, 'aria-label': node.attribs.name };\n // logic to check id in map/list\n if (props.attachmentsMap && node.attribs.id in props.attachmentsMap) {\n node.attribs = { ...node.attribs, src: props.attachmentsMap[node.attribs.id] };\n }\n /* @conditional-compile-remove(image-gallery) */\n const handleOnClick = (): void => {\n props.onInlineImageClicked && props.onInlineImageClicked(node.attribs.id);\n };\n /* @conditional-compile-remove(image-gallery) */\n return (\n <span\n data-ui-id={node.attribs.id}\n onClick={handleOnClick}\n tabIndex={0}\n role=\"button\"\n style={{\n cursor: 'pointer'\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n handleOnClick();\n }\n }}\n >\n {processNodeDefinitions.processDefaultNode(node, children, index)}\n </span>\n );\n return processNodeDefinitions.processDefaultNode(node, children, index);\n }\n});\n\n/* @conditional-compile-remove(mention) */\nconst processMention = (props: ChatMessageContentProps): ProcessingInstructionType => ({\n shouldProcessNode: (node) => {\n if (props.mentionDisplayOptions?.onRenderMention) {\n // Override the handling of the <msft-mention> tag in the HTML if there's a custom renderer\n return node.name === 'msft-mention';\n }\n return false;\n },\n processNode: (node) => {\n if (props.mentionDisplayOptions?.onRenderMention) {\n const { id } = node.attribs;\n const mention: Mention = {\n id: id,\n displayText: node.children[0]?.data ?? ''\n };\n return props.mentionDisplayOptions.onRenderMention(mention, defaultOnMentionRender);\n }\n return processNodeDefinitions.processDefaultNode;\n }\n});\n\nconst processHtmlToReact = (props: ChatMessageContentProps): JSX.Element => {\n const steps: ProcessingInstructionType[] = [\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n processInlineImage(props),\n /* @conditional-compile-remove(mention) */\n processMention(props),\n {\n // Process everything else in the default way\n shouldProcessNode: IsValidNodeDefinitions.alwaysValid,\n processNode: processNodeDefinitions.processDefaultNode\n }\n ];\n\n return htmlToReactParser.parseWithInstructions(\n props.message.content ?? '',\n IsValidNodeDefinitions.alwaysValid,\n steps\n );\n};\n\"../../../../acs-ui-common/src\""]}
1
+ {"version":3,"file":"ChatMessageContent.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/ChatMessage/ChatMessageContent.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React from 'react';\n/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\nimport { useEffect } from 'react';\nimport { _formatString } from '@internal/acs-ui-common';\nimport { Parser, ProcessNodeDefinitions, IsValidNodeDefinitions, ProcessingInstructionType } from 'html-to-react';\n\nimport Linkify from 'react-linkify';\nimport { ChatMessage } from '../../types/ChatMessage';\n/* @conditional-compile-remove(data-loss-prevention) */\nimport { BlockedMessage } from '../../types/ChatMessage';\nimport { Link } from '@fluentui/react';\n/* @conditional-compile-remove(mention) */\nimport { MentionDisplayOptions, Mention } from '../MentionPopover';\n\n/* @conditional-compile-remove(data-loss-prevention) */\nimport { FontIcon, Stack } from '@fluentui/react';\nimport { MessageThreadStrings } from '../MessageThread';\n/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\nimport { AttachmentMetadata, InlineImageMetadata } from '../FileDownloadCards';\nimport LiveMessage from '../Announcer/LiveMessage';\n/* @conditional-compile-remove(mention) */\nimport { defaultOnMentionRender } from './MentionRenderer';\nimport DOMPurify from 'dompurify';\n\ntype ChatMessageContentProps = {\n message: ChatMessage;\n strings: MessageThreadStrings;\n /* @conditional-compile-remove(mention) */\n mentionDisplayOptions?: MentionDisplayOptions;\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n attachmentsMap?: Record<string, string>;\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n onFetchAttachments?: (attachments: AttachmentMetadata[], messageId: string) => Promise<void>;\n /* @conditional-compile-remove(image-gallery) */\n onInlineImageClicked?: (attachmentId: string) => void;\n};\n\n/* @conditional-compile-remove(data-loss-prevention) */\ntype BlockedMessageContentProps = {\n message: BlockedMessage;\n strings: MessageThreadStrings;\n};\n\ntype MessageContentWithLiveAriaProps = {\n message: ChatMessage | /* @conditional-compile-remove(data-loss-prevention) */ BlockedMessage;\n liveMessage: string;\n ariaLabel?: string;\n content: JSX.Element;\n};\n\n/** @private */\nexport const ChatMessageContent = (props: ChatMessageContentProps): JSX.Element => {\n switch (props.message.contentType) {\n case 'text':\n return MessageContentAsText(props);\n case 'html':\n return MessageContentAsRichTextHTML(props);\n case 'richtext/html':\n return MessageContentAsRichTextHTML(props);\n default:\n console.warn('unknown message content type');\n return <></>;\n }\n};\n\nconst MessageContentWithLiveAria = (props: MessageContentWithLiveAriaProps): JSX.Element => {\n return (\n <div data-ui-status={props.message.status} role=\"text\" aria-label={props.ariaLabel}>\n <LiveMessage message={props.liveMessage} ariaLive=\"polite\" />\n {props.content}\n </div>\n );\n};\n\nconst MessageContentAsRichTextHTML = (props: ChatMessageContentProps): JSX.Element => {\n const {\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n // message is used only in useEffect that is under teams-inline-images-and-file-sharing cc\n message,\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n attachmentsMap,\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n onFetchAttachments\n } = props;\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n useEffect(() => {\n if (!attachmentsMap || !onFetchAttachments) {\n return;\n }\n const attachments = message.inlineImages?.filter((inlinedImages) => {\n return attachmentsMap[inlinedImages.id] === undefined;\n });\n if (attachments && attachments.length > 0) {\n onFetchAttachments(attachments, message.messageId);\n }\n }, [message.inlineImages, message.messageId, onFetchAttachments, attachmentsMap]);\n\n return (\n <MessageContentWithLiveAria\n message={props.message}\n liveMessage={generateLiveMessage(props)}\n ariaLabel={messageContentAriaText(props)}\n content={processHtmlToReact(props)}\n />\n );\n};\n\nconst MessageContentAsText = (props: ChatMessageContentProps): JSX.Element => {\n return (\n <MessageContentWithLiveAria\n message={props.message}\n liveMessage={generateLiveMessage(props)}\n ariaLabel={messageContentAriaText(props)}\n content={\n <Linkify\n componentDecorator={(decoratedHref: string, decoratedText: string, key: number) => {\n return (\n <Link target=\"_blank\" href={decoratedHref} key={key}>\n {decoratedText}\n </Link>\n );\n }}\n >\n {props.message.content}\n </Linkify>\n }\n />\n );\n};\n\n/* @conditional-compile-remove(data-loss-prevention) */\n/**\n * @private\n */\nexport const BlockedMessageContent = (props: BlockedMessageContentProps): JSX.Element => {\n const Icon: JSX.Element = <FontIcon iconName={'DataLossPreventionProhibited'} />;\n const blockedMessage =\n props.message.warningText === undefined ? props.strings.blockedWarningText : props.message.warningText;\n const blockedMessageLink = props.message.link;\n const blockedMessageLinkText = blockedMessageLink\n ? props.message.linkText ?? props.strings.blockedWarningLinkText\n : '';\n\n const liveAuthor =\n props.message.mine || props.message.senderDisplayName === undefined ? '' : props.message.senderDisplayName;\n const liveBlockedWarningText = `${liveAuthor} ${blockedMessage} ${blockedMessageLinkText}`;\n return (\n <MessageContentWithLiveAria\n message={props.message}\n liveMessage={liveBlockedWarningText}\n ariaLabel={liveBlockedWarningText}\n content={\n <Stack horizontal wrap>\n {Icon}\n {blockedMessage && <p>{blockedMessage}</p>}\n {blockedMessageLink && (\n <Link target={'_blank'} href={blockedMessageLink}>\n {blockedMessageLinkText}\n </Link>\n )}\n </Stack>\n }\n />\n );\n};\n\n// https://stackoverflow.com/questions/28899298/extract-the-text-out-of-html-string-using-javascript\nconst extractContent = (s: string): string => {\n const span = document.createElement('span');\n span.innerHTML = s;\n return span.textContent || span.innerText;\n};\n\nconst generateLiveMessage = (props: ChatMessageContentProps): string => {\n const liveAuthor = _formatString(props.strings.liveAuthorIntro, { author: `${props.message.senderDisplayName}` });\n\n return `${props.message.editedOn ? props.strings.editedTag : ''} ${\n props.message.mine ? '' : liveAuthor\n } ${extractContent(props.message.content || '')} `;\n};\n\nconst messageContentAriaText = (props: ChatMessageContentProps): string | undefined => {\n // Strip all html tags from the content for aria.\n\n return props.message.content\n ? props.message.mine\n ? _formatString(props.strings.messageContentMineAriaText, {\n message: DOMPurify.sanitize(props.message.content, { ALLOWED_TAGS: [] })\n })\n : _formatString(props.strings.messageContentAriaText, {\n author: `${props.message.senderDisplayName}`,\n message: DOMPurify.sanitize(props.message.content, { ALLOWED_TAGS: [] })\n })\n : undefined;\n};\n\nconst processNodeDefinitions = ProcessNodeDefinitions();\nconst htmlToReactParser = Parser();\n\n/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\nconst processInlineImage = (props: ChatMessageContentProps): ProcessingInstructionType => ({\n // Custom <img> processing\n shouldProcessNode: (node): boolean => {\n function matchingImageNode(imageMetadata: InlineImageMetadata): boolean {\n return imageMetadata.id === node.attribs.id;\n }\n\n // Process img node with id in attachments list\n return (\n node.name &&\n node.name === 'img' &&\n node.attribs &&\n node.attribs.id &&\n props.message.inlineImages?.find(matchingImageNode)\n );\n },\n processNode: (node, children, index): JSX.Element => {\n node.attribs = { ...node.attribs, 'aria-label': node.attribs.name };\n // logic to check id in map/list\n if (props.attachmentsMap && node.attribs.id in props.attachmentsMap) {\n node.attribs = { ...node.attribs, src: props.attachmentsMap[node.attribs.id] };\n }\n /* @conditional-compile-remove(image-gallery) */\n const handleOnClick = (): void => {\n props.onInlineImageClicked && props.onInlineImageClicked(node.attribs.id);\n };\n /* @conditional-compile-remove(image-gallery) */\n return (\n <span\n data-ui-id={node.attribs.id}\n onClick={handleOnClick}\n tabIndex={0}\n role=\"button\"\n style={{\n cursor: 'pointer'\n }}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n handleOnClick();\n }\n }}\n >\n {processNodeDefinitions.processDefaultNode(node, children, index)}\n </span>\n );\n return processNodeDefinitions.processDefaultNode(node, children, index);\n }\n});\n\n/* @conditional-compile-remove(mention) */\nconst processMention = (props: ChatMessageContentProps): ProcessingInstructionType => ({\n shouldProcessNode: (node) => {\n if (props.mentionDisplayOptions?.onRenderMention) {\n // Override the handling of the <msft-mention> tag in the HTML if there's a custom renderer\n return node.name === 'msft-mention';\n }\n return false;\n },\n processNode: (node) => {\n if (props.mentionDisplayOptions?.onRenderMention) {\n const { id } = node.attribs;\n const mention: Mention = {\n id: id,\n displayText: node.children[0]?.data ?? ''\n };\n return props.mentionDisplayOptions.onRenderMention(mention, defaultOnMentionRender);\n }\n return processNodeDefinitions.processDefaultNode;\n }\n});\n\nconst processHtmlToReact = (props: ChatMessageContentProps): JSX.Element => {\n const steps: ProcessingInstructionType[] = [\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n processInlineImage(props),\n /* @conditional-compile-remove(mention) */\n processMention(props),\n {\n // Process everything else in the default way\n shouldProcessNode: IsValidNodeDefinitions.alwaysValid,\n processNode: processNodeDefinitions.processDefaultNode\n }\n ];\n\n return htmlToReactParser.parseWithInstructions(\n props.message.content ?? '',\n IsValidNodeDefinitions.alwaysValid,\n steps\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultSystemMessage.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/ChatMessage/DefaultSystemMessage.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,aAAa,IAAI,sBAAsB,EAA0B,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAoB,CAAC,KAAmB,EAAE,EAAE;;IAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,QAAQ,OAAO,CAAC,WAAW,EAAE;QAC3B,KAAK,QAAQ;YACX,QAAQ,OAAO,CAAC,iBAAiB,EAAE;gBACjC,KAAK,SAAS;oBACZ,OAAO,CACL,oBAAC,sBAAsB,IACrB,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAA2B,EAC9E,OAAO,EAAE,MAAA,OAAO,CAAC,OAAO,mCAAI,EAAE,EAC9B,cAAc,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,qBAAqB,GAC5C,CACH,CAAC;gBACJ,KAAK,kBAAkB,CAAC;gBACxB,KAAK,oBAAoB;oBACvB,OAAO,CACL,oBAAC,iCAAiC,IAChC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,CAAC,qBAAqB,EAClC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,GAC3C,CACH,CAAC;aACL;KACJ;IACD,OAAO,yCAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,iCAAiC,GAAG,CAAC,EACzC,OAAO,EACP,KAAK,EACL,WAAW,EAKZ,EAAe,EAAE;IAChB,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC;IAChC,MAAM,eAAe,GAAG,uBAAuB,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACnF,MAAM,aAAa,GACjB,OAAO,CAAC,iBAAiB,KAAK,kBAAkB;QAC9C,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,iBAAiB;QACzC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC;IAE5C,IAAI,eAAe,KAAK,EAAE,EAAE;QAC1B,OAAO,CACL,oBAAC,sBAAsB,IACrB,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAA2B,EAC9E,OAAO,EAAE,GAAG,eAAe,IAAI,aAAa,EAAE,EAC9C,cAAc,EAAE,KAAK,GACrB,CACH,CAAC;KACH;IACD,OAAO,yCAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,YAAwC,EAAE,WAAmB,EAAU,EAAE,CACxG,YAAY;KACT,GAAG,CACF,CAAC,WAAW,EAAE,EAAE,CACd,GAAG,CAAC,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAC1G;KACA,IAAI,CAAC,IAAI,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { _formatString } from '@internal/acs-ui-common';\nimport React from 'react';\nimport { MessageProps, MessageRenderer, _ChatMessageProps } from '../MessageThread';\nimport {\n CommunicationParticipant,\n ComponentSlotStyle,\n ParticipantAddedSystemMessage,\n ParticipantRemovedSystemMessage\n} from '../../types';\nimport { SystemMessage as SystemMessageComponent, SystemMessageIconTypes } from './../SystemMessage';\nimport { useLocale } from '../../localization/LocalizationProvider';\n\n/**\n * @private\n */\nexport const DefaultSystemMessage: MessageRenderer = (props: MessageProps) => {\n const message = props.message;\n switch (message.messageType) {\n case 'system':\n switch (message.systemMessageType) {\n case 'content':\n return (\n <SystemMessageComponent\n iconName={(message.iconName ? message.iconName : '') as SystemMessageIconTypes}\n content={message.content ?? ''}\n containerStyle={props?.messageContainerStyle}\n />\n );\n case 'participantAdded':\n case 'participantRemoved':\n return (\n <ParticipantSystemMessageComponent\n message={message}\n style={props.messageContainerStyle}\n defaultName={props.strings.noDisplayNameSub}\n />\n );\n }\n }\n return <></>;\n};\n\nconst ParticipantSystemMessageComponent = ({\n message,\n style,\n defaultName\n}: {\n message: ParticipantAddedSystemMessage | ParticipantRemovedSystemMessage;\n style?: ComponentSlotStyle;\n defaultName: string;\n}): JSX.Element => {\n const { strings } = useLocale();\n const participantsStr = generateParticipantsStr(message.participants, defaultName);\n const messageSuffix =\n message.systemMessageType === 'participantAdded'\n ? strings.messageThread.participantJoined\n : strings.messageThread.participantLeft;\n\n if (participantsStr !== '') {\n return (\n <SystemMessageComponent\n iconName={(message.iconName ? message.iconName : '') as SystemMessageIconTypes}\n content={`${participantsStr} ${messageSuffix}`}\n containerStyle={style}\n />\n );\n }\n return <></>;\n};\n\nconst generateParticipantsStr = (participants: CommunicationParticipant[], defaultName: string): string =>\n participants\n .map(\n (participant) =>\n `${!participant.displayName || participant.displayName === '' ? defaultName : participant.displayName}`\n )\n .join(', ');\n\"../../../../acs-ui-common/src\""]}
1
+ {"version":3,"file":"DefaultSystemMessage.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/ChatMessage/DefaultSystemMessage.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,aAAa,IAAI,sBAAsB,EAA0B,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAoB,CAAC,KAAmB,EAAE,EAAE;;IAC3E,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,QAAQ,OAAO,CAAC,WAAW,EAAE,CAAC;QAC5B,KAAK,QAAQ;YACX,QAAQ,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAClC,KAAK,SAAS;oBACZ,OAAO,CACL,oBAAC,sBAAsB,IACrB,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAA2B,EAC9E,OAAO,EAAE,MAAA,OAAO,CAAC,OAAO,mCAAI,EAAE,EAC9B,cAAc,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,qBAAqB,GAC5C,CACH,CAAC;gBACJ,KAAK,kBAAkB,CAAC;gBACxB,KAAK,oBAAoB;oBACvB,OAAO,CACL,oBAAC,iCAAiC,IAChC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,CAAC,qBAAqB,EAClC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,GAC3C,CACH,CAAC;YACN,CAAC;IACL,CAAC;IACD,OAAO,yCAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,iCAAiC,GAAG,CAAC,EACzC,OAAO,EACP,KAAK,EACL,WAAW,EAKZ,EAAe,EAAE;IAChB,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC;IAChC,MAAM,eAAe,GAAG,uBAAuB,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACnF,MAAM,aAAa,GACjB,OAAO,CAAC,iBAAiB,KAAK,kBAAkB;QAC9C,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,iBAAiB;QACzC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC;IAE5C,IAAI,eAAe,KAAK,EAAE,EAAE,CAAC;QAC3B,OAAO,CACL,oBAAC,sBAAsB,IACrB,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAA2B,EAC9E,OAAO,EAAE,GAAG,eAAe,IAAI,aAAa,EAAE,EAC9C,cAAc,EAAE,KAAK,GACrB,CACH,CAAC;IACJ,CAAC;IACD,OAAO,yCAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,YAAwC,EAAE,WAAmB,EAAU,EAAE,CACxG,YAAY;KACT,GAAG,CACF,CAAC,WAAW,EAAE,EAAE,CACd,GAAG,CAAC,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAC1G;KACA,IAAI,CAAC,IAAI,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { _formatString } from '@internal/acs-ui-common';\nimport React from 'react';\nimport { MessageProps, MessageRenderer, _ChatMessageProps } from '../MessageThread';\nimport {\n CommunicationParticipant,\n ComponentSlotStyle,\n ParticipantAddedSystemMessage,\n ParticipantRemovedSystemMessage\n} from '../../types';\nimport { SystemMessage as SystemMessageComponent, SystemMessageIconTypes } from './../SystemMessage';\nimport { useLocale } from '../../localization/LocalizationProvider';\n\n/**\n * @private\n */\nexport const DefaultSystemMessage: MessageRenderer = (props: MessageProps) => {\n const message = props.message;\n switch (message.messageType) {\n case 'system':\n switch (message.systemMessageType) {\n case 'content':\n return (\n <SystemMessageComponent\n iconName={(message.iconName ? message.iconName : '') as SystemMessageIconTypes}\n content={message.content ?? ''}\n containerStyle={props?.messageContainerStyle}\n />\n );\n case 'participantAdded':\n case 'participantRemoved':\n return (\n <ParticipantSystemMessageComponent\n message={message}\n style={props.messageContainerStyle}\n defaultName={props.strings.noDisplayNameSub}\n />\n );\n }\n }\n return <></>;\n};\n\nconst ParticipantSystemMessageComponent = ({\n message,\n style,\n defaultName\n}: {\n message: ParticipantAddedSystemMessage | ParticipantRemovedSystemMessage;\n style?: ComponentSlotStyle;\n defaultName: string;\n}): JSX.Element => {\n const { strings } = useLocale();\n const participantsStr = generateParticipantsStr(message.participants, defaultName);\n const messageSuffix =\n message.systemMessageType === 'participantAdded'\n ? strings.messageThread.participantJoined\n : strings.messageThread.participantLeft;\n\n if (participantsStr !== '') {\n return (\n <SystemMessageComponent\n iconName={(message.iconName ? message.iconName : '') as SystemMessageIconTypes}\n content={`${participantsStr} ${messageSuffix}`}\n containerStyle={style}\n />\n );\n }\n return <></>;\n};\n\nconst generateParticipantsStr = (participants: CommunicationParticipant[], defaultName: string): string =>\n participants\n .map(\n (participant) =>\n `${!participant.displayName || participant.displayName === '' ? defaultName : participant.displayName}`\n )\n .join(', ');\n"]}
@@ -7,7 +7,7 @@ import { ChatMessageComponentWrapperProps } from './ChatMessageComponentWrapper'
7
7
  *
8
8
  * @private
9
9
  */
10
- declare type FluentChatMessageComponentWrapperProps = ChatMessageComponentWrapperProps & {
10
+ type FluentChatMessageComponentWrapperProps = ChatMessageComponentWrapperProps & {
11
11
  message: ChatMessage | /* @conditional-compile-remove(data-loss-prevention) */ BlockedMessage;
12
12
  };
13
13
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"FluentChatMessageComponentWrapper.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/ChatMessage/FluentChatMessageComponentWrapper.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { MessageStatus, _formatString } from '@internal/acs-ui-common';\nimport React, { useCallback, useMemo } from 'react';\nimport { MessageProps, _ChatMessageProps } from '../MessageThread';\nimport { ChatMessage } from '../../types';\n/* @conditional-compile-remove(data-loss-prevention) */\nimport { BlockedMessage } from '../../types';\nimport {\n gutterWithAvatar,\n gutterWithHiddenAvatar,\n noMessageStatusStyle,\n useChatMessageRenderStyles\n} from '../styles/MessageThread.styles';\nimport { IPersona, PersonaSize, mergeStyles, Persona } from '@fluentui/react';\nimport { mergeClasses } from '@fluentui/react-components';\nimport { createStyleFromV8Style } from '../styles/v8StyleShim';\nimport { MessageStatusIndicatorProps } from '../MessageStatusIndicator';\nimport { ChatMessageComponentWrapperProps } from './ChatMessageComponentWrapper';\nimport { ChatMessageComponent } from './ChatMessageComponent';\nimport { ChatMessage as FluentChatMessage, ChatMyMessage as FluentChatMyMessage } from '@fluentui-contrib/react-chat';\n\n/**\n * Props for {@link FluentChatMessageComponentWrapper}\n *\n * @private\n */\ntype FluentChatMessageComponentWrapperProps = ChatMessageComponentWrapperProps & {\n message: ChatMessage | /* @conditional-compile-remove(data-loss-prevention) */ BlockedMessage;\n};\n\n/**\n * The component for rendering a chat message using Fluent UI components\n * and handling default and custom renderers.\n * This component handles rendering for chat message body, avatar and message status.\n * The chat message body, avatar and message status should be shown for both default and custom renderers.\n *\n * @private\n */\nexport const FluentChatMessageComponentWrapper = (props: FluentChatMessageComponentWrapperProps): JSX.Element => {\n const {\n message,\n styles,\n shouldOverlapAvatarAndMessage,\n onRenderMessage,\n onRenderAvatar,\n showMessageStatus,\n onRenderMessageStatus,\n participantCount,\n readCount,\n onActionButtonClick,\n /* @conditional-compile-remove(date-time-customization) */\n onDisplayDateTimeString,\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n onFetchInlineAttachment,\n /* @conditional-compile-remove(image-gallery) */\n onInlineImageClicked,\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n inlineAttachments,\n /* @conditional-compile-remove(mention) */\n mentionOptions,\n /* @conditional-compile-remove(file-sharing) */\n fileDownloadHandler,\n userId,\n /* @conditional-compile-remove(file-sharing) */\n onRenderFileDownloads,\n defaultStatusRenderer,\n statusToRender\n } = props;\n const chatMessageRenderStyles = useChatMessageRenderStyles();\n\n const onRenderFileDownloadsMemo = useMemo(() => {\n /* @conditional-compile-remove(file-sharing) */\n return onRenderFileDownloads;\n return undefined;\n }, [/* @conditional-compile-remove(file-sharing) */ onRenderFileDownloads]);\n\n // To rerender the defaultChatMessageRenderer if app running across days(every new day chat time stamp\n // needs to be regenerated), the dependency on \"new Date().toDateString()\"\" is added.\n const defaultChatMessageRenderer = useCallback(\n (messageProps: MessageProps) => {\n if (\n messageProps.message.messageType === 'chat' ||\n /* @conditional-compile-remove(data-loss-prevention) */ messageProps.message.messageType === 'blocked'\n ) {\n return (\n <ChatMessageComponent\n {...messageProps}\n /* @conditional-compile-remove(file-sharing) */\n onRenderFileDownloads={onRenderFileDownloadsMemo}\n /* @conditional-compile-remove(file-sharing) */\n strings={messageProps.strings}\n message={messageProps.message}\n userId={userId}\n remoteParticipantsCount={participantCount ? participantCount - 1 : 0}\n shouldOverlapAvatarAndMessage={shouldOverlapAvatarAndMessage}\n onRenderAvatar={onRenderAvatar}\n showMessageStatus={showMessageStatus}\n messageStatus={messageProps.message.status}\n onActionButtonClick={onActionButtonClick}\n /* @conditional-compile-remove(date-time-customization) */\n onDisplayDateTimeString={onDisplayDateTimeString}\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n onFetchAttachments={onFetchInlineAttachment}\n /* @conditional-compile-remove(image-gallery) */\n onInlineImageClicked={onInlineImageClicked}\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n attachmentsMap={inlineAttachments[messageProps.message.messageId] ?? {}}\n /* @conditional-compile-remove(mention) */\n mentionOptions={mentionOptions}\n /* @conditional-compile-remove(file-sharing) */\n fileDownloadHandler={fileDownloadHandler}\n />\n );\n }\n return <></>;\n },\n [\n onActionButtonClick,\n onRenderAvatar,\n onRenderFileDownloadsMemo,\n participantCount,\n shouldOverlapAvatarAndMessage,\n showMessageStatus,\n userId,\n /* @conditional-compile-remove(date-time-customization) */\n onDisplayDateTimeString,\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n onFetchInlineAttachment,\n /* @conditional-compile-remove(image-gallery) */\n onInlineImageClicked,\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n inlineAttachments,\n /* @conditional-compile-remove(mention) */\n mentionOptions,\n /* @conditional-compile-remove(file-sharing) */\n fileDownloadHandler,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n new Date().toDateString()\n ]\n );\n\n const messageRenderer = useCallback(\n (messageProps: MessageProps) => {\n return onRenderMessage === undefined\n ? defaultChatMessageRenderer({ ...messageProps })\n : onRenderMessage(messageProps, defaultChatMessageRenderer);\n },\n [defaultChatMessageRenderer, onRenderMessage]\n );\n\n const messageStatusRenderer = useCallback(\n (\n onRenderMessageStatus:\n | ((messageStatusIndicatorProps: MessageStatusIndicatorProps) => JSX.Element | null)\n | undefined,\n defaultStatusRenderer: (\n message: ChatMessage | /* @conditional-compile-remove(data-loss-prevention) */ BlockedMessage,\n participantCount: number,\n readCount: number,\n status?: MessageStatus\n ) => JSX.Element,\n showMessageStatus?: boolean,\n participantCount?: number,\n readCount?: number\n ) => {\n return showMessageStatus && statusToRender ? (\n onRenderMessageStatus ? (\n onRenderMessageStatus({ status: message.status })\n ) : (\n defaultStatusRenderer(message, participantCount ?? 0, readCount ?? 0, message.status)\n )\n ) : (\n <div className={mergeStyles(noMessageStatusStyle)} />\n );\n },\n [message, statusToRender]\n );\n\n const shouldShowAvatar = useMemo(() => {\n return message.attached === 'top' || message.attached === false;\n }, [message.attached]);\n\n const attached = useMemo(() => {\n return shouldShowAvatar ? 'top' : 'center';\n }, [shouldShowAvatar]);\n\n const myMessageRootProps = useMemo(() => {\n return {\n // myChatItemMessageContainer used in className and style prop as style prop can't handle CSS selectors\n className: mergeClasses(\n chatMessageRenderStyles.rootMyMessage,\n chatMessageRenderStyles.rootCommon,\n mergeStyles(styles?.myChatItemMessageContainer)\n ),\n style:\n styles?.myChatItemMessageContainer !== undefined\n ? createStyleFromV8Style(styles?.myChatItemMessageContainer)\n : {},\n role: 'none'\n };\n }, [chatMessageRenderStyles.rootCommon, chatMessageRenderStyles.rootMyMessage, styles?.myChatItemMessageContainer]);\n\n const myMessageBodyProps = useMemo(() => {\n return {\n className: mergeClasses(chatMessageRenderStyles.bodyCommon, chatMessageRenderStyles.bodyMyMessage),\n // make body not focusable to remove repetitions from narrators.\n // inner components are already focusable\n tabIndex: -1,\n role: 'none'\n };\n }, [chatMessageRenderStyles.bodyCommon, chatMessageRenderStyles.bodyMyMessage]);\n\n const myMessageStatusIcon = useMemo(() => {\n return (\n <div\n className={mergeStyles(\n { paddingLeft: '0.25rem' },\n styles?.messageStatusContainer ? styles.messageStatusContainer(message.mine ?? false) : ''\n )}\n >\n {message.status\n ? messageStatusRenderer(\n onRenderMessageStatus,\n defaultStatusRenderer,\n showMessageStatus,\n participantCount,\n readCount\n )\n : undefined}\n </div>\n );\n }, [\n defaultStatusRenderer,\n message.mine,\n message.status,\n messageStatusRenderer,\n onRenderMessageStatus,\n participantCount,\n readCount,\n showMessageStatus,\n styles\n ]);\n\n const messageRootProps = useMemo(() => {\n return { className: mergeClasses(chatMessageRenderStyles.rootMessage, chatMessageRenderStyles.rootCommon) };\n }, [chatMessageRenderStyles.rootCommon, chatMessageRenderStyles.rootMessage]);\n\n const messageBodyProps = useMemo(() => {\n return {\n // chatItemMessageContainer used in className and style prop as style prop can't handle CSS selectors\n className: mergeClasses(\n chatMessageRenderStyles.bodyCommon,\n !shouldShowAvatar ? chatMessageRenderStyles.bodyWithoutAvatar : chatMessageRenderStyles.bodyWithAvatar,\n shouldOverlapAvatarAndMessage ? chatMessageRenderStyles.avatarOverlap : chatMessageRenderStyles.avatarNoOverlap,\n mergeStyles(styles?.chatItemMessageContainer)\n ),\n style:\n styles?.chatItemMessageContainer !== undefined ? createStyleFromV8Style(styles?.chatItemMessageContainer) : {},\n // make body not focusable to remove repetitions from narrators.\n // inner components are already focusable\n tabIndex: -1,\n role: 'none'\n };\n }, [\n chatMessageRenderStyles.avatarNoOverlap,\n chatMessageRenderStyles.avatarOverlap,\n chatMessageRenderStyles.bodyCommon,\n chatMessageRenderStyles.bodyWithAvatar,\n chatMessageRenderStyles.bodyWithoutAvatar,\n shouldOverlapAvatarAndMessage,\n shouldShowAvatar,\n styles?.chatItemMessageContainer\n ]);\n\n const avatar = useMemo(() => {\n const chatAvatarStyle = shouldShowAvatar ? gutterWithAvatar : gutterWithHiddenAvatar;\n const personaOptions: IPersona = {\n hidePersonaDetails: true,\n size: PersonaSize.size32,\n text: message.senderDisplayName,\n showOverflowTooltip: false\n };\n return (\n <div className={mergeStyles(chatAvatarStyle)}>\n {onRenderAvatar ? onRenderAvatar?.(message.senderId, personaOptions) : <Persona {...personaOptions} />}\n </div>\n );\n }, [message.senderDisplayName, message.senderId, onRenderAvatar, shouldShowAvatar]);\n\n // Fluent UI message components are used here as for default message renderer,\n // timestamp and author name should be shown but they aren't shown for custom renderer.\n // More investigations are needed to check if this can be simplified with states.\n // Status and avatar should be shown for both custom and default renderers.\n if (message.mine === true) {\n return (\n <div>\n <FluentChatMyMessage\n attached={attached}\n root={myMessageRootProps}\n body={myMessageBodyProps}\n statusIcon={myMessageStatusIcon}\n >\n {messageRenderer({ ...props })}\n </FluentChatMyMessage>\n </div>\n );\n } else {\n return (\n <div>\n <FluentChatMessage attached={attached} root={messageRootProps} body={messageBodyProps} avatar={avatar}>\n {messageRenderer({ ...props })}\n </FluentChatMessage>\n </div>\n );\n }\n};\n\"../../../../acs-ui-common/src\""]}
1
+ {"version":3,"file":"FluentChatMessageComponentWrapper.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/ChatMessage/FluentChatMessageComponentWrapper.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { MessageStatus, _formatString } from '@internal/acs-ui-common';\nimport React, { useCallback, useMemo } from 'react';\nimport { MessageProps, _ChatMessageProps } from '../MessageThread';\nimport { ChatMessage } from '../../types';\n/* @conditional-compile-remove(data-loss-prevention) */\nimport { BlockedMessage } from '../../types';\nimport {\n gutterWithAvatar,\n gutterWithHiddenAvatar,\n noMessageStatusStyle,\n useChatMessageRenderStyles\n} from '../styles/MessageThread.styles';\nimport { IPersona, PersonaSize, mergeStyles, Persona } from '@fluentui/react';\nimport { mergeClasses } from '@fluentui/react-components';\nimport { createStyleFromV8Style } from '../styles/v8StyleShim';\nimport { MessageStatusIndicatorProps } from '../MessageStatusIndicator';\nimport { ChatMessageComponentWrapperProps } from './ChatMessageComponentWrapper';\nimport { ChatMessageComponent } from './ChatMessageComponent';\nimport { ChatMessage as FluentChatMessage, ChatMyMessage as FluentChatMyMessage } from '@fluentui-contrib/react-chat';\n\n/**\n * Props for {@link FluentChatMessageComponentWrapper}\n *\n * @private\n */\ntype FluentChatMessageComponentWrapperProps = ChatMessageComponentWrapperProps & {\n message: ChatMessage | /* @conditional-compile-remove(data-loss-prevention) */ BlockedMessage;\n};\n\n/**\n * The component for rendering a chat message using Fluent UI components\n * and handling default and custom renderers.\n * This component handles rendering for chat message body, avatar and message status.\n * The chat message body, avatar and message status should be shown for both default and custom renderers.\n *\n * @private\n */\nexport const FluentChatMessageComponentWrapper = (props: FluentChatMessageComponentWrapperProps): JSX.Element => {\n const {\n message,\n styles,\n shouldOverlapAvatarAndMessage,\n onRenderMessage,\n onRenderAvatar,\n showMessageStatus,\n onRenderMessageStatus,\n participantCount,\n readCount,\n onActionButtonClick,\n /* @conditional-compile-remove(date-time-customization) */\n onDisplayDateTimeString,\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n onFetchInlineAttachment,\n /* @conditional-compile-remove(image-gallery) */\n onInlineImageClicked,\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n inlineAttachments,\n /* @conditional-compile-remove(mention) */\n mentionOptions,\n /* @conditional-compile-remove(file-sharing) */\n fileDownloadHandler,\n userId,\n /* @conditional-compile-remove(file-sharing) */\n onRenderFileDownloads,\n defaultStatusRenderer,\n statusToRender\n } = props;\n const chatMessageRenderStyles = useChatMessageRenderStyles();\n\n const onRenderFileDownloadsMemo = useMemo(() => {\n /* @conditional-compile-remove(file-sharing) */\n return onRenderFileDownloads;\n return undefined;\n }, [/* @conditional-compile-remove(file-sharing) */ onRenderFileDownloads]);\n\n // To rerender the defaultChatMessageRenderer if app running across days(every new day chat time stamp\n // needs to be regenerated), the dependency on \"new Date().toDateString()\"\" is added.\n const defaultChatMessageRenderer = useCallback(\n (messageProps: MessageProps) => {\n if (\n messageProps.message.messageType === 'chat' ||\n /* @conditional-compile-remove(data-loss-prevention) */ messageProps.message.messageType === 'blocked'\n ) {\n return (\n <ChatMessageComponent\n {...messageProps}\n /* @conditional-compile-remove(file-sharing) */\n onRenderFileDownloads={onRenderFileDownloadsMemo}\n /* @conditional-compile-remove(file-sharing) */\n strings={messageProps.strings}\n message={messageProps.message}\n userId={userId}\n remoteParticipantsCount={participantCount ? participantCount - 1 : 0}\n shouldOverlapAvatarAndMessage={shouldOverlapAvatarAndMessage}\n onRenderAvatar={onRenderAvatar}\n showMessageStatus={showMessageStatus}\n messageStatus={messageProps.message.status}\n onActionButtonClick={onActionButtonClick}\n /* @conditional-compile-remove(date-time-customization) */\n onDisplayDateTimeString={onDisplayDateTimeString}\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n onFetchAttachments={onFetchInlineAttachment}\n /* @conditional-compile-remove(image-gallery) */\n onInlineImageClicked={onInlineImageClicked}\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n attachmentsMap={inlineAttachments[messageProps.message.messageId] ?? {}}\n /* @conditional-compile-remove(mention) */\n mentionOptions={mentionOptions}\n /* @conditional-compile-remove(file-sharing) */\n fileDownloadHandler={fileDownloadHandler}\n />\n );\n }\n return <></>;\n },\n [\n onActionButtonClick,\n onRenderAvatar,\n onRenderFileDownloadsMemo,\n participantCount,\n shouldOverlapAvatarAndMessage,\n showMessageStatus,\n userId,\n /* @conditional-compile-remove(date-time-customization) */\n onDisplayDateTimeString,\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n onFetchInlineAttachment,\n /* @conditional-compile-remove(image-gallery) */\n onInlineImageClicked,\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n inlineAttachments,\n /* @conditional-compile-remove(mention) */\n mentionOptions,\n /* @conditional-compile-remove(file-sharing) */\n fileDownloadHandler,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n new Date().toDateString()\n ]\n );\n\n const messageRenderer = useCallback(\n (messageProps: MessageProps) => {\n return onRenderMessage === undefined\n ? defaultChatMessageRenderer({ ...messageProps })\n : onRenderMessage(messageProps, defaultChatMessageRenderer);\n },\n [defaultChatMessageRenderer, onRenderMessage]\n );\n\n const messageStatusRenderer = useCallback(\n (\n onRenderMessageStatus:\n | ((messageStatusIndicatorProps: MessageStatusIndicatorProps) => JSX.Element | null)\n | undefined,\n defaultStatusRenderer: (\n message: ChatMessage | /* @conditional-compile-remove(data-loss-prevention) */ BlockedMessage,\n participantCount: number,\n readCount: number,\n status?: MessageStatus\n ) => JSX.Element,\n showMessageStatus?: boolean,\n participantCount?: number,\n readCount?: number\n ) => {\n return showMessageStatus && statusToRender ? (\n onRenderMessageStatus ? (\n onRenderMessageStatus({ status: message.status })\n ) : (\n defaultStatusRenderer(message, participantCount ?? 0, readCount ?? 0, message.status)\n )\n ) : (\n <div className={mergeStyles(noMessageStatusStyle)} />\n );\n },\n [message, statusToRender]\n );\n\n const shouldShowAvatar = useMemo(() => {\n return message.attached === 'top' || message.attached === false;\n }, [message.attached]);\n\n const attached = useMemo(() => {\n return shouldShowAvatar ? 'top' : 'center';\n }, [shouldShowAvatar]);\n\n const myMessageRootProps = useMemo(() => {\n return {\n // myChatItemMessageContainer used in className and style prop as style prop can't handle CSS selectors\n className: mergeClasses(\n chatMessageRenderStyles.rootMyMessage,\n chatMessageRenderStyles.rootCommon,\n mergeStyles(styles?.myChatItemMessageContainer)\n ),\n style:\n styles?.myChatItemMessageContainer !== undefined\n ? createStyleFromV8Style(styles?.myChatItemMessageContainer)\n : {},\n role: 'none'\n };\n }, [chatMessageRenderStyles.rootCommon, chatMessageRenderStyles.rootMyMessage, styles?.myChatItemMessageContainer]);\n\n const myMessageBodyProps = useMemo(() => {\n return {\n className: mergeClasses(chatMessageRenderStyles.bodyCommon, chatMessageRenderStyles.bodyMyMessage),\n // make body not focusable to remove repetitions from narrators.\n // inner components are already focusable\n tabIndex: -1,\n role: 'none'\n };\n }, [chatMessageRenderStyles.bodyCommon, chatMessageRenderStyles.bodyMyMessage]);\n\n const myMessageStatusIcon = useMemo(() => {\n return (\n <div\n className={mergeStyles(\n { paddingLeft: '0.25rem' },\n styles?.messageStatusContainer ? styles.messageStatusContainer(message.mine ?? false) : ''\n )}\n >\n {message.status\n ? messageStatusRenderer(\n onRenderMessageStatus,\n defaultStatusRenderer,\n showMessageStatus,\n participantCount,\n readCount\n )\n : undefined}\n </div>\n );\n }, [\n defaultStatusRenderer,\n message.mine,\n message.status,\n messageStatusRenderer,\n onRenderMessageStatus,\n participantCount,\n readCount,\n showMessageStatus,\n styles\n ]);\n\n const messageRootProps = useMemo(() => {\n return { className: mergeClasses(chatMessageRenderStyles.rootMessage, chatMessageRenderStyles.rootCommon) };\n }, [chatMessageRenderStyles.rootCommon, chatMessageRenderStyles.rootMessage]);\n\n const messageBodyProps = useMemo(() => {\n return {\n // chatItemMessageContainer used in className and style prop as style prop can't handle CSS selectors\n className: mergeClasses(\n chatMessageRenderStyles.bodyCommon,\n !shouldShowAvatar ? chatMessageRenderStyles.bodyWithoutAvatar : chatMessageRenderStyles.bodyWithAvatar,\n shouldOverlapAvatarAndMessage ? chatMessageRenderStyles.avatarOverlap : chatMessageRenderStyles.avatarNoOverlap,\n mergeStyles(styles?.chatItemMessageContainer)\n ),\n style:\n styles?.chatItemMessageContainer !== undefined ? createStyleFromV8Style(styles?.chatItemMessageContainer) : {},\n // make body not focusable to remove repetitions from narrators.\n // inner components are already focusable\n tabIndex: -1,\n role: 'none'\n };\n }, [\n chatMessageRenderStyles.avatarNoOverlap,\n chatMessageRenderStyles.avatarOverlap,\n chatMessageRenderStyles.bodyCommon,\n chatMessageRenderStyles.bodyWithAvatar,\n chatMessageRenderStyles.bodyWithoutAvatar,\n shouldOverlapAvatarAndMessage,\n shouldShowAvatar,\n styles?.chatItemMessageContainer\n ]);\n\n const avatar = useMemo(() => {\n const chatAvatarStyle = shouldShowAvatar ? gutterWithAvatar : gutterWithHiddenAvatar;\n const personaOptions: IPersona = {\n hidePersonaDetails: true,\n size: PersonaSize.size32,\n text: message.senderDisplayName,\n showOverflowTooltip: false\n };\n return (\n <div className={mergeStyles(chatAvatarStyle)}>\n {onRenderAvatar ? onRenderAvatar?.(message.senderId, personaOptions) : <Persona {...personaOptions} />}\n </div>\n );\n }, [message.senderDisplayName, message.senderId, onRenderAvatar, shouldShowAvatar]);\n\n // Fluent UI message components are used here as for default message renderer,\n // timestamp and author name should be shown but they aren't shown for custom renderer.\n // More investigations are needed to check if this can be simplified with states.\n // Status and avatar should be shown for both custom and default renderers.\n if (message.mine === true) {\n return (\n <div>\n <FluentChatMyMessage\n attached={attached}\n root={myMessageRootProps}\n body={myMessageBodyProps}\n statusIcon={myMessageStatusIcon}\n >\n {messageRenderer({ ...props })}\n </FluentChatMyMessage>\n </div>\n );\n } else {\n return (\n <div>\n <FluentChatMessage attached={attached} root={messageRootProps} body={messageBodyProps} avatar={avatar}>\n {messageRenderer({ ...props })}\n </FluentChatMessage>\n </div>\n );\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"BannerMessage.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/ComplianceBanner/BannerMessage.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,eAAe;AACf,MAAM,UAAU,aAAa,CAAC,KAG7B;IACC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACnC,QAAQ,OAAO,EAAE;QACf,KAAK,uCAAuC;YAC1C,OAAO,CACL;gBACE,+BAAI,OAAO,CAAC,oCAAoC,CAAK;gBACpD,IAAI,OAAO,CAAC,gCAAgC,EAAE;gBAC/C,oBAAC,aAAa,IAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,GAAI,CACjD,CACJ,CAAC;QACJ,KAAK,sCAAsC;YACzC,OAAO,CACL;gBACE,+BAAI,OAAO,CAAC,gCAAgC,CAAK;gBAChD,IAAI,OAAO,CAAC,oCAAoC,EAAE;gBACnD,oBAAC,aAAa,IAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,GAAI,CACjD,CACJ,CAAC;QACJ,KAAK,qCAAqC;YACxC,OAAO,CACL;gBACE,+BAAI,OAAO,CAAC,8CAA8C,CAAK;gBAC9D,IAAI,OAAO,CAAC,gDAAgD,EAAE;gBAC/D,oBAAC,SAAS,IAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,GAAI,CACzC,CACJ,CAAC;QACJ,KAAK,qCAAqC;YACxC,OAAO,CACL;gBACE,+BAAI,OAAO,CAAC,gDAAgD,CAAK;gBAChE,IAAI,OAAO,CAAC,oCAAoC,EAAE;gBACnD,oBAAC,aAAa,IAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,GAAI,CACjD,CACJ,CAAC;QACJ,KAAK,uBAAuB;YAC1B,OAAO,CACL;gBACE,+BAAI,OAAO,CAAC,oCAAoC,CAAK;gBACpD,IAAI,OAAO,CAAC,oCAAoC,EAAE;gBACnD,oBAAC,aAAa,IAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,GAAI,CACjD,CACJ,CAAC;QACJ,KAAK,mBAAmB;YACtB,OAAO,CACL;gBACE,+BAAI,OAAO,CAAC,+BAA+B,CAAK;gBAC/C,IAAI,OAAO,CAAC,gCAAgC,EAAE;gBAC/C,oBAAC,SAAS,IAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,GAAI,CACzC,CACJ,CAAC;QACJ,KAAK,mBAAmB;YACtB,OAAO,CACL;gBACE,+BAAI,OAAO,CAAC,gCAAgC,CAAK;gBAChD,IAAI,OAAO,CAAC,oCAAoC,EAAE;gBACnD,oBAAC,aAAa,IAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,GAAI,CACjD,CACJ,CAAC;QACJ,KAAK,uBAAuB;YAC1B,OAAO,CACL;gBACE,+BAAI,OAAO,CAAC,mCAAmC,CAAK;gBACnD,IAAI,OAAO,CAAC,oCAAoC,EAAE;gBACnD,oBAAC,SAAS,IAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,GAAI,CACzC,CACJ,CAAC;KACL;IACD,OAAO,yCAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAA2B;IAChD,OAAO,CACL,oBAAC,IAAI,IAAC,IAAI,EAAC,2EAA2E,EAAC,MAAM,EAAC,QAAQ,EAAC,SAAS,UAC7G,KAAK,CAAC,QAAQ,CACV,CACR,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAA2B;IAC5C,OAAO,CACL,oBAAC,IAAI,IACH,IAAI,EAAC,qGAAqG,EAC1G,MAAM,EAAC,QAAQ,EACf,SAAS,UAER,KAAK,CAAC,QAAQ,CACV,CACR,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { Link } from '@fluentui/react';\nimport React from 'react';\nimport { _ComplianceBannerStrings } from './types';\nimport { ComplianceBannerVariant } from './Utils';\n\n/** @private */\nexport function BannerMessage(props: {\n variant: ComplianceBannerVariant;\n strings: _ComplianceBannerStrings;\n}): JSX.Element {\n const { variant, strings } = props;\n switch (variant) {\n case 'TRANSCRIPTION_STOPPED_STILL_RECORDING':\n return (\n <>\n <b>{strings.complianceBannerTranscriptionStopped}</b>\n {` ${strings.complianceBannerNowOnlyRecording}`}\n <PrivacyPolicy linkText={strings.privacyPolicy} />\n </>\n );\n case 'RECORDING_STOPPED_STILL_TRANSCRIBING':\n return (\n <>\n <b>{strings.complianceBannerRecordingStopped}</b>\n {` ${strings.complianceBannerNowOnlyTranscription}`}\n <PrivacyPolicy linkText={strings.privacyPolicy} />\n </>\n );\n case 'RECORDING_AND_TRANSCRIPTION_STOPPED':\n return (\n <>\n <b>{strings.complianceBannerRecordingAndTranscriptionSaved}</b>\n {` ${strings.complianceBannerRecordingAndTranscriptionStopped}`}\n <LearnMore linkText={strings.learnMore} />\n </>\n );\n case 'RECORDING_AND_TRANSCRIPTION_STARTED':\n return (\n <>\n <b>{strings.complianceBannerRecordingAndTranscriptionStarted}</b>\n {` ${strings.complianceBannerTranscriptionConsent}`}\n <PrivacyPolicy linkText={strings.privacyPolicy} />\n </>\n );\n case 'TRANSCRIPTION_STARTED':\n return (\n <>\n <b>{strings.complianceBannerTranscriptionStarted}</b>\n {` ${strings.complianceBannerTranscriptionConsent}`}\n <PrivacyPolicy linkText={strings.privacyPolicy} />\n </>\n );\n case 'RECORDING_STOPPED':\n return (\n <>\n <b>{strings.complianceBannerRecordingSaving}</b>\n {` ${strings.complianceBannerRecordingStopped}`}\n <LearnMore linkText={strings.learnMore} />\n </>\n );\n case 'RECORDING_STARTED':\n return (\n <>\n <b>{strings.complianceBannerRecordingStarted}</b>\n {` ${strings.complianceBannerTranscriptionConsent}`}\n <PrivacyPolicy linkText={strings.privacyPolicy} />\n </>\n );\n case 'TRANSCRIPTION_STOPPED':\n return (\n <>\n <b>{strings.complianceBannerTranscriptionSaving}</b>\n {` ${strings.complianceBannerTranscriptionStopped}`}\n <LearnMore linkText={strings.learnMore} />\n </>\n );\n }\n return <></>;\n}\n\nfunction PrivacyPolicy(props: { linkText: string }): JSX.Element {\n return (\n <Link href=\"https://privacy.microsoft.com/privacystatement#mainnoticetoendusersmodule\" target=\"_blank\" underline>\n {props.linkText}\n </Link>\n );\n}\n\nfunction LearnMore(props: { linkText: string }): JSX.Element {\n return (\n <Link\n href=\"https://support.microsoft.com/office/record-a-meeting-in-teams-34dfbe7f-b07d-4a27-b4c6-de62f1348c24\"\n target=\"_blank\"\n underline\n >\n {props.linkText}\n </Link>\n );\n}\n"]}
1
+ {"version":3,"file":"BannerMessage.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/ComplianceBanner/BannerMessage.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,eAAe;AACf,MAAM,UAAU,aAAa,CAAC,KAG7B;IACC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACnC,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,uCAAuC;YAC1C,OAAO,CACL;gBACE,+BAAI,OAAO,CAAC,oCAAoC,CAAK;gBACpD,IAAI,OAAO,CAAC,gCAAgC,EAAE;gBAC/C,oBAAC,aAAa,IAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,GAAI,CACjD,CACJ,CAAC;QACJ,KAAK,sCAAsC;YACzC,OAAO,CACL;gBACE,+BAAI,OAAO,CAAC,gCAAgC,CAAK;gBAChD,IAAI,OAAO,CAAC,oCAAoC,EAAE;gBACnD,oBAAC,aAAa,IAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,GAAI,CACjD,CACJ,CAAC;QACJ,KAAK,qCAAqC;YACxC,OAAO,CACL;gBACE,+BAAI,OAAO,CAAC,8CAA8C,CAAK;gBAC9D,IAAI,OAAO,CAAC,gDAAgD,EAAE;gBAC/D,oBAAC,SAAS,IAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,GAAI,CACzC,CACJ,CAAC;QACJ,KAAK,qCAAqC;YACxC,OAAO,CACL;gBACE,+BAAI,OAAO,CAAC,gDAAgD,CAAK;gBAChE,IAAI,OAAO,CAAC,oCAAoC,EAAE;gBACnD,oBAAC,aAAa,IAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,GAAI,CACjD,CACJ,CAAC;QACJ,KAAK,uBAAuB;YAC1B,OAAO,CACL;gBACE,+BAAI,OAAO,CAAC,oCAAoC,CAAK;gBACpD,IAAI,OAAO,CAAC,oCAAoC,EAAE;gBACnD,oBAAC,aAAa,IAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,GAAI,CACjD,CACJ,CAAC;QACJ,KAAK,mBAAmB;YACtB,OAAO,CACL;gBACE,+BAAI,OAAO,CAAC,+BAA+B,CAAK;gBAC/C,IAAI,OAAO,CAAC,gCAAgC,EAAE;gBAC/C,oBAAC,SAAS,IAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,GAAI,CACzC,CACJ,CAAC;QACJ,KAAK,mBAAmB;YACtB,OAAO,CACL;gBACE,+BAAI,OAAO,CAAC,gCAAgC,CAAK;gBAChD,IAAI,OAAO,CAAC,oCAAoC,EAAE;gBACnD,oBAAC,aAAa,IAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,GAAI,CACjD,CACJ,CAAC;QACJ,KAAK,uBAAuB;YAC1B,OAAO,CACL;gBACE,+BAAI,OAAO,CAAC,mCAAmC,CAAK;gBACnD,IAAI,OAAO,CAAC,oCAAoC,EAAE;gBACnD,oBAAC,SAAS,IAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,GAAI,CACzC,CACJ,CAAC;IACN,CAAC;IACD,OAAO,yCAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAA2B;IAChD,OAAO,CACL,oBAAC,IAAI,IAAC,IAAI,EAAC,2EAA2E,EAAC,MAAM,EAAC,QAAQ,EAAC,SAAS,UAC7G,KAAK,CAAC,QAAQ,CACV,CACR,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAA2B;IAC5C,OAAO,CACL,oBAAC,IAAI,IACH,IAAI,EAAC,qGAAqG,EAC1G,MAAM,EAAC,QAAQ,EACf,SAAS,UAER,KAAK,CAAC,QAAQ,CACV,CACR,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { Link } from '@fluentui/react';\nimport React from 'react';\nimport { _ComplianceBannerStrings } from './types';\nimport { ComplianceBannerVariant } from './Utils';\n\n/** @private */\nexport function BannerMessage(props: {\n variant: ComplianceBannerVariant;\n strings: _ComplianceBannerStrings;\n}): JSX.Element {\n const { variant, strings } = props;\n switch (variant) {\n case 'TRANSCRIPTION_STOPPED_STILL_RECORDING':\n return (\n <>\n <b>{strings.complianceBannerTranscriptionStopped}</b>\n {` ${strings.complianceBannerNowOnlyRecording}`}\n <PrivacyPolicy linkText={strings.privacyPolicy} />\n </>\n );\n case 'RECORDING_STOPPED_STILL_TRANSCRIBING':\n return (\n <>\n <b>{strings.complianceBannerRecordingStopped}</b>\n {` ${strings.complianceBannerNowOnlyTranscription}`}\n <PrivacyPolicy linkText={strings.privacyPolicy} />\n </>\n );\n case 'RECORDING_AND_TRANSCRIPTION_STOPPED':\n return (\n <>\n <b>{strings.complianceBannerRecordingAndTranscriptionSaved}</b>\n {` ${strings.complianceBannerRecordingAndTranscriptionStopped}`}\n <LearnMore linkText={strings.learnMore} />\n </>\n );\n case 'RECORDING_AND_TRANSCRIPTION_STARTED':\n return (\n <>\n <b>{strings.complianceBannerRecordingAndTranscriptionStarted}</b>\n {` ${strings.complianceBannerTranscriptionConsent}`}\n <PrivacyPolicy linkText={strings.privacyPolicy} />\n </>\n );\n case 'TRANSCRIPTION_STARTED':\n return (\n <>\n <b>{strings.complianceBannerTranscriptionStarted}</b>\n {` ${strings.complianceBannerTranscriptionConsent}`}\n <PrivacyPolicy linkText={strings.privacyPolicy} />\n </>\n );\n case 'RECORDING_STOPPED':\n return (\n <>\n <b>{strings.complianceBannerRecordingSaving}</b>\n {` ${strings.complianceBannerRecordingStopped}`}\n <LearnMore linkText={strings.learnMore} />\n </>\n );\n case 'RECORDING_STARTED':\n return (\n <>\n <b>{strings.complianceBannerRecordingStarted}</b>\n {` ${strings.complianceBannerTranscriptionConsent}`}\n <PrivacyPolicy linkText={strings.privacyPolicy} />\n </>\n );\n case 'TRANSCRIPTION_STOPPED':\n return (\n <>\n <b>{strings.complianceBannerTranscriptionSaving}</b>\n {` ${strings.complianceBannerTranscriptionStopped}`}\n <LearnMore linkText={strings.learnMore} />\n </>\n );\n }\n return <></>;\n}\n\nfunction PrivacyPolicy(props: { linkText: string }): JSX.Element {\n return (\n <Link href=\"https://privacy.microsoft.com/privacystatement#mainnoticetoendusersmodule\" target=\"_blank\" underline>\n {props.linkText}\n </Link>\n );\n}\n\nfunction LearnMore(props: { linkText: string }): JSX.Element {\n return (\n <Link\n href=\"https://support.microsoft.com/office/record-a-meeting-in-teams-34dfbe7f-b07d-4a27-b4c6-de62f1348c24\"\n target=\"_blank\"\n underline\n >\n {props.linkText}\n </Link>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ComplianceBanner.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/ComplianceBanner/ComplianceBanner.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { useRef } from 'react';\nimport { ComplianceState, computeVariant } from './Utils';\nimport { _ComplianceBannerProps } from './types';\nimport { DelayedUpdateBanner } from './DelayedUpdateBanner';\n\n// latestBooleanState so we can compare with props.callRecordState and props.callTranscribeState easily\n// latestStringState is on, off, stopped state generated by function determineStates using previous and current state values, this is used for computeVariants later\ntype CachedComplianceBannerProps = {\n latestBooleanState: {\n callTranscribeState?: boolean;\n callRecordState?: boolean;\n };\n latestStringState: {\n callTranscribeState: ComplianceState;\n callRecordState: ComplianceState;\n };\n // Timestamp for the last time cached state was updated.\n // Represented as milliseconds since epoch (i.e., the value returned by Date.now()).\n lastUpdated: number;\n};\n\n/**\n * A component that displays banners to notify the user when call recording and\n * transcription is enabled or disabled in a call.\n *\n * This component implements a state machine that tracks the changes to call\n * recording and transcription state and shows the corresponding message.\n *\n * @internal\n */\nexport const _ComplianceBanner = (props: _ComplianceBannerProps): JSX.Element => {\n const cachedProps = useRef<CachedComplianceBannerProps>({\n latestBooleanState: {\n callTranscribeState: false,\n callRecordState: false\n },\n latestStringState: {\n callTranscribeState: 'off',\n callRecordState: 'off'\n },\n lastUpdated: Date.now()\n });\n\n // Only update cached props and variant if there is _some_ change in the latest props.\n // This ensures that state machine is only updated if there is an actual change in the props.\n const shouldUpdateCached =\n props.callRecordState !== cachedProps.current.latestBooleanState.callRecordState ||\n props.callTranscribeState !== cachedProps.current.latestBooleanState.callTranscribeState;\n\n // The following three operations must be performed in this exact order:\n\n // [1]: Update cached state to transition the state machine.\n if (shouldUpdateCached) {\n cachedProps.current = {\n latestBooleanState: props,\n latestStringState: {\n callRecordState: determineStates(cachedProps.current.latestStringState.callRecordState, props.callRecordState),\n callTranscribeState: determineStates(\n cachedProps.current.latestStringState.callTranscribeState,\n props.callTranscribeState\n )\n },\n lastUpdated: Date.now()\n };\n }\n\n // [2]: Compute the variant, using the transitioned state machine.\n const variant = computeVariant(\n cachedProps.current.latestStringState.callRecordState,\n cachedProps.current.latestStringState.callTranscribeState\n );\n\n // [3]: Transition the state machine again to deal with some end-states.\n if (\n shouldUpdateCached &&\n cachedProps.current.latestStringState.callRecordState === 'stopped' &&\n cachedProps.current.latestStringState.callTranscribeState === 'stopped'\n ) {\n // When both states are stopped, after displaying message \"RECORDING_AND_TRANSCRIPTION_STOPPED\", change both states to off (going back to the default state).\n cachedProps.current.latestStringState.callRecordState = 'off';\n cachedProps.current.latestStringState.callTranscribeState = 'off';\n }\n\n return (\n <DelayedUpdateBanner\n variant={{\n variant,\n lastUpdated: cachedProps.current.lastUpdated\n }}\n strings={props.strings}\n onDismiss={() => {\n if (cachedProps.current.latestStringState.callRecordState === 'stopped') {\n cachedProps.current.latestStringState.callRecordState = 'off';\n }\n if (cachedProps.current.latestStringState.callTranscribeState === 'stopped') {\n cachedProps.current.latestStringState.callTranscribeState = 'off';\n }\n }}\n />\n );\n};\n\nfunction determineStates(previous: ComplianceState, current: boolean | undefined): ComplianceState {\n // if current state is on, then return on\n if (current) {\n return 'on';\n }\n // if current state is off\n else {\n // if previous state is on and current state is off, return stopped (on -> off)\n if (previous === 'on') {\n return 'stopped';\n }\n // otherwise remain previous state unchanged\n else {\n return previous;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"ComplianceBanner.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/ComplianceBanner/ComplianceBanner.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { useRef } from 'react';\nimport { ComplianceState, computeVariant } from './Utils';\nimport { _ComplianceBannerProps } from './types';\nimport { DelayedUpdateBanner } from './DelayedUpdateBanner';\n\n// latestBooleanState so we can compare with props.callRecordState and props.callTranscribeState easily\n// latestStringState is on, off, stopped state generated by function determineStates using previous and current state values, this is used for computeVariants later\ntype CachedComplianceBannerProps = {\n latestBooleanState: {\n callTranscribeState?: boolean;\n callRecordState?: boolean;\n };\n latestStringState: {\n callTranscribeState: ComplianceState;\n callRecordState: ComplianceState;\n };\n // Timestamp for the last time cached state was updated.\n // Represented as milliseconds since epoch (i.e., the value returned by Date.now()).\n lastUpdated: number;\n};\n\n/**\n * A component that displays banners to notify the user when call recording and\n * transcription is enabled or disabled in a call.\n *\n * This component implements a state machine that tracks the changes to call\n * recording and transcription state and shows the corresponding message.\n *\n * @internal\n */\nexport const _ComplianceBanner = (props: _ComplianceBannerProps): JSX.Element => {\n const cachedProps = useRef<CachedComplianceBannerProps>({\n latestBooleanState: {\n callTranscribeState: false,\n callRecordState: false\n },\n latestStringState: {\n callTranscribeState: 'off',\n callRecordState: 'off'\n },\n lastUpdated: Date.now()\n });\n\n // Only update cached props and variant if there is _some_ change in the latest props.\n // This ensures that state machine is only updated if there is an actual change in the props.\n const shouldUpdateCached =\n props.callRecordState !== cachedProps.current.latestBooleanState.callRecordState ||\n props.callTranscribeState !== cachedProps.current.latestBooleanState.callTranscribeState;\n\n // The following three operations must be performed in this exact order:\n\n // [1]: Update cached state to transition the state machine.\n if (shouldUpdateCached) {\n cachedProps.current = {\n latestBooleanState: props,\n latestStringState: {\n callRecordState: determineStates(cachedProps.current.latestStringState.callRecordState, props.callRecordState),\n callTranscribeState: determineStates(\n cachedProps.current.latestStringState.callTranscribeState,\n props.callTranscribeState\n )\n },\n lastUpdated: Date.now()\n };\n }\n\n // [2]: Compute the variant, using the transitioned state machine.\n const variant = computeVariant(\n cachedProps.current.latestStringState.callRecordState,\n cachedProps.current.latestStringState.callTranscribeState\n );\n\n // [3]: Transition the state machine again to deal with some end-states.\n if (\n shouldUpdateCached &&\n cachedProps.current.latestStringState.callRecordState === 'stopped' &&\n cachedProps.current.latestStringState.callTranscribeState === 'stopped'\n ) {\n // When both states are stopped, after displaying message \"RECORDING_AND_TRANSCRIPTION_STOPPED\", change both states to off (going back to the default state).\n cachedProps.current.latestStringState.callRecordState = 'off';\n cachedProps.current.latestStringState.callTranscribeState = 'off';\n }\n\n return (\n <DelayedUpdateBanner\n variant={{\n variant,\n lastUpdated: cachedProps.current.lastUpdated\n }}\n strings={props.strings}\n onDismiss={() => {\n if (cachedProps.current.latestStringState.callRecordState === 'stopped') {\n cachedProps.current.latestStringState.callRecordState = 'off';\n }\n if (cachedProps.current.latestStringState.callTranscribeState === 'stopped') {\n cachedProps.current.latestStringState.callTranscribeState = 'off';\n }\n }}\n />\n );\n};\n\nfunction determineStates(previous: ComplianceState, current: boolean | undefined): ComplianceState {\n // if current state is on, then return on\n if (current) {\n return 'on';\n }\n // if current state is off\n else {\n // if previous state is on and current state is off, return stopped (on -> off)\n if (previous === 'on') {\n return 'stopped';\n }\n // otherwise remain previous state unchanged\n else {\n return previous;\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DelayedUpdateBanner.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/ComplianceBanner/DelayedUpdateBanner.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD,MAAM,yBAAyB,GAAG,IAAI,CAAC;AASvC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAInC;IACC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;IAEnE,0DAA0D;IAC1D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAqB;QACzD,OAAO;QACP,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;KACxB,CAAC,CAAC;IACH,MAAM,mBAAmB,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IAE/E,IAAI,OAAO,KAAK,OAAO,CAAC,OAAO,IAAI,kBAAkB,GAAG,OAAO,CAAC,WAAW,EAAE;QAC3E,gCAAgC;QAChC,4DAA4D;QAC5D,IAAI,mBAAmB,CAAC,OAAO,EAAE;YAC/B,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;SAC3C;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,gBAAgB,GAAG,yBAAyB,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QACjF,IAAI,OAAO,KAAK,UAAU,IAAI,gBAAgB,IAAI,CAAC,EAAE;YACnD,UAAU,CAAC;gBACT,OAAO;gBACP,WAAW,EAAE,GAAG;aACjB,CAAC,CAAC;SACJ;aAAM;YACL,mBAAmB,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5C,mFAAmF;gBACnF,oDAAoD;gBACpD,UAAU,CAAC;oBACT,OAAO;oBACP,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;iBACxB,CAAC,CAAC;YACL,CAAC,EAAE,gBAAgB,CAAC,CAAC;SACtB;KACF;IAED,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,EAAE;QAClC,OAAO,yCAAK,CAAC;KACd;IAED,OAAO,CACL,oBAAC,UAAU,IACT,cAAc,EAAE,cAAc,CAAC,OAAO,EACtC,SAAS,EAAE,GAAG,EAAE;YACd,4FAA4F;YAC5F,4DAA4D;YAC5D,UAAU,CAAC;gBACT,OAAO,EAAE,UAAU;gBACnB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;aACxB,CAAC,CAAC;YACH,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,CAAC,EACD,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;QAE3C,oBAAC,aAAa,IAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CACxD,CACd,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { MessageBar, MessageBarType } from '@fluentui/react';\nimport React, { useRef, useState } from 'react';\nimport { BannerMessage } from './BannerMessage';\nimport { _ComplianceBannerStrings } from './types';\nimport { ComplianceBannerVariant } from './Utils';\n\nconst BANNER_OVERWRITE_DELAY_MS = 3000;\n\n/** @private */\nexport interface TimestampedVariant {\n variant: ComplianceBannerVariant;\n // Milliseconds since epoch (i.e., return value of Date.now()).\n lastUpdated: number;\n}\n\n/**\n * Shows a {@link BannerMessage} in a {@link MessageBar} tracking `variant` internally.\n *\n * This component delays and combines frequent updates to `variant` such that:\n * - Updates that happen within {@link BANNER_OVERWRITE_DELAY_MS} are delayed.\n * - Once {@link BANNER_OVERWRITE_DELAY_MS} has passed since the last update, the _latest_ pending update is shown.\n *\n * This ensures that there is enough time for the user to see a banner message before it is overwritten.\n * In case of multiple delayed messages, the user always sees the final message as it reflects the final state\n * of recording and transcription.\n *\n * @private\n */\nexport function DelayedUpdateBanner(props: {\n variant: TimestampedVariant;\n onDismiss: () => void;\n strings: _ComplianceBannerStrings;\n}): JSX.Element {\n const { variant, lastUpdated: variantLastUpdated } = props.variant;\n\n // Tracks the variant that is currently visible in the UI.\n const [visible, setVisible] = useState<TimestampedVariant>({\n variant,\n lastUpdated: Date.now()\n });\n const pendingUpdateHandle = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n if (variant !== visible.variant && variantLastUpdated > visible.lastUpdated) {\n // Always clear pending updates.\n // We'll either update now, or schedule an update for later.\n if (pendingUpdateHandle.current) {\n clearTimeout(pendingUpdateHandle.current);\n }\n\n const now = Date.now();\n const timeToNextUpdate = BANNER_OVERWRITE_DELAY_MS - (now - visible.lastUpdated);\n if (variant === 'NO_STATE' || timeToNextUpdate <= 0) {\n setVisible({\n variant,\n lastUpdated: now\n });\n } else {\n pendingUpdateHandle.current = setTimeout(() => {\n // Set the actual update time, not the computed time when the update should happen.\n // The actual update might be later than we planned.\n setVisible({\n variant,\n lastUpdated: Date.now()\n });\n }, timeToNextUpdate);\n }\n }\n\n if (visible.variant === 'NO_STATE') {\n return <></>;\n }\n\n return (\n <MessageBar\n messageBarType={MessageBarType.warning}\n onDismiss={() => {\n // when closing the banner, change variant to nostate and change stopped state to off state.\n // Reason: on banner close, going back to the default state.\n setVisible({\n variant: 'NO_STATE',\n lastUpdated: Date.now()\n });\n props.onDismiss();\n }}\n dismissButtonAriaLabel={props.strings.close}\n >\n <BannerMessage variant={visible.variant} strings={props.strings} />\n </MessageBar>\n );\n}\n"]}
1
+ {"version":3,"file":"DelayedUpdateBanner.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/ComplianceBanner/DelayedUpdateBanner.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD,MAAM,yBAAyB,GAAG,IAAI,CAAC;AASvC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAInC;IACC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;IAEnE,0DAA0D;IAC1D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAqB;QACzD,OAAO;QACP,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;KACxB,CAAC,CAAC;IACH,MAAM,mBAAmB,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IAE/E,IAAI,OAAO,KAAK,OAAO,CAAC,OAAO,IAAI,kBAAkB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAC5E,gCAAgC;QAChC,4DAA4D;QAC5D,IAAI,mBAAmB,CAAC,OAAO,EAAE,CAAC;YAChC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,gBAAgB,GAAG,yBAAyB,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QACjF,IAAI,OAAO,KAAK,UAAU,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;YACpD,UAAU,CAAC;gBACT,OAAO;gBACP,WAAW,EAAE,GAAG;aACjB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,mBAAmB,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5C,mFAAmF;gBACnF,oDAAoD;gBACpD,UAAU,CAAC;oBACT,OAAO;oBACP,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;iBACxB,CAAC,CAAC;YACL,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QACnC,OAAO,yCAAK,CAAC;IACf,CAAC;IAED,OAAO,CACL,oBAAC,UAAU,IACT,cAAc,EAAE,cAAc,CAAC,OAAO,EACtC,SAAS,EAAE,GAAG,EAAE;YACd,4FAA4F;YAC5F,4DAA4D;YAC5D,UAAU,CAAC;gBACT,OAAO,EAAE,UAAU;gBACnB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;aACxB,CAAC,CAAC;YACH,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,CAAC,EACD,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;QAE3C,oBAAC,aAAa,IAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CACxD,CACd,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { MessageBar, MessageBarType } from '@fluentui/react';\nimport React, { useRef, useState } from 'react';\nimport { BannerMessage } from './BannerMessage';\nimport { _ComplianceBannerStrings } from './types';\nimport { ComplianceBannerVariant } from './Utils';\n\nconst BANNER_OVERWRITE_DELAY_MS = 3000;\n\n/** @private */\nexport interface TimestampedVariant {\n variant: ComplianceBannerVariant;\n // Milliseconds since epoch (i.e., return value of Date.now()).\n lastUpdated: number;\n}\n\n/**\n * Shows a {@link BannerMessage} in a {@link MessageBar} tracking `variant` internally.\n *\n * This component delays and combines frequent updates to `variant` such that:\n * - Updates that happen within {@link BANNER_OVERWRITE_DELAY_MS} are delayed.\n * - Once {@link BANNER_OVERWRITE_DELAY_MS} has passed since the last update, the _latest_ pending update is shown.\n *\n * This ensures that there is enough time for the user to see a banner message before it is overwritten.\n * In case of multiple delayed messages, the user always sees the final message as it reflects the final state\n * of recording and transcription.\n *\n * @private\n */\nexport function DelayedUpdateBanner(props: {\n variant: TimestampedVariant;\n onDismiss: () => void;\n strings: _ComplianceBannerStrings;\n}): JSX.Element {\n const { variant, lastUpdated: variantLastUpdated } = props.variant;\n\n // Tracks the variant that is currently visible in the UI.\n const [visible, setVisible] = useState<TimestampedVariant>({\n variant,\n lastUpdated: Date.now()\n });\n const pendingUpdateHandle = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n if (variant !== visible.variant && variantLastUpdated > visible.lastUpdated) {\n // Always clear pending updates.\n // We'll either update now, or schedule an update for later.\n if (pendingUpdateHandle.current) {\n clearTimeout(pendingUpdateHandle.current);\n }\n\n const now = Date.now();\n const timeToNextUpdate = BANNER_OVERWRITE_DELAY_MS - (now - visible.lastUpdated);\n if (variant === 'NO_STATE' || timeToNextUpdate <= 0) {\n setVisible({\n variant,\n lastUpdated: now\n });\n } else {\n pendingUpdateHandle.current = setTimeout(() => {\n // Set the actual update time, not the computed time when the update should happen.\n // The actual update might be later than we planned.\n setVisible({\n variant,\n lastUpdated: Date.now()\n });\n }, timeToNextUpdate);\n }\n }\n\n if (visible.variant === 'NO_STATE') {\n return <></>;\n }\n\n return (\n <MessageBar\n messageBarType={MessageBarType.warning}\n onDismiss={() => {\n // when closing the banner, change variant to nostate and change stopped state to off state.\n // Reason: on banner close, going back to the default state.\n setVisible({\n variant: 'NO_STATE',\n lastUpdated: Date.now()\n });\n props.onDismiss();\n }}\n dismissButtonAriaLabel={props.strings.close}\n >\n <BannerMessage variant={visible.variant} strings={props.strings} />\n </MessageBar>\n );\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @private
3
3
  */
4
- export declare type ComplianceState = 'on' | 'off' | 'stopped';
4
+ export type ComplianceState = 'on' | 'off' | 'stopped';
5
5
  /**
6
6
  * Return different conditions based on the current and previous state of recording and transcribing
7
7
  *
@@ -16,5 +16,5 @@ export declare const computeVariant: (callRecordState: ComplianceState, callTran
16
16
  /**
17
17
  * @private
18
18
  */
19
- export declare type ComplianceBannerVariant = 'NO_STATE' | 'TRANSCRIPTION_STOPPED_STILL_RECORDING' | 'RECORDING_STOPPED_STILL_TRANSCRIBING' | 'RECORDING_AND_TRANSCRIPTION_STOPPED' | 'RECORDING_AND_TRANSCRIPTION_STARTED' | 'TRANSCRIPTION_STARTED' | 'RECORDING_STOPPED' | 'RECORDING_STARTED' | 'TRANSCRIPTION_STOPPED';
19
+ export type ComplianceBannerVariant = 'NO_STATE' | 'TRANSCRIPTION_STOPPED_STILL_RECORDING' | 'RECORDING_STOPPED_STILL_TRANSCRIBING' | 'RECORDING_AND_TRANSCRIPTION_STOPPED' | 'RECORDING_AND_TRANSCRIPTION_STARTED' | 'TRANSCRIPTION_STARTED' | 'RECORDING_STOPPED' | 'RECORDING_STARTED' | 'TRANSCRIPTION_STOPPED';
20
20
  //# sourceMappingURL=Utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/ComplianceBanner/Utils.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAOlC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,eAAgC,EAChC,mBAAoC,EACX,EAAE;IAC3B,IAAI,eAAe,KAAK,IAAI,IAAI,mBAAmB,KAAK,IAAI,EAAE;QAC5D,OAAO,qCAAqC,CAAC;KAC9C;SAAM,IAAI,eAAe,KAAK,IAAI,IAAI,mBAAmB,KAAK,KAAK,EAAE;QACpE,OAAO,mBAAmB,CAAC;KAC5B;SAAM,IAAI,eAAe,KAAK,KAAK,IAAI,mBAAmB,KAAK,IAAI,EAAE;QACpE,OAAO,uBAAuB,CAAC;KAChC;SAAM,IAAI,eAAe,KAAK,IAAI,IAAI,mBAAmB,KAAK,SAAS,EAAE;QACxE,OAAO,uCAAuC,CAAC;KAChD;SAAM,IAAI,eAAe,KAAK,SAAS,IAAI,mBAAmB,KAAK,IAAI,EAAE;QACxE,OAAO,sCAAsC,CAAC;KAC/C;SAAM,IAAI,eAAe,KAAK,KAAK,IAAI,mBAAmB,KAAK,SAAS,EAAE;QACzE,OAAO,uBAAuB,CAAC;KAChC;SAAM,IAAI,eAAe,KAAK,SAAS,IAAI,mBAAmB,KAAK,KAAK,EAAE;QACzE,OAAO,mBAAmB,CAAC;KAC5B;SAAM,IAAI,eAAe,KAAK,SAAS,IAAI,mBAAmB,KAAK,SAAS,EAAE;QAC7E,OAAO,qCAAqC,CAAC;KAC9C;SAAM;QACL,OAAO,UAAU,CAAC;KACnB;AACH,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * @private\n */\nexport type ComplianceState = 'on' | 'off' | 'stopped';\n\n/**\n * Return different conditions based on the current and previous state of recording and transcribing\n *\n * @param callRecordState - The current call record state: on, off, stopped\n * @param callTranscribeState - The current call transcribe state: on, off, stopped\n *\n * @remarks - The stopped state means: previously on but currently off\n *\n * @private\n */\nexport const computeVariant = (\n callRecordState: ComplianceState,\n callTranscribeState: ComplianceState\n): ComplianceBannerVariant => {\n if (callRecordState === 'on' && callTranscribeState === 'on') {\n return 'RECORDING_AND_TRANSCRIPTION_STARTED';\n } else if (callRecordState === 'on' && callTranscribeState === 'off') {\n return 'RECORDING_STARTED';\n } else if (callRecordState === 'off' && callTranscribeState === 'on') {\n return 'TRANSCRIPTION_STARTED';\n } else if (callRecordState === 'on' && callTranscribeState === 'stopped') {\n return 'TRANSCRIPTION_STOPPED_STILL_RECORDING';\n } else if (callRecordState === 'stopped' && callTranscribeState === 'on') {\n return 'RECORDING_STOPPED_STILL_TRANSCRIBING';\n } else if (callRecordState === 'off' && callTranscribeState === 'stopped') {\n return 'TRANSCRIPTION_STOPPED';\n } else if (callRecordState === 'stopped' && callTranscribeState === 'off') {\n return 'RECORDING_STOPPED';\n } else if (callRecordState === 'stopped' && callTranscribeState === 'stopped') {\n return 'RECORDING_AND_TRANSCRIPTION_STOPPED';\n } else {\n return 'NO_STATE';\n }\n};\n\n/**\n * @private\n */\nexport type ComplianceBannerVariant =\n | 'NO_STATE'\n | 'TRANSCRIPTION_STOPPED_STILL_RECORDING'\n | 'RECORDING_STOPPED_STILL_TRANSCRIBING'\n | 'RECORDING_AND_TRANSCRIPTION_STOPPED'\n | 'RECORDING_AND_TRANSCRIPTION_STARTED'\n | 'TRANSCRIPTION_STARTED'\n | 'RECORDING_STOPPED'\n | 'RECORDING_STARTED'\n | 'TRANSCRIPTION_STOPPED';\n"]}
1
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/ComplianceBanner/Utils.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAOlC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,eAAgC,EAChC,mBAAoC,EACX,EAAE;IAC3B,IAAI,eAAe,KAAK,IAAI,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;QAC7D,OAAO,qCAAqC,CAAC;IAC/C,CAAC;SAAM,IAAI,eAAe,KAAK,IAAI,IAAI,mBAAmB,KAAK,KAAK,EAAE,CAAC;QACrE,OAAO,mBAAmB,CAAC;IAC7B,CAAC;SAAM,IAAI,eAAe,KAAK,KAAK,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;QACrE,OAAO,uBAAuB,CAAC;IACjC,CAAC;SAAM,IAAI,eAAe,KAAK,IAAI,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;QACzE,OAAO,uCAAuC,CAAC;IACjD,CAAC;SAAM,IAAI,eAAe,KAAK,SAAS,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;QACzE,OAAO,sCAAsC,CAAC;IAChD,CAAC;SAAM,IAAI,eAAe,KAAK,KAAK,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;QAC1E,OAAO,uBAAuB,CAAC;IACjC,CAAC;SAAM,IAAI,eAAe,KAAK,SAAS,IAAI,mBAAmB,KAAK,KAAK,EAAE,CAAC;QAC1E,OAAO,mBAAmB,CAAC;IAC7B,CAAC;SAAM,IAAI,eAAe,KAAK,SAAS,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;QAC9E,OAAO,qCAAqC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,OAAO,UAAU,CAAC;IACpB,CAAC;AACH,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * @private\n */\nexport type ComplianceState = 'on' | 'off' | 'stopped';\n\n/**\n * Return different conditions based on the current and previous state of recording and transcribing\n *\n * @param callRecordState - The current call record state: on, off, stopped\n * @param callTranscribeState - The current call transcribe state: on, off, stopped\n *\n * @remarks - The stopped state means: previously on but currently off\n *\n * @private\n */\nexport const computeVariant = (\n callRecordState: ComplianceState,\n callTranscribeState: ComplianceState\n): ComplianceBannerVariant => {\n if (callRecordState === 'on' && callTranscribeState === 'on') {\n return 'RECORDING_AND_TRANSCRIPTION_STARTED';\n } else if (callRecordState === 'on' && callTranscribeState === 'off') {\n return 'RECORDING_STARTED';\n } else if (callRecordState === 'off' && callTranscribeState === 'on') {\n return 'TRANSCRIPTION_STARTED';\n } else if (callRecordState === 'on' && callTranscribeState === 'stopped') {\n return 'TRANSCRIPTION_STOPPED_STILL_RECORDING';\n } else if (callRecordState === 'stopped' && callTranscribeState === 'on') {\n return 'RECORDING_STOPPED_STILL_TRANSCRIBING';\n } else if (callRecordState === 'off' && callTranscribeState === 'stopped') {\n return 'TRANSCRIPTION_STOPPED';\n } else if (callRecordState === 'stopped' && callTranscribeState === 'off') {\n return 'RECORDING_STOPPED';\n } else if (callRecordState === 'stopped' && callTranscribeState === 'stopped') {\n return 'RECORDING_AND_TRANSCRIPTION_STOPPED';\n } else {\n return 'NO_STATE';\n }\n};\n\n/**\n * @private\n */\nexport type ComplianceBannerVariant =\n | 'NO_STATE'\n | 'TRANSCRIPTION_STOPPED_STILL_RECORDING'\n | 'RECORDING_STOPPED_STILL_TRANSCRIBING'\n | 'RECORDING_AND_TRANSCRIPTION_STOPPED'\n | 'RECORDING_AND_TRANSCRIPTION_STARTED'\n | 'TRANSCRIPTION_STARTED'\n | 'RECORDING_STOPPED'\n | 'RECORDING_STARTED'\n | 'TRANSCRIPTION_STOPPED';\n"]}
@@ -22,7 +22,7 @@ export interface _ComplianceBannerStrings {
22
22
  /**
23
23
  * @internal
24
24
  */
25
- export declare type _ComplianceBannerProps = {
25
+ export type _ComplianceBannerProps = {
26
26
  callTranscribeState?: boolean;
27
27
  callRecordState?: boolean;
28
28
  strings: _ComplianceBannerStrings;
@@ -5,7 +5,7 @@ import { BaseCustomStyles } from '../types';
5
5
  *
6
6
  * @public
7
7
  */
8
- export declare type ControlBarLayout = 'horizontal' | 'vertical' | 'dockedTop' | 'dockedBottom' | 'dockedLeft' | 'dockedRight' | 'floatingTop' | 'floatingBottom' | 'floatingLeft' | 'floatingRight';
8
+ export type ControlBarLayout = 'horizontal' | 'vertical' | 'dockedTop' | 'dockedBottom' | 'dockedLeft' | 'dockedRight' | 'floatingTop' | 'floatingBottom' | 'floatingLeft' | 'floatingRight';
9
9
  /**
10
10
  * Props for {@link ControlBar}.
11
11
  *
@@ -40,7 +40,7 @@ export interface ControlBarButtonStrings {
40
40
  *
41
41
  * @public
42
42
  */
43
- export declare type ControlBarButtonStyles = IButtonStyles;
43
+ export type ControlBarButtonStyles = IButtonStyles;
44
44
  /**
45
45
  * Props for {@link ControlBarButton}.
46
46
  *
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserPermissionDenied.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/DevicePermissions/BrowserPermissionDenied.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React from 'react';\nimport { IButtonStyles, ILinkStyles } from '@fluentui/react';\n/* @conditional-compile-remove(call-readiness) */\nimport { Stack, Text, Link, Icon, PrimaryButton, mergeStyleSets } from '@fluentui/react';\n/* @conditional-compile-remove(call-readiness) */\nimport { useLocale } from '../../localization';\n/* @conditional-compile-remove(call-readiness) */\nimport { _formatString, _pxToRem } from '@internal/acs-ui-common';\n/* @conditional-compile-remove(call-readiness) */\nimport {\n iconContainerStyles,\n iconPrimaryStyles,\n linkTextStyles,\n primaryButtonStyles,\n primaryTextStyles,\n secondaryTextStyles,\n textContainerStyles\n} from './../styles/BrowserPermissionDenied.styles';\nimport { BaseCustomStyles } from '../../types';\n/* @conditional-compile-remove(call-readiness) */\nimport { isValidString } from '../utils';\n\n/**\n * @beta\n * Props for BrowserPermissionDenied component.\n */\nexport interface BrowserPermissionDeniedProps {\n /**\n * Action to be taken by the more help link. Possible to send to external page or show other modal.\n */\n onTroubleshootingClick?: () => void;\n /**\n * Action to be taken by the try again primary button.\n */\n onTryAgainClick?: () => void;\n /**\n * Localization strings for BrowserPermissionDenied component.\n */\n strings?: BrowserPermissionDeniedStrings;\n /**\n * Allows users to pass in an object contains custom CSS styles.\n * @Example\n * ```\n * <BrowserPermissionDenied styles={{ primaryButton: { root: {backgroundColor: 'blue' }}}} />\n * ```\n */\n styles?: BrowserPermissionDeniedStyles;\n}\n\n/**\n * @beta\n * Strings for BrowserPermissionDenied component\n */\nexport interface BrowserPermissionDeniedStrings {\n /**\n * Main button text string.\n */\n primaryButtonText: string;\n /**\n * Main text string.\n */\n primaryText: string;\n /**\n * Subtext string.\n */\n secondaryText: string;\n /**\n * More help link string.\n */\n linkText: string;\n}\n\n/**\n * Fluent styles for {@link BrowserPermissionDenied}.\n *\n * @beta\n */\nexport interface BrowserPermissionDeniedStyles extends BaseCustomStyles {\n /** Styles for the primary button. */\n primaryButton?: IButtonStyles;\n /** Styles for the help troubleshooting link text. */\n troubleshootingLink?: ILinkStyles;\n}\n\n/* @conditional-compile-remove(call-readiness) */\nconst BrowserPermissionDeniedContainer = (props: BrowserPermissionDeniedProps): JSX.Element => {\n const { onTroubleshootingClick, onTryAgainClick, strings, styles } = props;\n return (\n <Stack style={{ padding: '2rem', paddingTop: '2.5rem', maxWidth: '25.375rem' }}>\n <Stack horizontal style={{ paddingBottom: '1.5rem' }} horizontalAlign={'space-between'}>\n <Stack styles={iconContainerStyles} horizontalAlign={'center'}>\n <Icon styles={iconPrimaryStyles} iconName={'BrowserPermissionDeniedError'}></Icon>\n </Stack>\n </Stack>\n <Stack styles={textContainerStyles}>\n {isValidString(strings?.primaryText) && <Text styles={primaryTextStyles}>{strings?.primaryText}</Text>}\n {isValidString(strings?.secondaryText) && <Text styles={secondaryTextStyles}>{strings?.secondaryText}</Text>}\n\n {onTryAgainClick && isValidString(strings?.primaryButtonText) && (\n <PrimaryButton\n styles={mergeStyleSets(primaryButtonStyles, styles?.primaryButton)}\n text={strings?.primaryButtonText}\n onClick={onTryAgainClick}\n />\n )}\n\n {onTroubleshootingClick && isValidString(strings?.linkText) && (\n <Link styles={mergeStyleSets(linkTextStyles, styles?.troubleshootingLink)} onClick={onTroubleshootingClick}>\n {strings?.linkText}\n </Link>\n )}\n </Stack>\n </Stack>\n );\n};\n\n/**\n * @beta\n *\n * Component to allow Contoso to help their end user with their devices should their browser experience device permission issues.\n */\nexport const BrowserPermissionDenied = (props: BrowserPermissionDeniedProps): JSX.Element => {\n /* @conditional-compile-remove(call-readiness) */\n const locale = useLocale().strings.BrowserPermissionDenied;\n /* @conditional-compile-remove(call-readiness) */\n return <BrowserPermissionDeniedContainer {...props} strings={props.strings ? props.strings : locale} />;\n return <></>;\n};\n\"../../../../acs-ui-common/src\""]}
1
+ {"version":3,"file":"BrowserPermissionDenied.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/DevicePermissions/BrowserPermissionDenied.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,iDAAiD;AACjD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACzF,iDAAiD;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,iDAAiD;AACjD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,4CAA4C,CAAC;AAEpD,iDAAiD;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAgEzC,iDAAiD;AACjD,MAAM,gCAAgC,GAAG,CAAC,KAAmC,EAAe,EAAE;IAC5F,MAAM,EAAE,sBAAsB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC3E,OAAO,CACL,oBAAC,KAAK,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE;QAC5E,oBAAC,KAAK,IAAC,UAAU,QAAC,KAAK,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,eAAe,EAAE,eAAe;YACpF,oBAAC,KAAK,IAAC,MAAM,EAAE,mBAAmB,EAAE,eAAe,EAAE,QAAQ;gBAC3D,oBAAC,IAAI,IAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,8BAA8B,GAAS,CAC5E,CACF;QACR,oBAAC,KAAK,IAAC,MAAM,EAAE,mBAAmB;YAC/B,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,CAAC,IAAI,oBAAC,IAAI,IAAC,MAAM,EAAE,iBAAiB,IAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,CAAQ;YACrG,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC,IAAI,oBAAC,IAAI,IAAC,MAAM,EAAE,mBAAmB,IAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAQ;YAE3G,eAAe,IAAI,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,CAAC,IAAI,CAC/D,oBAAC,aAAa,IACZ,MAAM,EAAE,cAAc,CAAC,mBAAmB,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,EAClE,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,EAChC,OAAO,EAAE,eAAe,GACxB,CACH;YAEA,sBAAsB,IAAI,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,IAAI,CAC7D,oBAAC,IAAI,IAAC,MAAM,EAAE,cAAc,CAAC,cAAc,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,mBAAmB,CAAC,EAAE,OAAO,EAAE,sBAAsB,IACvG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CACb,CACR,CACK,CACF,CACT,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAmC,EAAe,EAAE;IAC1F,iDAAiD;IACjD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC;IAC3D,iDAAiD;IACjD,OAAO,oBAAC,gCAAgC,oBAAK,KAAK,IAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC;IACxG,OAAO,yCAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React from 'react';\nimport { IButtonStyles, ILinkStyles } from '@fluentui/react';\n/* @conditional-compile-remove(call-readiness) */\nimport { Stack, Text, Link, Icon, PrimaryButton, mergeStyleSets } from '@fluentui/react';\n/* @conditional-compile-remove(call-readiness) */\nimport { useLocale } from '../../localization';\n/* @conditional-compile-remove(call-readiness) */\nimport { _formatString, _pxToRem } from '@internal/acs-ui-common';\n/* @conditional-compile-remove(call-readiness) */\nimport {\n iconContainerStyles,\n iconPrimaryStyles,\n linkTextStyles,\n primaryButtonStyles,\n primaryTextStyles,\n secondaryTextStyles,\n textContainerStyles\n} from './../styles/BrowserPermissionDenied.styles';\nimport { BaseCustomStyles } from '../../types';\n/* @conditional-compile-remove(call-readiness) */\nimport { isValidString } from '../utils';\n\n/**\n * @beta\n * Props for BrowserPermissionDenied component.\n */\nexport interface BrowserPermissionDeniedProps {\n /**\n * Action to be taken by the more help link. Possible to send to external page or show other modal.\n */\n onTroubleshootingClick?: () => void;\n /**\n * Action to be taken by the try again primary button.\n */\n onTryAgainClick?: () => void;\n /**\n * Localization strings for BrowserPermissionDenied component.\n */\n strings?: BrowserPermissionDeniedStrings;\n /**\n * Allows users to pass in an object contains custom CSS styles.\n * @Example\n * ```\n * <BrowserPermissionDenied styles={{ primaryButton: { root: {backgroundColor: 'blue' }}}} />\n * ```\n */\n styles?: BrowserPermissionDeniedStyles;\n}\n\n/**\n * @beta\n * Strings for BrowserPermissionDenied component\n */\nexport interface BrowserPermissionDeniedStrings {\n /**\n * Main button text string.\n */\n primaryButtonText: string;\n /**\n * Main text string.\n */\n primaryText: string;\n /**\n * Subtext string.\n */\n secondaryText: string;\n /**\n * More help link string.\n */\n linkText: string;\n}\n\n/**\n * Fluent styles for {@link BrowserPermissionDenied}.\n *\n * @beta\n */\nexport interface BrowserPermissionDeniedStyles extends BaseCustomStyles {\n /** Styles for the primary button. */\n primaryButton?: IButtonStyles;\n /** Styles for the help troubleshooting link text. */\n troubleshootingLink?: ILinkStyles;\n}\n\n/* @conditional-compile-remove(call-readiness) */\nconst BrowserPermissionDeniedContainer = (props: BrowserPermissionDeniedProps): JSX.Element => {\n const { onTroubleshootingClick, onTryAgainClick, strings, styles } = props;\n return (\n <Stack style={{ padding: '2rem', paddingTop: '2.5rem', maxWidth: '25.375rem' }}>\n <Stack horizontal style={{ paddingBottom: '1.5rem' }} horizontalAlign={'space-between'}>\n <Stack styles={iconContainerStyles} horizontalAlign={'center'}>\n <Icon styles={iconPrimaryStyles} iconName={'BrowserPermissionDeniedError'}></Icon>\n </Stack>\n </Stack>\n <Stack styles={textContainerStyles}>\n {isValidString(strings?.primaryText) && <Text styles={primaryTextStyles}>{strings?.primaryText}</Text>}\n {isValidString(strings?.secondaryText) && <Text styles={secondaryTextStyles}>{strings?.secondaryText}</Text>}\n\n {onTryAgainClick && isValidString(strings?.primaryButtonText) && (\n <PrimaryButton\n styles={mergeStyleSets(primaryButtonStyles, styles?.primaryButton)}\n text={strings?.primaryButtonText}\n onClick={onTryAgainClick}\n />\n )}\n\n {onTroubleshootingClick && isValidString(strings?.linkText) && (\n <Link styles={mergeStyleSets(linkTextStyles, styles?.troubleshootingLink)} onClick={onTroubleshootingClick}>\n {strings?.linkText}\n </Link>\n )}\n </Stack>\n </Stack>\n );\n};\n\n/**\n * @beta\n *\n * Component to allow Contoso to help their end user with their devices should their browser experience device permission issues.\n */\nexport const BrowserPermissionDenied = (props: BrowserPermissionDeniedProps): JSX.Element => {\n /* @conditional-compile-remove(call-readiness) */\n const locale = useLocale().strings.BrowserPermissionDenied;\n /* @conditional-compile-remove(call-readiness) */\n return <BrowserPermissionDeniedContainer {...props} strings={props.strings ? props.strings : locale} />;\n return <></>;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserPermissionDeniedIOS.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React from 'react';\n/* @conditional-compile-remove(call-readiness) */\nimport { useMemo } from 'react';\n/* @conditional-compile-remove(call-readiness) */\nimport { Stack, Text, Link, PrimaryButton, mergeStyleSets, useTheme, Image, ImageFit } from '@fluentui/react';\n/* @conditional-compile-remove(call-readiness) */\nimport { useLocale } from '../../localization';\n/* @conditional-compile-remove(call-readiness) */\nimport { _formatString, _pxToRem } from '@internal/acs-ui-common';\n/* @conditional-compile-remove(call-readiness) */\nimport {\n browserPermissionContainerStyles,\n iOSImageContainer,\n iOSStepsCircleStyles,\n iOSStepsContainerStyles,\n iOSStepsDigitTextStyles,\n iOSStepsTextStyles,\n linkTextStyles,\n primaryButtonStyles,\n primaryTextStyles,\n secondaryTextStyles,\n textContainerStyles\n} from './../styles/BrowserPermissionDenied.styles';\nimport { BrowserPermissionDeniedProps, BrowserPermissionDeniedStrings } from './BrowserPermissionDenied';\n/* @conditional-compile-remove(call-readiness) */\nimport { isValidString } from '../utils';\n\n/**\n * @beta\n * Props for BrowserPermissionDeniedIOS component.\n */\nexport interface BrowserPermissionDeniedIOSProps extends BrowserPermissionDeniedProps {\n /**\n * Localization strings for BrowserPermissionDeniedIOS component.\n */\n strings?: BrowserPermissionDeniedIOSStrings;\n /**\n * Link to image source.\n *\n * Image is inserted into the top of the component.\n */\n imageSource?: string;\n}\n\n/**\n * @beta\n * Strings for BrowserPermissionDeniedIOS component\n */\nexport interface BrowserPermissionDeniedIOSStrings extends BrowserPermissionDeniedStrings {\n /**\n * Image alt text\n */\n imageAltText: string;\n /**\n * Main text string.\n */\n primaryText: string;\n /**\n * Subtext string.\n */\n secondaryText: string;\n /**\n * Step 1 string\n */\n step1Text: string;\n /**\n * Step 1 digit string\n */\n step1DigitText: string;\n /**\n * Step 2 string\n */\n step2Text: string;\n /**\n * Step 2 digit string\n */\n step2DigitText: string;\n /**\n * Step 3 string\n */\n step3Text: string;\n /**\n * Step 3 digit string\n */\n step3DigitText: string;\n /**\n * Step 4 string\n */\n step4Text: string;\n /**\n * Step 4 digit string\n */\n step4DigitText: string;\n}\n\n/* @conditional-compile-remove(call-readiness) */\nconst BrowserPermissionDeniedIOSContainer = (props: BrowserPermissionDeniedIOSProps): JSX.Element => {\n const { imageSource, onTroubleshootingClick, onTryAgainClick, strings, styles } = props;\n const theme = useTheme();\n\n const stepsCircleStyle = useMemo(() => {\n return mergeStyleSets(iOSStepsCircleStyles, { root: { background: theme.palette.neutralLighter } });\n }, [theme]);\n\n return (\n <Stack styles={browserPermissionContainerStyles}>\n {imageSource && (\n <Stack styles={mergeStyleSets(iOSImageContainer, { root: { background: theme.palette.neutralLighter } })}>\n {isValidString(strings?.imageAltText) && (\n <Image\n src={imageSource ?? ''}\n alt={strings?.imageAltText}\n imageFit={ImageFit.centerContain}\n style={{ padding: '1.5rem' }}\n />\n )}\n </Stack>\n )}\n <Stack style={{ padding: '1rem', paddingBottom: '1.25rem' }}>\n <Stack styles={textContainerStyles}>\n {isValidString(strings?.primaryText) && <Text styles={primaryTextStyles}>{strings?.primaryText}</Text>}\n {isValidString(strings?.secondaryText) && <Text styles={secondaryTextStyles}>{strings?.secondaryText}</Text>}\n {isValidString(strings?.step1Text) && (\n <Stack styles={iOSStepsContainerStyles}>\n <Stack horizontalAlign={'center'} styles={stepsCircleStyle}>\n <Text styles={iOSStepsDigitTextStyles}>{strings?.step1DigitText}</Text>\n </Stack>\n <Text styles={iOSStepsTextStyles}>{strings?.step1Text}</Text>\n </Stack>\n )}\n {isValidString(strings?.step2Text) && (\n <Stack styles={iOSStepsContainerStyles}>\n <Stack horizontalAlign={'center'} styles={stepsCircleStyle}>\n <Text styles={iOSStepsDigitTextStyles}>{strings?.step2DigitText}</Text>\n </Stack>\n <Text styles={iOSStepsTextStyles}>{strings?.step2Text}</Text>\n </Stack>\n )}\n {isValidString(strings?.step3Text) && (\n <Stack styles={iOSStepsContainerStyles}>\n <Stack horizontalAlign={'center'} styles={stepsCircleStyle}>\n <Text styles={iOSStepsDigitTextStyles}>{strings?.step3DigitText}</Text>\n </Stack>\n <Text styles={iOSStepsTextStyles}>{strings?.step3Text}</Text>\n </Stack>\n )}\n {isValidString(strings?.step4Text) && (\n <Stack styles={mergeStyleSets(iOSStepsContainerStyles, { root: { paddingBottom: '1.5rem' } })}>\n <Stack horizontalAlign={'center'} styles={stepsCircleStyle}>\n <Text styles={iOSStepsDigitTextStyles}>{strings?.step4DigitText}</Text>\n </Stack>\n <Text styles={iOSStepsTextStyles}>{strings?.step4Text}</Text>\n </Stack>\n )}\n {isValidString(strings?.primaryButtonText) && (\n <PrimaryButton\n styles={mergeStyleSets(primaryButtonStyles, styles?.primaryButton)}\n text={strings?.primaryButtonText}\n onClick={onTryAgainClick}\n />\n )}\n {isValidString(strings?.linkText) && (\n <Link styles={mergeStyleSets(linkTextStyles, styles?.troubleshootingLink)} onClick={onTroubleshootingClick}>\n {strings?.linkText}\n </Link>\n )}\n </Stack>\n </Stack>\n </Stack>\n );\n};\n\n/**\n * @beta\n *\n * Component to allow Contoso to help their end user with their devices should their browser experience device permission issues.\n */\nexport const BrowserPermissionDeniedIOS = (props: BrowserPermissionDeniedIOSProps): JSX.Element => {\n /* @conditional-compile-remove(call-readiness) */\n const locale = useLocale().strings.BrowserPermissionDeniedIOS;\n /* @conditional-compile-remove(call-readiness) */\n return <BrowserPermissionDeniedIOSContainer {...props} strings={props.strings ? props.strings : locale} />;\n return <></>;\n};\n\"../../../../acs-ui-common/src\""]}
1
+ {"version":3,"file":"BrowserPermissionDeniedIOS.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,iDAAiD;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,iDAAiD;AACjD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC9G,iDAAiD;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,iDAAiD;AACjD,OAAO,EACL,gCAAgC,EAChC,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,4CAA4C,CAAC;AAEpD,iDAAiD;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAsEzC,iDAAiD;AACjD,MAAM,mCAAmC,GAAG,CAAC,KAAsC,EAAe,EAAE;IAClG,MAAM,EAAE,WAAW,EAAE,sBAAsB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACxF,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE;QACpC,OAAO,cAAc,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACtG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CACL,oBAAC,KAAK,IAAC,MAAM,EAAE,gCAAgC;QAC5C,WAAW,IAAI,CACd,oBAAC,KAAK,IAAC,MAAM,EAAE,cAAc,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,IACrG,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,IAAI,CACvC,oBAAC,KAAK,IACJ,GAAG,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,EACtB,GAAG,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,CAAC,aAAa,EAChC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAC5B,CACH,CACK,CACT;QACD,oBAAC,KAAK,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE;YACzD,oBAAC,KAAK,IAAC,MAAM,EAAE,mBAAmB;gBAC/B,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,CAAC,IAAI,oBAAC,IAAI,IAAC,MAAM,EAAE,iBAAiB,IAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,CAAQ;gBACrG,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC,IAAI,oBAAC,IAAI,IAAC,MAAM,EAAE,mBAAmB,IAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAQ;gBAC3G,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC,IAAI,CACpC,oBAAC,KAAK,IAAC,MAAM,EAAE,uBAAuB;oBACpC,oBAAC,KAAK,IAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB;wBACxD,oBAAC,IAAI,IAAC,MAAM,EAAE,uBAAuB,IAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CAAQ,CACjE;oBACR,oBAAC,IAAI,IAAC,MAAM,EAAE,kBAAkB,IAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAQ,CACvD,CACT;gBACA,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC,IAAI,CACpC,oBAAC,KAAK,IAAC,MAAM,EAAE,uBAAuB;oBACpC,oBAAC,KAAK,IAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB;wBACxD,oBAAC,IAAI,IAAC,MAAM,EAAE,uBAAuB,IAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CAAQ,CACjE;oBACR,oBAAC,IAAI,IAAC,MAAM,EAAE,kBAAkB,IAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAQ,CACvD,CACT;gBACA,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC,IAAI,CACpC,oBAAC,KAAK,IAAC,MAAM,EAAE,uBAAuB;oBACpC,oBAAC,KAAK,IAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB;wBACxD,oBAAC,IAAI,IAAC,MAAM,EAAE,uBAAuB,IAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CAAQ,CACjE;oBACR,oBAAC,IAAI,IAAC,MAAM,EAAE,kBAAkB,IAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAQ,CACvD,CACT;gBACA,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC,IAAI,CACpC,oBAAC,KAAK,IAAC,MAAM,EAAE,cAAc,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC;oBAC3F,oBAAC,KAAK,IAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB;wBACxD,oBAAC,IAAI,IAAC,MAAM,EAAE,uBAAuB,IAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CAAQ,CACjE;oBACR,oBAAC,IAAI,IAAC,MAAM,EAAE,kBAAkB,IAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAQ,CACvD,CACT;gBACA,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,CAAC,IAAI,CAC5C,oBAAC,aAAa,IACZ,MAAM,EAAE,cAAc,CAAC,mBAAmB,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,EAClE,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,EAChC,OAAO,EAAE,eAAe,GACxB,CACH;gBACA,aAAa,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,IAAI,CACnC,oBAAC,IAAI,IAAC,MAAM,EAAE,cAAc,CAAC,cAAc,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,mBAAmB,CAAC,EAAE,OAAO,EAAE,sBAAsB,IACvG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CACb,CACR,CACK,CACF,CACF,CACT,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,KAAsC,EAAe,EAAE;IAChG,iDAAiD;IACjD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC;IAC9D,iDAAiD;IACjD,OAAO,oBAAC,mCAAmC,oBAAK,KAAK,IAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC;IAC3G,OAAO,yCAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React from 'react';\n/* @conditional-compile-remove(call-readiness) */\nimport { useMemo } from 'react';\n/* @conditional-compile-remove(call-readiness) */\nimport { Stack, Text, Link, PrimaryButton, mergeStyleSets, useTheme, Image, ImageFit } from '@fluentui/react';\n/* @conditional-compile-remove(call-readiness) */\nimport { useLocale } from '../../localization';\n/* @conditional-compile-remove(call-readiness) */\nimport { _formatString, _pxToRem } from '@internal/acs-ui-common';\n/* @conditional-compile-remove(call-readiness) */\nimport {\n browserPermissionContainerStyles,\n iOSImageContainer,\n iOSStepsCircleStyles,\n iOSStepsContainerStyles,\n iOSStepsDigitTextStyles,\n iOSStepsTextStyles,\n linkTextStyles,\n primaryButtonStyles,\n primaryTextStyles,\n secondaryTextStyles,\n textContainerStyles\n} from './../styles/BrowserPermissionDenied.styles';\nimport { BrowserPermissionDeniedProps, BrowserPermissionDeniedStrings } from './BrowserPermissionDenied';\n/* @conditional-compile-remove(call-readiness) */\nimport { isValidString } from '../utils';\n\n/**\n * @beta\n * Props for BrowserPermissionDeniedIOS component.\n */\nexport interface BrowserPermissionDeniedIOSProps extends BrowserPermissionDeniedProps {\n /**\n * Localization strings for BrowserPermissionDeniedIOS component.\n */\n strings?: BrowserPermissionDeniedIOSStrings;\n /**\n * Link to image source.\n *\n * Image is inserted into the top of the component.\n */\n imageSource?: string;\n}\n\n/**\n * @beta\n * Strings for BrowserPermissionDeniedIOS component\n */\nexport interface BrowserPermissionDeniedIOSStrings extends BrowserPermissionDeniedStrings {\n /**\n * Image alt text\n */\n imageAltText: string;\n /**\n * Main text string.\n */\n primaryText: string;\n /**\n * Subtext string.\n */\n secondaryText: string;\n /**\n * Step 1 string\n */\n step1Text: string;\n /**\n * Step 1 digit string\n */\n step1DigitText: string;\n /**\n * Step 2 string\n */\n step2Text: string;\n /**\n * Step 2 digit string\n */\n step2DigitText: string;\n /**\n * Step 3 string\n */\n step3Text: string;\n /**\n * Step 3 digit string\n */\n step3DigitText: string;\n /**\n * Step 4 string\n */\n step4Text: string;\n /**\n * Step 4 digit string\n */\n step4DigitText: string;\n}\n\n/* @conditional-compile-remove(call-readiness) */\nconst BrowserPermissionDeniedIOSContainer = (props: BrowserPermissionDeniedIOSProps): JSX.Element => {\n const { imageSource, onTroubleshootingClick, onTryAgainClick, strings, styles } = props;\n const theme = useTheme();\n\n const stepsCircleStyle = useMemo(() => {\n return mergeStyleSets(iOSStepsCircleStyles, { root: { background: theme.palette.neutralLighter } });\n }, [theme]);\n\n return (\n <Stack styles={browserPermissionContainerStyles}>\n {imageSource && (\n <Stack styles={mergeStyleSets(iOSImageContainer, { root: { background: theme.palette.neutralLighter } })}>\n {isValidString(strings?.imageAltText) && (\n <Image\n src={imageSource ?? ''}\n alt={strings?.imageAltText}\n imageFit={ImageFit.centerContain}\n style={{ padding: '1.5rem' }}\n />\n )}\n </Stack>\n )}\n <Stack style={{ padding: '1rem', paddingBottom: '1.25rem' }}>\n <Stack styles={textContainerStyles}>\n {isValidString(strings?.primaryText) && <Text styles={primaryTextStyles}>{strings?.primaryText}</Text>}\n {isValidString(strings?.secondaryText) && <Text styles={secondaryTextStyles}>{strings?.secondaryText}</Text>}\n {isValidString(strings?.step1Text) && (\n <Stack styles={iOSStepsContainerStyles}>\n <Stack horizontalAlign={'center'} styles={stepsCircleStyle}>\n <Text styles={iOSStepsDigitTextStyles}>{strings?.step1DigitText}</Text>\n </Stack>\n <Text styles={iOSStepsTextStyles}>{strings?.step1Text}</Text>\n </Stack>\n )}\n {isValidString(strings?.step2Text) && (\n <Stack styles={iOSStepsContainerStyles}>\n <Stack horizontalAlign={'center'} styles={stepsCircleStyle}>\n <Text styles={iOSStepsDigitTextStyles}>{strings?.step2DigitText}</Text>\n </Stack>\n <Text styles={iOSStepsTextStyles}>{strings?.step2Text}</Text>\n </Stack>\n )}\n {isValidString(strings?.step3Text) && (\n <Stack styles={iOSStepsContainerStyles}>\n <Stack horizontalAlign={'center'} styles={stepsCircleStyle}>\n <Text styles={iOSStepsDigitTextStyles}>{strings?.step3DigitText}</Text>\n </Stack>\n <Text styles={iOSStepsTextStyles}>{strings?.step3Text}</Text>\n </Stack>\n )}\n {isValidString(strings?.step4Text) && (\n <Stack styles={mergeStyleSets(iOSStepsContainerStyles, { root: { paddingBottom: '1.5rem' } })}>\n <Stack horizontalAlign={'center'} styles={stepsCircleStyle}>\n <Text styles={iOSStepsDigitTextStyles}>{strings?.step4DigitText}</Text>\n </Stack>\n <Text styles={iOSStepsTextStyles}>{strings?.step4Text}</Text>\n </Stack>\n )}\n {isValidString(strings?.primaryButtonText) && (\n <PrimaryButton\n styles={mergeStyleSets(primaryButtonStyles, styles?.primaryButton)}\n text={strings?.primaryButtonText}\n onClick={onTryAgainClick}\n />\n )}\n {isValidString(strings?.linkText) && (\n <Link styles={mergeStyleSets(linkTextStyles, styles?.troubleshootingLink)} onClick={onTroubleshootingClick}>\n {strings?.linkText}\n </Link>\n )}\n </Stack>\n </Stack>\n </Stack>\n );\n};\n\n/**\n * @beta\n *\n * Component to allow Contoso to help their end user with their devices should their browser experience device permission issues.\n */\nexport const BrowserPermissionDeniedIOS = (props: BrowserPermissionDeniedIOSProps): JSX.Element => {\n /* @conditional-compile-remove(call-readiness) */\n const locale = useLocale().strings.BrowserPermissionDeniedIOS;\n /* @conditional-compile-remove(call-readiness) */\n return <BrowserPermissionDeniedIOSContainer {...props} strings={props.strings ? props.strings : locale} />;\n return <></>;\n};\n"]}
@@ -68,7 +68,7 @@ export declare const _DevicePermissionDropdown: (props: _DevicePermissionDropdow
68
68
  *
69
69
  * @internal
70
70
  */
71
- export declare type _PermissionConstraints = {
71
+ export type _PermissionConstraints = {
72
72
  audio: boolean;
73
73
  video: boolean;
74
74
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DevicePermissionDropdown.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/DevicePermissions/DevicePermissionDropdown.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,QAAQ,EAAoC,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,KAAK,MAAM,OAAO,CAAC;AA8D1B;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAqC,EAAe,EAAE;IAC9F,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAE1F,MAAM,mBAAmB,GAAG,GAAgB,EAAE;QAC5C,OAAO,CACL,oBAAC,KAAK,IAAC,UAAU,QAAC,aAAa,EAAC,QAAQ;YACrC,IAAI;YACL,oBAAC,IAAI,QAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAQ,CACjC,CACT,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAgB,EAAE;QAC1C,OAAO,oBAAC,IAAI,QAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,CAAQ,CAAC;IACrD,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,QAAQ,kBACK,qBAAqB,EACjC,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,EACrC,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,EACrB,mBAAmB,EAAE,mBAAmB,EACxC,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,mBAAmB,EAAE;gBACvB,mBAAmB,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;aAChE;YACD,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC;QACd,CAAC,EACD,OAAO,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,EACtB,MAAM,EAAE,MAAM,GACd,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { Dropdown, IDropdownOption, IDropdownStyles, Stack, Text } from '@fluentui/react';\nimport React from 'react';\n\n/**\n * Strings of {@link DevicePermissionDropdown} that can be overridden.\n *\n * @internal\n */\nexport interface _DevicePermissionDropdownStrings {\n /**\n * dropdown label\n */\n\n label?: string;\n /**\n * dropdown placeholder\n */\n placeHolderText: string;\n /** string for action button */\n actionButtonContent?: string;\n}\n\n/**\n * Props for {@link _DevicePermissionDropdown}.\n *\n * @internal\n */\nexport interface _DevicePermissionDropdownProps {\n /**\n * icon shown in dropdown placeholder\n */\n icon?: JSX.Element;\n /**\n * Dropdown content\n */\n options?: IDropdownOption[];\n /**\n * Ask for permissions of devices.\n *\n * @remarks\n * Browser permission window will pop up if permissions are not granted yet\n *\n * @param constrain - Define constraints for accessing local devices {@link @azure/communication-calling#PermissionConstraints }\n */\n askDevicePermission?(constrain: _PermissionConstraints): Promise<void>;\n /**\n * Optional callback when component is clicked\n */\n onClick?: () => void;\n /**\n * Define constraints for accessing local devices {@link @azure/communication-calling#PermissionConstraints }\n */\n constrain?: _PermissionConstraints;\n /**\n * Strings for devicepermissiondropdown\n */\n strings?: _DevicePermissionDropdownStrings;\n /**\n * Styles for devicepermissiondropdown\n */\n styles?: Partial<IDropdownStyles>;\n}\n\n/**\n * A dropdown to trigger device permission prompt\n *\n * @internal\n */\nexport const _DevicePermissionDropdown = (props: _DevicePermissionDropdownProps): JSX.Element => {\n const { icon, askDevicePermission, onClick, constrain, strings, options, styles } = props;\n\n const onRenderPlaceholder = (): JSX.Element => {\n return (\n <Stack horizontal verticalAlign=\"center\">\n {icon}\n <Text>{strings?.placeHolderText}</Text>\n </Stack>\n );\n };\n\n const onRenderCaretDown = (): JSX.Element => {\n return <Text>{strings?.actionButtonContent}</Text>;\n };\n\n return (\n <Dropdown\n data-ui-id={'permission-dropdown'}\n placeholder={strings?.placeHolderText}\n label={strings?.label}\n onRenderPlaceholder={onRenderPlaceholder}\n onRenderCaretDown={onRenderCaretDown}\n onClick={() => {\n if (askDevicePermission) {\n askDevicePermission(constrain ?? { video: true, audio: true });\n }\n onClick?.();\n }}\n options={options ?? []}\n styles={styles}\n />\n );\n};\n\n/**\n * Define constraints for accessing local devices {@link @azure/communication-calling#PermissionConstraints }\n *\n * @internal\n */\nexport type _PermissionConstraints = {\n audio: boolean;\n video: boolean;\n};\n"]}
1
+ {"version":3,"file":"DevicePermissionDropdown.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/DevicePermissions/DevicePermissionDropdown.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,QAAQ,EAAoC,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,KAAK,MAAM,OAAO,CAAC;AA8D1B;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAqC,EAAe,EAAE;IAC9F,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAE1F,MAAM,mBAAmB,GAAG,GAAgB,EAAE;QAC5C,OAAO,CACL,oBAAC,KAAK,IAAC,UAAU,QAAC,aAAa,EAAC,QAAQ;YACrC,IAAI;YACL,oBAAC,IAAI,QAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAQ,CACjC,CACT,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAgB,EAAE;QAC1C,OAAO,oBAAC,IAAI,QAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,CAAQ,CAAC;IACrD,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,QAAQ,kBACK,qBAAqB,EACjC,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,EACrC,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,EACrB,mBAAmB,EAAE,mBAAmB,EACxC,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,mBAAmB,EAAE,CAAC;gBACxB,mBAAmB,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC;QACd,CAAC,EACD,OAAO,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,EACtB,MAAM,EAAE,MAAM,GACd,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { Dropdown, IDropdownOption, IDropdownStyles, Stack, Text } from '@fluentui/react';\nimport React from 'react';\n\n/**\n * Strings of {@link DevicePermissionDropdown} that can be overridden.\n *\n * @internal\n */\nexport interface _DevicePermissionDropdownStrings {\n /**\n * dropdown label\n */\n\n label?: string;\n /**\n * dropdown placeholder\n */\n placeHolderText: string;\n /** string for action button */\n actionButtonContent?: string;\n}\n\n/**\n * Props for {@link _DevicePermissionDropdown}.\n *\n * @internal\n */\nexport interface _DevicePermissionDropdownProps {\n /**\n * icon shown in dropdown placeholder\n */\n icon?: JSX.Element;\n /**\n * Dropdown content\n */\n options?: IDropdownOption[];\n /**\n * Ask for permissions of devices.\n *\n * @remarks\n * Browser permission window will pop up if permissions are not granted yet\n *\n * @param constrain - Define constraints for accessing local devices {@link @azure/communication-calling#PermissionConstraints }\n */\n askDevicePermission?(constrain: _PermissionConstraints): Promise<void>;\n /**\n * Optional callback when component is clicked\n */\n onClick?: () => void;\n /**\n * Define constraints for accessing local devices {@link @azure/communication-calling#PermissionConstraints }\n */\n constrain?: _PermissionConstraints;\n /**\n * Strings for devicepermissiondropdown\n */\n strings?: _DevicePermissionDropdownStrings;\n /**\n * Styles for devicepermissiondropdown\n */\n styles?: Partial<IDropdownStyles>;\n}\n\n/**\n * A dropdown to trigger device permission prompt\n *\n * @internal\n */\nexport const _DevicePermissionDropdown = (props: _DevicePermissionDropdownProps): JSX.Element => {\n const { icon, askDevicePermission, onClick, constrain, strings, options, styles } = props;\n\n const onRenderPlaceholder = (): JSX.Element => {\n return (\n <Stack horizontal verticalAlign=\"center\">\n {icon}\n <Text>{strings?.placeHolderText}</Text>\n </Stack>\n );\n };\n\n const onRenderCaretDown = (): JSX.Element => {\n return <Text>{strings?.actionButtonContent}</Text>;\n };\n\n return (\n <Dropdown\n data-ui-id={'permission-dropdown'}\n placeholder={strings?.placeHolderText}\n label={strings?.label}\n onRenderPlaceholder={onRenderPlaceholder}\n onRenderCaretDown={onRenderCaretDown}\n onClick={() => {\n if (askDevicePermission) {\n askDevicePermission(constrain ?? { video: true, audio: true });\n }\n onClick?.();\n }}\n options={options ?? []}\n styles={styles}\n />\n );\n};\n\n/**\n * Define constraints for accessing local devices {@link @azure/communication-calling#PermissionConstraints }\n *\n * @internal\n */\nexport type _PermissionConstraints = {\n audio: boolean;\n video: boolean;\n};\n"]}
@@ -36,7 +36,7 @@ export interface CommonSitePermissionsProps {
36
36
  * @beta
37
37
  * Strings for CameraAndMicrophoneSitePermissions component.
38
38
  */
39
- export declare type CameraAndMicrophoneSitePermissionsStrings = SitePermissionsStrings;
39
+ export type CameraAndMicrophoneSitePermissionsStrings = SitePermissionsStrings;
40
40
  /**
41
41
  * @beta
42
42
  * Props for CameraAndMicrophoneSitePermissions component.
@@ -62,7 +62,7 @@ export declare const CameraAndMicrophoneSitePermissions: (props: CameraAndMicrop
62
62
  * @beta
63
63
  * Strings for MicrophoneSitePermissions component.
64
64
  */
65
- export declare type MicrophoneSitePermissionsStrings = SitePermissionsStrings;
65
+ export type MicrophoneSitePermissionsStrings = SitePermissionsStrings;
66
66
  /**
67
67
  * @beta
68
68
  * Props for MicrophoneSitePermissions component.
@@ -84,7 +84,7 @@ export declare const MicrophoneSitePermissions: (props: MicrophoneSitePermission
84
84
  * @beta
85
85
  * Strings for CameraSitePermissions component.
86
86
  */
87
- export declare type CameraSitePermissionsStrings = SitePermissionsStrings;
87
+ export type CameraSitePermissionsStrings = SitePermissionsStrings;
88
88
  /**
89
89
  * @beta
90
90
  * Props for CameraSitePermissions component.
@@ -48,7 +48,7 @@ export interface SitePermissionsContainerProps {
48
48
  * @beta
49
49
  * Strings for SitePermissions component
50
50
  */
51
- export declare type SitePermissionsStrings = {
51
+ export type SitePermissionsStrings = {
52
52
  /**
53
53
  * Main text string.
54
54
  */