@azure/communication-react 1.22.0 → 1.23.0-alpha-202412200016

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 (1271) hide show
  1. package/dist/communication-react.d.ts +2298 -153
  2. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-bdhcp77f.js +280 -0
  3. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-bdhcp77f.js.map +1 -0
  4. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-DCfnYa5y.js +52 -0
  5. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-DCfnYa5y.js.map +1 -0
  6. package/dist/dist-cjs/communication-react/index-O64dqfKP.js +45673 -0
  7. package/dist/dist-cjs/communication-react/index-O64dqfKP.js.map +1 -0
  8. package/dist/dist-cjs/communication-react/index.js +178 -36397
  9. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/common.d.ts +13 -0
  13. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/constants.d.ts +5 -0
  16. package/dist/dist-esm/acs-ui-common/src/constants.js +6 -0
  17. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  18. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  19. package/dist/dist-esm/acs-ui-common/src/dataConversion.d.ts +6 -0
  20. package/dist/dist-esm/acs-ui-common/src/dataConversion.js +21 -0
  21. package/dist/dist-esm/acs-ui-common/src/dataConversion.js.map +1 -0
  22. package/dist/dist-esm/acs-ui-common/src/identifier.js +4 -1
  23. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  24. package/dist/dist-esm/acs-ui-common/src/index.d.ts +4 -0
  25. package/dist/dist-esm/acs-ui-common/src/index.js +6 -0
  26. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  27. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  28. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  29. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  30. package/dist/dist-esm/acs-ui-common/src/removeImageTags.d.ts +7 -0
  31. package/dist/dist-esm/acs-ui-common/src/removeImageTags.js +18 -0
  32. package/dist/dist-esm/acs-ui-common/src/removeImageTags.js.map +1 -0
  33. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  34. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  35. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  36. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  37. package/dist/dist-esm/acs-ui-javascript-loaders/src/callCompositeLoader.js +1 -4
  38. package/dist/dist-esm/acs-ui-javascript-loaders/src/callCompositeLoader.js.map +1 -1
  39. package/dist/dist-esm/acs-ui-javascript-loaders/src/callWithChatCompositeLoader.js +1 -4
  40. package/dist/dist-esm/acs-ui-javascript-loaders/src/callWithChatCompositeLoader.js.map +1 -1
  41. package/dist/dist-esm/acs-ui-javascript-loaders/src/chatCompositeLoader.js +1 -4
  42. package/dist/dist-esm/acs-ui-javascript-loaders/src/chatCompositeLoader.js.map +1 -1
  43. package/dist/dist-esm/acs-ui-javascript-loaders/src/index.js.map +1 -1
  44. package/dist/dist-esm/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.js +6 -7
  45. package/dist/dist-esm/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.js.map +1 -1
  46. package/dist/dist-esm/acs-ui-javascript-loaders/src/utils.js +1 -1
  47. package/dist/dist-esm/acs-ui-javascript-loaders/src/utils.js.map +1 -1
  48. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +13 -0
  49. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +22 -0
  50. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +18 -8
  52. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  53. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +7 -1
  54. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
  55. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +20 -55
  56. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  57. package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js +1 -1
  58. package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js.map +1 -1
  59. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +75 -0
  60. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +181 -65
  61. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  62. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +2 -2
  63. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  64. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +13 -6
  65. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  66. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +39 -6
  67. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  68. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  69. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  70. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  71. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  72. package/dist/dist-esm/calling-component-bindings/src/incomingCallStackSelector.js +8 -2
  73. package/dist/dist-esm/calling-component-bindings/src/incomingCallStackSelector.js.map +1 -1
  74. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  75. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +126 -61
  76. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
  77. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +1 -0
  78. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +48 -13
  79. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  80. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  81. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  82. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +6 -3
  83. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  84. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  85. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  86. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  87. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +18 -7
  88. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  89. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.d.ts +2 -1
  90. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +14 -10
  91. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  92. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +6 -2
  93. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +48 -15
  94. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  95. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +32 -6
  96. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  97. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  98. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.d.ts +20 -0
  99. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js +125 -0
  100. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js.map +1 -0
  101. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  102. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +66 -71
  103. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  104. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +182 -2
  105. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  106. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +30 -0
  107. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +284 -34
  108. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  109. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +7 -8
  110. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  111. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +99 -108
  112. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  113. package/dist/dist-esm/calling-stateful-client/src/CallFeatureStreamUtils.d.ts +14 -0
  114. package/dist/dist-esm/calling-stateful-client/src/CallFeatureStreamUtils.js +207 -0
  115. package/dist/dist-esm/calling-stateful-client/src/CallFeatureStreamUtils.js.map +1 -0
  116. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  117. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  118. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +7 -0
  119. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +57 -12
  120. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  121. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.d.ts +1 -0
  122. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js +62 -0
  123. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -1
  124. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  125. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +6 -0
  126. package/dist/dist-esm/calling-stateful-client/src/Converter.js +32 -20
  127. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  128. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +58 -73
  129. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  130. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +14 -16
  131. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  132. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  133. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.d.ts +9 -0
  134. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +53 -15
  135. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  136. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.d.ts +17 -0
  137. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +36 -0
  138. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +1 -0
  139. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js.map +1 -1
  140. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  141. package/dist/dist-esm/calling-stateful-client/src/MediaAccessSubscriber.d.ts +17 -0
  142. package/dist/dist-esm/calling-stateful-client/src/MediaAccessSubscriber.js +29 -0
  143. package/dist/dist-esm/calling-stateful-client/src/MediaAccessSubscriber.js.map +1 -0
  144. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js +1 -3
  145. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js.map +1 -1
  146. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js.map +1 -1
  147. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  148. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js.map +1 -1
  149. package/dist/dist-esm/calling-stateful-client/src/ReactionSubscriber.js.map +1 -1
  150. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.d.ts +1 -0
  151. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +11 -0
  152. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  153. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  154. package/dist/dist-esm/calling-stateful-client/src/SpotlightSubscriber.js.map +1 -1
  155. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +3 -2
  156. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +71 -64
  157. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  158. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +42 -24
  159. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  160. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js +8 -11
  161. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js.map +1 -1
  162. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
  163. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +17 -0
  164. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  165. package/dist/dist-esm/calling-stateful-client/src/TeamsIncomingCallDeclarative.js +14 -16
  166. package/dist/dist-esm/calling-stateful-client/src/TeamsIncomingCallDeclarative.js.map +1 -1
  167. package/dist/dist-esm/calling-stateful-client/src/TogetherModeSubscriber.d.ts +24 -0
  168. package/dist/dist-esm/calling-stateful-client/src/TogetherModeSubscriber.js +71 -0
  169. package/dist/dist-esm/calling-stateful-client/src/TogetherModeSubscriber.js.map +1 -0
  170. package/dist/dist-esm/calling-stateful-client/src/TogetherModeVideoStreamSubscriber.d.ts +18 -0
  171. package/dist/dist-esm/calling-stateful-client/src/TogetherModeVideoStreamSubscriber.js +34 -0
  172. package/dist/dist-esm/calling-stateful-client/src/TogetherModeVideoStreamSubscriber.js.map +1 -0
  173. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  174. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  175. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.d.ts +1 -0
  176. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +34 -3
  177. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  178. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js +6 -7
  179. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -1
  180. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +6 -0
  181. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  182. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  183. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +4 -4
  184. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  185. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +2 -2
  186. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  187. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +15 -15
  188. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  189. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +6 -2
  190. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +59 -8
  191. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  192. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  193. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.d.ts +2 -1
  194. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js +4 -0
  195. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  196. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  197. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  198. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +68 -18
  199. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  200. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  201. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  202. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  203. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  204. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +3 -7
  205. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  206. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +3 -1
  207. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  208. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  209. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.d.ts +6 -0
  210. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js +23 -0
  211. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js.map +1 -0
  212. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +10 -3
  213. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  214. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +15 -1
  215. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  216. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +16 -22
  217. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  218. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  219. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +11 -12
  220. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  221. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  222. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js +4 -16
  223. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js.map +1 -1
  224. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +57 -67
  225. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  226. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +114 -128
  227. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  228. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  229. package/dist/dist-esm/chat-stateful-client/src/index.d.ts +1 -0
  230. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  231. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  232. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  233. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  234. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  235. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  236. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  237. package/dist/dist-esm/communication-react/src/api-summary.js.map +1 -1
  238. package/dist/dist-esm/communication-react/src/index.d.ts +35 -0
  239. package/dist/dist-esm/communication-react/src/index.js +18 -0
  240. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  241. package/dist/dist-esm/communication-react/src/javascript-loaders.js.map +1 -1
  242. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  243. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js +3 -6
  244. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js.map +1 -1
  245. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.js.map +1 -1
  246. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js.map +1 -1
  247. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js +4 -10
  248. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js.map +1 -1
  249. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js +1 -1
  250. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js.map +1 -1
  251. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js +1 -1
  252. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js.map +1 -1
  253. package/dist/dist-esm/react-components/src/components/Announcer.js +1 -1
  254. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  255. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js +11 -11
  256. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js.map +1 -1
  257. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCardGroup.js +1 -1
  258. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCardGroup.js.map +1 -1
  259. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.d.ts +2 -0
  260. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js +15 -6
  261. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js.map +1 -1
  262. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentUploadCards.js +21 -18
  263. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentUploadCards.js.map +1 -1
  264. package/dist/dist-esm/react-components/src/components/CameraButton.js +13 -20
  265. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  266. package/dist/dist-esm/react-components/src/components/Caption.js +2 -2
  267. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
  268. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +13 -8
  269. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  270. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js +38 -20
  271. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -1
  272. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +2 -5
  273. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  274. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +37 -22
  275. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  276. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +13 -1
  277. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +30 -24
  278. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  279. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +11 -0
  280. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +64 -30
  281. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  282. package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.js +9 -5
  283. package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.js.map +1 -1
  284. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +10 -0
  285. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +15 -0
  286. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +1 -0
  287. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +8 -1
  288. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +39 -9
  289. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  290. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.d.ts +2 -1
  291. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +46 -12
  292. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
  293. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.d.ts +4 -1
  294. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +57 -27
  295. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
  296. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +22 -1
  297. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +20 -0
  298. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
  299. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +24 -0
  300. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +278 -0
  301. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -0
  302. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +23 -2
  303. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +53 -7
  304. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  305. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +8 -1
  306. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +49 -12
  307. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  308. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +80 -15
  309. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  310. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  311. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  312. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +7 -4
  313. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  314. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +2 -2
  315. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  316. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  317. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  318. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  319. package/dist/dist-esm/react-components/src/components/ControlBar.js +10 -14
  320. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  321. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +14 -4
  322. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  323. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +5 -16
  324. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  325. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +69 -0
  326. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +37 -0
  327. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -0
  328. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +75 -0
  329. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +58 -0
  330. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -0
  331. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js +15 -14
  332. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
  333. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +105 -0
  334. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +86 -0
  335. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -0
  336. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +86 -0
  337. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +32 -0
  338. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +1 -0
  339. package/dist/dist-esm/react-components/src/components/DevicesButton.js +19 -27
  340. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  341. package/dist/dist-esm/react-components/src/components/Dialpad/DTMFToneGenerator.js +12 -48
  342. package/dist/dist-esm/react-components/src/components/Dialpad/DTMFToneGenerator.js.map +1 -1
  343. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +45 -51
  344. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  345. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js +4 -4
  346. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  347. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +2 -6
  348. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  349. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +11 -9
  350. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  351. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +11 -23
  352. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  353. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +6 -4
  354. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  355. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.js +11 -5
  356. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.js.map +1 -1
  357. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  358. package/dist/dist-esm/react-components/src/components/EndCallButton.js +12 -13
  359. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  360. package/dist/dist-esm/react-components/src/components/ErrorBar.js +9 -5
  361. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  362. package/dist/dist-esm/react-components/src/components/ErrorBoundary.js +2 -6
  363. package/dist/dist-esm/react-components/src/components/ErrorBoundary.js.map +1 -1
  364. package/dist/dist-esm/react-components/src/components/GridLayout.js +37 -37
  365. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  366. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +2 -2
  367. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  368. package/dist/dist-esm/react-components/src/components/HoldButton.js +1 -1
  369. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -1
  370. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +7 -9
  371. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  372. package/dist/dist-esm/react-components/src/components/ImageOverlay.d.ts +4 -0
  373. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +15 -14
  374. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
  375. package/dist/dist-esm/react-components/src/components/IncomingCallNotification.js +26 -39
  376. package/dist/dist-esm/react-components/src/components/IncomingCallNotification.js.map +1 -1
  377. package/dist/dist-esm/react-components/src/components/IncomingCallStack.js +5 -7
  378. package/dist/dist-esm/react-components/src/components/IncomingCallStack.js.map +1 -1
  379. package/dist/dist-esm/react-components/src/components/InputBoxButton.js +3 -10
  380. package/dist/dist-esm/react-components/src/components/InputBoxButton.js.map +1 -1
  381. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +2 -0
  382. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +23 -7
  383. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  384. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +3 -5
  385. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  386. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +39 -22
  387. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  388. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js +15 -23
  389. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js.map +1 -1
  390. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js +4 -12
  391. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js.map +1 -1
  392. package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +121 -0
  393. package/dist/dist-esm/react-components/src/components/MentionPopover.js +126 -0
  394. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -0
  395. package/dist/dist-esm/react-components/src/components/MessageStatusIcon.js +2 -2
  396. package/dist/dist-esm/react-components/src/components/MessageStatusIcon.js.map +1 -1
  397. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  398. package/dist/dist-esm/react-components/src/components/MessageStatusIndicatorInternal.js +20 -33
  399. package/dist/dist-esm/react-components/src/components/MessageStatusIndicatorInternal.js.map +1 -1
  400. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +81 -5
  401. package/dist/dist-esm/react-components/src/components/MessageThread.js +116 -49
  402. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  403. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +16 -17
  404. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  405. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +94 -101
  406. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  407. package/dist/dist-esm/react-components/src/components/Notification.js +6 -14
  408. package/dist/dist-esm/react-components/src/components/Notification.js.map +1 -1
  409. package/dist/dist-esm/react-components/src/components/NotificationStack.d.ts +26 -0
  410. package/dist/dist-esm/react-components/src/components/NotificationStack.js +17 -8
  411. package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
  412. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +15 -22
  413. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  414. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +15 -0
  415. package/dist/dist-esm/react-components/src/components/ParticipantList.js +60 -45
  416. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  417. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +46 -32
  418. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  419. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  420. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  421. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  422. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  423. package/dist/dist-esm/react-components/src/components/RTTDisclosureBanner.d.ts +28 -0
  424. package/dist/dist-esm/react-components/src/components/RTTDisclosureBanner.js +28 -0
  425. package/dist/dist-esm/react-components/src/components/RTTDisclosureBanner.js.map +1 -0
  426. package/dist/dist-esm/react-components/src/components/RTTModal.d.ts +39 -0
  427. package/dist/dist-esm/react-components/src/components/RTTModal.js +55 -0
  428. package/dist/dist-esm/react-components/src/components/RTTModal.js.map +1 -0
  429. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js +6 -12
  430. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js.map +1 -1
  431. package/dist/dist-esm/react-components/src/components/ReactionButton.js +24 -23
  432. package/dist/dist-esm/react-components/src/components/ReactionButton.js.map +1 -1
  433. package/dist/dist-esm/react-components/src/components/RealTimeText.d.ts +54 -0
  434. package/dist/dist-esm/react-components/src/components/RealTimeText.js +43 -0
  435. package/dist/dist-esm/react-components/src/components/RealTimeText.js.map +1 -0
  436. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +24 -16
  437. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  438. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +2 -2
  439. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  440. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js +2 -2
  441. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +1 -1
  442. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.d.ts +9 -0
  443. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js +29 -0
  444. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js.map +1 -0
  445. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.d.ts +30 -0
  446. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +112 -0
  447. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +1 -0
  448. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.d.ts +19 -0
  449. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js +41 -0
  450. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js.map +1 -0
  451. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.d.ts +17 -0
  452. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js +56 -0
  453. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js.map +1 -0
  454. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.d.ts +24 -0
  455. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js +66 -0
  456. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js.map +1 -0
  457. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.d.ts +20 -0
  458. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js +45 -0
  459. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js.map +1 -0
  460. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.d.ts +14 -0
  461. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js +56 -0
  462. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js.map +1 -0
  463. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.d.ts +30 -0
  464. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js +96 -0
  465. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js.map +1 -0
  466. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.d.ts +59 -0
  467. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +383 -0
  468. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -0
  469. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +37 -0
  470. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +100 -0
  471. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -0
  472. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +215 -0
  473. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +274 -0
  474. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -0
  475. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.d.ts +16 -0
  476. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +77 -0
  477. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +1 -0
  478. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.d.ts +19 -0
  479. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js +232 -0
  480. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js.map +1 -0
  481. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.d.ts +7 -0
  482. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js +49 -0
  483. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js.map +1 -0
  484. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.d.ts +15 -0
  485. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js +67 -0
  486. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js.map +1 -0
  487. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.d.ts +6 -0
  488. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js +13 -0
  489. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js.map +1 -0
  490. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +6 -14
  491. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  492. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +47 -1
  493. package/dist/dist-esm/react-components/src/components/SendBox.js +103 -12
  494. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  495. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.d.ts +56 -0
  496. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +91 -0
  497. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -0
  498. package/dist/dist-esm/react-components/src/components/SendBoxErrors.d.ts +14 -0
  499. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +20 -0
  500. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -0
  501. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js +2 -4
  502. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -1
  503. package/dist/dist-esm/react-components/src/components/StreamMedia.js +14 -3
  504. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  505. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.js +10 -3
  506. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.js.map +1 -1
  507. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.styles.js.map +1 -1
  508. package/dist/dist-esm/react-components/src/components/Survey/SurveyTypes.js.map +1 -1
  509. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.js +23 -23
  510. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.js.map +1 -1
  511. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.styles.js.map +1 -1
  512. package/dist/dist-esm/react-components/src/components/SystemMessage.js +2 -4
  513. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  514. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +24 -0
  515. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +595 -0
  516. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +1 -0
  517. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +152 -0
  518. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +821 -0
  519. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +1 -0
  520. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +10 -10
  521. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  522. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +9 -6
  523. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  524. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +3 -1
  525. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  526. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +3 -1
  527. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  528. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +20 -0
  529. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  530. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +3 -1
  531. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  532. package/dist/dist-esm/react-components/src/components/VerticalGallery.js +19 -39
  533. package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
  534. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js +3 -1
  535. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js.map +1 -1
  536. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +9 -13
  537. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  538. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js +8 -22
  539. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
  540. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +6 -2
  541. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -1
  542. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +19 -8
  543. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  544. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +15 -11
  545. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  546. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +40 -16
  547. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  548. package/dist/dist-esm/react-components/src/components/VideoGallery/FocusContentLayout.js +2 -2
  549. package/dist/dist-esm/react-components/src/components/VideoGallery/FocusContentLayout.js.map +1 -1
  550. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.d.ts +17 -0
  551. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js +99 -0
  552. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js.map +1 -0
  553. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  554. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +4 -2
  555. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  556. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +6 -4
  557. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
  558. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js +17 -11
  559. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js.map +1 -1
  560. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js +29 -24
  561. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js.map +1 -1
  562. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +8 -6
  563. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  564. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +2 -4
  565. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -1
  566. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js +34 -10
  567. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -1
  568. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js +1 -6
  569. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js.map +1 -1
  570. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +9 -34
  571. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  572. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js +2 -11
  573. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js.map +1 -1
  574. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js.map +1 -1
  575. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  576. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteVideoTile.styles.js.map +1 -1
  577. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +1 -3
  578. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -1
  579. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +10 -11
  580. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
  581. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js +22 -28
  582. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -1
  583. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +11 -6
  584. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  585. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +38 -51
  586. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  587. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js.map +1 -1
  588. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/reactionUtils.js.map +1 -1
  589. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +39 -31
  590. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  591. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +1 -1
  592. package/dist/dist-esm/react-components/src/components/VideoGallery.js +115 -26
  593. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  594. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +2 -0
  595. package/dist/dist-esm/react-components/src/components/VideoTile.js +51 -70
  596. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  597. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js +2 -2
  598. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js.map +1 -1
  599. package/dist/dist-esm/react-components/src/components/index.d.ts +23 -0
  600. package/dist/dist-esm/react-components/src/components/index.js +19 -0
  601. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  602. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.d.ts +1 -1
  603. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js.map +1 -1
  604. package/dist/dist-esm/react-components/src/components/styles/AttachmentCardGroup.styles.d.ts +1 -1
  605. package/dist/dist-esm/react-components/src/components/styles/AttachmentCardGroup.styles.js.map +1 -1
  606. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +58 -0
  607. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +144 -0
  608. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -0
  609. package/dist/dist-esm/react-components/src/components/styles/Captions.style.d.ts +8 -0
  610. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js +27 -2
  611. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  612. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -1
  613. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +3 -10
  614. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  615. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -1
  616. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  617. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  618. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  619. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  620. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  621. package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.js +2 -5
  622. package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.js.map +1 -1
  623. package/dist/dist-esm/react-components/src/components/styles/InputBoxButton.style.js.map +1 -1
  624. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +2 -5
  625. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  626. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +26 -0
  627. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +69 -0
  628. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +1 -0
  629. package/dist/dist-esm/react-components/src/components/styles/MessageBarLink.styles.js.map +1 -1
  630. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  631. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +3 -3
  632. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +13 -10
  633. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  634. package/dist/dist-esm/react-components/src/components/styles/Notification.styles.js.map +1 -1
  635. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +6 -4
  636. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  637. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  638. package/dist/dist-esm/react-components/src/components/styles/RTTDisclosureBanner.styles.d.ts +6 -0
  639. package/dist/dist-esm/react-components/src/components/styles/RTTDisclosureBanner.styles.js +17 -0
  640. package/dist/dist-esm/react-components/src/components/styles/RTTDisclosureBanner.styles.js.map +1 -0
  641. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js +1 -3
  642. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js.map +1 -1
  643. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js +2 -2
  644. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js.map +1 -1
  645. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.d.ts +82 -0
  646. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +295 -0
  647. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +1 -0
  648. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.d.ts +21 -0
  649. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js +34 -0
  650. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js.map +1 -0
  651. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +2 -10
  652. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  653. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +38 -0
  654. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +99 -0
  655. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +1 -0
  656. package/dist/dist-esm/react-components/src/components/styles/Stack.style.d.ts +5 -0
  657. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js +32 -0
  658. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +1 -0
  659. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +3 -6
  660. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  661. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  662. package/dist/dist-esm/react-components/src/components/styles/TeamsMeetingConferenceInfo.js.map +1 -1
  663. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +1 -2
  664. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  665. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  666. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +26 -0
  667. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +69 -0
  668. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +1 -0
  669. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js +1 -2
  670. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js.map +1 -1
  671. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +5 -19
  672. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  673. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +1 -1
  674. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  675. package/dist/dist-esm/react-components/src/components/styles/v8StyleShim.js.map +1 -1
  676. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +37 -1
  677. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +41 -3
  678. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  679. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +4 -2
  680. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +29 -6
  681. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  682. package/dist/dist-esm/react-components/src/components/utils/Datetime.js +1 -4
  683. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  684. package/dist/dist-esm/react-components/src/components/utils/Logger.js.map +1 -1
  685. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.d.ts +73 -0
  686. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +186 -0
  687. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +1 -0
  688. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.d.ts +33 -0
  689. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js +127 -0
  690. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js.map +1 -0
  691. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +38 -1
  692. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +148 -5
  693. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  694. package/dist/dist-esm/react-components/src/components/utils/common.js +4 -0
  695. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  696. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  697. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  698. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +2 -1
  699. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +2 -5
  700. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  701. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  702. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +7 -0
  703. package/dist/dist-esm/react-components/src/components/utils/merge.js +16 -0
  704. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -0
  705. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js.map +1 -1
  706. package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
  707. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  708. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js +10 -1
  709. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  710. package/dist/dist-esm/react-components/src/components/utils.js +46 -26
  711. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  712. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +8 -6
  713. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  714. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  715. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +4 -0
  716. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +5 -1
  717. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  718. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  719. package/dist/dist-esm/react-components/src/index.d.ts +3 -0
  720. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  721. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +63 -0
  722. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  723. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  724. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/ComponentLocale.js.map +1 -1
  725. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +2 -1
  726. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/ComponentLocale.js.map +1 -1
  727. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +2 -1
  728. package/dist/dist-esm/react-components/src/localization/locales/cy-GB/ComponentLocale.js.map +1 -1
  729. package/dist/dist-esm/react-components/src/localization/locales/cy-GB/strings.json +2 -1
  730. package/dist/dist-esm/react-components/src/localization/locales/de-DE/ComponentLocale.js.map +1 -1
  731. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +2 -1
  732. package/dist/dist-esm/react-components/src/localization/locales/en-GB/ComponentLocale.js.map +1 -1
  733. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +2 -1
  734. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +10 -1
  735. package/dist/dist-esm/react-components/src/localization/locales/es-ES/ComponentLocale.js.map +1 -1
  736. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +2 -1
  737. package/dist/dist-esm/react-components/src/localization/locales/es-MX/ComponentLocale.js.map +1 -1
  738. package/dist/dist-esm/react-components/src/localization/locales/es-MX/strings.json +2 -1
  739. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/ComponentLocale.js.map +1 -1
  740. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +2 -1
  741. package/dist/dist-esm/react-components/src/localization/locales/fr-CA/ComponentLocale.js.map +1 -1
  742. package/dist/dist-esm/react-components/src/localization/locales/fr-CA/strings.json +2 -1
  743. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/ComponentLocale.js.map +1 -1
  744. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +2 -1
  745. package/dist/dist-esm/react-components/src/localization/locales/he-IL/ComponentLocale.js.map +1 -1
  746. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +2 -1
  747. package/dist/dist-esm/react-components/src/localization/locales/index.js +1 -3
  748. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  749. package/dist/dist-esm/react-components/src/localization/locales/it-IT/ComponentLocale.js.map +1 -1
  750. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +2 -1
  751. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/ComponentLocale.js.map +1 -1
  752. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +2 -1
  753. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/ComponentLocale.js.map +1 -1
  754. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +2 -1
  755. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/ComponentLocale.js.map +1 -1
  756. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +2 -1
  757. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/ComponentLocale.js.map +1 -1
  758. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +2 -1
  759. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/ComponentLocale.js.map +1 -1
  760. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +2 -1
  761. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/ComponentLocale.js.map +1 -1
  762. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +2 -1
  763. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/ComponentLocale.js.map +1 -1
  764. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +2 -1
  765. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/ComponentLocale.js.map +1 -1
  766. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +2 -1
  767. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/ComponentLocale.js.map +1 -1
  768. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +2 -1
  769. package/dist/dist-esm/react-components/src/localization/locales/utils.js +1 -1
  770. package/dist/dist-esm/react-components/src/localization/locales/utils.js.map +1 -1
  771. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/ComponentLocale.js.map +1 -1
  772. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +2 -1
  773. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/ComponentLocale.js.map +1 -1
  774. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +2 -1
  775. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +3 -5
  776. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  777. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js +2 -2
  778. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js.map +1 -1
  779. package/dist/dist-esm/react-components/src/theming/generateTheme.js +15 -1
  780. package/dist/dist-esm/react-components/src/theming/generateTheme.js.map +1 -1
  781. package/dist/dist-esm/react-components/src/theming/icons.d.ts +32 -0
  782. package/dist/dist-esm/react-components/src/theming/icons.js +149 -15
  783. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  784. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +6 -0
  785. package/dist/dist-esm/react-components/src/theming/icons.styles.js +25 -0
  786. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -0
  787. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  788. package/dist/dist-esm/react-components/src/theming/themeDuplicates.js.map +1 -1
  789. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  790. package/dist/dist-esm/react-components/src/theming/themes.d.ts +6 -0
  791. package/dist/dist-esm/react-components/src/theming/themes.js +10 -0
  792. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  793. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js +1 -7
  794. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js.map +1 -1
  795. package/dist/dist-esm/react-components/src/types/Attachment.d.ts +13 -0
  796. package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
  797. package/dist/dist-esm/react-components/src/types/CallSurveyImprovementSuggestions.js.map +1 -1
  798. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js.map +1 -1
  799. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +20 -1
  800. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  801. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  802. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.js.map +1 -1
  803. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  804. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  805. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.d.ts +11 -0
  806. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  807. package/dist/dist-esm/react-components/src/types/ReactionTypes.js.map +1 -1
  808. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  809. package/dist/dist-esm/react-components/src/types/SurveyIssues.js.map +1 -1
  810. package/dist/dist-esm/react-components/src/types/SurveyIssuesHeadingStrings.js.map +1 -1
  811. package/dist/dist-esm/react-components/src/types/TogetherModeTypes.d.ts +38 -0
  812. package/dist/dist-esm/react-components/src/types/TogetherModeTypes.js +4 -0
  813. package/dist/dist-esm/react-components/src/types/TogetherModeTypes.js.map +1 -0
  814. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +8 -1
  815. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  816. package/dist/dist-esm/react-components/src/types/index.d.ts +1 -0
  817. package/dist/dist-esm/react-components/src/types/index.js +2 -0
  818. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  819. package/dist/dist-esm/react-composites/src/Logger.js.map +1 -1
  820. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +72 -0
  821. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +82 -51
  822. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  823. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +34 -0
  824. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  825. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +52 -5
  826. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +266 -62
  827. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  828. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +68 -1
  829. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +7 -1
  830. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  831. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  832. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js +8 -3
  833. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js.map +1 -1
  834. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  835. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js +1 -3
  836. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -1
  837. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  838. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +2 -2
  839. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  840. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +2 -0
  841. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  842. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.d.ts +47 -0
  843. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js +48 -0
  844. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js.map +1 -0
  845. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.d.ts +11 -0
  846. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js +41 -0
  847. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js.map +1 -0
  848. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +78 -37
  849. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  850. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +36 -60
  851. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  852. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +49 -0
  853. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +220 -0
  854. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -0
  855. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js +16 -20
  856. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js.map +1 -1
  857. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +2 -0
  858. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +21 -0
  859. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  860. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +22 -4
  861. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  862. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +2 -0
  863. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +21 -0
  864. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  865. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +5 -4
  866. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  867. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +4 -4
  868. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -1
  869. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +4 -4
  870. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  871. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +33 -22
  872. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  873. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +1 -0
  874. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +42 -24
  875. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  876. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +26 -30
  877. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  878. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +68 -41
  879. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  880. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  881. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  882. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +12 -12
  883. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  884. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js +10 -32
  885. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js.map +1 -1
  886. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +29 -11
  887. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
  888. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.js.map +1 -1
  889. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js +1 -1
  890. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js.map +1 -1
  891. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +99 -69
  892. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  893. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +4 -4
  894. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -1
  895. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  896. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  897. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js +3 -5
  898. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js.map +1 -1
  899. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +3 -1
  900. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  901. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +10 -7
  902. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  903. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.d.ts +1 -0
  904. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +45 -11
  905. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  906. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +3 -1
  907. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  908. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +5 -2
  909. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  910. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +1 -1
  911. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -1
  912. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js +1 -1
  913. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js.map +1 -1
  914. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.js +1 -1
  915. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.js.map +1 -1
  916. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +1 -1
  917. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  918. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +6 -7
  919. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  920. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.d.ts +7 -0
  921. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js +21 -0
  922. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js.map +1 -0
  923. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +45 -13
  924. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  925. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  926. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  927. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  928. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +3 -0
  929. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  930. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +10 -10
  931. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  932. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +7 -0
  933. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +113 -13
  934. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  935. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js +5 -13
  936. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js.map +1 -1
  937. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +15 -7
  938. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  939. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +18 -8
  940. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  941. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +3 -3
  942. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  943. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/SurveyPage.js +2 -2
  944. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/SurveyPage.js.map +1 -1
  945. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ThankYouForFeedbackPage.js +2 -2
  946. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ThankYouForFeedbackPage.js.map +1 -1
  947. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +21 -22
  948. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  949. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +15 -0
  950. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +54 -0
  951. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -0
  952. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  953. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  954. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  955. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js +2 -1
  956. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +1 -1
  957. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +18 -0
  958. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +20 -0
  959. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  960. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  961. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  962. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.d.ts +1 -1
  963. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js +1 -4
  964. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js.map +1 -1
  965. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.d.ts +1 -1
  966. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.js +1 -1
  967. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.js.map +1 -1
  968. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  969. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  970. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.d.ts +1 -1
  971. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.js.map +1 -1
  972. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  973. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  974. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  975. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +1 -1
  976. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +3 -1
  977. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  978. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.d.ts +1 -1
  979. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.js +10 -4
  980. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.js.map +1 -1
  981. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +4 -4
  982. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +1 -1
  983. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  984. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +10 -10
  985. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +10 -2
  986. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  987. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  988. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -4
  989. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  990. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  991. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  992. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  993. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +5 -5
  994. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +4 -4
  995. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  996. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  997. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  998. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  999. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +5 -5
  1000. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  1001. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  1002. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  1003. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +2 -6
  1004. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  1005. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +41 -29
  1006. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  1007. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  1008. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +1 -2
  1009. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  1010. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/DtmfDialpadPage.styles.js.map +1 -1
  1011. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +2 -5
  1012. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  1013. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -1
  1014. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +2 -9
  1015. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  1016. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  1017. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +2 -4
  1018. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  1019. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  1020. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  1021. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +1 -2
  1022. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  1023. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js +6 -24
  1024. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js.map +1 -1
  1025. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  1026. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CapabilityChangedNotificationTracking.js.map +1 -1
  1027. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  1028. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +10 -12
  1029. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  1030. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js +19 -7
  1031. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js.map +1 -1
  1032. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js +4 -2
  1033. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  1034. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +12 -1
  1035. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +99 -22
  1036. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  1037. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  1038. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js +15 -5
  1039. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js.map +1 -1
  1040. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.js +2 -2
  1041. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.js.map +1 -1
  1042. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/useConsoleErrors.js.map +1 -1
  1043. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +65 -0
  1044. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +114 -21
  1045. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  1046. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js +1 -1
  1047. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js.map +1 -1
  1048. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js +9 -7
  1049. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  1050. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js +6 -9
  1051. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js.map +1 -1
  1052. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js +2 -2
  1053. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js.map +1 -1
  1054. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +8 -0
  1055. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  1056. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +27 -3
  1057. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +246 -35
  1058. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  1059. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +71 -3
  1060. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  1061. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +7 -0
  1062. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +20 -0
  1063. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  1064. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +10 -4
  1065. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +20 -2
  1066. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  1067. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  1068. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  1069. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +1 -1
  1070. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  1071. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +11 -0
  1072. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +5 -1
  1073. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  1074. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.d.ts +5 -0
  1075. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js +14 -0
  1076. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  1077. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.d.ts +15 -0
  1078. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js +21 -0
  1079. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js.map +1 -0
  1080. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +27 -0
  1081. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +10 -2
  1082. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  1083. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +3 -5
  1084. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  1085. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts +2 -0
  1086. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +298 -27
  1087. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  1088. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +18 -0
  1089. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +18 -0
  1090. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -0
  1091. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.d.ts +49 -0
  1092. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js +48 -0
  1093. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js.map +1 -0
  1094. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.d.ts +39 -0
  1095. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js +273 -0
  1096. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js.map +1 -0
  1097. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +20 -0
  1098. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  1099. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +6 -2
  1100. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +78 -32
  1101. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  1102. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +12 -2
  1103. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  1104. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  1105. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.d.ts +80 -0
  1106. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js +41 -0
  1107. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +1 -0
  1108. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.d.ts +38 -0
  1109. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +82 -0
  1110. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +1 -0
  1111. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +5 -0
  1112. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js +5 -0
  1113. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -0
  1114. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +1 -3
  1115. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  1116. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +27 -3
  1117. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  1118. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  1119. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +1 -1
  1120. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -1
  1121. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +2 -0
  1122. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  1123. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +4 -0
  1124. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +6 -0
  1125. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -1
  1126. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +2 -6
  1127. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  1128. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +9 -17
  1129. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  1130. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +24 -25
  1131. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  1132. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -1
  1133. package/dist/dist-esm/react-composites/src/composites/common/AudioProvider.js.map +1 -1
  1134. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +7 -3
  1135. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  1136. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +5 -14
  1137. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  1138. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsBanner.js +13 -15
  1139. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsBanner.js.map +1 -1
  1140. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsSettingsModal.js +1 -1
  1141. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsSettingsModal.js.map +1 -1
  1142. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +9 -23
  1143. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  1144. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -1
  1145. package/dist/dist-esm/react-composites/src/composites/common/CalloutWithIcon.js +3 -5
  1146. package/dist/dist-esm/react-composites/src/composites/common/CalloutWithIcon.js.map +1 -1
  1147. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js +12 -16
  1148. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -1
  1149. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +1 -5
  1150. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  1151. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +93 -45
  1152. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  1153. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js +39 -37
  1154. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  1155. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +107 -72
  1156. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  1157. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js +1 -1
  1158. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js.map +1 -1
  1159. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js +1 -1
  1160. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -1
  1161. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.d.ts +12 -0
  1162. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js +50 -0
  1163. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js.map +1 -0
  1164. package/dist/dist-esm/react-composites/src/composites/common/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  1165. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.js +5 -7
  1166. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.js.map +1 -1
  1167. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +92 -124
  1168. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  1169. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +1 -1
  1170. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  1171. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.js +5 -7
  1172. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.js.map +1 -1
  1173. package/dist/dist-esm/react-composites/src/composites/common/Drawer/captionSettingsDrawer.styles.js.map +1 -1
  1174. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.js +1 -1
  1175. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.js.map +1 -1
  1176. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js +1 -1
  1177. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js.map +1 -1
  1178. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js +11 -9
  1179. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js.map +1 -1
  1180. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +23 -12
  1181. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  1182. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  1183. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  1184. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +16 -16
  1185. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  1186. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +14 -10
  1187. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  1188. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.d.ts +10 -0
  1189. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js +20 -0
  1190. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js.map +1 -0
  1191. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +48 -2
  1192. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +39 -0
  1193. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
  1194. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +7 -15
  1195. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  1196. package/dist/dist-esm/react-composites/src/composites/common/StarSurvey.js.map +1 -1
  1197. package/dist/dist-esm/react-composites/src/composites/common/Survey.js +19 -34
  1198. package/dist/dist-esm/react-composites/src/composites/common/Survey.js.map +1 -1
  1199. package/dist/dist-esm/react-composites/src/composites/common/SurveyContent.js +2 -2
  1200. package/dist/dist-esm/react-composites/src/composites/common/SurveyContent.js.map +1 -1
  1201. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +11 -8
  1202. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  1203. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js +1 -1
  1204. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js.map +1 -1
  1205. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +18 -13
  1206. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
  1207. package/dist/dist-esm/react-composites/src/composites/common/adapters.d.ts +23 -0
  1208. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  1209. package/dist/dist-esm/react-composites/src/composites/common/constants.d.ts +5 -0
  1210. package/dist/dist-esm/react-composites/src/composites/common/constants.js +6 -0
  1211. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  1212. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +36 -1
  1213. package/dist/dist-esm/react-composites/src/composites/common/icons.js +12 -4
  1214. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  1215. package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependency.js +1 -3
  1216. package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependency.js.map +1 -1
  1217. package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependencyLazy.js +1 -3
  1218. package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependencyLazy.js.map +1 -1
  1219. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.js.map +1 -1
  1220. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.js.map +1 -1
  1221. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.js.map +1 -1
  1222. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  1223. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +4 -10
  1224. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  1225. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +11 -44
  1226. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  1227. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +6 -29
  1228. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  1229. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +4 -22
  1230. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  1231. package/dist/dist-esm/react-composites/src/composites/common/styles/Survey.styles.js +15 -13
  1232. package/dist/dist-esm/react-composites/src/composites/common/styles/Survey.styles.js.map +1 -1
  1233. package/dist/dist-esm/react-composites/src/composites/common/styles/TeamsMeetingConferenceInfo.style.js.map +1 -1
  1234. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  1235. package/dist/dist-esm/react-composites/src/composites/common/types/FocusableElement.js.map +1 -1
  1236. package/dist/dist-esm/react-composites/src/composites/common/utils.d.ts +4 -0
  1237. package/dist/dist-esm/react-composites/src/composites/common/utils.js +40 -12
  1238. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  1239. package/dist/dist-esm/react-composites/src/composites/index.d.ts +1 -0
  1240. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  1241. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  1242. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  1243. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  1244. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/CompositeLocale.js.map +1 -1
  1245. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/CompositeLocale.js.map +1 -1
  1246. package/dist/dist-esm/react-composites/src/composites/localization/locales/cy-GB/CompositeLocale.js.map +1 -1
  1247. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/CompositeLocale.js.map +1 -1
  1248. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/CompositeLocale.js.map +1 -1
  1249. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/CompositeLocale.js.map +1 -1
  1250. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-MX/CompositeLocale.js.map +1 -1
  1251. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/CompositeLocale.js.map +1 -1
  1252. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-CA/CompositeLocale.js.map +1 -1
  1253. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/CompositeLocale.js.map +1 -1
  1254. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/CompositeLocale.js.map +1 -1
  1255. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  1256. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/CompositeLocale.js.map +1 -1
  1257. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/CompositeLocale.js.map +1 -1
  1258. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/CompositeLocale.js.map +1 -1
  1259. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/CompositeLocale.js.map +1 -1
  1260. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/CompositeLocale.js.map +1 -1
  1261. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/CompositeLocale.js.map +1 -1
  1262. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/CompositeLocale.js.map +1 -1
  1263. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/CompositeLocale.js.map +1 -1
  1264. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/CompositeLocale.js.map +1 -1
  1265. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/CompositeLocale.js.map +1 -1
  1266. package/dist/dist-esm/react-composites/src/composites/localization/locales/utils.js +1 -1
  1267. package/dist/dist-esm/react-composites/src/composites/localization/locales/utils.js.map +1 -1
  1268. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/CompositeLocale.js.map +1 -1
  1269. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/CompositeLocale.js.map +1 -1
  1270. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  1271. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mentionTagUtils.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/TextFieldWithMention/mentionTagUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ComponentStrings } from '../../localization';\nimport { Mention } from '../MentionPopover';\n\nconst MSFT_MENTION_TAG = 'msft-mention';\n\n/**\n * Props for finding a valid index in range.\n *\n * @private\n */\ntype ValidatedIndexRangeProps = {\n min: number;\n max: number;\n currentValue?: number;\n};\n\n/**\n * Get validated value for index between min and max values. If currentValue is not defined, -1 will be used instead.\n *\n * @private\n * @param props - Props for finding a valid index in range.\n * @returns Valid index in the range.\n */\nexport const getValidatedIndexInRange = (props: ValidatedIndexRangeProps): number => {\n const { min, max, currentValue } = props;\n let updatedValue = currentValue ?? -1;\n updatedValue = Math.max(min, updatedValue);\n updatedValue = Math.min(updatedValue, max);\n return updatedValue;\n};\n\n/**\n * Find mention tag for selection if exists.\n *\n * @private\n * @param tags - Existing list of tags.\n * @param selection - Selection index.\n * @returns Mention tag if exists, otherwise undefined.\n */\nexport const findMentionTagForSelection = (tags: TagData[], selection: number): TagData | undefined => {\n let mentionTag: TagData | undefined = undefined;\n tags.every((tag) => {\n const closingTagInfo = getTagClosingTagInfo(tag);\n if (tag.plainTextBeginIndex !== undefined && tag.plainTextBeginIndex > selection) {\n // no need to check further as the selection is before the tag\n return false;\n } else if (\n tag.plainTextBeginIndex !== undefined &&\n tag.plainTextBeginIndex <= selection &&\n selection <= closingTagInfo.plainTextEndIndex\n ) {\n // no need to check if tag doesn't contain selection\n if (tag.subTags !== undefined && tag.subTags.length !== 0) {\n const selectedTag = findMentionTagForSelection(tag.subTags, selection);\n if (selectedTag !== undefined) {\n mentionTag = selectedTag;\n return false;\n }\n } else if (tag.tagType === MSFT_MENTION_TAG) {\n mentionTag = tag;\n return false;\n }\n }\n return true;\n });\n return mentionTag;\n};\n\n/**\n * Props for finding new selection index for mention\n *\n * @private\n */\ntype NewSelectionIndexForMentionProps = {\n tag: TagData;\n textValue: string;\n currentSelectionIndex: number;\n previousSelectionIndex: number;\n};\n\n/**\n * Find a new the selection index.\n *\n * @private\n * @param props - Props for finding new selection index for mention.\n * @returns New selection index if it is inside of a mention tag, otherwise the current selection.\n */\nexport const findNewSelectionIndexForMention = (props: NewSelectionIndexForMentionProps): number => {\n const { tag, textValue, currentSelectionIndex, previousSelectionIndex } = props;\n // check if this is a mention tag and selection should be updated\n if (\n tag.tagType !== MSFT_MENTION_TAG ||\n tag.plainTextBeginIndex === undefined ||\n currentSelectionIndex === previousSelectionIndex ||\n tag.plainTextEndIndex === undefined\n ) {\n return currentSelectionIndex;\n }\n let spaceIndex = 0;\n if (currentSelectionIndex <= previousSelectionIndex) {\n // the cursor is moved to the left, find the last index before the cursor\n spaceIndex = textValue.lastIndexOf(' ', currentSelectionIndex ?? 0);\n if (spaceIndex === -1) {\n // no space before the selection, use the beginning of the tag\n spaceIndex = tag.plainTextBeginIndex;\n }\n } else {\n // the cursor is moved to the right, find the fist index after the cursor\n spaceIndex = textValue.indexOf(' ', currentSelectionIndex ?? 0);\n if (spaceIndex === -1) {\n // no space after the selection, use the end of the tag\n spaceIndex = tag.plainTextEndIndex ?? tag.plainTextBeginIndex;\n }\n }\n spaceIndex = getValidatedIndexInRange({\n min: tag.plainTextBeginIndex,\n max: tag.plainTextEndIndex,\n currentValue: spaceIndex\n });\n return spaceIndex;\n};\n\n/**\n * Props for mention update HTML function\n *\n * @private\n */\ntype MentionTagUpdateProps = {\n htmlText: string;\n oldPlainText: string;\n lastProcessedHTMLIndex: number;\n processedChange: string;\n change: string;\n tag: TagData;\n closeTagIdx: number;\n closeTagLength: number;\n plainTextEndIndex: number;\n startIndex: number;\n oldPlainTextEndIndex: number;\n mentionTagLength: number;\n};\n\n/**\n * Result for mention update HTML function\n *\n * @private\n */\ntype MentionTagUpdateResult = {\n result: string;\n updatedChange: string;\n htmlIndex: number;\n plainTextSelectionEndIndex?: number;\n};\n\n/**\n * Handle mention tag edit and by word deleting\n *\n * @private\n * @param props - Props for mention update HTML function.\n * @returns Updated texts and indexes.\n */\nconst handleMentionTagUpdate = (props: MentionTagUpdateProps): MentionTagUpdateResult => {\n const {\n htmlText,\n oldPlainText,\n change,\n tag,\n closeTagIdx,\n closeTagLength,\n plainTextEndIndex,\n startIndex,\n oldPlainTextEndIndex,\n mentionTagLength\n } = props;\n let processedChange = props.processedChange;\n let lastProcessedHTMLIndex = props.lastProcessedHTMLIndex;\n if (tag.tagType !== MSFT_MENTION_TAG || tag.plainTextBeginIndex === undefined) {\n // not a mention tag\n return {\n result: '',\n updatedChange: processedChange,\n htmlIndex: lastProcessedHTMLIndex,\n plainTextSelectionEndIndex: undefined\n };\n }\n let result = '';\n let plainTextSelectionEndIndex: number | undefined;\n let rangeStart: number;\n let rangeEnd: number;\n // check if space symbol is handled in case if string looks like '<1 2 3>'\n let isSpaceLengthHandled = false;\n rangeStart = oldPlainText.lastIndexOf(' ', startIndex);\n if (rangeStart !== -1 && rangeStart !== undefined && rangeStart > tag.plainTextBeginIndex) {\n isSpaceLengthHandled = true;\n }\n rangeEnd = oldPlainText.indexOf(' ', oldPlainTextEndIndex);\n if (rangeEnd === -1 || rangeEnd === undefined) {\n // check if space symbol is not found\n rangeEnd = plainTextEndIndex;\n } else if (!isSpaceLengthHandled) {\n // +1 to include the space symbol\n rangeEnd += 1;\n }\n isSpaceLengthHandled = true;\n\n if (rangeStart === -1 || rangeStart === undefined || rangeStart < tag.plainTextBeginIndex) {\n // rangeStart should be at least equal to tag.plainTextBeginIndex\n rangeStart = tag.plainTextBeginIndex;\n }\n if (rangeEnd > plainTextEndIndex) {\n // rangeEnd should be at most equal to plainTextEndIndex\n rangeEnd = plainTextEndIndex;\n }\n if (rangeStart === tag.plainTextBeginIndex && rangeEnd === plainTextEndIndex) {\n // the whole tag should be removed\n result += htmlText.substring(lastProcessedHTMLIndex, tag.openTagIndex) + processedChange;\n plainTextSelectionEndIndex = tag.plainTextBeginIndex + change.length;\n processedChange = '';\n lastProcessedHTMLIndex = closeTagIdx + closeTagLength;\n } else {\n // only part of the tag should be removed\n let startChangeDiff = 0;\n let endChangeDiff = 0;\n // need to check only rangeStart > tag.plainTextBeginIndex as when rangeStart === tag.plainTextBeginIndex startChangeDiff = 0 and mentionTagLength shouldn't be subtracted\n if (rangeStart > tag.plainTextBeginIndex) {\n startChangeDiff = rangeStart - tag.plainTextBeginIndex - mentionTagLength;\n }\n endChangeDiff = rangeEnd - tag.plainTextBeginIndex - mentionTagLength;\n result += htmlText.substring(lastProcessedHTMLIndex, tag.openTagIndex + tag.openTagBody.length + startChangeDiff);\n\n if (startIndex < tag.plainTextBeginIndex) {\n // if the change is before the tag, the selection should start from startIndex (rangeStart will be equal to tag.plainTextBeginIndex)\n plainTextSelectionEndIndex = startIndex + change.length;\n } else {\n // if the change is inside the tag, the selection should start with rangeStart\n plainTextSelectionEndIndex = rangeStart + change.length;\n }\n lastProcessedHTMLIndex = tag.openTagIndex + tag.openTagBody.length + endChangeDiff;\n // processed change should not be changed as it should be added after the tag\n }\n return { result, updatedChange: processedChange, htmlIndex: lastProcessedHTMLIndex, plainTextSelectionEndIndex };\n};\n\n/**\n * Closing tag information\n *\n * @private\n */\ntype ClosingTagInfoResult = {\n plainTextEndIndex: number;\n closeTagIdx: number;\n closeTagLength: number;\n};\n\n/**\n * Get closing tag information if exists otherwise return information as for self closing tag\n *\n * @private\n * @param tag - Tag data.\n * @returns Closing tag information for the provided tag.\n */\nconst getTagClosingTagInfo = (tag: TagData): ClosingTagInfoResult => {\n let plainTextEndIndex = 0;\n let closeTagIdx = 0;\n let closeTagLength = 0;\n if (tag.plainTextEndIndex !== undefined && tag.closingTagIndex !== undefined) {\n // close tag exists\n plainTextEndIndex = tag.plainTextEndIndex;\n closeTagIdx = tag.closingTagIndex;\n // tag.tagType.length + </>\n closeTagLength = tag.tagType.length + 3;\n } else if (tag.plainTextBeginIndex !== undefined) {\n // no close tag\n plainTextEndIndex = tag.plainTextBeginIndex;\n closeTagIdx = tag.openTagIndex + tag.openTagBody.length;\n closeTagLength = 0;\n }\n return { plainTextEndIndex, closeTagIdx, closeTagLength };\n};\n\n/**\n * Props for update HTML function\n *\n * @private\n */\ntype UpdateHTMLProps = {\n htmlText: string;\n oldPlainText: string;\n tags: TagData[];\n startIndex: number;\n oldPlainTextEndIndex: number;\n change: string;\n mentionTrigger: string;\n};\n\n/**\n * Go through the text and update it with the changed text\n *\n * @private\n * @param props - Props for update HTML function.\n * @returns Updated HTML and selection index if the selection index should be set.\n */\nexport const updateHTML = (props: UpdateHTMLProps): { updatedHTML: string; updatedSelectionIndex?: number } => {\n const { htmlText, oldPlainText, tags, startIndex, oldPlainTextEndIndex, change, mentionTrigger } = props;\n if (tags.length === 0 || (startIndex === 0 && oldPlainTextEndIndex === oldPlainText.length - 1)) {\n // no tags added yet or the whole text is changed\n const changeWithSkippedChars = escapeHTMLChars(change);\n const updatedHTML =\n escapeHTMLChars(oldPlainText.substring(0, startIndex)) +\n changeWithSkippedChars +\n escapeHTMLChars(oldPlainText.substring(oldPlainTextEndIndex));\n return { updatedHTML, updatedSelectionIndex: undefined };\n }\n let result = '';\n let lastProcessedHTMLIndex = 0;\n // the value can be updated with empty string when the change covers more than 1 place (tag + before or after the tag)\n // in this case change won't be added as part of the tag\n // e.g.: change is before and partially in tag => change will be added before the tag and outdated text in the tag will be removed\n // e.g.: change is after and partially in tag => change will be added after the tag and outdated text in the tag will be removed\n // e.g.: change is on the beginning of the tag => change will be added before the tag\n // e.g.: change is on the end of the tag => change will be added to the tag if it's not mention and after the tag if it's mention\n let processedChange = escapeHTMLChars(change);\n\n // end tag plain text index of the last processed tag\n let lastProcessedPlainTextTagEndIndex = 0;\n // as some tags/text can be removed fully, selection should be updated correctly\n let changeNewEndIndex: number | undefined;\n\n for (let i = 0; i < tags.length; i++) {\n const tag = tags[i];\n if (tag?.plainTextBeginIndex === undefined) {\n continue;\n }\n // all plain text indexes includes trigger length for the mention that shouldn't be included in\n // htmlText.substring because html strings don't include the trigger\n // mentionTagLength will be set only for mention tag, otherwise should be 0\n let mentionTagLength = 0;\n let isMentionTag = false;\n if (tag.tagType === MSFT_MENTION_TAG) {\n mentionTagLength = mentionTrigger.length;\n isMentionTag = true;\n }\n if (startIndex <= tag.plainTextBeginIndex) {\n // change start is before the open tag\n // Math.max(lastProcessedPlainTextTagEndIndex, startIndex) is used as startIndex may not be in [[previous tag].plainTextEndIndex - tag.plainTextBeginIndex] range\n const startChangeDiff = getChangeDiff(\n oldPlainText,\n Math.max(lastProcessedPlainTextTagEndIndex, startIndex),\n tag.plainTextBeginIndex\n );\n\n result += htmlText.substring(lastProcessedHTMLIndex, tag.openTagIndex - startChangeDiff) + processedChange;\n processedChange = '';\n if (oldPlainTextEndIndex <= tag.plainTextBeginIndex) {\n // the whole change is before tag start\n // mentionTag length can be ignored here as the change is before the tag\n const endChangeDiff = getChangeDiff(oldPlainText, oldPlainTextEndIndex, tag.plainTextBeginIndex);\n lastProcessedHTMLIndex = tag.openTagIndex - endChangeDiff;\n // the change is handled; exit\n break;\n } else {\n // change continues in the tag\n lastProcessedHTMLIndex = tag.openTagIndex;\n // proceed to the next check\n }\n }\n const closingTagInfo = getTagClosingTagInfo(tag);\n if (startIndex <= closingTagInfo.plainTextEndIndex) {\n // change started before the end tag\n if (startIndex <= tag.plainTextBeginIndex && oldPlainTextEndIndex === closingTagInfo.plainTextEndIndex) {\n // the change is a tag or starts before the tag\n // tag should be removed, no matter if there are sub-tags\n result += htmlText.substring(lastProcessedHTMLIndex, tag.openTagIndex) + processedChange;\n processedChange = '';\n lastProcessedHTMLIndex = closingTagInfo.closeTagIdx + closingTagInfo.closeTagLength;\n // the change is handled; exit\n break;\n } else if (startIndex >= tag.plainTextBeginIndex && oldPlainTextEndIndex <= closingTagInfo.plainTextEndIndex) {\n // the change is between the tag\n if (isMentionTag) {\n if (change !== '') {\n // case for startIndex === tag.plainTextBeginIndex and closingTagInfo.plainTextEndIndex === startIndex\n // is handled in startIndex <= tag.plainTextBeginIndex condition check\n // the change will be added at the beginning before the mention tag\n if (startIndex === closingTagInfo.plainTextEndIndex) {\n // non empty change at the end of the mention tag to be added after the mention tag\n result +=\n htmlText.substring(lastProcessedHTMLIndex, closingTagInfo.closeTagIdx + closingTagInfo.closeTagLength) +\n processedChange;\n changeNewEndIndex = closingTagInfo.plainTextEndIndex + unEscapeHtmlCharacters(processedChange).length;\n lastProcessedHTMLIndex = closingTagInfo.closeTagIdx + closingTagInfo.closeTagLength;\n processedChange = '';\n // the change is handled; exit\n break;\n } else if (\n startIndex > tag.plainTextBeginIndex &&\n oldPlainTextEndIndex < closingTagInfo.plainTextEndIndex &&\n startIndex === oldPlainTextEndIndex\n ) {\n // mention tag should be deleted when user tries to edit it in the middle\n result += htmlText.substring(lastProcessedHTMLIndex, tag.openTagIndex) + processedChange;\n changeNewEndIndex = tag.plainTextBeginIndex + unEscapeHtmlCharacters(processedChange).length;\n lastProcessedHTMLIndex = closingTagInfo.closeTagIdx + closingTagInfo.closeTagLength;\n\n processedChange = '';\n // the change is handled; exit\n break;\n } else {\n // the selection for more that 1 symbol when 1 of the ends is included\n const updateMentionTagResult = handleMentionTagUpdate({\n htmlText,\n oldPlainText,\n lastProcessedHTMLIndex,\n processedChange,\n change,\n tag,\n closeTagIdx: closingTagInfo.closeTagIdx,\n closeTagLength: closingTagInfo.closeTagLength,\n plainTextEndIndex: closingTagInfo.plainTextEndIndex,\n startIndex,\n oldPlainTextEndIndex,\n mentionTagLength\n });\n result += updateMentionTagResult.result;\n changeNewEndIndex = updateMentionTagResult.plainTextSelectionEndIndex;\n processedChange = updateMentionTagResult.updatedChange;\n lastProcessedHTMLIndex = updateMentionTagResult.htmlIndex;\n // proceed with the next calculations\n }\n } else {\n // When change is empty, it means that this change is a deletion\n const updateMentionTagResult = handleMentionTagUpdate({\n htmlText,\n oldPlainText,\n lastProcessedHTMLIndex,\n processedChange,\n change,\n tag,\n closeTagIdx: closingTagInfo.closeTagIdx,\n closeTagLength: closingTagInfo.closeTagLength,\n plainTextEndIndex: closingTagInfo.plainTextEndIndex,\n startIndex,\n oldPlainTextEndIndex,\n mentionTagLength\n });\n result += updateMentionTagResult.result;\n changeNewEndIndex = updateMentionTagResult.plainTextSelectionEndIndex;\n processedChange = updateMentionTagResult.updatedChange;\n lastProcessedHTMLIndex = updateMentionTagResult.htmlIndex;\n // the change is handled; exit\n break;\n }\n } else if (tag.subTags !== undefined && tag.subTags.length !== 0 && tag.content !== undefined) {\n // with subtags\n const stringBefore = htmlText.substring(lastProcessedHTMLIndex, tag.openTagIndex + tag.openTagBody.length);\n lastProcessedHTMLIndex = closingTagInfo.closeTagIdx;\n const updatedContent = updateHTML({\n htmlText: tag.content,\n oldPlainText,\n tags: tag.subTags,\n startIndex,\n oldPlainTextEndIndex,\n change: processedChange,\n mentionTrigger\n });\n result += stringBefore + updatedContent.updatedHTML;\n changeNewEndIndex = updatedContent.updatedSelectionIndex;\n // the change is handled; exit\n break;\n } else {\n // no subtags\n const startChangeDiff = getChangeDiff(oldPlainText, tag.plainTextBeginIndex, startIndex);\n result +=\n htmlText.substring(lastProcessedHTMLIndex, tag.openTagIndex + tag.openTagBody.length + startChangeDiff) +\n processedChange;\n processedChange = '';\n if (oldPlainTextEndIndex < closingTagInfo.plainTextEndIndex) {\n const endChangeDiff = getChangeDiff(oldPlainText, tag.plainTextBeginIndex, oldPlainTextEndIndex);\n lastProcessedHTMLIndex = tag.openTagIndex + tag.openTagBody.length + endChangeDiff;\n } else if (oldPlainTextEndIndex === closingTagInfo.plainTextEndIndex) {\n lastProcessedHTMLIndex = closingTagInfo.closeTagIdx;\n }\n // the change is handled; exit\n break;\n }\n } else if (startIndex > tag.plainTextBeginIndex && oldPlainTextEndIndex > closingTagInfo.plainTextEndIndex) {\n // the change started in the tag but finishes somewhere further\n if (isMentionTag) {\n if (startIndex === closingTagInfo.plainTextEndIndex) {\n // the change should be handled out of mention tag\n // as startIndex === closingTagInfo.plainTextEndIndex and oldPlainTextEndIndex > closingTagInfo.plainTextEndIndex\n result += htmlText.substring(\n lastProcessedHTMLIndex,\n closingTagInfo.closeTagIdx + closingTagInfo.closeTagLength\n );\n // no need to handle plainTextSelectionEndIndex as the change will be added later\n lastProcessedHTMLIndex = closingTagInfo.closeTagIdx + closingTagInfo.closeTagLength;\n } else {\n // part of the mention tag was changed/deleted\n const updateMentionTagResult = handleMentionTagUpdate({\n htmlText,\n oldPlainText,\n lastProcessedHTMLIndex,\n processedChange: '',\n change,\n tag,\n closeTagIdx: closingTagInfo.closeTagIdx,\n closeTagLength: closingTagInfo.closeTagLength,\n plainTextEndIndex: closingTagInfo.plainTextEndIndex,\n startIndex,\n oldPlainTextEndIndex,\n mentionTagLength\n });\n result += updateMentionTagResult.result;\n lastProcessedHTMLIndex = updateMentionTagResult.htmlIndex;\n // no need to handle plainTextSelectionEndIndex as the change will be added later\n }\n } else if (tag.subTags !== undefined && tag.subTags.length !== 0 && tag.content !== undefined) {\n // with subtags\n const stringBefore = htmlText.substring(lastProcessedHTMLIndex, tag.openTagIndex + tag.openTagBody.length);\n lastProcessedHTMLIndex = closingTagInfo.closeTagIdx;\n const updatedContent = updateHTML({\n htmlText: tag.content,\n oldPlainText,\n tags: tag.subTags,\n startIndex,\n oldPlainTextEndIndex,\n change: '', // the part of the tag should be just deleted without processedChange update and change will be added after this tag\n mentionTrigger\n });\n result += stringBefore + updatedContent.updatedHTML;\n } else {\n // no subtags\n const startChangeDiff = startIndex - tag.plainTextBeginIndex - mentionTagLength;\n result += htmlText.substring(\n lastProcessedHTMLIndex,\n tag.openTagIndex + tag.openTagBody.length + startChangeDiff\n );\n lastProcessedHTMLIndex = closingTagInfo.closeTagIdx;\n }\n // proceed with the next calculations\n } else if (startIndex < tag.plainTextBeginIndex && oldPlainTextEndIndex > closingTagInfo.plainTextEndIndex) {\n // the change starts before the tag and finishes after it\n // tag should be removed, no matter if there are subtags\n // no need to save anything between lastProcessedHTMLIndex and closeTagIdx + closeTagLength\n lastProcessedHTMLIndex = closingTagInfo.closeTagIdx + closingTagInfo.closeTagLength;\n // proceed with the next calculations\n } else if (startIndex === tag.plainTextBeginIndex && oldPlainTextEndIndex > closingTagInfo.plainTextEndIndex) {\n // the change starts in the tag and finishes after it\n // tag should be removed, no matter if there are subtags\n result += htmlText.substring(lastProcessedHTMLIndex, tag.openTagIndex);\n // processedChange shouldn't be updated as it will be added after the tag\n lastProcessedHTMLIndex = closingTagInfo.closeTagIdx + closingTagInfo.closeTagLength;\n // proceed with the next calculations\n } else if (startIndex < tag.plainTextBeginIndex && oldPlainTextEndIndex < closingTagInfo.plainTextEndIndex) {\n // the change starts before the tag and ends in a tag\n if (isMentionTag) {\n // mention tag\n const updateMentionTagResult = handleMentionTagUpdate({\n htmlText,\n oldPlainText,\n lastProcessedHTMLIndex,\n processedChange: '', // the part of mention should be just deleted without processedChange update\n change,\n tag,\n closeTagIdx: closingTagInfo.closeTagIdx,\n closeTagLength: closingTagInfo.closeTagLength,\n plainTextEndIndex: closingTagInfo.plainTextEndIndex,\n startIndex,\n oldPlainTextEndIndex,\n mentionTagLength\n });\n changeNewEndIndex = updateMentionTagResult.plainTextSelectionEndIndex;\n result += updateMentionTagResult.result;\n lastProcessedHTMLIndex = updateMentionTagResult.htmlIndex;\n } else if (tag.subTags !== undefined && tag.subTags.length !== 0 && tag.content !== undefined) {\n // with subtags\n const stringBefore = htmlText.substring(lastProcessedHTMLIndex, tag.openTagIndex + tag.openTagBody.length);\n lastProcessedHTMLIndex = closingTagInfo.closeTagIdx;\n const updatedContent = updateHTML({\n htmlText: tag.content,\n oldPlainText,\n tags: tag.subTags,\n startIndex,\n oldPlainTextEndIndex,\n change: processedChange, // processedChange should be equal '' and the part of the tag should be deleted as the change was handled before this tag\n mentionTrigger\n });\n processedChange = '';\n result += stringBefore + updatedContent.updatedHTML;\n } else {\n // no subtags\n result +=\n htmlText.substring(lastProcessedHTMLIndex, tag.openTagIndex + tag.openTagBody.length) + processedChange;\n processedChange = '';\n // oldPlainTextEndIndex already includes mentionTag length\n const endChangeDiff = getChangeDiff(oldPlainText, oldPlainTextEndIndex, closingTagInfo.plainTextEndIndex);\n // as change may be before the end of the tag, we need to add the rest of the tag\n lastProcessedHTMLIndex = closingTagInfo.closeTagIdx - endChangeDiff;\n }\n // the change is handled; exit\n break;\n }\n lastProcessedPlainTextTagEndIndex = closingTagInfo.plainTextEndIndex;\n }\n\n if (i === tags.length - 1 && oldPlainTextEndIndex >= closingTagInfo.plainTextEndIndex) {\n // the last tag should handle the end of the change if needed\n // oldPlainTextEndIndex already includes mentionTag length\n const endChangeDiff = getChangeDiff(oldPlainText, closingTagInfo.plainTextEndIndex, oldPlainTextEndIndex);\n if (startIndex >= closingTagInfo.plainTextEndIndex) {\n const startChangeDiff = getChangeDiff(oldPlainText, closingTagInfo.plainTextEndIndex, startIndex);\n result +=\n htmlText.substring(\n lastProcessedHTMLIndex,\n closingTagInfo.closeTagIdx + closingTagInfo.closeTagLength + startChangeDiff\n ) + processedChange;\n } else {\n result +=\n htmlText.substring(lastProcessedHTMLIndex, closingTagInfo.closeTagIdx + closingTagInfo.closeTagLength) +\n processedChange;\n }\n processedChange = '';\n lastProcessedHTMLIndex = closingTagInfo.closeTagIdx + closingTagInfo.closeTagLength + endChangeDiff;\n // the change is handled; exit\n // break is not required here as this is the last element but added for consistency\n break;\n }\n }\n if (lastProcessedHTMLIndex < htmlText.length) {\n // add the rest of the html string\n result += htmlText.substring(lastProcessedHTMLIndex);\n }\n return { updatedHTML: result, updatedSelectionIndex: changeNewEndIndex };\n};\n\n/**\n * Props for finding strings diff indexes\n *\n * @private\n */\ntype DiffIndexesProps = {\n // the old text\n oldText: string;\n // the new text\n newText: string;\n // the start of previous selection, should be a valid position in the input field\n previousSelectionStart: number;\n // the end of previous selection, should be a valid position in the input field\n previousSelectionEnd: number;\n // the start of current selection, should be a valid position in the input field\n currentSelectionStart: number;\n // the end of current selection, should be a valid position in the input field\n currentSelectionEnd: number;\n};\n\n/**\n * Result of finding strings diff indexes function\n *\n * @private\n */\ntype DiffIndexesResult = {\n changeStart: number;\n oldChangeEnd: number;\n newChangeEnd: number;\n};\n\n/**\n * Given the oldText and newText, find the start index, old end index and new end index for the changes\n *\n * @private\n * @param props - Props for finding stings diff indexes function.\n * @returns Indexes for change start and ends in new and old texts. The old and new end indexes are exclusive.\n */\nexport const findStringsDiffIndexes = (props: DiffIndexesProps): DiffIndexesResult => {\n const { oldText, newText, previousSelectionStart, previousSelectionEnd, currentSelectionStart, currentSelectionEnd } =\n props;\n const newTextLength = newText.length;\n const oldTextLength = oldText.length;\n // let changeStart = 0;\n let newChangeEnd = newTextLength;\n let oldChangeEnd = oldTextLength;\n const previousSelectionStartValue = previousSelectionStart > -1 ? previousSelectionStart : oldTextLength;\n const previousSelectionEndValue = previousSelectionEnd > -1 ? previousSelectionEnd : oldTextLength;\n const currentSelectionStartValue = currentSelectionStart > -1 ? currentSelectionStart : newTextLength;\n const currentSelectionEndValue = currentSelectionEnd > -1 ? currentSelectionEnd : newTextLength;\n const changeStart = Math.min(\n previousSelectionStartValue,\n previousSelectionEndValue,\n currentSelectionStartValue,\n currentSelectionEndValue,\n newTextLength,\n oldTextLength\n );\n\n if (oldTextLength < newTextLength) {\n //insert or replacement\n if (oldTextLength === changeStart) {\n // when change was at the end of string\n // change is found\n newChangeEnd = newTextLength;\n oldChangeEnd = oldTextLength;\n } else {\n for (let i = 0; i < newTextLength && oldTextLength - i >= changeStart; i++) {\n newChangeEnd = newTextLength - i - 1;\n oldChangeEnd = oldTextLength - i - 1;\n\n if (newText[newChangeEnd] !== oldText[oldChangeEnd]) {\n // change is found\n break;\n }\n }\n // make indexes exclusive\n newChangeEnd += 1;\n oldChangeEnd += 1;\n }\n } else if (oldTextLength > newTextLength) {\n //deletion or replacement\n if (newTextLength === changeStart) {\n // when change was at the end of string\n // change is found\n newChangeEnd = newTextLength;\n oldChangeEnd = oldTextLength;\n } else {\n for (let i = 0; i < oldTextLength && newTextLength - i >= changeStart; i++) {\n newChangeEnd = newTextLength - i - 1;\n oldChangeEnd = oldTextLength - i - 1;\n if (newText[newChangeEnd] !== oldText[oldChangeEnd]) {\n // change is found\n break;\n }\n }\n // make indexes exclusive\n newChangeEnd += 1;\n oldChangeEnd += 1;\n }\n } else {\n // replacement\n for (let i = 0; i < oldTextLength && oldTextLength - i >= changeStart; i++) {\n newChangeEnd = newTextLength - i - 1;\n oldChangeEnd = oldTextLength - i - 1;\n\n if (newText[newChangeEnd] !== oldText[oldChangeEnd]) {\n // change is found\n break;\n }\n }\n // make indexes exclusive if they aren't equal to the length of the string\n if (newChangeEnd !== newText.length) {\n newChangeEnd += 1;\n }\n if (oldChangeEnd !== oldText.length) {\n oldChangeEnd += 1;\n }\n }\n return { changeStart, oldChangeEnd, newChangeEnd };\n};\n\n/**\n * Get the html string for the mention suggestion.\n *\n * @private\n * @param suggestion - The mention suggestion.\n * @param localeStrings - The locale strings.\n * @returns The html string for the mention suggestion.\n */\nexport const htmlStringForMentionSuggestion = (suggestion: Mention, localeStrings: ComponentStrings): string => {\n const idHTML = ' id=\"' + suggestion.id + '\"';\n const displayText = getDisplayNameForMentionSuggestion(suggestion, localeStrings);\n return '<' + MSFT_MENTION_TAG + idHTML + '>' + displayText + '</' + MSFT_MENTION_TAG + '>';\n};\n\n/**\n * Get display name for the mention suggestion.\n *\n * @private\n *\n * @param suggestion - The mention suggestion.\n * @param localeStrings - The locale strings.\n * @returns The display name for the mention suggestion or display name placeholder if display name is empty.\n */\nexport const getDisplayNameForMentionSuggestion = (suggestion: Mention, localeStrings: ComponentStrings): string => {\n const displayNamePlaceholder = localeStrings.participantItem.displayNamePlaceholder;\n return suggestion.displayText !== '' ? suggestion.displayText : displayNamePlaceholder ?? '';\n};\n\n/**\n * Tag data for a HTML tag in the string\n *\n * @private\n */\nexport type TagData = {\n tagType: string; // The type of tag (e.g. msft-mention)\n openTagIndex: number; // Start of the tag relative to the parent content\n openTagBody: string; // Complete open tag body\n content?: string; // All content between the open and close tags\n closingTagIndex?: number; // Start of the close tag relative to the parent content\n subTags?: TagData[]; // Any child tags\n plainTextBeginIndex?: number; // Absolute index of the open tag start should be in plain text\n plainTextEndIndex?: number; // Absolute index of the close tag start should be in plain text\n};\n\ntype HtmlTagType = 'open' | 'close' | 'self-closing';\n\ntype HtmlTag = {\n content: string;\n startIdx: number;\n type: HtmlTagType;\n};\n\n/**\n * Parse the text and return the tags and the plain text in one go\n * @private\n * @param text - The text to parse for HTML tags\n * @param trigger The trigger to show for the mention tag in plain text\n *\n * @returns An array of tags and the plain text representation\n */\nexport const textToTagParser = (text: string, trigger: string): { tags: TagData[]; plainText: string } => {\n const tags: TagData[] = []; // Tags passed back to the caller\n const tagParseStack: TagData[] = []; // Local stack to use while parsing\n\n let plainTextRepresentation = '';\n\n let parseIndex = 0;\n while (parseIndex < text.length) {\n const foundHtmlTag = findNextHtmlTag(text, parseIndex);\n\n if (!foundHtmlTag) {\n if (parseIndex !== 0) {\n // Add the remaining text to the plain text representation\n const newText = text.substring(parseIndex);\n plainTextRepresentation += unEscapeHtmlCharacters(newText);\n } else {\n plainTextRepresentation = unEscapeHtmlCharacters(text);\n }\n break;\n }\n\n if (foundHtmlTag.type === 'open' || foundHtmlTag.type === 'self-closing') {\n const nextTag = parseOpenTag(foundHtmlTag.content, foundHtmlTag.startIdx);\n // Add the plain text between the last tag and this one found\n plainTextRepresentation += unEscapeHtmlCharacters(text.substring(parseIndex, foundHtmlTag.startIdx));\n nextTag.plainTextBeginIndex = plainTextRepresentation.length;\n\n if (foundHtmlTag.type === 'open') {\n tagParseStack.push(nextTag);\n } else {\n nextTag.content = '';\n nextTag.plainTextBeginIndex = plainTextRepresentation.length;\n nextTag.plainTextEndIndex = plainTextRepresentation.length;\n addTag(nextTag, tagParseStack, tags);\n }\n }\n\n if (foundHtmlTag.type === 'close') {\n const currentOpenTag = tagParseStack.pop();\n const closeTagType = foundHtmlTag.content.substring(2, foundHtmlTag.content.length - 1).toLowerCase();\n\n if (currentOpenTag && currentOpenTag.tagType === closeTagType) {\n // Tag startIdx is absolute to the text. This is updated later to be relative to the parent tag\n currentOpenTag.content = text.substring(\n currentOpenTag.openTagIndex + currentOpenTag.openTagBody.length,\n foundHtmlTag.startIdx\n );\n\n // Insert the plain text pieces for the sub tags\n if (currentOpenTag.tagType === MSFT_MENTION_TAG) {\n plainTextRepresentation =\n plainTextRepresentation.slice(0, currentOpenTag.plainTextBeginIndex) +\n trigger +\n plainTextRepresentation.slice(currentOpenTag.plainTextBeginIndex);\n }\n\n const lastSubTag = currentOpenTag.subTags?.[currentOpenTag.subTags.length - 1];\n if (!currentOpenTag.subTags) {\n plainTextRepresentation += unEscapeHtmlCharacters(currentOpenTag.content);\n } else if (lastSubTag) {\n // Add text after the last tag\n const startOfRemainingText =\n (lastSubTag?.closingTagIndex ?? lastSubTag.openTagIndex) + lastSubTag.tagType.length + 3;\n const trailingText = currentOpenTag.content.substring(startOfRemainingText);\n plainTextRepresentation += unEscapeHtmlCharacters(trailingText);\n }\n\n currentOpenTag.plainTextEndIndex = plainTextRepresentation.length;\n addTag(currentOpenTag, tagParseStack, tags);\n } else {\n throw new Error(\n 'Unexpected close tag found. Got \"' +\n closeTagType +\n '\" but expected \"' +\n tagParseStack[tagParseStack.length - 1]?.tagType +\n '\"'\n );\n }\n }\n\n // Update parsing index; move past the end of the close tag\n parseIndex = foundHtmlTag.startIdx + foundHtmlTag.content.length;\n } // While parseIndex < text.length loop\n\n return { tags, plainText: plainTextRepresentation };\n};\n\nconst parseOpenTag = (tag: string, startIdx: number): TagData => {\n let tagType = tag.substring(1, tag.length - 1);\n tagType = tagType.split(' ')[0] ?? tagType;\n tagType = tagType.toLowerCase().replace('/', '');\n return {\n tagType,\n openTagIndex: startIdx,\n openTagBody: tag\n };\n};\n\nconst findNextHtmlTag = (text: string, startIndex: number): HtmlTag | undefined => {\n const tagStartIndex = text.indexOf('<', startIndex);\n if (tagStartIndex === -1) {\n // No more tags\n return undefined;\n }\n const tagEndIndex = text.indexOf('>', tagStartIndex);\n if (tagEndIndex === -1) {\n // No close tag\n return undefined;\n }\n const tag = text.substring(tagStartIndex, tagEndIndex + 1);\n let type: HtmlTagType = 'open';\n if (tag[1] === '/') {\n type = 'close';\n } else if (tag[tag.length - 2] === '/') {\n type = 'self-closing';\n }\n return {\n content: tag,\n startIdx: tagStartIndex,\n type\n };\n};\n\nconst addTag = (tag: TagData, parseStack: TagData[], tags: TagData[]): void => {\n // Add as sub-tag to the parent stack tag, if there is one\n const parentTag = parseStack[parseStack.length - 1];\n\n if (parentTag) {\n // Adjust the open tag index to be relative to the parent tag\n const parentContentStartIdx = parentTag.openTagIndex + parentTag.openTagBody.length;\n const relativeIdx = tag.openTagIndex - parentContentStartIdx;\n tag.openTagIndex = relativeIdx;\n }\n\n if (!tag.closingTagIndex) {\n // If the tag is self-closing, the close tag is the same as the open tag\n if (tag.openTagBody[tag.openTagBody.length - 2] === '/') {\n tag.closingTagIndex = tag.openTagIndex;\n } else {\n // Otherwise, the close tag index is the open tag index + the open tag body + the content length\n tag.closingTagIndex = tag.openTagIndex + tag.openTagBody.length + (tag.content ?? []).length;\n }\n }\n\n // Put the tag where it belongs\n if (!parentTag) {\n tags.push(tag);\n } else {\n if (!parentTag.subTags) {\n parentTag.subTags = [tag];\n } else {\n parentTag.subTags.push(tag);\n }\n }\n};\n\n// We should revisit this in the future when we support other text such as rich text editing.\nconst escapeHTMLChars = (text: string): string => {\n const mentionRegex = new RegExp(`<${MSFT_MENTION_TAG}(.*?)>(.*?)</${MSFT_MENTION_TAG}>`, 'i');\n if (!text.match(mentionRegex)) {\n return text\n .replace(/&(?![A-Z]+;)/gi, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;');\n }\n return text;\n};\n\nconst getChangeDiff = (plainText: string, startIndex: number, endIndex: number): number => {\n return endIndex - startIndex + getLengthDiffForEscapedHtmlChars(plainText, startIndex, endIndex);\n};\n\nconst getLengthDiffForEscapedHtmlChars = (text: string, startIndex: number, endIndex: number): number => {\n const subText = text.substring(startIndex, endIndex);\n const escapedAngleBracketCount = subText.match(/(<)|(>)/g)?.length || 0;\n let escapedCharLength = escapedAngleBracketCount * ('&lt;'.length - '<'.length);\n const escapedAmpersandCount = subText.match(/&/g)?.length || 0;\n escapedCharLength += escapedAmpersandCount * ('&amp;'.length - '&'.length);\n return escapedCharLength;\n};\n\nconst unEscapeHtmlCharacters = (text: string): string => {\n return text.replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&amp;/g, '&');\n};\n"]}
@@ -25,23 +25,23 @@ export const _TroubleshootingGuideErrorBar = (props) => {
25
25
  // Without this behaviour, this `useEffect` block would cause a render loop.
26
26
  useEffect(() => setDismissedErrors(dropDismissalsForInactiveErrors(props.activeErrorMessages, dismissedErrors)), [props.activeErrorMessages, dismissedErrors]);
27
27
  const toShow = errorsToShow(props.activeErrorMessages, dismissedErrors);
28
- return React.createElement(Stack, { "data-ui-id": "notifications-stack" }, toShow.map((error, i) => {
29
- const devicePermissionErrorBar = React.createElement("div", null,
28
+ return (React.createElement(Stack, { "data-ui-id": "notifications-stack" }, toShow.map((error, i) => {
29
+ const devicePermissionErrorBar = (React.createElement("div", null,
30
30
  strings[error.type],
31
31
  ' ',
32
- onPermissionsTroubleshootingClick && React.createElement(Link, { onClick: () => {
32
+ onPermissionsTroubleshootingClick && (React.createElement(Link, { onClick: () => {
33
33
  onPermissionsTroubleshootingClick(permissionsState);
34
34
  } },
35
- React.createElement("span", { className: messageBarLinkStyles(theme, true) }, troubleshootingGuideStrings.devicePermissionLinkText)));
36
- const networkErrorBar = React.createElement("div", null,
35
+ React.createElement("span", { className: messageBarLinkStyles(theme, true) }, troubleshootingGuideStrings.devicePermissionLinkText)))));
36
+ const networkErrorBar = (React.createElement("div", null,
37
37
  strings[error.type],
38
38
  ' ',
39
- onNetworkingTroubleshootingClick && React.createElement(Link, { onClick: onNetworkingTroubleshootingClick, underline: true },
40
- React.createElement("span", { className: messageBarLinkStyles(theme, true) }, troubleshootingGuideStrings.networkTroubleshootingLinkText)));
41
- return React.createElement(MessageBar, Object.assign({}, props, { styles: messageBarStyle(theme, messageBarType(error.type)), key: `${error.type} ${i}`, messageBarType: messageBarType(error.type), messageBarIconProps: messageBarIconProps(error.type), actions: React.createElement(MessageBarButton, { text: troubleshootingGuideStrings.dismissButtonText, styles: dismissButtonStyle(theme), onClick: () => {
39
+ onNetworkingTroubleshootingClick && (React.createElement(Link, { onClick: onNetworkingTroubleshootingClick, underline: true },
40
+ React.createElement("span", { className: messageBarLinkStyles(theme, true) }, troubleshootingGuideStrings.networkTroubleshootingLinkText)))));
41
+ return (React.createElement(MessageBar, Object.assign({}, props, { styles: messageBarStyle(theme, messageBarType(error.type)), key: `${error.type} ${i}`, messageBarType: messageBarType(error.type), messageBarIconProps: messageBarIconProps(error.type), actions: React.createElement(MessageBarButton, { text: troubleshootingGuideStrings.dismissButtonText, styles: dismissButtonStyle(theme), onClick: () => {
42
42
  setDismissedErrors(dismissError(dismissedErrors, error));
43
- }, ariaLabel: troubleshootingGuideStrings.dismissButtonText }), isMultiline: false, "aria-role": "alert", "aria-live": "assertive" }), showErrorBar(error.type, devicePermissionErrorBar, networkErrorBar));
44
- }));
43
+ }, ariaLabel: troubleshootingGuideStrings.dismissButtonText }), isMultiline: false, "aria-role": "alert", "aria-live": "assertive" }), showErrorBar(error.type, devicePermissionErrorBar, networkErrorBar)));
44
+ })));
45
45
  };
46
46
  const showErrorBar = (errorType, devicePermissionErrorBar, networkErrorBar) => {
47
47
  if (errorType === 'callNetworkQualityLow') {
@@ -1 +1 @@
1
- {"version":3,"file":"TroubleshootingGuideErrorBar.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/components/TroubleshootingGuideErrorBar.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,EAAkB,YAAY,EAAE,+BAA+B,EAAE,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC3I,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AA+DtE;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,KAAyC,EAAe,EAAE;;IACtG,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,oBAAoB;IACpB,MAAM,aAAa,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnD,MAAM,OAAO,GAAG,MAAA,KAAK,CAAC,OAAO,mCAAI,aAAa,CAAC;IAC/C,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAmB,EAAE,CAAC,CAAC;IAC7E,MAAM,EACJ,iCAAiC,EACjC,gCAAgC,EAChC,gBAAgB,GAAG;QACjB,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,QAAQ;KACrB,EACD,2BAA2B,EAC5B,GAAG,KAAK,CAAC;IAEV,mGAAmG;IACnG,4EAA4E;IAC5E,SAAS,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,+BAA+B,CAAC,KAAK,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC,CAAC;IAC/J,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;IACxE,OAAO,oBAAC,KAAK,kBAAY,qBAAqB,IACzC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACzB,MAAM,wBAAwB,GAAG;YAC1B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,GAAG;YACxB,iCAAiC,IAAI,oBAAC,IAAI,IAAC,OAAO,EAAE,GAAG,EAAE;oBAC5D,iCAAiC,CAAC,gBAAgB,CAAC,CAAC;gBACtD,CAAC;gBACO,8BAAM,SAAS,EAAE,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,IAC/C,2BAA2B,CAAC,wBAAwB,CAChD,CACF,CACL,CAAC;QACX,MAAM,eAAe,GAAG;YACjB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,GAAG;YACxB,gCAAgC,IAAI,oBAAC,IAAI,IAAC,OAAO,EAAE,gCAAgC,EAAE,SAAS;gBAC3F,8BAAM,SAAS,EAAE,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,IAC/C,2BAA2B,CAAC,8BAA8B,CACtD,CACF,CACL,CAAC;QACX,OAAO,oBAAC,UAAU,oBAAK,KAAK,IAAE,MAAM,EAAE,eAAe,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,cAAc,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,oBAAC,gBAAgB,IAAC,IAAI,EAAE,2BAA2B,CAAC,iBAAiB,EAAE,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE;oBACtV,kBAAkB,CAAC,YAAY,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC3D,CAAC,EAAE,SAAS,EAAE,2BAA2B,CAAC,iBAAiB,GAAI,EAAE,WAAW,EAAE,KAAK,eAAY,OAAO,eAAW,WAAW,KACrH,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,wBAAwB,EAAE,eAAe,CAAC,CACzD,CAAC;IACpB,CAAC,CAAC,CACM,CAAC;AACb,CAAC,CAAC;AACF,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,wBAAqC,EAAE,eAA4B,EAAe,EAAE;IAC3H,IAAI,SAAS,KAAK,uBAAuB,EAAE,CAAC;QAC1C,OAAO,eAAe,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,OAAO,wBAAwB,CAAC;IAClC,CAAC;AACH,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { useEffect, useState } from 'react';\nimport { Link, MessageBar, MessageBarButton, Stack, useTheme } from '@fluentui/react';\nimport { useLocale } from '../localization';\nimport { ErrorBarProps } from './ErrorBar';\nimport { dismissButtonStyle, messageBarStyle } from './styles/TroubleshootingGuideErrorBar.styles';\nimport { DismissedError, dismissError, dropDismissalsForInactiveErrors, errorsToShow, messageBarIconProps, messageBarType } from './utils';\nimport { messageBarLinkStyles } from './styles/MessageBarLink.styles';\n\n/**\n * Strings for {@link _TroubleshootingGuideErrorBar}.\n *\n * @internal\n */\nexport interface _TroubleshootingGuideErrorBarStrings {\n devicePermissionLinkText?: string;\n networkTroubleshootingLinkText?: string;\n dismissButtonText?: string;\n}\n\n/**\n * Props for {@link _TroubleshootingGuideErrorBar}.\n *\n * @internal\n */\nexport interface _TroubleshootingGuideErrorBarProps extends ErrorBarProps {\n /**\n * permissions state for camera/microphone\n */\n permissionsState?: {\n camera: PermissionState;\n microphone: PermissionState;\n };\n /**\n * Callback you may provide to supply users with further steps to troubleshoot why they have been\n * unable to grant your site the required permissions for the call.\n *\n * @example\n * ```ts\n * onPermissionsTroubleshootingClick: () =>\n * window.open('https://contoso.com/permissions-troubleshooting', '_blank');\n * ```\n *\n * @remarks\n * if this is not supplied, the composite will not show a 'further troubleshooting' link.\n */\n onPermissionsTroubleshootingClick?: (permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n }) => void;\n /**\n * Optional callback to supply users with further troubleshooting steps for network issues\n * experienced when connecting to a call.\n *\n * @example\n * ```ts\n * onNetworkingTroubleshootingClick?: () =>\n * window.open('https://contoso.com/network-troubleshooting', '_blank');\n * ```\n *\n * @remarks\n * if this is not supplied, the composite will not show a 'network troubleshooting' link.\n */\n onNetworkingTroubleshootingClick?: () => void;\n /**\n * strings related to trouble shooting guidance link and dismiss button\n */\n troubleshootingGuideStrings: _TroubleshootingGuideErrorBarStrings;\n}\n\n/**\n * @internal\n * A component to show device Permission/network connection related errors, contains link that leads to further trouble shooting guide\n */\nexport const _TroubleshootingGuideErrorBar = (props: _TroubleshootingGuideErrorBarProps): JSX.Element => {\n const theme = useTheme();\n // error bar strings\n const localeStrings = useLocale().strings.errorBar;\n const strings = props.strings ?? localeStrings;\n const [dismissedErrors, setDismissedErrors] = useState<DismissedError[]>([]);\n const {\n onPermissionsTroubleshootingClick,\n onNetworkingTroubleshootingClick,\n permissionsState = {\n camera: 'denied',\n microphone: 'denied'\n },\n troubleshootingGuideStrings\n } = props;\n\n // dropDismissalsForInactiveErrors only returns a new object if `dismissedErrors` actually changes.\n // Without this behaviour, this `useEffect` block would cause a render loop.\n useEffect(() => setDismissedErrors(dropDismissalsForInactiveErrors(props.activeErrorMessages, dismissedErrors)), [props.activeErrorMessages, dismissedErrors]);\n const toShow = errorsToShow(props.activeErrorMessages, dismissedErrors);\n return <Stack data-ui-id=\"notifications-stack\">\n {toShow.map((error, i) => {\n const devicePermissionErrorBar = <div>\n {strings[error.type]}{' '}\n {onPermissionsTroubleshootingClick && <Link onClick={() => {\n onPermissionsTroubleshootingClick(permissionsState);\n }}>\n <span className={messageBarLinkStyles(theme, true)}>\n {troubleshootingGuideStrings.devicePermissionLinkText}\n </span>\n </Link>}\n </div>;\n const networkErrorBar = <div>\n {strings[error.type]}{' '}\n {onNetworkingTroubleshootingClick && <Link onClick={onNetworkingTroubleshootingClick} underline>\n <span className={messageBarLinkStyles(theme, true)}>\n {troubleshootingGuideStrings.networkTroubleshootingLinkText}\n </span>\n </Link>}\n </div>;\n return <MessageBar {...props} styles={messageBarStyle(theme, messageBarType(error.type))} key={`${error.type} ${i}`} messageBarType={messageBarType(error.type)} messageBarIconProps={messageBarIconProps(error.type)} actions={<MessageBarButton text={troubleshootingGuideStrings.dismissButtonText} styles={dismissButtonStyle(theme)} onClick={() => {\n setDismissedErrors(dismissError(dismissedErrors, error));\n }} ariaLabel={troubleshootingGuideStrings.dismissButtonText} />} isMultiline={false} aria-role=\"alert\" aria-live=\"assertive\">\n {showErrorBar(error.type, devicePermissionErrorBar, networkErrorBar)}\n </MessageBar>;\n })}\n </Stack>;\n};\nconst showErrorBar = (errorType: string, devicePermissionErrorBar: JSX.Element, networkErrorBar: JSX.Element): JSX.Element => {\n if (errorType === 'callNetworkQualityLow') {\n return networkErrorBar;\n } else {\n return devicePermissionErrorBar;\n }\n};"]}
1
+ {"version":3,"file":"TroubleshootingGuideErrorBar.js","sourceRoot":"","sources":["../../../../../../react-components/src/components/TroubleshootingGuideErrorBar.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { useEffect, useState } from 'react';\nimport { Link, MessageBar, MessageBarButton, Stack, useTheme } from '@fluentui/react';\nimport { useLocale } from '../localization';\nimport { ErrorBarProps } from './ErrorBar';\nimport { dismissButtonStyle, messageBarStyle } from './styles/TroubleshootingGuideErrorBar.styles';\nimport {\n DismissedError,\n dismissError,\n dropDismissalsForInactiveErrors,\n errorsToShow,\n messageBarIconProps,\n messageBarType\n} from './utils';\nimport { messageBarLinkStyles } from './styles/MessageBarLink.styles';\n\n/**\n * Strings for {@link _TroubleshootingGuideErrorBar}.\n *\n * @internal\n */\nexport interface _TroubleshootingGuideErrorBarStrings {\n devicePermissionLinkText?: string;\n networkTroubleshootingLinkText?: string;\n dismissButtonText?: string;\n}\n\n/**\n * Props for {@link _TroubleshootingGuideErrorBar}.\n *\n * @internal\n */\nexport interface _TroubleshootingGuideErrorBarProps extends ErrorBarProps {\n /**\n * permissions state for camera/microphone\n */\n permissionsState?: {\n camera: PermissionState;\n microphone: PermissionState;\n };\n /**\n * Callback you may provide to supply users with further steps to troubleshoot why they have been\n * unable to grant your site the required permissions for the call.\n *\n * @example\n * ```ts\n * onPermissionsTroubleshootingClick: () =>\n * window.open('https://contoso.com/permissions-troubleshooting', '_blank');\n * ```\n *\n * @remarks\n * if this is not supplied, the composite will not show a 'further troubleshooting' link.\n */\n onPermissionsTroubleshootingClick?: (permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n }) => void;\n /**\n * Optional callback to supply users with further troubleshooting steps for network issues\n * experienced when connecting to a call.\n *\n * @example\n * ```ts\n * onNetworkingTroubleshootingClick?: () =>\n * window.open('https://contoso.com/network-troubleshooting', '_blank');\n * ```\n *\n * @remarks\n * if this is not supplied, the composite will not show a 'network troubleshooting' link.\n */\n onNetworkingTroubleshootingClick?: () => void;\n /**\n * strings related to trouble shooting guidance link and dismiss button\n */\n troubleshootingGuideStrings: _TroubleshootingGuideErrorBarStrings;\n}\n\n/**\n * @internal\n * A component to show device Permission/network connection related errors, contains link that leads to further trouble shooting guide\n */\nexport const _TroubleshootingGuideErrorBar = (props: _TroubleshootingGuideErrorBarProps): JSX.Element => {\n const theme = useTheme();\n // error bar strings\n const localeStrings = useLocale().strings.errorBar;\n const strings = props.strings ?? localeStrings;\n\n const [dismissedErrors, setDismissedErrors] = useState<DismissedError[]>([]);\n\n const {\n onPermissionsTroubleshootingClick,\n onNetworkingTroubleshootingClick,\n permissionsState = {\n camera: 'denied',\n microphone: 'denied'\n },\n troubleshootingGuideStrings\n } = props;\n\n // dropDismissalsForInactiveErrors only returns a new object if `dismissedErrors` actually changes.\n // Without this behaviour, this `useEffect` block would cause a render loop.\n useEffect(\n () => setDismissedErrors(dropDismissalsForInactiveErrors(props.activeErrorMessages, dismissedErrors)),\n [props.activeErrorMessages, dismissedErrors]\n );\n\n const toShow = errorsToShow(props.activeErrorMessages, dismissedErrors);\n\n return (\n <Stack data-ui-id=\"notifications-stack\">\n {toShow.map((error, i) => {\n const devicePermissionErrorBar = (\n <div>\n {strings[error.type]}{' '}\n {onPermissionsTroubleshootingClick && (\n <Link\n onClick={() => {\n onPermissionsTroubleshootingClick(permissionsState);\n }}\n >\n <span className={messageBarLinkStyles(theme, true)}>\n {troubleshootingGuideStrings.devicePermissionLinkText}\n </span>\n </Link>\n )}\n </div>\n );\n\n const networkErrorBar = (\n <div>\n {strings[error.type]}{' '}\n {onNetworkingTroubleshootingClick && (\n <Link onClick={onNetworkingTroubleshootingClick} underline>\n <span className={messageBarLinkStyles(theme, true)}>\n {troubleshootingGuideStrings.networkTroubleshootingLinkText}\n </span>\n </Link>\n )}\n </div>\n );\n\n return (\n <MessageBar\n {...props}\n styles={messageBarStyle(theme, messageBarType(error.type))}\n key={`${error.type} ${i}`}\n messageBarType={messageBarType(error.type)}\n messageBarIconProps={messageBarIconProps(error.type)}\n actions={\n <MessageBarButton\n text={troubleshootingGuideStrings.dismissButtonText}\n styles={dismissButtonStyle(theme)}\n onClick={() => {\n setDismissedErrors(dismissError(dismissedErrors, error));\n }}\n ariaLabel={troubleshootingGuideStrings.dismissButtonText}\n />\n }\n isMultiline={false}\n aria-role=\"alert\"\n aria-live=\"assertive\"\n >\n {showErrorBar(error.type, devicePermissionErrorBar, networkErrorBar)}\n </MessageBar>\n );\n })}\n </Stack>\n );\n};\n\nconst showErrorBar = (\n errorType: string,\n devicePermissionErrorBar: JSX.Element,\n networkErrorBar: JSX.Element\n): JSX.Element => {\n if (errorType === 'callNetworkQualityLow') {\n return networkErrorBar;\n } else {\n return devicePermissionErrorBar;\n }\n};\n"]}
@@ -21,7 +21,7 @@ const getUsersElement = (typingUsers, delimiter, onRenderUser, userDisplayNameSt
21
21
  if (truncatedDisplayName && truncatedDisplayName.length > 50) {
22
22
  truncatedDisplayName = truncatedDisplayName.substring(0, 50) + '...';
23
23
  }
24
- userElements.push(onRenderUser ? onRenderUser(user) : React.createElement(Text, { className: mergeStyles(userDisplayNameStyles), key: `user-${index}` }, truncatedDisplayName));
24
+ userElements.push(onRenderUser ? (onRenderUser(user)) : (React.createElement(Text, { className: mergeStyles(userDisplayNameStyles), key: `user-${index}` }, truncatedDisplayName)));
25
25
  userElements.push(React.createElement(Text, { key: `comma-${index}` }, `${delimiter}`));
26
26
  });
27
27
  // pop last comma
@@ -36,7 +36,7 @@ const getUsersElement = (typingUsers, delimiter, onRenderUser, userDisplayNameSt
36
36
  */
37
37
  const getNamesString = (typingUsers, delimiter) => {
38
38
  const userNames = [];
39
- typingUsers.forEach(user => {
39
+ typingUsers.forEach((user) => {
40
40
  if (user.displayName) {
41
41
  userNames.push(user.displayName);
42
42
  }
@@ -100,7 +100,9 @@ const getIndicatorString = (strings, namesString, numTypingUsers, numTypingUsers
100
100
  return strings.multipleUsersAbbreviateOne.replace('{users}', namesString);
101
101
  }
102
102
  if (numTypingUsers > 1 && numTypingUsersAbbreviated > 1) {
103
- return strings.multipleUsersAbbreviateMany.replace('{users}', namesString).replace('{numOthers}', `${numTypingUsersAbbreviated}`);
103
+ return strings.multipleUsersAbbreviateMany
104
+ .replace('{users}', namesString)
105
+ .replace('{numOthers}', `${numTypingUsersAbbreviated}`);
104
106
  }
105
107
  return undefined;
106
108
  };
@@ -117,7 +119,8 @@ const IndicatorComponent = (typingUsers, strings, onRenderUser, styles) => {
117
119
  if (typingUsersMentioned.length > 0) {
118
120
  additionalCharCount += strings.delimiter.length;
119
121
  }
120
- if (totalCharacterCount + additionalCharCount <= MAXIMUM_LENGTH_OF_TYPING_USERS || typingUsersMentioned.length === 0) {
122
+ if (totalCharacterCount + additionalCharCount <= MAXIMUM_LENGTH_OF_TYPING_USERS ||
123
+ typingUsersMentioned.length === 0) {
121
124
  typingUsersMentioned.push(typingUser);
122
125
  totalCharacterCount += additionalCharCount;
123
126
  }
@@ -129,7 +132,7 @@ const IndicatorComponent = (typingUsers, strings, onRenderUser, styles) => {
129
132
  const numUserNotMentioned = typingUsers.length - typingUsersMentioned.length;
130
133
  const spanElements = getSpanElements(strings, usersElement, typingUsers.length, numUserNotMentioned);
131
134
  const labelString = getIndicatorString(strings, getNamesString(typingUsersMentioned, strings.delimiter), typingUsers.length, numUserNotMentioned);
132
- return React.createElement("div", { "data-ui-id": ids.typingIndicator, className: mergeStyles(typingIndicatorStringStyle, styles === null || styles === void 0 ? void 0 : styles.typingString), key: "typingStringKey", role: "status", "aria-label": labelString }, spanElements);
135
+ return (React.createElement("div", { "data-ui-id": ids.typingIndicator, className: mergeStyles(typingIndicatorStringStyle, styles === null || styles === void 0 ? void 0 : styles.typingString), key: "typingStringKey", role: "status", "aria-label": labelString }, spanElements));
133
136
  };
134
137
  /**
135
138
  * Component to notify local user when one or more participants in the chat thread are typing.
@@ -139,7 +142,7 @@ const IndicatorComponent = (typingUsers, strings, onRenderUser, styles) => {
139
142
  export const TypingIndicator = (props) => {
140
143
  const { typingUsers, onRenderUser, styles } = props;
141
144
  const { strings } = useLocale();
142
- const typingUsersToRender = typingUsers.filter(typingUser => typingUser.displayName !== undefined);
145
+ const typingUsersToRender = typingUsers.filter((typingUser) => typingUser.displayName !== undefined);
143
146
  const indicatorComponent = IndicatorComponent(typingUsersToRender, Object.assign(Object.assign({}, strings.typingIndicator), props.strings), onRenderUser, styles);
144
147
  return React.createElement(Stack, { className: mergeStyles(typingIndicatorContainerStyle, styles === null || styles === void 0 ? void 0 : styles.root) }, indicatorComponent);
145
148
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TypingIndicator.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/components/TypingIndicator.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { typingIndicatorContainerStyle, typingIndicatorStringStyle } from './styles/TypingIndicator.styles';\nimport React from 'react';\nimport { BaseCustomStyles, CommunicationParticipant } from '../types';\nimport { IStyle, mergeStyles, Stack, Text } from '@fluentui/react';\nimport { useLocale } from '../localization/LocalizationProvider';\nimport { useIdentifiers } from '../identifiers';\nimport { _IObjectMap } from '@internal/acs-ui-common';\n\n/**\n * Fluent styles for {@link TypingIndicator}.\n *\n * @public\n */\nexport interface TypingIndicatorStylesProps extends BaseCustomStyles {\n /** Styles for each typing user's displayName. */\n typingUserDisplayName?: IStyle;\n /** Styles for the typing string. */\n typingString?: IStyle;\n}\n\n/**\n * Strings of {@link TypingIndicator} that can be overridden.\n *\n * @public\n */\nexport interface TypingIndicatorStrings {\n /**\n * String template to use when one user is typing. Placeholders: [user].\n * @example\n * ```\n * <TypingIndicator\n * strings={{ multipleUsersAbbreviateOne: '{users} is typing...' }}\n * typingUsers={[{ userId: 'user1', displayName: 'Claire' }]}\n * />\n * ```\n * would be 'Claire is typing...'\n **/\n singleUser: string;\n /**\n * String template to use when multiple users are typing. Placeholders: [users].\n * @example\n * ```\n * <TypingIndicator\n * strings={{ multipleUsers: '{users} are typing...' }}\n * typingUsers={[\n * { userId: 'user1', displayName: 'Claire' },\n * { userId: 'user2', displayName: 'Christopher' }\n * ]}\n * />\n * ```\n * would be 'Claire, Chris are typing...'\n **/\n multipleUsers: string;\n /**\n * String template to use when multiple users are typing with one other user abbreviated. Placeholders: [users].\n * @example\n * ```typescript\n * <TypingIndicator\n * strings={{ multipleUsersAbbreviateOne: '{users} and 1 other are typing...' }}\n * typingUsers={[\n * { userId: 'user1', displayName: 'Claire Romanov' },\n * { userId: 'user2', displayName: 'Christopher Rutherford' }\n * ]}\n * />\n * ```\n * would be 'Claire Romanov and 1 other are typing...'\n **/\n multipleUsersAbbreviateOne: string;\n /**\n * String template to use when multiple users are typing with one other user abbreviated. Placeholders: [users, numOthers].\n * @example\n * ```\n * <TypingIndicator\n * strings={{ multipleUsersAbbreviateMany: '{users} and {numOthers} others are typing...' }}\n * typingUsers={[\n * { userId: 'user1', displayName: 'Claire Romanov' },\n * { userId: 'user2', displayName: 'Christopher Rutherford' },\n * { userId: 'user3', displayName: 'Jill Vernblom' }\n * ]}\n * />\n * ```\n * would be 'Claire Romanov and 2 others are typing...'\n **/\n multipleUsersAbbreviateMany: string;\n /**\n * String to use as delimiter to separate multiple users.\n * @example\n * ```\n * <TypingIndicator\n * strings={{ delimiter: ' + ' }}\n * typingUsers={[\n * { userId: 'user1', displayName: 'Claire' },\n * { userId: 'user2', displayName: 'Chris' },\n * { userId: 'user3', displayName: 'Jill' }\n * ]}\n * />\n * ```\n * would be 'Claire + Chris + Jill are typing...'\n **/\n delimiter: string;\n}\n\n/**\n * Props for {@link TypingIndicator}.\n *\n * @public\n */\nexport interface TypingIndicatorProps {\n /** List of the typing users. */\n typingUsers: CommunicationParticipant[];\n /** Callback to render typing users */\n onRenderUser?: (users: CommunicationParticipant) => JSX.Element;\n /**\n * Allows users to pass in an object contains custom CSS styles.\n * @Example\n * ```\n * <TypingIndicator styles={{ root: { background: 'blue' } }} />\n * ```\n */\n styles?: TypingIndicatorStylesProps;\n\n /**\n * Optional strings to override in component\n */\n strings?: Partial<TypingIndicatorStrings>;\n}\nconst MAXIMUM_LENGTH_OF_TYPING_USERS = 35;\n\n/**\n * Helper function to create element wrapping all typing users\n * @param typingUsers typing users\n * @param delimiter string to separate typing users\n * @param onRenderUser optional callback to render each typing user\n * @param userDisplayNameStyles optional additional IStyle to apply to each element containing users name\n * @returns element wrapping all typing users\n */\nconst getUsersElement = (typingUsers: CommunicationParticipant[], delimiter: string, onRenderUser?: (users: CommunicationParticipant) => JSX.Element, userDisplayNameStyles?: IStyle): JSX.Element => {\n const userElements: JSX.Element[] = [];\n typingUsers.forEach((user, index) => {\n let truncatedDisplayName = user.displayName;\n if (truncatedDisplayName && truncatedDisplayName.length > 50) {\n truncatedDisplayName = truncatedDisplayName.substring(0, 50) + '...';\n }\n userElements.push(onRenderUser ? onRenderUser(user) : <Text className={mergeStyles(userDisplayNameStyles)} key={`user-${index}`}>\n {truncatedDisplayName}\n </Text>);\n userElements.push(<Text key={`comma-${index}`}>{`${delimiter}`}</Text>);\n });\n // pop last comma\n userElements.pop();\n return <>{userElements}</>;\n};\n\n/**\n * Helper function to get a string of all typing users\n * @param typingUsers typing users\n * @param delimiter string to separate typing users\n * @returns string of all typing users\n */\nconst getNamesString = (typingUsers: CommunicationParticipant[], delimiter: string): string => {\n const userNames: string[] = [];\n typingUsers.forEach(user => {\n if (user.displayName) {\n userNames.push(user.displayName);\n }\n });\n return userNames.join(delimiter);\n};\n\n/**\n * Helper function to create span elements making up the typing indicator string\n * @param strings TypingIndicatorStrings containing strings to create span elements\n * @param usersElement JSX.Element containing all typing users\n * @param numTypingUsers number of total typing users\n * @param numUserNotMentioned number of typing users abbreviated\n * @returns array of span elements making up the typing indicator string\n */\nconst getSpanElements = (strings: TypingIndicatorStrings, usersElement: JSX.Element, numTypingUsers: number, numTypingUsersAbbreviated: number): JSX.Element[] => {\n let variables: Record<string, JSX.Element> = {};\n let typingString = '';\n if (numTypingUsers === 1) {\n typingString = strings.singleUser;\n variables = {\n user: usersElement\n };\n } else if (numTypingUsers > 1 && numTypingUsersAbbreviated === 0) {\n typingString = strings.multipleUsers;\n variables = {\n users: usersElement\n };\n } else if (numTypingUsers > 1 && numTypingUsersAbbreviated === 1) {\n typingString = strings.multipleUsersAbbreviateOne;\n variables = {\n users: usersElement\n };\n } else if (numTypingUsers > 1 && numTypingUsersAbbreviated > 1) {\n typingString = strings.multipleUsersAbbreviateMany;\n variables = {\n users: usersElement,\n numOthers: <>{numTypingUsersAbbreviated}</>\n };\n }\n return formatInlineElements(typingString, variables);\n};\n\n/**\n * Helper function to get the string making up the typing indicator string\n * @param strings TypingIndicatorStrings containing strings to create span elements\n * @param namesString string of all typing users\n * @param numTypingUsers number of total typing users\n * @param numUserNotMentioned number of typing users abbreviated\n * @returns typing indicator string\n */\nconst getIndicatorString = (strings: TypingIndicatorStrings, namesString: string, numTypingUsers: number, numTypingUsersAbbreviated: number): string | undefined => {\n if (numTypingUsers === 1) {\n return strings.singleUser.replace('{user}', namesString);\n }\n if (numTypingUsers > 1 && numTypingUsersAbbreviated === 0) {\n return strings.multipleUsers.replace('{users}', namesString);\n }\n if (numTypingUsers > 1 && numTypingUsersAbbreviated === 1) {\n return strings.multipleUsersAbbreviateOne.replace('{users}', namesString);\n }\n if (numTypingUsers > 1 && numTypingUsersAbbreviated > 1) {\n return strings.multipleUsersAbbreviateMany.replace('{users}', namesString).replace('{numOthers}', `${numTypingUsersAbbreviated}`);\n }\n return undefined;\n};\nconst IndicatorComponent = (typingUsers: CommunicationParticipant[], strings: TypingIndicatorStrings, onRenderUser?: (users: CommunicationParticipant) => JSX.Element, styles?: TypingIndicatorStylesProps): JSX.Element => {\n const typingUsersMentioned: CommunicationParticipant[] = [];\n let totalCharacterCount = 0;\n const ids = useIdentifiers();\n for (const typingUser of typingUsers) {\n if (!typingUser.displayName) {\n continue;\n }\n let additionalCharCount = typingUser.displayName.length;\n // The typing users will be separated by the delimiter. We account for that additional length when we generate the final string.\n if (typingUsersMentioned.length > 0) {\n additionalCharCount += strings.delimiter.length;\n }\n if (totalCharacterCount + additionalCharCount <= MAXIMUM_LENGTH_OF_TYPING_USERS || typingUsersMentioned.length === 0) {\n typingUsersMentioned.push(typingUser);\n totalCharacterCount += additionalCharCount;\n } else {\n break;\n }\n }\n const usersElement: JSX.Element = getUsersElement(typingUsersMentioned, strings.delimiter, onRenderUser, styles?.typingUserDisplayName);\n const numUserNotMentioned = typingUsers.length - typingUsersMentioned.length;\n const spanElements: JSX.Element[] = getSpanElements(strings, usersElement, typingUsers.length, numUserNotMentioned);\n const labelString = getIndicatorString(strings, getNamesString(typingUsersMentioned, strings.delimiter), typingUsers.length, numUserNotMentioned);\n return <div data-ui-id={ids.typingIndicator} className={mergeStyles(typingIndicatorStringStyle, styles?.typingString)} key=\"typingStringKey\" role=\"status\" aria-label={labelString}>\n {spanElements}\n </div>;\n};\n\n/**\n * Component to notify local user when one or more participants in the chat thread are typing.\n *\n * @public\n */\nexport const TypingIndicator = (props: TypingIndicatorProps): JSX.Element => {\n const {\n typingUsers,\n onRenderUser,\n styles\n } = props;\n const {\n strings\n } = useLocale();\n const typingUsersToRender = typingUsers.filter(typingUser => typingUser.displayName !== undefined);\n const indicatorComponent = IndicatorComponent(typingUsersToRender, {\n ...strings.typingIndicator,\n ...props.strings\n }, onRenderUser, styles);\n return <Stack className={mergeStyles(typingIndicatorContainerStyle, styles?.root)}>{indicatorComponent}</Stack>;\n};\n\n/**\n * Create an array of span elements by replacing the pattern \"\\{\\}\" in str with the elements\n * passed in as vars and creating inline elements from the rest\n *\n * @param str - The string to be formatted\n * @param vars - Variables to use to format the string\n * @returns formatted JSX elements\n */\nconst formatInlineElements = (str: string, vars: _IObjectMap<JSX.Element>): JSX.Element[] => {\n if (!str) {\n return [];\n }\n if (!vars) {\n return [];\n }\n const elements: JSX.Element[] = [];\n\n // regex to search for the pattern \"{}\"\n const placeholdersRegex = /{(\\w+)}/g;\n const regex = RegExp(placeholdersRegex);\n let array: RegExpExecArray | null = regex.exec(str);\n let prev = 0;\n while (array !== null) {\n if (prev !== array.index) {\n elements.push(<Text key={elements.length}>{str.substring(prev, array.index)}</Text>);\n }\n elements.push(<Text key={elements.length}>{vars[array[0].substring(1, array[0].length - 1)]}</Text>);\n prev = regex.lastIndex;\n array = regex.exec(str);\n }\n elements.push(<Text key={elements.length}>{str.substring(prev)}</Text>);\n return elements;\n};"]}
1
+ {"version":3,"file":"TypingIndicator.js","sourceRoot":"","sources":["../../../../../../react-components/src/components/TypingIndicator.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { typingIndicatorContainerStyle, typingIndicatorStringStyle } from './styles/TypingIndicator.styles';\n\nimport React from 'react';\nimport { BaseCustomStyles, CommunicationParticipant } from '../types';\nimport { IStyle, mergeStyles, Stack, Text } from '@fluentui/react';\nimport { useLocale } from '../localization/LocalizationProvider';\nimport { useIdentifiers } from '../identifiers';\nimport { _IObjectMap } from '@internal/acs-ui-common';\n\n/**\n * Fluent styles for {@link TypingIndicator}.\n *\n * @public\n */\nexport interface TypingIndicatorStylesProps extends BaseCustomStyles {\n /** Styles for each typing user's displayName. */\n typingUserDisplayName?: IStyle;\n /** Styles for the typing string. */\n typingString?: IStyle;\n}\n\n/**\n * Strings of {@link TypingIndicator} that can be overridden.\n *\n * @public\n */\nexport interface TypingIndicatorStrings {\n /**\n * String template to use when one user is typing. Placeholders: [user].\n * @example\n * ```\n * <TypingIndicator\n * strings={{ multipleUsersAbbreviateOne: '{users} is typing...' }}\n * typingUsers={[{ userId: 'user1', displayName: 'Claire' }]}\n * />\n * ```\n * would be 'Claire is typing...'\n **/\n singleUser: string;\n /**\n * String template to use when multiple users are typing. Placeholders: [users].\n * @example\n * ```\n * <TypingIndicator\n * strings={{ multipleUsers: '{users} are typing...' }}\n * typingUsers={[\n * { userId: 'user1', displayName: 'Claire' },\n * { userId: 'user2', displayName: 'Christopher' }\n * ]}\n * />\n * ```\n * would be 'Claire, Chris are typing...'\n **/\n multipleUsers: string;\n /**\n * String template to use when multiple users are typing with one other user abbreviated. Placeholders: [users].\n * @example\n * ```typescript\n * <TypingIndicator\n * strings={{ multipleUsersAbbreviateOne: '{users} and 1 other are typing...' }}\n * typingUsers={[\n * { userId: 'user1', displayName: 'Claire Romanov' },\n * { userId: 'user2', displayName: 'Christopher Rutherford' }\n * ]}\n * />\n * ```\n * would be 'Claire Romanov and 1 other are typing...'\n **/\n multipleUsersAbbreviateOne: string;\n /**\n * String template to use when multiple users are typing with one other user abbreviated. Placeholders: [users, numOthers].\n * @example\n * ```\n * <TypingIndicator\n * strings={{ multipleUsersAbbreviateMany: '{users} and {numOthers} others are typing...' }}\n * typingUsers={[\n * { userId: 'user1', displayName: 'Claire Romanov' },\n * { userId: 'user2', displayName: 'Christopher Rutherford' },\n * { userId: 'user3', displayName: 'Jill Vernblom' }\n * ]}\n * />\n * ```\n * would be 'Claire Romanov and 2 others are typing...'\n **/\n multipleUsersAbbreviateMany: string;\n /**\n * String to use as delimiter to separate multiple users.\n * @example\n * ```\n * <TypingIndicator\n * strings={{ delimiter: ' + ' }}\n * typingUsers={[\n * { userId: 'user1', displayName: 'Claire' },\n * { userId: 'user2', displayName: 'Chris' },\n * { userId: 'user3', displayName: 'Jill' }\n * ]}\n * />\n * ```\n * would be 'Claire + Chris + Jill are typing...'\n **/\n delimiter: string;\n}\n\n/**\n * Props for {@link TypingIndicator}.\n *\n * @public\n */\nexport interface TypingIndicatorProps {\n /** List of the typing users. */\n typingUsers: CommunicationParticipant[];\n /** Callback to render typing users */\n onRenderUser?: (users: CommunicationParticipant) => JSX.Element;\n /**\n * Allows users to pass in an object contains custom CSS styles.\n * @Example\n * ```\n * <TypingIndicator styles={{ root: { background: 'blue' } }} />\n * ```\n */\n styles?: TypingIndicatorStylesProps;\n\n /**\n * Optional strings to override in component\n */\n strings?: Partial<TypingIndicatorStrings>;\n}\n\nconst MAXIMUM_LENGTH_OF_TYPING_USERS = 35;\n\n/**\n * Helper function to create element wrapping all typing users\n * @param typingUsers typing users\n * @param delimiter string to separate typing users\n * @param onRenderUser optional callback to render each typing user\n * @param userDisplayNameStyles optional additional IStyle to apply to each element containing users name\n * @returns element wrapping all typing users\n */\nconst getUsersElement = (\n typingUsers: CommunicationParticipant[],\n delimiter: string,\n onRenderUser?: (users: CommunicationParticipant) => JSX.Element,\n userDisplayNameStyles?: IStyle\n): JSX.Element => {\n const userElements: JSX.Element[] = [];\n typingUsers.forEach((user, index) => {\n let truncatedDisplayName = user.displayName;\n if (truncatedDisplayName && truncatedDisplayName.length > 50) {\n truncatedDisplayName = truncatedDisplayName.substring(0, 50) + '...';\n }\n userElements.push(\n onRenderUser ? (\n onRenderUser(user)\n ) : (\n <Text className={mergeStyles(userDisplayNameStyles)} key={`user-${index}`}>\n {truncatedDisplayName}\n </Text>\n )\n );\n userElements.push(<Text key={`comma-${index}`}>{`${delimiter}`}</Text>);\n });\n // pop last comma\n userElements.pop();\n return <>{userElements}</>;\n};\n\n/**\n * Helper function to get a string of all typing users\n * @param typingUsers typing users\n * @param delimiter string to separate typing users\n * @returns string of all typing users\n */\nconst getNamesString = (typingUsers: CommunicationParticipant[], delimiter: string): string => {\n const userNames: string[] = [];\n\n typingUsers.forEach((user) => {\n if (user.displayName) {\n userNames.push(user.displayName);\n }\n });\n return userNames.join(delimiter);\n};\n\n/**\n * Helper function to create span elements making up the typing indicator string\n * @param strings TypingIndicatorStrings containing strings to create span elements\n * @param usersElement JSX.Element containing all typing users\n * @param numTypingUsers number of total typing users\n * @param numUserNotMentioned number of typing users abbreviated\n * @returns array of span elements making up the typing indicator string\n */\nconst getSpanElements = (\n strings: TypingIndicatorStrings,\n usersElement: JSX.Element,\n numTypingUsers: number,\n numTypingUsersAbbreviated: number\n): JSX.Element[] => {\n let variables: Record<string, JSX.Element> = {};\n let typingString = '';\n if (numTypingUsers === 1) {\n typingString = strings.singleUser;\n variables = {\n user: usersElement\n };\n } else if (numTypingUsers > 1 && numTypingUsersAbbreviated === 0) {\n typingString = strings.multipleUsers;\n variables = {\n users: usersElement\n };\n } else if (numTypingUsers > 1 && numTypingUsersAbbreviated === 1) {\n typingString = strings.multipleUsersAbbreviateOne;\n variables = {\n users: usersElement\n };\n } else if (numTypingUsers > 1 && numTypingUsersAbbreviated > 1) {\n typingString = strings.multipleUsersAbbreviateMany;\n variables = {\n users: usersElement,\n numOthers: <>{numTypingUsersAbbreviated}</>\n };\n }\n\n return formatInlineElements(typingString, variables);\n};\n\n/**\n * Helper function to get the string making up the typing indicator string\n * @param strings TypingIndicatorStrings containing strings to create span elements\n * @param namesString string of all typing users\n * @param numTypingUsers number of total typing users\n * @param numUserNotMentioned number of typing users abbreviated\n * @returns typing indicator string\n */\nconst getIndicatorString = (\n strings: TypingIndicatorStrings,\n namesString: string,\n numTypingUsers: number,\n numTypingUsersAbbreviated: number\n): string | undefined => {\n if (numTypingUsers === 1) {\n return strings.singleUser.replace('{user}', namesString);\n }\n\n if (numTypingUsers > 1 && numTypingUsersAbbreviated === 0) {\n return strings.multipleUsers.replace('{users}', namesString);\n }\n\n if (numTypingUsers > 1 && numTypingUsersAbbreviated === 1) {\n return strings.multipleUsersAbbreviateOne.replace('{users}', namesString);\n }\n\n if (numTypingUsers > 1 && numTypingUsersAbbreviated > 1) {\n return strings.multipleUsersAbbreviateMany\n .replace('{users}', namesString)\n .replace('{numOthers}', `${numTypingUsersAbbreviated}`);\n }\n\n return undefined;\n};\n\nconst IndicatorComponent = (\n typingUsers: CommunicationParticipant[],\n strings: TypingIndicatorStrings,\n onRenderUser?: (users: CommunicationParticipant) => JSX.Element,\n styles?: TypingIndicatorStylesProps\n): JSX.Element => {\n const typingUsersMentioned: CommunicationParticipant[] = [];\n let totalCharacterCount = 0;\n const ids = useIdentifiers();\n\n for (const typingUser of typingUsers) {\n if (!typingUser.displayName) {\n continue;\n }\n\n let additionalCharCount = typingUser.displayName.length;\n // The typing users will be separated by the delimiter. We account for that additional length when we generate the final string.\n if (typingUsersMentioned.length > 0) {\n additionalCharCount += strings.delimiter.length;\n }\n\n if (\n totalCharacterCount + additionalCharCount <= MAXIMUM_LENGTH_OF_TYPING_USERS ||\n typingUsersMentioned.length === 0\n ) {\n typingUsersMentioned.push(typingUser);\n totalCharacterCount += additionalCharCount;\n } else {\n break;\n }\n }\n\n const usersElement: JSX.Element = getUsersElement(\n typingUsersMentioned,\n strings.delimiter,\n onRenderUser,\n styles?.typingUserDisplayName\n );\n\n const numUserNotMentioned = typingUsers.length - typingUsersMentioned.length;\n const spanElements: JSX.Element[] = getSpanElements(strings, usersElement, typingUsers.length, numUserNotMentioned);\n\n const labelString = getIndicatorString(\n strings,\n getNamesString(typingUsersMentioned, strings.delimiter),\n typingUsers.length,\n numUserNotMentioned\n );\n\n return (\n <div\n data-ui-id={ids.typingIndicator}\n className={mergeStyles(typingIndicatorStringStyle, styles?.typingString)}\n key=\"typingStringKey\"\n role=\"status\"\n aria-label={labelString}\n >\n {spanElements}\n </div>\n );\n};\n\n/**\n * Component to notify local user when one or more participants in the chat thread are typing.\n *\n * @public\n */\nexport const TypingIndicator = (props: TypingIndicatorProps): JSX.Element => {\n const { typingUsers, onRenderUser, styles } = props;\n const { strings } = useLocale();\n\n const typingUsersToRender = typingUsers.filter((typingUser) => typingUser.displayName !== undefined);\n\n const indicatorComponent = IndicatorComponent(\n typingUsersToRender,\n { ...strings.typingIndicator, ...props.strings },\n onRenderUser,\n styles\n );\n\n return <Stack className={mergeStyles(typingIndicatorContainerStyle, styles?.root)}>{indicatorComponent}</Stack>;\n};\n\n/**\n * Create an array of span elements by replacing the pattern \"\\{\\}\" in str with the elements\n * passed in as vars and creating inline elements from the rest\n *\n * @param str - The string to be formatted\n * @param vars - Variables to use to format the string\n * @returns formatted JSX elements\n */\nconst formatInlineElements = (str: string, vars: _IObjectMap<JSX.Element>): JSX.Element[] => {\n if (!str) {\n return [];\n }\n if (!vars) {\n return [];\n }\n\n const elements: JSX.Element[] = [];\n\n // regex to search for the pattern \"{}\"\n const placeholdersRegex = /{(\\w+)}/g;\n const regex = RegExp(placeholdersRegex);\n let array: RegExpExecArray | null = regex.exec(str);\n let prev = 0;\n while (array !== null) {\n if (prev !== array.index) {\n elements.push(<Text key={elements.length}>{str.substring(prev, array.index)}</Text>);\n }\n elements.push(<Text key={elements.length}>{vars[array[0].substring(1, array[0].length - 1)]}</Text>);\n prev = regex.lastIndex;\n array = regex.exec(str);\n }\n elements.push(<Text key={elements.length}>{str.substring(prev)}</Text>);\n return elements;\n};\n"]}
@@ -11,9 +11,11 @@ import { UnsupportedEnvironment } from './UnsupportedEnvironment';
11
11
  export const UnsupportedBrowser = (props) => {
12
12
  const { onTroubleshootingClick, strings } = props;
13
13
  const locale = useLocale();
14
- return React.createElement(UnsupportedEnvironment, { onTroubleshootingClick: onTroubleshootingClick, strings: Object.assign(Object.assign({}, unsupportedBrowserStringsTrampoline(locale)), strings) });
14
+ return (React.createElement(UnsupportedEnvironment, { onTroubleshootingClick: onTroubleshootingClick, strings: Object.assign(Object.assign({}, unsupportedBrowserStringsTrampoline(locale)), strings) }));
15
15
  };
16
16
  const unsupportedBrowserStringsTrampoline = (locale) => {
17
+ /* @conditional-compile-remove(unsupported-browser) */
18
+ return locale.strings.UnsupportedBrowser;
17
19
  return {
18
20
  primaryText: '',
19
21
  secondaryText: '',
@@ -1 +1 @@
1
- {"version":3,"file":"UnsupportedBrowser.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/components/UnsupportedBrowser.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAmB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AA4BlE;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAA8B,EAAe,EAAE;IAChF,MAAM,EACJ,sBAAsB,EACtB,OAAO,EACR,GAAG,KAAK,CAAC;IACV,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,oBAAC,sBAAsB,IAAC,sBAAsB,EAAE,sBAAsB,EAAE,OAAO,kCACjF,mCAAmC,CAAC,MAAM,CAAC,GAC3C,OAAO,IACP,CAAC;AACR,CAAC,CAAC;AACF,MAAM,mCAAmC,GAAG,CAAC,MAAuB,EAA6B,EAAE;IACjG,OAAO;QACL,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,EAAE;QACjB,gBAAgB,EAAE,EAAE;KACrB,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { _pxToRem } from '@internal/acs-ui-common';\nimport React from 'react';\nimport { ComponentLocale, useLocale } from '../localization';\nimport { UnsupportedEnvironment } from './UnsupportedEnvironment';\n\n/**\n * Strings for UnsupportedBrowser component\n *\n * @beta\n */\nexport interface UnsupportedBrowserStrings {\n /** String for the primary text */\n primaryText: string;\n /** String for the secondary text */\n secondaryText: string;\n /** String to display in the text for the help link */\n moreHelpLinkText: string;\n}\n\n/**\n * props for {@link UnsupportedBrowser} UI\n *\n * @beta\n */\nexport interface UnsupportedBrowserProps {\n /** Handler to perform an action when the help link is actioned */\n onTroubleshootingClick?: () => void;\n /** String overrides for the component */\n strings?: UnsupportedBrowserStrings;\n}\n\n/**\n * UI to display to the user that the browser they are using is not supported by Azure Communications Calling service.\n *\n * @beta\n */\nexport const UnsupportedBrowser = (props: UnsupportedBrowserProps): JSX.Element => {\n const {\n onTroubleshootingClick,\n strings\n } = props;\n const locale = useLocale();\n return <UnsupportedEnvironment onTroubleshootingClick={onTroubleshootingClick} strings={{\n ...unsupportedBrowserStringsTrampoline(locale),\n ...strings\n }} />;\n};\nconst unsupportedBrowserStringsTrampoline = (locale: ComponentLocale): UnsupportedBrowserStrings => {\n return {\n primaryText: '',\n secondaryText: '',\n moreHelpLinkText: ''\n };\n};"]}
1
+ {"version":3,"file":"UnsupportedBrowser.js","sourceRoot":"","sources":["../../../../../../react-components/src/components/UnsupportedBrowser.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAmB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AA4BlE;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAA8B,EAAe,EAAE;IAChF,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAClD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,CACL,oBAAC,sBAAsB,IACrB,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,kCAAO,mCAAmC,CAAC,MAAM,CAAC,GAAK,OAAO,IACrE,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,mCAAmC,GAAG,CAAC,MAAuB,EAA6B,EAAE;IACjG,sDAAsD;IACtD,OAAO,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACzC,OAAO;QACL,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,EAAE;QACjB,gBAAgB,EAAE,EAAE;KACrB,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { _pxToRem } from '@internal/acs-ui-common';\nimport React from 'react';\nimport { ComponentLocale, useLocale } from '../localization';\nimport { UnsupportedEnvironment } from './UnsupportedEnvironment';\n\n/**\n * Strings for UnsupportedBrowser component\n *\n * @beta\n */\nexport interface UnsupportedBrowserStrings {\n /** String for the primary text */\n primaryText: string;\n /** String for the secondary text */\n secondaryText: string;\n /** String to display in the text for the help link */\n moreHelpLinkText: string;\n}\n\n/**\n * props for {@link UnsupportedBrowser} UI\n *\n * @beta\n */\nexport interface UnsupportedBrowserProps {\n /** Handler to perform an action when the help link is actioned */\n onTroubleshootingClick?: () => void;\n /** String overrides for the component */\n strings?: UnsupportedBrowserStrings;\n}\n\n/**\n * UI to display to the user that the browser they are using is not supported by Azure Communications Calling service.\n *\n * @beta\n */\nexport const UnsupportedBrowser = (props: UnsupportedBrowserProps): JSX.Element => {\n const { onTroubleshootingClick, strings } = props;\n const locale = useLocale();\n return (\n <UnsupportedEnvironment\n onTroubleshootingClick={onTroubleshootingClick}\n strings={{ ...unsupportedBrowserStringsTrampoline(locale), ...strings }}\n />\n );\n};\n\nconst unsupportedBrowserStringsTrampoline = (locale: ComponentLocale): UnsupportedBrowserStrings => {\n /* @conditional-compile-remove(unsupported-browser) */\n return locale.strings.UnsupportedBrowser;\n return {\n primaryText: '',\n secondaryText: '',\n moreHelpLinkText: ''\n };\n};\n"]}
@@ -12,9 +12,11 @@ import { UnsupportedEnvironment } from './UnsupportedEnvironment';
12
12
  export const UnsupportedBrowserVersion = (props) => {
13
13
  const { onTroubleshootingClick, strings, onContinueAnywayClick } = props;
14
14
  const locale = useLocale();
15
- return React.createElement(UnsupportedEnvironment, { onTroubleshootingClick: onTroubleshootingClick, strings: Object.assign(Object.assign({}, unsupportedBrowserVersionStringsTrampoline(locale)), strings), onContinueAnywayClick: onContinueAnywayClick });
15
+ return (React.createElement(UnsupportedEnvironment, { onTroubleshootingClick: onTroubleshootingClick, strings: Object.assign(Object.assign({}, unsupportedBrowserVersionStringsTrampoline(locale)), strings), onContinueAnywayClick: onContinueAnywayClick }));
16
16
  };
17
17
  const unsupportedBrowserVersionStringsTrampoline = (locale) => {
18
+ /* @conditional-compile-remove(unsupported-browser) */
19
+ return locale.strings.UnsupportedBrowserVersion;
18
20
  return {
19
21
  primaryText: '',
20
22
  secondaryText: '',
@@ -1 +1 @@
1
- {"version":3,"file":"UnsupportedBrowserVersion.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/components/UnsupportedBrowserVersion.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAmB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAgClE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAqC,EAAe,EAAE;IAC9F,MAAM,EACJ,sBAAsB,EACtB,OAAO,EACP,qBAAqB,EACtB,GAAG,KAAK,CAAC;IACV,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,oBAAC,sBAAsB,IAAC,sBAAsB,EAAE,sBAAsB,EAAE,OAAO,kCACjF,0CAA0C,CAAC,MAAM,CAAC,GAClD,OAAO,GACT,qBAAqB,EAAE,qBAAqB,GAAI,CAAC;AACtD,CAAC,CAAC;AACF,MAAM,0CAA0C,GAAG,CAAC,MAAuB,EAAoC,EAAE;IAC/G,OAAO;QACL,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,EAAE;QACjB,gBAAgB,EAAE,EAAE;QACpB,wBAAwB,EAAE,EAAE;KAC7B,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { _pxToRem } from '@internal/acs-ui-common';\nimport React from 'react';\nimport { ComponentLocale, useLocale } from '../localization';\nimport { UnsupportedEnvironment } from './UnsupportedEnvironment';\n\n/**\n * Strings for UnsupportedBrowser component\n *\n * @beta\n */\nexport interface UnsupportedBrowserVersionStrings {\n /** String for the primary text */\n primaryText: string;\n /** String for the secondary text */\n secondaryText: string;\n /** String to display in the text for the help link */\n moreHelpLinkText: string;\n /** String for continue without updating button */\n continueAnywayButtonText?: string;\n}\n\n/**\n * props for {@link UnsupportedBrowserVersion} UI\n *\n * @beta\n */\nexport interface UnsupportedBrowserVersionProps {\n /** Handler to perform an action when the help link is actioned */\n onTroubleshootingClick?: () => void;\n /** String overrides for the component */\n strings?: UnsupportedBrowserVersionStrings;\n /** Handler to allow user to continue into the call */\n onContinueAnywayClick?: () => void;\n}\n\n/**\n * UI to display to the user that the browser version they are using is out of date\n * and not supported by Azure Communications Calling service.\n *\n * @beta\n */\nexport const UnsupportedBrowserVersion = (props: UnsupportedBrowserVersionProps): JSX.Element => {\n const {\n onTroubleshootingClick,\n strings,\n onContinueAnywayClick\n } = props;\n const locale = useLocale();\n return <UnsupportedEnvironment onTroubleshootingClick={onTroubleshootingClick} strings={{\n ...unsupportedBrowserVersionStringsTrampoline(locale),\n ...strings\n }} onContinueAnywayClick={onContinueAnywayClick} />;\n};\nconst unsupportedBrowserVersionStringsTrampoline = (locale: ComponentLocale): UnsupportedBrowserVersionStrings => {\n return {\n primaryText: '',\n secondaryText: '',\n moreHelpLinkText: '',\n continueAnywayButtonText: ''\n };\n};"]}
1
+ {"version":3,"file":"UnsupportedBrowserVersion.js","sourceRoot":"","sources":["../../../../../../react-components/src/components/UnsupportedBrowserVersion.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAmB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAgClE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAqC,EAAe,EAAE;IAC9F,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,qBAAqB,EAAE,GAAG,KAAK,CAAC;IACzE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,CACL,oBAAC,sBAAsB,IACrB,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,kCAAO,0CAA0C,CAAC,MAAM,CAAC,GAAK,OAAO,GAC5E,qBAAqB,EAAE,qBAAqB,GAC5C,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,0CAA0C,GAAG,CAAC,MAAuB,EAAoC,EAAE;IAC/G,sDAAsD;IACtD,OAAO,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC;IAChD,OAAO;QACL,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,EAAE;QACjB,gBAAgB,EAAE,EAAE;QACpB,wBAAwB,EAAE,EAAE;KAC7B,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { _pxToRem } from '@internal/acs-ui-common';\nimport React from 'react';\nimport { ComponentLocale, useLocale } from '../localization';\nimport { UnsupportedEnvironment } from './UnsupportedEnvironment';\n\n/**\n * Strings for UnsupportedBrowser component\n *\n * @beta\n */\nexport interface UnsupportedBrowserVersionStrings {\n /** String for the primary text */\n primaryText: string;\n /** String for the secondary text */\n secondaryText: string;\n /** String to display in the text for the help link */\n moreHelpLinkText: string;\n /** String for continue without updating button */\n continueAnywayButtonText?: string;\n}\n\n/**\n * props for {@link UnsupportedBrowserVersion} UI\n *\n * @beta\n */\nexport interface UnsupportedBrowserVersionProps {\n /** Handler to perform an action when the help link is actioned */\n onTroubleshootingClick?: () => void;\n /** String overrides for the component */\n strings?: UnsupportedBrowserVersionStrings;\n /** Handler to allow user to continue into the call */\n onContinueAnywayClick?: () => void;\n}\n\n/**\n * UI to display to the user that the browser version they are using is out of date\n * and not supported by Azure Communications Calling service.\n *\n * @beta\n */\nexport const UnsupportedBrowserVersion = (props: UnsupportedBrowserVersionProps): JSX.Element => {\n const { onTroubleshootingClick, strings, onContinueAnywayClick } = props;\n const locale = useLocale();\n return (\n <UnsupportedEnvironment\n onTroubleshootingClick={onTroubleshootingClick}\n strings={{ ...unsupportedBrowserVersionStringsTrampoline(locale), ...strings }}\n onContinueAnywayClick={onContinueAnywayClick}\n />\n );\n};\n\nconst unsupportedBrowserVersionStringsTrampoline = (locale: ComponentLocale): UnsupportedBrowserVersionStrings => {\n /* @conditional-compile-remove(unsupported-browser) */\n return locale.strings.UnsupportedBrowserVersion;\n return {\n primaryText: '',\n secondaryText: '',\n moreHelpLinkText: '',\n continueAnywayButtonText: ''\n };\n};\n"]}
@@ -1,12 +1,32 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
+ /* @conditional-compile-remove(unsupported-browser) */
4
+ import { DefaultButton, Icon, Link, Stack, Text } from '@fluentui/react';
3
5
  import React from 'react';
6
+ /* @conditional-compile-remove(unsupported-browser) */
7
+ import { useTheme } from '../theming';
8
+ /* @conditional-compile-remove(unsupported-browser) */
9
+ import { containerStyles, continueAnywayButtonStyles, linkTextStyles, mainTextStyles, secondaryTextStyles, testContainerStyles } from './styles/UnsupportedEnvironment.styles';
10
+ /* @conditional-compile-remove(unsupported-browser) */
11
+ const UnsupportedEnvironmentContainer = (props) => {
12
+ const { onTroubleshootingClick, strings, onContinueAnywayClick } = props;
13
+ const theme = useTheme();
14
+ return (React.createElement(Stack, { styles: containerStyles, tokens: { childrenGap: '2rem' } },
15
+ React.createElement(Icon, { iconName: "UnsupportedEnvironmentWarning", "data-ui-id": "unsupported-environment-icon" }),
16
+ React.createElement(Stack, { styles: testContainerStyles, tokens: { childrenGap: '0.25rem' } },
17
+ React.createElement(Text, { styles: mainTextStyles }, strings === null || strings === void 0 ? void 0 : strings.primaryText),
18
+ React.createElement(Text, { styles: secondaryTextStyles }, strings === null || strings === void 0 ? void 0 : strings.secondaryText)),
19
+ onTroubleshootingClick && (React.createElement(Link, { styles: linkTextStyles, onClick: onTroubleshootingClick, "data-ui-id": "unsupported-environment-link" }, strings === null || strings === void 0 ? void 0 : strings.moreHelpLinkText)),
20
+ onContinueAnywayClick && (React.createElement(DefaultButton, { "data-ui-id": "allowUnsupportedBrowserButton", styles: continueAnywayButtonStyles(theme), onClick: onContinueAnywayClick }, strings === null || strings === void 0 ? void 0 : strings.continueAnywayButtonText))));
21
+ };
4
22
  /**
5
23
  * UI to display to the user that the environment they are using is not supported by calling application.
6
24
  *
7
25
  * @private
8
26
  */
9
27
  export const UnsupportedEnvironment = (props) => {
28
+ /* @conditional-compile-remove(unsupported-browser) */
29
+ return React.createElement(UnsupportedEnvironmentContainer, Object.assign({}, props));
10
30
  return React.createElement(React.Fragment, null);
11
31
  };
12
32
  //# sourceMappingURL=UnsupportedEnvironment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UnsupportedEnvironment.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/components/UnsupportedEnvironment.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAmC1B;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAkC,EAAe,EAAE;IACxF,OAAO,yCAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport React from 'react';\n/**\n * @private\n */\nexport interface UnsupportedEnvironmentStrings {\n /** String for the primary text */\n primaryText: string;\n /** String for the secondary text */\n secondaryText: string;\n /** String to display in the text for the help link */\n moreHelpLinkText: string;\n /** String for continue anyway button */\n continueAnywayButtonText?: string;\n}\n\n/**\n * props for {@link UnsupportedEnvironment} UI\n *\n * @private\n */\nexport interface UnsupportedEnvironmentProps {\n /**\n * Handler to perform a action when the help link is actioned\n */\n onTroubleshootingClick?: () => void;\n /**\n * String overrides for the component\n */\n strings?: UnsupportedEnvironmentStrings;\n /**\n * CallBack for the continue anyay button. Use this as a mechanism to allow users into\n * a call with a unsupported browser version.\n */\n onContinueAnywayClick?: () => void;\n}\n/**\n * UI to display to the user that the environment they are using is not supported by calling application.\n *\n * @private\n */\nexport const UnsupportedEnvironment = (props: UnsupportedEnvironmentProps): JSX.Element => {\n return <></>;\n};"]}
1
+ {"version":3,"file":"UnsupportedEnvironment.js","sourceRoot":"","sources":["../../../../../../react-components/src/components/UnsupportedEnvironment.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,sDAAsD;AACtD,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAGzE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,sDAAsD;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,sDAAsD;AACtD,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,wCAAwC,CAAC;AAqChD,sDAAsD;AACtD,MAAM,+BAA+B,GAAG,CAAC,KAAkC,EAAe,EAAE;IAC1F,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,qBAAqB,EAAE,GAAG,KAAK,CAAC;IACzE,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,OAAO,CACL,oBAAC,KAAK,IAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;QAC7D,oBAAC,IAAI,IAAC,QAAQ,EAAC,+BAA+B,gBAAY,8BAA8B,GAAQ;QAChG,oBAAC,KAAK,IAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE;YACpE,oBAAC,IAAI,IAAC,MAAM,EAAE,cAAc,IAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,CAAQ;YAC3D,oBAAC,IAAI,IAAC,MAAM,EAAE,mBAAmB,IAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAQ,CAC5D;QACP,sBAAsB,IAAI,CACzB,oBAAC,IAAI,IAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB,gBAAa,8BAA8B,IACrG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,CACrB,CACR;QACA,qBAAqB,IAAI,CACxB,oBAAC,aAAa,kBACD,+BAA+B,EAC1C,MAAM,EAAE,0BAA0B,CAAC,KAAK,CAAC,EACzC,OAAO,EAAE,qBAAqB,IAE7B,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,wBAAwB,CACpB,CACjB,CACK,CACT,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAkC,EAAe,EAAE;IACxF,sDAAsD;IACtD,OAAO,oBAAC,+BAA+B,oBAAK,KAAK,EAAI,CAAC;IACtD,OAAO,yCAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* @conditional-compile-remove(unsupported-browser) */\nimport { DefaultButton, Icon, Link, Stack, Text } from '@fluentui/react';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { _pxToRem } from '@internal/acs-ui-common';\nimport React from 'react';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { useTheme } from '../theming';\n/* @conditional-compile-remove(unsupported-browser) */\nimport {\n containerStyles,\n continueAnywayButtonStyles,\n linkTextStyles,\n mainTextStyles,\n secondaryTextStyles,\n testContainerStyles\n} from './styles/UnsupportedEnvironment.styles';\n\n/**\n * @private\n */\nexport interface UnsupportedEnvironmentStrings {\n /** String for the primary text */\n primaryText: string;\n /** String for the secondary text */\n secondaryText: string;\n /** String to display in the text for the help link */\n moreHelpLinkText: string;\n /** String for continue anyway button */\n continueAnywayButtonText?: string;\n}\n\n/**\n * props for {@link UnsupportedEnvironment} UI\n *\n * @private\n */\nexport interface UnsupportedEnvironmentProps {\n /**\n * Handler to perform a action when the help link is actioned\n */\n onTroubleshootingClick?: () => void;\n /**\n * String overrides for the component\n */\n strings?: UnsupportedEnvironmentStrings;\n /**\n * CallBack for the continue anyay button. Use this as a mechanism to allow users into\n * a call with a unsupported browser version.\n */\n onContinueAnywayClick?: () => void;\n}\n\n/* @conditional-compile-remove(unsupported-browser) */\nconst UnsupportedEnvironmentContainer = (props: UnsupportedEnvironmentProps): JSX.Element => {\n const { onTroubleshootingClick, strings, onContinueAnywayClick } = props;\n const theme = useTheme();\n return (\n <Stack styles={containerStyles} tokens={{ childrenGap: '2rem' }}>\n <Icon iconName=\"UnsupportedEnvironmentWarning\" data-ui-id=\"unsupported-environment-icon\"></Icon>\n <Stack styles={testContainerStyles} tokens={{ childrenGap: '0.25rem' }}>\n <Text styles={mainTextStyles}>{strings?.primaryText}</Text>\n <Text styles={secondaryTextStyles}>{strings?.secondaryText}</Text>\n </Stack>\n {onTroubleshootingClick && (\n <Link styles={linkTextStyles} onClick={onTroubleshootingClick} data-ui-id=\"unsupported-environment-link\">\n {strings?.moreHelpLinkText}\n </Link>\n )}\n {onContinueAnywayClick && (\n <DefaultButton\n data-ui-id=\"allowUnsupportedBrowserButton\"\n styles={continueAnywayButtonStyles(theme)}\n onClick={onContinueAnywayClick}\n >\n {strings?.continueAnywayButtonText}\n </DefaultButton>\n )}\n </Stack>\n );\n};\n\n/**\n * UI to display to the user that the environment they are using is not supported by calling application.\n *\n * @private\n */\nexport const UnsupportedEnvironment = (props: UnsupportedEnvironmentProps): JSX.Element => {\n /* @conditional-compile-remove(unsupported-browser) */\n return <UnsupportedEnvironmentContainer {...props} />;\n return <></>;\n};\n"]}
@@ -11,9 +11,11 @@ import { UnsupportedEnvironment } from './UnsupportedEnvironment';
11
11
  export const UnsupportedOperatingSystem = (props) => {
12
12
  const { onTroubleshootingClick, strings } = props;
13
13
  const locale = useLocale();
14
- return React.createElement(UnsupportedEnvironment, { onTroubleshootingClick: onTroubleshootingClick, strings: Object.assign(Object.assign({}, unsupportedOperatingSystemStringsTrampoline(locale)), strings) });
14
+ return (React.createElement(UnsupportedEnvironment, { onTroubleshootingClick: onTroubleshootingClick, strings: Object.assign(Object.assign({}, unsupportedOperatingSystemStringsTrampoline(locale)), strings) }));
15
15
  };
16
16
  const unsupportedOperatingSystemStringsTrampoline = (locale) => {
17
+ /* @conditional-compile-remove(unsupported-browser) */
18
+ return locale.strings.UnsupportedOperatingSystem;
17
19
  return {
18
20
  primaryText: '',
19
21
  secondaryText: '',
@@ -1 +1 @@
1
- {"version":3,"file":"UnsupportedOperatingSystem.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/components/UnsupportedOperatingSystem.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAmB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AA4BlE;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,KAAsC,EAAe,EAAE;IAChG,MAAM,EACJ,sBAAsB,EACtB,OAAO,EACR,GAAG,KAAK,CAAC;IACV,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,oBAAC,sBAAsB,IAAC,sBAAsB,EAAE,sBAAsB,EAAE,OAAO,kCACjF,2CAA2C,CAAC,MAAM,CAAC,GACnD,OAAO,IACP,CAAC;AACR,CAAC,CAAC;AACF,MAAM,2CAA2C,GAAG,CAAC,MAAuB,EAAqC,EAAE;IACjH,OAAO;QACL,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,EAAE;QACjB,gBAAgB,EAAE,EAAE;KACrB,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { _pxToRem } from '@internal/acs-ui-common';\nimport React from 'react';\nimport { ComponentLocale, useLocale } from '../localization';\nimport { UnsupportedEnvironment } from './UnsupportedEnvironment';\n\n/**\n * Strings for UnsupportedBrowser component\n *\n * @beta\n */\nexport interface UnsupportedOperatingSystemStrings {\n /** String for the primary text */\n primaryText: string;\n /** String for the secondary text */\n secondaryText: string;\n /** String to display in the text for the help link */\n moreHelpLinkText: string;\n}\n\n/**\n * Props for {@link UnsupportedOperatingSystem} UI\n *\n * @beta\n */\nexport interface UnsupportedOperatingSystemProps {\n /** Handler to perform a action when the help link is actioned */\n onTroubleshootingClick?: () => void;\n /** String overrides for the component */\n strings?: UnsupportedOperatingSystemStrings;\n}\n\n/**\n * UI to display to the user that the operating system they are using is not supported by Azure Communications Calling service.\n *\n * @beta\n */\nexport const UnsupportedOperatingSystem = (props: UnsupportedOperatingSystemProps): JSX.Element => {\n const {\n onTroubleshootingClick,\n strings\n } = props;\n const locale = useLocale();\n return <UnsupportedEnvironment onTroubleshootingClick={onTroubleshootingClick} strings={{\n ...unsupportedOperatingSystemStringsTrampoline(locale),\n ...strings\n }} />;\n};\nconst unsupportedOperatingSystemStringsTrampoline = (locale: ComponentLocale): UnsupportedOperatingSystemStrings => {\n return {\n primaryText: '',\n secondaryText: '',\n moreHelpLinkText: ''\n };\n};"]}
1
+ {"version":3,"file":"UnsupportedOperatingSystem.js","sourceRoot":"","sources":["../../../../../../react-components/src/components/UnsupportedOperatingSystem.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAmB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AA4BlE;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,KAAsC,EAAe,EAAE;IAChG,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAClD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,CACL,oBAAC,sBAAsB,IACrB,sBAAsB,EAAE,sBAAsB,EAC9C,OAAO,kCAAO,2CAA2C,CAAC,MAAM,CAAC,GAAK,OAAO,IAC7E,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,2CAA2C,GAAG,CAAC,MAAuB,EAAqC,EAAE;IACjH,sDAAsD;IACtD,OAAO,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC;IACjD,OAAO;QACL,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,EAAE;QACjB,gBAAgB,EAAE,EAAE;KACrB,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { _pxToRem } from '@internal/acs-ui-common';\nimport React from 'react';\nimport { ComponentLocale, useLocale } from '../localization';\nimport { UnsupportedEnvironment } from './UnsupportedEnvironment';\n\n/**\n * Strings for UnsupportedBrowser component\n *\n * @beta\n */\nexport interface UnsupportedOperatingSystemStrings {\n /** String for the primary text */\n primaryText: string;\n /** String for the secondary text */\n secondaryText: string;\n /** String to display in the text for the help link */\n moreHelpLinkText: string;\n}\n\n/**\n * Props for {@link UnsupportedOperatingSystem} UI\n *\n * @beta\n */\nexport interface UnsupportedOperatingSystemProps {\n /** Handler to perform a action when the help link is actioned */\n onTroubleshootingClick?: () => void;\n /** String overrides for the component */\n strings?: UnsupportedOperatingSystemStrings;\n}\n\n/**\n * UI to display to the user that the operating system they are using is not supported by Azure Communications Calling service.\n *\n * @beta\n */\nexport const UnsupportedOperatingSystem = (props: UnsupportedOperatingSystemProps): JSX.Element => {\n const { onTroubleshootingClick, strings } = props;\n const locale = useLocale();\n return (\n <UnsupportedEnvironment\n onTroubleshootingClick={onTroubleshootingClick}\n strings={{ ...unsupportedOperatingSystemStringsTrampoline(locale), ...strings }}\n />\n );\n};\n\nconst unsupportedOperatingSystemStringsTrampoline = (locale: ComponentLocale): UnsupportedOperatingSystemStrings => {\n /* @conditional-compile-remove(unsupported-browser) */\n return locale.strings.UnsupportedOperatingSystem;\n return {\n primaryText: '',\n secondaryText: '',\n moreHelpLinkText: ''\n };\n};\n"]}