@azure/communication-react 1.24.0-beta.1 → 1.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (583) hide show
  1. package/dist/communication-react.d.ts +66 -2240
  2. package/dist/dist-cjs/communication-react/index.js +38012 -178
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/common.d.ts +0 -13
  5. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  6. package/dist/dist-esm/acs-ui-common/src/constants.d.ts +0 -5
  7. package/dist/dist-esm/acs-ui-common/src/constants.js +0 -5
  8. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/index.d.ts +0 -4
  10. package/dist/dist-esm/acs-ui-common/src/index.js +0 -3
  11. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  14. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +0 -14
  15. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +8 -18
  16. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  17. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.d.ts +0 -8
  18. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +2 -64
  19. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
  20. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +0 -28
  21. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +1 -65
  22. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  23. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +1 -5
  24. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  25. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +1 -30
  26. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  27. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +6 -14
  28. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
  29. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +0 -1
  30. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +1 -3
  31. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  32. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.d.ts +0 -5
  33. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +3 -8
  34. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  35. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js +43 -32
  36. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js.map +1 -1
  37. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +0 -4
  38. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  39. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +6 -160
  40. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  41. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +6 -26
  42. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +23 -251
  43. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  44. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +0 -6
  45. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +6 -31
  46. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  47. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js +4 -4
  48. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -1
  49. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +0 -12
  50. package/dist/dist-esm/calling-stateful-client/src/Converter.js +0 -32
  51. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  52. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.d.ts +0 -9
  53. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +1 -45
  54. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  55. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.d.ts +0 -1
  56. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +1 -7
  57. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  58. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +2 -3
  59. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +0 -7
  60. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  61. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +0 -8
  62. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  63. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +0 -17
  64. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  65. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +0 -3
  66. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  67. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +2 -6
  68. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +2 -35
  69. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  70. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.d.ts +1 -2
  71. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js +0 -3
  72. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  73. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +2 -25
  74. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  75. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -3
  76. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  77. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -15
  78. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  79. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +1 -2
  80. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  81. package/dist/dist-esm/chat-stateful-client/src/index.d.ts +0 -1
  82. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  83. package/dist/dist-esm/communication-react/src/index.d.ts +0 -35
  84. package/dist/dist-esm/communication-react/src/index.js +0 -9
  85. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  86. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.d.ts +0 -2
  87. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js +0 -1
  88. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js.map +1 -1
  89. package/dist/dist-esm/react-components/src/components/CaptionsBanner.d.ts +0 -101
  90. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +6 -83
  91. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  92. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +1 -13
  93. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +3 -9
  94. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  95. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +0 -11
  96. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +2 -32
  97. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  98. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +1 -8
  99. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +5 -9
  100. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  101. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.d.ts +1 -2
  102. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +4 -4
  103. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
  104. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.d.ts +1 -4
  105. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +6 -31
  106. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
  107. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +1 -15
  108. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +0 -9
  109. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
  110. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +2 -23
  111. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +6 -17
  112. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  113. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +1 -8
  114. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +6 -10
  115. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  116. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +5 -5
  117. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  118. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +0 -2
  119. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
  120. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +0 -2
  121. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +0 -15
  122. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  123. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.d.ts +0 -2
  124. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js +1 -5
  125. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js.map +1 -1
  126. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +5 -81
  127. package/dist/dist-esm/react-components/src/components/MessageThread.js +3 -13
  128. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  129. package/dist/dist-esm/react-components/src/components/NotificationStack.d.ts +5 -3
  130. package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
  131. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +7 -4
  132. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  133. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +0 -15
  134. package/dist/dist-esm/react-components/src/components/ParticipantList.js +3 -12
  135. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  136. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js +2 -2
  137. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js.map +1 -1
  138. package/dist/dist-esm/react-components/src/components/ReactionButton.js +2 -2
  139. package/dist/dist-esm/react-components/src/components/ReactionButton.js.map +1 -1
  140. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +1 -47
  141. package/dist/dist-esm/react-components/src/components/SendBox.js +6 -57
  142. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  143. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +0 -1
  144. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  145. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +0 -1
  146. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  147. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +0 -19
  148. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  149. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +0 -1
  150. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  151. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.d.ts +0 -5
  152. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  153. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +1 -34
  154. package/dist/dist-esm/react-components/src/components/VideoGallery.js +2 -13
  155. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  156. package/dist/dist-esm/react-components/src/components/index.d.ts +0 -24
  157. package/dist/dist-esm/react-components/src/components/index.js +0 -11
  158. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  159. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.d.ts +1 -1
  160. package/dist/dist-esm/react-components/src/components/styles/AttachmentCardGroup.styles.d.ts +1 -1
  161. package/dist/dist-esm/react-components/src/components/styles/Captions.style.d.ts +0 -21
  162. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js +0 -53
  163. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  164. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +3 -3
  165. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +0 -8
  166. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  167. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +1 -37
  168. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +3 -30
  169. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  170. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +2 -4
  171. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +2 -9
  172. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  173. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +1 -38
  174. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +4 -131
  175. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  176. package/dist/dist-esm/react-components/src/components/utils/common.js +0 -2
  177. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  178. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +1 -2
  179. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  180. package/dist/dist-esm/react-components/src/components/utils.js +2 -3
  181. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  182. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +0 -4
  183. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +1 -3
  184. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  185. package/dist/dist-esm/react-components/src/index.d.ts +0 -2
  186. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  187. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +0 -63
  188. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  189. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +5 -0
  190. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +5 -0
  191. package/dist/dist-esm/react-components/src/localization/locales/cy-GB/strings.json +5 -0
  192. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +5 -0
  193. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +5 -0
  194. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +5 -0
  195. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +5 -0
  196. package/dist/dist-esm/react-components/src/localization/locales/es-MX/strings.json +5 -0
  197. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +5 -0
  198. package/dist/dist-esm/react-components/src/localization/locales/fr-CA/strings.json +5 -0
  199. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +5 -0
  200. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +5 -0
  201. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +5 -0
  202. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +5 -0
  203. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +5 -0
  204. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +5 -0
  205. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +5 -0
  206. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +5 -0
  207. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +5 -0
  208. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +5 -0
  209. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +5 -0
  210. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +5 -0
  211. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +5 -0
  212. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +5 -0
  213. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +0 -1
  214. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  215. package/dist/dist-esm/react-components/src/theming/icons.d.ts +1 -29
  216. package/dist/dist-esm/react-components/src/theming/icons.js +2 -91
  217. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  218. package/dist/dist-esm/react-components/src/theming/themes.d.ts +0 -6
  219. package/dist/dist-esm/react-components/src/theming/themes.js +0 -9
  220. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  221. package/dist/dist-esm/react-components/src/types/Attachment.d.ts +0 -13
  222. package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
  223. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -20
  224. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  225. package/dist/dist-esm/react-components/src/types/index.d.ts +0 -1
  226. package/dist/dist-esm/react-components/src/types/index.js +0 -1
  227. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  228. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +0 -72
  229. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +11 -21
  230. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  231. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +0 -64
  232. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  233. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +5 -48
  234. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +29 -89
  235. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  236. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +1 -72
  237. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -1
  238. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  239. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +0 -3
  240. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  241. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js +6 -2
  242. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js.map +1 -1
  243. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +3 -7
  244. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  245. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +0 -2
  246. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +0 -19
  247. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  248. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +2 -10
  249. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  250. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +0 -2
  251. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +0 -19
  252. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  253. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +0 -1
  254. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +3 -5
  255. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  256. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +9 -0
  257. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  258. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +1 -19
  259. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  260. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +0 -4
  261. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  262. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +26 -2
  263. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  264. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +0 -7
  265. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +24 -46
  266. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  267. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +2 -2
  268. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  269. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +2 -2
  270. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  271. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +2 -2
  272. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  273. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +0 -24
  274. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +0 -24
  275. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  276. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +3 -3
  277. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  278. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.d.ts +2 -2
  279. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +12 -11
  280. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  281. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +1 -12
  282. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +4 -60
  283. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  284. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +0 -65
  285. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +7 -13
  286. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  287. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +3 -20
  288. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +23 -62
  289. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  290. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +3 -73
  291. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  292. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +0 -7
  293. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +0 -12
  294. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  295. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +4 -10
  296. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +2 -14
  297. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  298. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +0 -8
  299. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  300. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +0 -27
  301. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +1 -2
  302. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  303. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts +0 -2
  304. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +11 -189
  305. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  306. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +0 -20
  307. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  308. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -6
  309. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +0 -36
  310. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  311. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -12
  312. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  313. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +2 -13
  314. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  315. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +0 -2
  316. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  317. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +0 -4
  318. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +0 -4
  319. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -1
  320. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsBanner.d.ts +0 -1
  321. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsBanner.js +3 -13
  322. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsBanner.js.map +1 -1
  323. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +0 -2
  324. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +6 -13
  325. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  326. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.d.ts +0 -3
  327. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +2 -85
  328. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  329. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js +0 -1
  330. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -1
  331. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.d.ts +0 -3
  332. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +9 -70
  333. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  334. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.d.ts +0 -3
  335. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  336. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +1 -2
  337. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  338. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +1 -0
  339. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  340. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +2 -41
  341. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +0 -21
  342. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
  343. package/dist/dist-esm/react-composites/src/composites/common/constants.d.ts +0 -5
  344. package/dist/dist-esm/react-composites/src/composites/common/constants.js +0 -5
  345. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  346. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +2 -33
  347. package/dist/dist-esm/react-composites/src/composites/common/icons.js +1 -5
  348. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  349. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +1 -1
  350. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +1 -1
  351. package/dist/dist-esm/react-composites/src/composites/localization/locales/cy-GB/strings.json +1 -1
  352. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +1 -1
  353. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +1 -1
  354. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +1 -1
  355. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +1 -1
  356. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-MX/strings.json +1 -1
  357. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +1 -1
  358. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-CA/strings.json +1 -1
  359. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +1 -1
  360. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +1 -1
  361. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +1 -1
  362. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +1 -1
  363. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +1 -1
  364. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +1 -1
  365. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +1 -1
  366. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +1 -1
  367. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +1 -1
  368. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +1 -1
  369. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +1 -1
  370. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +1 -1
  371. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +1 -1
  372. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +1 -1
  373. package/package.json +3 -3
  374. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-ClQ2m7aI.js +0 -206
  375. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-ClQ2m7aI.js.map +0 -1
  376. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-Bhftq9li.js +0 -50
  377. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-Bhftq9li.js.map +0 -1
  378. package/dist/dist-cjs/communication-react/index-CcIzeubJ.js +0 -45677
  379. package/dist/dist-cjs/communication-react/index-CcIzeubJ.js.map +0 -1
  380. package/dist/dist-esm/acs-ui-common/src/dataConversion.d.ts +0 -6
  381. package/dist/dist-esm/acs-ui-common/src/dataConversion.js +0 -20
  382. package/dist/dist-esm/acs-ui-common/src/dataConversion.js.map +0 -1
  383. package/dist/dist-esm/acs-ui-common/src/removeImageTags.d.ts +0 -7
  384. package/dist/dist-esm/acs-ui-common/src/removeImageTags.js +0 -18
  385. package/dist/dist-esm/acs-ui-common/src/removeImageTags.js.map +0 -1
  386. package/dist/dist-esm/calling-stateful-client/src/CallFeatureStreamUtils.d.ts +0 -14
  387. package/dist/dist-esm/calling-stateful-client/src/CallFeatureStreamUtils.js +0 -204
  388. package/dist/dist-esm/calling-stateful-client/src/CallFeatureStreamUtils.js.map +0 -1
  389. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.d.ts +0 -17
  390. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +0 -33
  391. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +0 -1
  392. package/dist/dist-esm/calling-stateful-client/src/RealTimeTextSubscriber.d.ts +0 -16
  393. package/dist/dist-esm/calling-stateful-client/src/RealTimeTextSubscriber.js +0 -22
  394. package/dist/dist-esm/calling-stateful-client/src/RealTimeTextSubscriber.js.map +0 -1
  395. package/dist/dist-esm/calling-stateful-client/src/TogetherModeSubscriber.d.ts +0 -24
  396. package/dist/dist-esm/calling-stateful-client/src/TogetherModeSubscriber.js +0 -60
  397. package/dist/dist-esm/calling-stateful-client/src/TogetherModeSubscriber.js.map +0 -1
  398. package/dist/dist-esm/calling-stateful-client/src/TogetherModeVideoStreamSubscriber.d.ts +0 -18
  399. package/dist/dist-esm/calling-stateful-client/src/TogetherModeVideoStreamSubscriber.js +0 -31
  400. package/dist/dist-esm/calling-stateful-client/src/TogetherModeVideoStreamSubscriber.js.map +0 -1
  401. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.d.ts +0 -6
  402. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js +0 -20
  403. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js.map +0 -1
  404. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +0 -10
  405. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +0 -15
  406. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +0 -1
  407. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +0 -24
  408. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +0 -196
  409. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +0 -1
  410. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +0 -69
  411. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +0 -36
  412. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +0 -1
  413. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +0 -75
  414. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +0 -67
  415. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +0 -1
  416. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +0 -105
  417. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +0 -51
  418. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +0 -1
  419. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +0 -86
  420. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +0 -40
  421. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +0 -1
  422. package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +0 -121
  423. package/dist/dist-esm/react-components/src/components/MentionPopover.js +0 -119
  424. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +0 -1
  425. package/dist/dist-esm/react-components/src/components/RTTDisclosureBanner.d.ts +0 -28
  426. package/dist/dist-esm/react-components/src/components/RTTDisclosureBanner.js +0 -26
  427. package/dist/dist-esm/react-components/src/components/RTTDisclosureBanner.js.map +0 -1
  428. package/dist/dist-esm/react-components/src/components/RealTimeText.d.ts +0 -58
  429. package/dist/dist-esm/react-components/src/components/RealTimeText.js +0 -38
  430. package/dist/dist-esm/react-components/src/components/RealTimeText.js.map +0 -1
  431. package/dist/dist-esm/react-components/src/components/RealTimeTextModal.d.ts +0 -42
  432. package/dist/dist-esm/react-components/src/components/RealTimeTextModal.js +0 -53
  433. package/dist/dist-esm/react-components/src/components/RealTimeTextModal.js.map +0 -1
  434. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.d.ts +0 -9
  435. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js +0 -29
  436. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js.map +0 -1
  437. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.d.ts +0 -30
  438. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +0 -98
  439. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +0 -1
  440. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.d.ts +0 -19
  441. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js +0 -43
  442. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js.map +0 -1
  443. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.d.ts +0 -15
  444. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js +0 -42
  445. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js.map +0 -1
  446. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.d.ts +0 -24
  447. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js +0 -64
  448. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js.map +0 -1
  449. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.d.ts +0 -20
  450. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js +0 -45
  451. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js.map +0 -1
  452. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.d.ts +0 -14
  453. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js +0 -42
  454. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js.map +0 -1
  455. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.d.ts +0 -30
  456. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js +0 -99
  457. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js.map +0 -1
  458. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.d.ts +0 -59
  459. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +0 -336
  460. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +0 -1
  461. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +0 -37
  462. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +0 -78
  463. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +0 -1
  464. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +0 -215
  465. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +0 -173
  466. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +0 -1
  467. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.d.ts +0 -16
  468. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +0 -75
  469. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +0 -1
  470. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.d.ts +0 -19
  471. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js +0 -221
  472. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js.map +0 -1
  473. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.d.ts +0 -7
  474. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js +0 -51
  475. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js.map +0 -1
  476. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.d.ts +0 -15
  477. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js +0 -64
  478. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js.map +0 -1
  479. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.d.ts +0 -6
  480. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js +0 -13
  481. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js.map +0 -1
  482. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.d.ts +0 -56
  483. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +0 -75
  484. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +0 -1
  485. package/dist/dist-esm/react-components/src/components/SendBoxErrors.d.ts +0 -14
  486. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +0 -18
  487. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +0 -1
  488. package/dist/dist-esm/react-components/src/components/StartRealTimeTextButton.d.ts +0 -48
  489. package/dist/dist-esm/react-components/src/components/StartRealTimeTextButton.js +0 -25
  490. package/dist/dist-esm/react-components/src/components/StartRealTimeTextButton.js.map +0 -1
  491. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +0 -24
  492. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +0 -550
  493. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +0 -1
  494. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +0 -152
  495. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +0 -819
  496. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +0 -1
  497. package/dist/dist-esm/react-components/src/components/TogetherModeOverlay.d.ts +0 -15
  498. package/dist/dist-esm/react-components/src/components/TogetherModeOverlay.js +0 -91
  499. package/dist/dist-esm/react-components/src/components/TogetherModeOverlay.js.map +0 -1
  500. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeLayout.d.ts +0 -10
  501. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeLayout.js +0 -14
  502. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeLayout.js.map +0 -1
  503. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeStream.d.ts +0 -23
  504. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeStream.js +0 -47
  505. package/dist/dist-esm/react-components/src/components/VideoGallery/TogetherModeStream.js.map +0 -1
  506. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +0 -58
  507. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +0 -144
  508. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +0 -1
  509. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +0 -26
  510. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +0 -69
  511. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +0 -1
  512. package/dist/dist-esm/react-components/src/components/styles/RTTDisclosureBanner.styles.d.ts +0 -10
  513. package/dist/dist-esm/react-components/src/components/styles/RTTDisclosureBanner.styles.js +0 -23
  514. package/dist/dist-esm/react-components/src/components/styles/RTTDisclosureBanner.styles.js.map +0 -1
  515. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.d.ts +0 -82
  516. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +0 -320
  517. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +0 -1
  518. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.d.ts +0 -21
  519. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js +0 -38
  520. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js.map +0 -1
  521. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +0 -38
  522. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +0 -99
  523. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +0 -1
  524. package/dist/dist-esm/react-components/src/components/styles/Stack.style.d.ts +0 -5
  525. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js +0 -32
  526. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +0 -1
  527. package/dist/dist-esm/react-components/src/components/styles/TogetherMode.styles.d.ts +0 -98
  528. package/dist/dist-esm/react-components/src/components/styles/TogetherMode.styles.js +0 -181
  529. package/dist/dist-esm/react-components/src/components/styles/TogetherMode.styles.js.map +0 -1
  530. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +0 -26
  531. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +0 -69
  532. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +0 -1
  533. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.d.ts +0 -73
  534. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +0 -178
  535. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +0 -1
  536. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.d.ts +0 -33
  537. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js +0 -119
  538. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js.map +0 -1
  539. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +0 -7
  540. package/dist/dist-esm/react-components/src/components/utils/merge.js +0 -16
  541. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +0 -1
  542. package/dist/dist-esm/react-components/src/components/utils/sortCaptionsAndRealTimeTexts.d.ts +0 -8
  543. package/dist/dist-esm/react-components/src/components/utils/sortCaptionsAndRealTimeTexts.js +0 -17
  544. package/dist/dist-esm/react-components/src/components/utils/sortCaptionsAndRealTimeTexts.js.map +0 -1
  545. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +0 -6
  546. package/dist/dist-esm/react-components/src/theming/icons.styles.js +0 -25
  547. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +0 -1
  548. package/dist/dist-esm/react-components/src/types/TogetherModeTypes.d.ts +0 -38
  549. package/dist/dist-esm/react-components/src/types/TogetherModeTypes.js +0 -2
  550. package/dist/dist-esm/react-components/src/types/TogetherModeTypes.js.map +0 -1
  551. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +0 -49
  552. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +0 -203
  553. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +0 -1
  554. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +0 -15
  555. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +0 -41
  556. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +0 -1
  557. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.d.ts +0 -15
  558. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js +0 -23
  559. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js.map +0 -1
  560. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +0 -18
  561. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +0 -18
  562. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +0 -1
  563. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.d.ts +0 -49
  564. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js +0 -44
  565. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js.map +0 -1
  566. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.d.ts +0 -39
  567. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js +0 -265
  568. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js.map +0 -1
  569. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.d.ts +0 -80
  570. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js +0 -36
  571. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +0 -1
  572. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.d.ts +0 -38
  573. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +0 -67
  574. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +0 -1
  575. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +0 -5
  576. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js +0 -5
  577. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +0 -1
  578. package/dist/dist-esm/react-composites/src/composites/common/CallingRealTimeTextModal.d.ts +0 -12
  579. package/dist/dist-esm/react-composites/src/composites/common/CallingRealTimeTextModal.js +0 -19
  580. package/dist/dist-esm/react-composites/src/composites/common/CallingRealTimeTextModal.js.map +0 -1
  581. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.d.ts +0 -10
  582. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js +0 -16
  583. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AzureCommunicationCallWithChatAdapter.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* eslint-disable @typescript-eslint/no-unused-vars */ // REMOVE ONCE THIS FILE IS IMPLEMENTED\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */ // REMOVE ONCE THIS FILE IS IMPLEMENTED\n\nimport { AudioDeviceInfo, Call, CallAgent, GroupCallLocator, PermissionConstraints, PropertyChangedEvent, TeamsMeetingLinkLocator, StartCallOptions, VideoDeviceInfo } from '@azure/communication-calling';\nimport { TeamsMeetingIdLocator } from '@azure/communication-calling';\nimport { Reaction } from '@azure/communication-calling';\nimport { AddPhoneNumberOptions, DeviceAccess } from '@azure/communication-calling';\nimport type { BreakoutRoomsEventData, BreakoutRoomsUpdatedListener, TeamsCall } from '@azure/communication-calling';\nimport { DtmfTone } from '@azure/communication-calling';\nimport { CreateVideoStreamViewResult, VideoStreamOptions } from '@internal/react-components';\nimport { MessageOptions } from '@internal/acs-ui-common';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { TogetherModeStreamViewResult, TogetherModeStreamOptions } from '@internal/react-components';\nimport { ParticipantsJoinedListener, ParticipantsLeftListener, IsMutedChangedListener, CallIdChangedListener, IsLocalScreenSharingActiveChangedListener, DisplayNameChangedListener, IsSpeakingChangedListener, CallAdapter, CallAdapterState, CallEndedListener } from '../../CallComposite';\nimport { MessageReceivedListener, MessageReadListener, ChatAdapter, ChatAdapterState, ParticipantsRemovedListener, ParticipantsAddedListener, MessageEditedListener, MessageDeletedListener } from '../../ChatComposite';\nimport { ResourceDetails } from '../../ChatComposite';\nimport { CallWithChatAdapter, CallWithChatEvent, ChatInitializedListener } from './CallWithChatAdapter';\nimport { callWithChatAdapterStateFromBackingStates, CallWithChatAdapterState, mergeCallAdapterStateIntoCallWithChatAdapterState, mergeChatAdapterStateIntoCallWithChatAdapterState } from '../state/CallWithChatAdapterState';\nimport { _createAzureCommunicationChatAdapterInner, _createLazyAzureCommunicationChatAdapterInner, createAzureCommunicationChatAdapterFromClient } from '../../ChatComposite/adapter/AzureCommunicationChatAdapter';\nimport { EventEmitter } from 'events';\nimport { CommunicationTokenCredential, CommunicationUserIdentifier } from '@azure/communication-common';\nimport { CommunicationIdentifier, isCommunicationUserIdentifier, PhoneNumberIdentifier } from '@azure/communication-common';\nimport { AdapterError } from '../../common/adapters';\nimport { CallParticipantsLocator } from '../../CallComposite/adapter/AzureCommunicationCallAdapter';\nimport { _createAzureCommunicationCallAdapterInner } from '../../CallComposite/adapter/AzureCommunicationCallAdapter';\nimport { CallAdapterLocator, createAzureCommunicationCallAdapterFromClient } from '../../CallComposite/adapter/AzureCommunicationCallAdapter';\nimport { StatefulCallClient } from '@internal/calling-stateful-client';\nimport { StatefulChatClient } from '@internal/chat-stateful-client';\nimport { ChatThreadClient } from '@azure/communication-chat';\nimport { UploadChatImageResult } from '@internal/acs-ui-common';\nimport { useEffect, useRef, useState } from 'react';\nimport { _toCommunicationIdentifier, _TelemetryImplementationHint } from '@internal/acs-ui-common';\nimport { JoinCallOptions, StartCallIdentifier, StartCaptionsAdapterOptions, StopCaptionsAdapterOptions } from '../../CallComposite/adapter/CallAdapter';\nimport { AzureCommunicationCallAdapterOptions } from '../../CallComposite/adapter/AzureCommunicationCallAdapter';\nimport { IsCaptionsActiveChangedListener, CaptionsReceivedListener, IsCaptionLanguageChangedListener, IsSpokenLanguageChangedListener } from '../../CallComposite/adapter/CallAdapter';\nimport { RealTimeTextReceivedListener } from '../../CallComposite/adapter/CallAdapter';\nimport { CapabilitiesChangedListener } from '../../CallComposite/adapter/CallAdapter';\nimport { SpotlightChangedListener } from '../../CallComposite/adapter/CallAdapter';\nimport { VideoBackgroundImage, VideoBackgroundEffect } from '../../CallComposite';\nimport { CallSurvey, CallSurveyResponse } from '@azure/communication-calling';\nimport { busyWait } from '../../common/utils';\ntype CallWithChatAdapterStateChangedHandler = (newState: CallWithChatAdapterState) => void;\n\n/** Context of Call with Chat, which is a centralized context for all state updates */\nclass CallWithChatContext {\n private emitter = new EventEmitter();\n private state: CallWithChatAdapterState;\n constructor(clientState: CallWithChatAdapterState, maxListeners = 50) {\n this.state = clientState;\n this.emitter.setMaxListeners(maxListeners);\n }\n public onStateChange(handler: CallWithChatAdapterStateChangedHandler): void {\n this.emitter.on('stateChanged', handler);\n }\n public offStateChange(handler: CallWithChatAdapterStateChangedHandler): void {\n this.emitter.off('stateChanged', handler);\n }\n public setState(state: CallWithChatAdapterState): void {\n this.state = state;\n this.emitter.emit('stateChanged', this.state);\n }\n public getState(): CallWithChatAdapterState {\n return this.state;\n }\n public updateClientState(clientState: CallWithChatAdapterState): void {\n this.setState(clientState);\n }\n public updateClientStateWithChatState(chatAdapterState: ChatAdapterState): void {\n this.updateClientState(mergeChatAdapterStateIntoCallWithChatAdapterState(this.state, chatAdapterState));\n }\n public unsetChatState(): void {\n this.updateClientState({\n ...this.state,\n chat: undefined\n });\n }\n public updateClientStateWithCallState(callAdapterState: CallAdapterState): void {\n this.updateClientState(mergeCallAdapterStateIntoCallWithChatAdapterState(this.state, callAdapterState));\n }\n}\n\n/**\n * CallWithChat adapter backed by Azure Communication Services.\n * Created for easy use with the {@link CallWithChatComposite}.\n */\nexport class AzureCommunicationCallWithChatAdapter implements CallWithChatAdapter {\n private callAdapter: CallAdapter;\n private chatAdapter: ChatAdapter | undefined;\n private context: CallWithChatContext;\n private emitter: EventEmitter = new EventEmitter();\n private onChatStateChange: (newChatAdapterState: ChatAdapterState) => void;\n private onCallStateChange: (newChatAdapterState: CallAdapterState) => void;\n private isAdapterDisposed: boolean = false;\n private createChatAdapterCallback: ((threadId: string) => Promise<ChatAdapter>) | undefined;\n private originCallChatAdapter: ChatAdapter | undefined;\n private breakoutRoomChatAdapter: ChatAdapter | undefined;\n constructor(callAdapter: CallAdapter, chatAdapter?: ChatAdapter) {\n this.bindPublicMethods();\n this.callAdapter = callAdapter;\n this.context = new CallWithChatContext(callWithChatAdapterStateFromBackingStates(callAdapter));\n const onChatStateChange = (newChatAdapterState: ChatAdapterState): void => {\n this.context.updateClientStateWithChatState(newChatAdapterState);\n };\n this.onChatStateChange = onChatStateChange;\n if (chatAdapter) {\n this.updateChatAdapter(chatAdapter);\n this.originCallChatAdapter = chatAdapter;\n }\n const onCallStateChange = (newCallAdapterState: CallAdapterState): void => {\n this.context.updateClientStateWithCallState(newCallAdapterState);\n };\n this.callAdapter.onStateChange(onCallStateChange);\n this.callAdapter.on('breakoutRoomsUpdated', async (eventData: BreakoutRoomsEventData) => {\n if (eventData.type === 'join') {\n await this.breakoutRoomJoined(eventData.data);\n } else if (eventData.type === 'assignedBreakoutRooms') {\n if (!eventData.data || eventData.data.state === 'closed') {\n await this.returnFromBreakoutRoom();\n }\n }\n });\n this.callAdapter.on('callEnded', () => {\n const originCallId = this.context.getState().call?.breakoutRooms?.breakoutRoomOriginCallId;\n\n // If the call ended is a breakout room call, return to the origin call chat adapter\n if (originCallId && this.originCallChatAdapter) {\n this.breakoutRoomChatAdapter?.dispose();\n this.updateChatAdapter(this.originCallChatAdapter);\n }\n });\n this.onCallStateChange = onCallStateChange;\n }\n private async breakoutRoomJoined(call: Call | TeamsCall): Promise<void> {\n const targetThreadId = call.info.threadId;\n\n // If the chat adapter is not on the target thread then we need to switch to the breakout room chat adapter\n if (targetThreadId && this.chatAdapter && this.chatAdapter.getState().thread.threadId !== targetThreadId) {\n // Unsubscribe from chat adapter state changes\n this.chatAdapter.offStateChange(this.onChatStateChange);\n // Set chat state to undefined to prevent showing chat thread of origin call\n this.context.unsetChatState();\n\n // Check if the breakout room chat adapter has been initialized\n this.breakoutRoomChatAdapter = await this.setBreakoutRoomChatAdapterToThread(targetThreadId);\n\n // Wait for the user to be added to the thread of chat adapter before updating the current chat adapter\n // to avoid chat errors of not having access to the chat thread. This delayed access to the chat thread\n // is also seen in Teams\n // Check up to 20 times every 500ms and then continue.\n await busyWait(() => {\n // If the call adapter's call id has been changed, then stop waiting and don't update the chat adapter\n if (this.context.getState().call?.id !== call.id) {\n return true;\n }\n const userAddedToThread = !!this.breakoutRoomChatAdapter?.getState().thread.participants[toFlatCommunicationIdentifier(this.context.getState().userId)];\n return userAddedToThread;\n }, 20);\n\n // If the call adapter's call has been changed while for waiting for breakout room chat adapter to be ready\n // then don't update the chat adapter\n if (this.context.getState().call?.id !== call.id) {\n return;\n }\n this.updateChatAdapter(this.breakoutRoomChatAdapter);\n }\n }\n private async setBreakoutRoomChatAdapterToThread(targetThreadId: string): Promise<ChatAdapter> {\n if (this.breakoutRoomChatAdapter) {\n // If the breakout room chat adapter is not set on the target thread then unsubscribe, dispose, and\n // reinitialize the chat adapter for the target thread\n if (this.breakoutRoomChatAdapter.getState().thread.threadId !== targetThreadId) {\n this.breakoutRoomChatAdapter.offStateChange(this.onChatStateChange);\n this.breakoutRoomChatAdapter.dispose();\n const newBreakoutRoomChatAdapter = await this.createNewChatAdapterForThread(targetThreadId);\n return newBreakoutRoomChatAdapter;\n } else {\n return this.breakoutRoomChatAdapter;\n }\n } else {\n // Initiliaze the breakout room chat adapter for the target thread\n const newBreakoutRoomChatAdapter = await this.createNewChatAdapterForThread(targetThreadId);\n return newBreakoutRoomChatAdapter;\n }\n }\n public setChatAdapterPromise(chatAdapter: Promise<ChatAdapter>): void {\n chatAdapter.then(adapter => {\n if (!this.isAdapterDisposed) {\n this.updateChatAdapter(adapter);\n this.originCallChatAdapter = adapter;\n }\n });\n }\n public setCreateChatAdapterCallback(chatThreadCallBack: (threadId: string) => Promise<ChatAdapter>): void {\n this.createChatAdapterCallback = chatThreadCallBack;\n }\n public createNewChatAdapterForThread(threadId: string): Promise<ChatAdapter> {\n if (this.createChatAdapterCallback) {\n return this.createChatAdapterCallback(threadId);\n }\n throw new Error('Unable to create chat adapter for thread because createChatAdapterCallback is not set');\n }\n private updateChatAdapter(chatAdapter: ChatAdapter): void {\n this.chatAdapter?.offStateChange(this.onChatStateChange);\n this.chatAdapter = chatAdapter;\n this.chatAdapter.onStateChange(this.onChatStateChange);\n this.context.updateClientStateWithChatState(chatAdapter.getState());\n this.emitter.emit('chatInitialized', this.chatAdapter);\n }\n private bindPublicMethods(): void {\n this.joinCall.bind(this);\n this.leaveCall.bind(this);\n this.startCall.bind(this);\n this.onStateChange.bind(this);\n this.offStateChange.bind(this);\n this.getState.bind(this);\n this.dispose.bind(this);\n this.setCamera.bind(this);\n this.setMicrophone.bind(this);\n this.setSpeaker.bind(this);\n this.askDevicePermission.bind(this);\n this.queryCameras.bind(this);\n this.queryMicrophones.bind(this);\n this.querySpeakers.bind(this);\n this.startCamera.bind(this);\n this.stopCamera.bind(this);\n this.mute.bind(this);\n this.unmute.bind(this);\n this.startScreenShare.bind(this);\n this.stopScreenShare.bind(this);\n this.raiseHand.bind(this);\n this.lowerHand.bind(this);\n this.onReactionClick.bind(this);\n this.removeParticipant.bind(this);\n this.createStreamView.bind(this);\n this.disposeStreamView.bind(this);\n this.disposeScreenShareStreamView.bind(this);\n this.fetchInitialData.bind(this);\n this.sendMessage.bind(this);\n this.uploadImage.bind(this);\n this.deleteImage.bind(this);\n this.sendReadReceipt.bind(this);\n this.sendTypingIndicator.bind(this);\n this.loadPreviousChatMessages.bind(this);\n this.updateMessage.bind(this);\n this.deleteMessage.bind(this);\n this.on.bind(this);\n this.off.bind(this);\n this.downloadResourceToCache = this.downloadResourceToCache.bind(this);\n this.removeResourceFromCache = this.removeResourceFromCache.bind(this);\n this.holdCall.bind(this);\n this.resumeCall.bind(this);\n this.addParticipant.bind(this);\n this.sendDtmfTone.bind(this);\n this.allowUnsupportedBrowserVersion.bind(this);\n this.startCaptions.bind(this);\n this.stopCaptions.bind(this);\n this.setSpokenLanguage.bind(this);\n this.setCaptionLanguage.bind(this);\n this.sendRealTimeText.bind(this);\n this.startVideoBackgroundEffect.bind(this);\n this.stopVideoBackgroundEffects.bind(this);\n this.updateBackgroundPickerImages.bind(this);\n this.startNoiseSuppressionEffect.bind(this);\n this.stopNoiseSuppressionEffect.bind(this);\n }\n\n /** Join existing Call. */\n public joinCall(options?: boolean | JoinCallOptions): Call | undefined {\n if (typeof options === 'boolean') {\n return this.callAdapter.joinCall(options);\n } else {\n return this.callAdapter.joinCall(options);\n }\n }\n /** Leave current Call. */\n public async leaveCall(forEveryone?: boolean): Promise<void> {\n // Only remove self from the GroupCall. Contoso must manage access to Chat.\n await this.callAdapter.leaveCall(forEveryone);\n }\n\n /** Start a new Call. */\n public startCall(participants: string[], options?: StartCallOptions): Call | undefined;\n /** Start a new Call. */\n public startCall(participants: StartCallIdentifier[], options?: StartCallOptions): Call | undefined;\n /** Start a new Call. */\n public startCall(participants: string[] | StartCallIdentifier[], options?: StartCallOptions): Call | undefined {\n if (participants.length === 0) {\n throw new Error('At least one participant is required to start a call');\n }\n if (typeof participants[0] === 'string') {\n return this.callAdapter.startCall(participants as string[], options);\n } else {\n return this.callAdapter.startCall(participants as StartCallIdentifier[], options);\n }\n }\n /**\n * Subscribe to state change events.\n * @param handler - handler to be called when the state changes. This is passed the new state.\n */\n public onStateChange(handler: (state: CallWithChatAdapterState) => void): void {\n this.context.onStateChange(handler);\n }\n /**\n * Unsubscribe to state change events.\n * @param handler - handler to be no longer called when state changes.\n */\n public offStateChange(handler: (state: CallWithChatAdapterState) => void): void {\n this.context.offStateChange(handler);\n }\n /** Get current Call and Chat state. */\n public getState(): CallWithChatAdapterState {\n return this.context.getState();\n }\n /** Dispose of the current CallWithChatAdapter. */\n public dispose(): void {\n this.isAdapterDisposed = true;\n if (this.chatAdapter) {\n this.chatAdapter.offStateChange(this.onChatStateChange);\n this.chatAdapter.dispose();\n }\n this.callAdapter.offStateChange(this.onCallStateChange);\n this.callAdapter.dispose();\n }\n /** Remove a participant from the Call only. */\n public async removeParticipant(userId: string | CommunicationIdentifier): Promise<void> {\n let participant = userId;\n participant = _toCommunicationIdentifier(userId);\n await this.callAdapter.removeParticipant(participant);\n }\n public async setCamera(device: VideoDeviceInfo, options?: VideoStreamOptions): Promise<void> {\n await this.callAdapter.setCamera(device, options);\n }\n /** Set the microphone to be used in the Call. */\n public async setMicrophone(device: AudioDeviceInfo): Promise<void> {\n await this.callAdapter.setMicrophone(device);\n }\n /** Set the speaker to be used in the Call. */\n public async setSpeaker(device: AudioDeviceInfo): Promise<void> {\n await this.callAdapter.setSpeaker(device);\n }\n public async askDevicePermission(constraints: PermissionConstraints): Promise<DeviceAccess> {\n return await this.callAdapter.askDevicePermission(constraints);\n }\n /** Query for available cameras. */\n public async queryCameras(): Promise<VideoDeviceInfo[]> {\n return await this.callAdapter.queryCameras();\n }\n /** Query for available microphones. */\n public async queryMicrophones(): Promise<AudioDeviceInfo[]> {\n return await this.callAdapter.queryMicrophones();\n }\n /** Query for available speakers. */\n public async querySpeakers(): Promise<AudioDeviceInfo[]> {\n return await this.callAdapter.querySpeakers();\n }\n /** Start the camera for the user in the Call. */\n public async startCamera(options?: VideoStreamOptions): Promise<void> {\n await this.callAdapter.startCamera(options);\n }\n /** Stop the camera for the user in the Call. */\n public async stopCamera(): Promise<void> {\n await this.callAdapter.stopCamera();\n }\n /** Mute the user in the Call. */\n public async mute(): Promise<void> {\n await this.callAdapter.mute();\n }\n /** Unmute the user in the Call. */\n public async unmute(): Promise<void> {\n await this.callAdapter.unmute();\n }\n /** Trigger the user to start screen share. */\n public async startScreenShare(): Promise<void> {\n await this.callAdapter.startScreenShare();\n }\n /** Stop the current active screen share. */\n public async stopScreenShare(): Promise<void> {\n await this.callAdapter.stopScreenShare();\n }\n /** Raise hand for local user. */\n public async raiseHand(): Promise<void> {\n await this.callAdapter.raiseHand();\n }\n /** Lower hand for local user. */\n public async lowerHand(): Promise<void> {\n await this.callAdapter.lowerHand();\n }\n /** Reaction clicked by the local user. */\n public async onReactionClick(reaction: Reaction): Promise<void> {\n await this.callAdapter.onReactionClick(reaction);\n }\n /** Create a stream view for a remote participants video feed. */\n public async createStreamView(remoteUserId?: string, options?: VideoStreamOptions): Promise<void | CreateVideoStreamViewResult> {\n return await this.callAdapter.createStreamView(remoteUserId, options);\n }\n /** Dispose of a created stream view of a remote participants video feed. */\n public async disposeStreamView(remoteUserId?: string, options?: VideoStreamOptions): Promise<void> {\n await this.callAdapter.disposeStreamView(remoteUserId, options);\n }\n /** Dispose of a remote screen share */\n public async disposeScreenShareStreamView(remoteUserId: string): Promise<void> {\n await this.callAdapter.disposeScreenShareStreamView(remoteUserId);\n }\n /** Dispose of a remote video stream */\n public async disposeRemoteVideoStreamView(remoteUserId: string): Promise<void> {\n await this.callAdapter.disposeRemoteVideoStreamView(remoteUserId);\n }\n /** Dispose of the local video stream */\n public async disposeLocalVideoStreamView(): Promise<void> {\n await this.callAdapter.disposeLocalVideoStreamView();\n }\n public async createTogetherModeStreamView(options?: TogetherModeStreamOptions): Promise<void | TogetherModeStreamViewResult> {\n return await this.callAdapter.createTogetherModeStreamView(options);\n }\n public async startTogetherMode(): Promise<void> {\n return await this.callAdapter.startTogetherMode();\n }\n public setTogetherModeSceneSize(width: number, height: number): void {\n return this.callAdapter.setTogetherModeSceneSize(width, height);\n }\n public async disposeTogetherModeStreamView(): Promise<void> {\n await this.callAdapter.disposeTogetherModeStreamView();\n }\n /** Fetch initial Call and Chat data such as chat messages. */\n public async fetchInitialData(): Promise<void> {\n return await this.executeWithResolvedChatAdapter(adapter => {\n return adapter.fetchInitialData();\n });\n }\n /** Send a chat message. */\n public async sendMessage(content: string, options?: MessageOptions): Promise<void> {\n return await this.executeWithResolvedChatAdapter(adapter => {\n return adapter.sendMessage(content, options);\n });\n }\n /** Upload a chat image. */\n public async uploadImage(image: Blob, imageFileName: string): Promise<UploadChatImageResult> {\n return await this.executeWithResolvedChatAdapter(adapter => {\n return adapter.uploadImage(image, imageFileName);\n });\n }\n /** Delete a chat image. */\n public async deleteImage(imageId: string): Promise<void> {\n return await this.executeWithResolvedChatAdapter(adapter => {\n return adapter.deleteImage(imageId);\n });\n }\n /** Send a chat read receipt. */\n public async sendReadReceipt(chatMessageId: string): Promise<void> {\n return await this.executeWithResolvedChatAdapter(adapter => {\n return adapter.sendReadReceipt(chatMessageId);\n });\n }\n /** Send an isTyping indicator. */\n public async sendTypingIndicator(): Promise<void> {\n return await this.executeWithResolvedChatAdapter(adapter => {\n return adapter.sendTypingIndicator();\n });\n }\n /** Load previous Chat messages. */\n public async loadPreviousChatMessages(messagesToLoad: number): Promise<boolean> {\n return await this.executeWithResolvedChatAdapter(adapter => {\n return adapter.loadPreviousChatMessages(messagesToLoad);\n });\n }\n /** Update an existing message. */\n public async updateMessage(messageId: string, content: string, options?: Record<string, string> | MessageOptions): Promise<void> {\n return this.executeWithResolvedChatAdapter(adapter => {\n return adapter.updateMessage(messageId, content, options);\n });\n }\n /** Delete an existing message. */\n public async deleteMessage(messageId: string): Promise<void> {\n return await this.executeWithResolvedChatAdapter(adapter => {\n return adapter.deleteMessage(messageId);\n });\n }\n public async downloadResourceToCache(resourceDetails: ResourceDetails): Promise<void> {\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.downloadResourceToCache(resourceDetails);\n });\n }\n public removeResourceFromCache(resourceDetails: ResourceDetails): void {\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.removeResourceFromCache(resourceDetails);\n });\n }\n public async holdCall(): Promise<void> {\n return await this.callAdapter.holdCall();\n }\n public async resumeCall(): Promise<void> {\n return await this.callAdapter.resumeCall();\n }\n public async addParticipant(participant: PhoneNumberIdentifier, options?: AddPhoneNumberOptions): Promise<void>;\n public async addParticipant(participant: CommunicationUserIdentifier): Promise<void>;\n public async addParticipant(participant: PhoneNumberIdentifier | CommunicationUserIdentifier, options?: AddPhoneNumberOptions): Promise<void> {\n if (isCommunicationUserIdentifier(participant)) {\n return await this.callAdapter.addParticipant(participant);\n } else {\n return await this.callAdapter.addParticipant(participant, options);\n }\n }\n public async sendDtmfTone(dtmfTone: DtmfTone): Promise<void> {\n return await this.callAdapter.sendDtmfTone(dtmfTone);\n }\n public allowUnsupportedBrowserVersion(): void {\n return this.callAdapter.allowUnsupportedBrowserVersion();\n }\n public async startCaptions(options?: StartCaptionsAdapterOptions): Promise<void> {\n await this.callAdapter.startCaptions(options);\n }\n public async stopCaptions(options?: StopCaptionsAdapterOptions): Promise<void> {\n await this.callAdapter.stopCaptions(options);\n }\n public async setCaptionLanguage(language: string): Promise<void> {\n await this.callAdapter.setCaptionLanguage(language);\n }\n public async setSpokenLanguage(language: string): Promise<void> {\n await this.callAdapter.setSpokenLanguage(language);\n }\n public async sendRealTimeText(text: string, isFinalized: boolean): Promise<void> {\n await this.callAdapter.sendRealTimeText(text, isFinalized);\n }\n public async startVideoBackgroundEffect(videoBackgroundEffect: VideoBackgroundEffect): Promise<void> {\n await this.callAdapter.startVideoBackgroundEffect(videoBackgroundEffect);\n }\n public async stopVideoBackgroundEffects(): Promise<void> {\n return await this.callAdapter.stopVideoBackgroundEffects();\n }\n public updateBackgroundPickerImages(backgroundImages: VideoBackgroundImage[]): void {\n return this.callAdapter.updateBackgroundPickerImages(backgroundImages);\n }\n public updateSelectedVideoBackgroundEffect(selectedVideoBackground: VideoBackgroundEffect): void {\n return this.callAdapter.updateSelectedVideoBackgroundEffect(selectedVideoBackground);\n }\n public async startNoiseSuppressionEffect(): Promise<void> {\n return await this.callAdapter.startNoiseSuppressionEffect();\n }\n public async stopNoiseSuppressionEffect(): Promise<void> {\n return await this.callAdapter.stopNoiseSuppressionEffect();\n }\n public async submitSurvey(survey: CallSurvey): Promise<CallSurveyResponse | undefined> {\n return this.callAdapter.submitSurvey(survey);\n }\n public async startSpotlight(userIds?: string[]): Promise<void> {\n return this.callAdapter.startSpotlight(userIds);\n }\n public async stopSpotlight(userIds?: string[]): Promise<void> {\n return this.callAdapter.stopSpotlight(userIds);\n }\n public async stopAllSpotlight(): Promise<void> {\n return this.callAdapter.stopAllSpotlight();\n }\n public async muteParticipant(userId: string): Promise<void> {\n return this.callAdapter.muteParticipant(userId);\n }\n public async muteAllRemoteParticipants(): Promise<void> {\n return this.callAdapter.muteAllRemoteParticipants();\n }\n public async returnFromBreakoutRoom(): Promise<void> {\n if (this.originCallChatAdapter && this.context.getState().chat?.threadId !== this.originCallChatAdapter.getState().thread.threadId) {\n this.breakoutRoomChatAdapter?.dispose();\n this.updateChatAdapter(this.originCallChatAdapter);\n }\n const originCallId = this.callAdapter.getState().call?.breakoutRooms?.breakoutRoomOriginCallId;\n if (originCallId) {\n await this.callAdapter.returnFromBreakoutRoom();\n }\n }\n public async forbidAudio(userIds: string[]): Promise<void> {\n return this.callAdapter.forbidAudio(userIds);\n }\n public async permitAudio(userIds: string[]): Promise<void> {\n return this.callAdapter.permitAudio(userIds);\n }\n public async forbidOthersAudio(): Promise<void> {\n return this.callAdapter.forbidOthersAudio();\n }\n public async permitOthersAudio(): Promise<void> {\n return this.callAdapter.permitOthersAudio();\n }\n public async forbidVideo(userIds: string[]): Promise<void> {\n return this.callAdapter.forbidVideo(userIds);\n }\n public async permitVideo(userIds: string[]): Promise<void> {\n return this.callAdapter.permitVideo(userIds);\n }\n public async forbidOthersVideo(): Promise<void> {\n return this.callAdapter.forbidOthersVideo();\n }\n public async permitOthersVideo(): Promise<void> {\n return this.callAdapter.permitOthersVideo();\n }\n on(event: 'callParticipantsJoined', listener: ParticipantsJoinedListener): void;\n on(event: 'callParticipantsLeft', listener: ParticipantsLeftListener): void;\n on(event: 'callEnded', listener: CallEndedListener): void;\n on(event: 'callError', listener: (e: AdapterError) => void): void;\n on(event: 'isMutedChanged', listener: IsMutedChangedListener): void;\n on(event: 'callIdChanged', listener: CallIdChangedListener): void;\n on(event: 'isLocalScreenSharingActiveChanged', listener: IsLocalScreenSharingActiveChangedListener): void;\n on(event: 'displayNameChanged', listener: DisplayNameChangedListener): void;\n on(event: 'isSpeakingChanged', listener: IsSpeakingChangedListener): void;\n on(event: 'messageReceived', listener: MessageReceivedListener): void;\n on(event: 'messageEdited', listener: MessageEditedListener): void;\n on(event: 'messageDeleted', listener: MessageDeletedListener): void;\n on(event: 'messageSent', listener: MessageReceivedListener): void;\n on(event: 'messageRead', listener: MessageReadListener): void;\n on(event: 'chatParticipantsAdded', listener: ParticipantsAddedListener): void;\n on(event: 'chatParticipantsRemoved', listener: ParticipantsRemovedListener): void;\n on(event: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;\n on(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;\n on(event: 'chatError', listener: (e: AdapterError) => void): void;\n on(event: 'captionsReceived', listener: CaptionsReceivedListener): void;\n on(event: 'isCaptionsActiveChanged', listener: IsCaptionsActiveChangedListener): void;\n on(event: 'isCaptionLanguageChanged', listener: IsCaptionLanguageChangedListener): void;\n on(event: 'isSpokenLanguageChanged', listener: IsSpokenLanguageChangedListener): void;\n on(event: 'realTimeTextReceived', listener: RealTimeTextReceivedListener): void;\n on(event: 'capabilitiesChanged', listener: CapabilitiesChangedListener): void;\n on(event: 'spotlightChanged', listener: SpotlightChangedListener): void;\n on(event: 'breakoutRoomsUpdated', listener: BreakoutRoomsUpdatedListener): void;\n on(event: 'chatInitialized', listener: ChatInitializedListener): void;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n on(event: CallWithChatEvent, listener: any): void {\n switch (event) {\n case 'callParticipantsJoined':\n this.callAdapter.on('participantsJoined', listener);\n break;\n case 'callParticipantsLeft':\n this.callAdapter.on('participantsLeft', listener);\n break;\n case 'callEnded':\n this.callAdapter.on('callEnded', listener);\n break;\n case 'isMutedChanged':\n this.callAdapter.on('isMutedChanged', listener);\n break;\n case 'callIdChanged':\n this.callAdapter.on('callIdChanged', listener);\n break;\n case 'isLocalScreenSharingActiveChanged':\n this.callAdapter.on('isLocalScreenSharingActiveChanged', listener);\n break;\n case 'displayNameChanged':\n this.callAdapter.on('displayNameChanged', listener);\n break;\n case 'isSpeakingChanged':\n this.callAdapter.on('isSpeakingChanged', listener);\n break;\n case 'selectedMicrophoneChanged':\n this.callAdapter.on('selectedMicrophoneChanged', listener);\n break;\n case 'selectedSpeakerChanged':\n this.callAdapter.on('selectedSpeakerChanged', listener);\n break;\n case 'captionsReceived':\n this.callAdapter.on('captionsReceived', listener);\n break;\n case 'realTimeTextReceived':\n this.callAdapter.on('realTimeTextReceived', listener);\n break;\n case 'isCaptionsActiveChanged':\n this.callAdapter.on('isCaptionsActiveChanged', listener);\n break;\n case 'isCaptionLanguageChanged':\n this.callAdapter.on('isCaptionLanguageChanged', listener);\n break;\n case 'isSpokenLanguageChanged':\n this.callAdapter.on('isSpokenLanguageChanged', listener);\n break;\n case 'messageReceived':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.on('messageReceived', listener);\n });\n break;\n case 'messageEdited':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.on('messageEdited', listener);\n });\n break;\n case 'messageDeleted':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.on('messageDeleted', listener);\n });\n break;\n case 'messageSent':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.on('messageSent', listener);\n });\n break;\n case 'messageRead':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.on('messageRead', listener);\n });\n break;\n case 'chatParticipantsAdded':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.on('participantsAdded', listener);\n });\n break;\n case 'chatParticipantsRemoved':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.on('participantsRemoved', listener);\n });\n break;\n case 'callError':\n this.callAdapter.on('error', listener);\n break;\n case 'chatError':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.on('error', listener);\n });\n break;\n case 'chatInitialized':\n this.emitter.on(event, listener);\n break;\n case 'capabilitiesChanged':\n this.callAdapter.on('capabilitiesChanged', listener);\n break;\n case 'spotlightChanged':\n this.callAdapter.on('spotlightChanged', listener);\n break;\n case 'breakoutRoomsUpdated':\n this.callAdapter.on('breakoutRoomsUpdated', listener);\n break;\n default:\n throw `Unknown AzureCommunicationCallWithChatAdapter Event: ${event}`;\n }\n }\n off(event: 'callParticipantsJoined', listener: ParticipantsJoinedListener): void;\n off(event: 'callParticipantsLeft', listener: ParticipantsLeftListener): void;\n off(event: 'callEnded', listener: CallEndedListener): void;\n off(event: 'callError', listener: (e: AdapterError) => void): void;\n off(event: 'isMutedChanged', listener: IsMutedChangedListener): void;\n off(event: 'callIdChanged', listener: CallIdChangedListener): void;\n off(event: 'isLocalScreenSharingActiveChanged', listener: IsLocalScreenSharingActiveChangedListener): void;\n off(event: 'displayNameChanged', listener: DisplayNameChangedListener): void;\n off(event: 'isSpeakingChanged', listener: IsSpeakingChangedListener): void;\n off(event: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;\n off(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;\n off(event: 'messageReceived', listener: MessageReceivedListener): void;\n off(event: 'messageEdited', listener: MessageEditedListener): void;\n off(event: 'messageDeleted', listener: MessageDeletedListener): void;\n off(event: 'messageSent', listener: MessageReceivedListener): void;\n off(event: 'messageRead', listener: MessageReadListener): void;\n off(event: 'chatParticipantsAdded', listener: ParticipantsAddedListener): void;\n off(event: 'chatParticipantsRemoved', listener: ParticipantsRemovedListener): void;\n off(event: 'chatError', listener: (e: AdapterError) => void): void;\n off(event: 'captionsReceived', listener: CaptionsReceivedListener): void;\n off(event: 'isCaptionsActiveChanged', listener: IsCaptionsActiveChangedListener): void;\n off(event: 'isCaptionLanguageChanged', listener: IsCaptionLanguageChangedListener): void;\n off(event: 'isSpokenLanguageChanged', listener: IsSpokenLanguageChangedListener): void;\n off(event: 'realTimeTextReceived', listener: RealTimeTextReceivedListener): void;\n off(event: 'capabilitiesChanged', listener: CapabilitiesChangedListener): void;\n off(event: 'spotlightChanged', listener: SpotlightChangedListener): void;\n off(event: 'chatInitialized', listener: ChatInitializedListener): void;\n off(event: 'breakoutRoomsUpdated', listener: BreakoutRoomsUpdatedListener): void;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n off(event: CallWithChatEvent, listener: any): void {\n switch (event as unknown) {\n case 'callParticipantsJoined':\n this.callAdapter.off('participantsJoined', listener);\n break;\n case 'callParticipantsLeft':\n this.callAdapter.off('participantsLeft', listener);\n break;\n case 'callEnded':\n this.callAdapter.off('callEnded', listener);\n break;\n case 'isMutedChanged':\n this.callAdapter.off('isMutedChanged', listener);\n break;\n case 'callIdChanged':\n this.callAdapter.off('callIdChanged', listener);\n break;\n case 'isLocalScreenSharingActiveChanged':\n this.callAdapter.off('isLocalScreenSharingActiveChanged', listener);\n break;\n case 'displayNameChanged':\n this.callAdapter.off('displayNameChanged', listener);\n break;\n case 'isSpeakingChanged':\n this.callAdapter.off('isSpeakingChanged', listener);\n break;\n case 'selectedMicrophoneChanged':\n this.callAdapter.off('selectedMicrophoneChanged', listener);\n break;\n case 'selectedSpeakerChanged':\n this.callAdapter.off('selectedSpeakerChanged', listener);\n break;\n case 'captionsReceived':\n this.callAdapter.off('captionsReceived', listener);\n break;\n case 'realTimeTextReceived':\n this.callAdapter.off('realTimeTextReceived', listener);\n break;\n case 'isCaptionsActiveChanged':\n this.callAdapter.off('isCaptionsActiveChanged', listener);\n break;\n case 'isCaptionLanguageChanged':\n this.callAdapter.off('isCaptionLanguageChanged', listener);\n break;\n case 'isSpokenLanguageChanged':\n this.callAdapter.off('isSpokenLanguageChanged', listener);\n break;\n case 'messageReceived':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.off('messageReceived', listener);\n });\n break;\n case 'messageEdited':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.off('messageEdited', listener);\n });\n break;\n case 'messageDeleted':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.off('messageDeleted', listener);\n });\n break;\n case 'messageSent':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.off('messageSent', listener);\n });\n break;\n case 'messageRead':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.off('messageRead', listener);\n });\n break;\n case 'chatParticipantsAdded':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.off('participantsAdded', listener);\n });\n break;\n case 'chatParticipantsRemoved':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.off('participantsRemoved', listener);\n });\n break;\n case 'callError':\n this.callAdapter.off('error', listener);\n break;\n case 'chatError':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.off('error', listener);\n });\n break;\n case 'chatInitialized':\n this.emitter.off(event, listener);\n break;\n case 'capabilitiesChanged':\n this.callAdapter.off('capabilitiesChanged', listener);\n break;\n case 'spotlightChanged':\n this.callAdapter.off('spotlightChanged', listener);\n break;\n case 'breakoutRoomsUpdated':\n this.callAdapter.off('breakoutRoomsUpdated', listener);\n break;\n default:\n throw `Unknown AzureCommunicationCallWithChatAdapter Event: ${event}`;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private executeWithResolvedChatAdapter(callback: (adapter: ChatAdapter) => any): any {\n if (!this.chatAdapter) {\n console.error('Chat is not initialized');\n } else {\n return callback(this.chatAdapter);\n }\n }\n}\n\n/**\n * Provides a way to get the chat thread ID for a given locator.\n *\n * @private\n */\nexport interface ChatThreadProvider {\n isCallInfoRequired(): boolean;\n getChatThreadPromise(): Promise<string>;\n getChatThread(): string;\n}\n\n/**\n * Arguments for use in {@link createAzureCommunicationCallWithChatAdapter} to join a Group Call with an associated Chat thread.\n * @private\n */\nexport class CallAndChatProvider implements ChatThreadProvider {\n public locator: CallAndChatLocator;\n constructor(locator: CallAndChatLocator) {\n this.locator = locator;\n }\n public isCallInfoRequired(): boolean {\n return false;\n }\n public async getChatThreadPromise(): Promise<string> {\n return this.getChatThread();\n }\n public getChatThread(): string {\n return this.locator.chatThreadId;\n }\n}\n\n/**\n * Arguments for use in {@link createAzureCommunicationCallWithChatAdapter} to join a Teams meeting with an associated Chat thread.\n *\n * @private\n */\nexport class TeamsMeetingLinkProvider implements ChatThreadProvider {\n public locator: TeamsMeetingLinkLocator;\n private callAdapterPromise: Promise<CallAdapter>;\n private callAdapterSubscription?: (state: CallAdapterState) => void;\n constructor(locator: TeamsMeetingLinkLocator, callAdapterPromise: Promise<CallAdapter>) {\n this.locator = locator;\n this.callAdapterPromise = callAdapterPromise;\n }\n public isCallInfoRequired(): boolean {\n return true;\n }\n public getChatThread(): string {\n throw new Error('Chat thread ID should be retrieved from call.callInfo using method getChatThreadPromise');\n }\n public async getChatThreadPromise(): Promise<string> {\n {\n // Wait for the call to be connected and get the chat thread ID from `call.callInfo`.\n const chatThreadPromise = new Promise<string>(resolve => {\n this.callAdapterPromise.then(callAdapter => {\n // Ensure function is idempotent by removing any existing subscription.\n this.callAdapterSubscription && callAdapter.offStateChange(this.callAdapterSubscription);\n this.callAdapterSubscription = (state: CallAdapterState): void => {\n if (state.call?.state === 'Connected' && state.call.info?.threadId) {\n this.callAdapterSubscription && callAdapter.offStateChange(this.callAdapterSubscription);\n this.callAdapterSubscription = undefined;\n resolve(state.call.info?.threadId);\n }\n };\n callAdapter.onStateChange(this.callAdapterSubscription);\n });\n });\n return chatThreadPromise;\n }\n }\n}\n\n/**\n * Arguments for use in {@link createAzureCommunicationCallWithChatAdapter} to join a Teams meeting using meeting id.\n *\n * @private\n */\nexport class TeamsMeetingIdProvider implements ChatThreadProvider {\n public locator: TeamsMeetingIdLocator;\n private callAdapter: Promise<CallAdapter>;\n constructor(locator: TeamsMeetingIdLocator, callAdapter: Promise<CallAdapter>) {\n this.locator = locator;\n this.callAdapter = callAdapter;\n }\n public isCallInfoRequired(): boolean {\n return true;\n }\n public getChatThread(): string {\n throw new Error('Chat thread ID is not available for Teams meeting ID');\n }\n\n /**\n * Wait call to be connected to get thread ID.\n * @returns the chat thread ID for the given meeting ID.\n */\n public async getChatThreadPromise(): Promise<string> {\n return new Promise<string>(resolve => {\n const stateChangeListener = (state: CallAdapterState): void => {\n if (state.call?.state === 'Connected' && state.call.info?.threadId) {\n this.callAdapter.then(adapter => {\n adapter.offStateChange(stateChangeListener);\n });\n resolve(state.call.info?.threadId);\n }\n };\n this.callAdapter.then(adapter => {\n const callState = adapter.getState().call?.state;\n const threadId = adapter.getState().call?.info?.threadId;\n if (callState === 'Connected' && threadId) {\n resolve(threadId);\n } else {\n adapter.onStateChange(stateChangeListener);\n }\n });\n });\n }\n}\n\n/**\n * Combination of available adapters for use in {@link createAzureCommunicationCallWithChatAdapter}.\n * @public\n */\nexport type CommunicationAdapter = CallAndChatProvider | TeamsMeetingLinkProvider | TeamsMeetingIdProvider;\n\n/**\n * Arguments for use in {@link createAzureCommunicationCallWithChatAdapter} to join a Call with an associated Chat thread.\n *\n * @public\n */\nexport interface CallAndChatLocator {\n /** Locator used by {@link createAzureCommunicationCallWithChatAdapter} to locate the call to join */\n callLocator: GroupCallLocator | CallParticipantsLocator;\n /** Chat thread ID used by {@link createAzureCommunicationCallWithChatAdapter} to locate the chat thread to join */\n chatThreadId: string;\n}\n\n/**\n * Arguments for {@link createAzureCommunicationCallWithChatAdapter}\n *\n * @public\n */\nexport type AzureCommunicationCallWithChatAdapterArgs = {\n endpoint: string;\n userId: CommunicationUserIdentifier;\n displayName: string;\n credential: CommunicationTokenCredential;\n locator: CallAndChatLocator | TeamsMeetingLinkLocator | TeamsMeetingIdLocator;\n alternateCallerId?: string;\n callAdapterOptions?: AzureCommunicationCallAdapterOptions;\n};\n\n/**\n * Create a CallWithChatAdapter backed by Azure Communication services\n * to plug into the {@link CallWithChatComposite}.\n *\n * @public\n */\nexport const createAzureCommunicationCallWithChatAdapter = async ({\n userId,\n displayName,\n credential,\n endpoint,\n locator,\n alternateCallerId,\n callAdapterOptions\n}: AzureCommunicationCallWithChatAdapterArgs): Promise<CallWithChatAdapter> => {\n const callAdapterLocator = isTeamsMeetingLocator(locator) ? locator : locator.callLocator;\n const callAdapter = _createAzureCommunicationCallAdapterInner({\n userId,\n displayName,\n credential,\n locator: callAdapterLocator,\n alternateCallerId,\n options: callAdapterOptions,\n telemetryImplementationHint: 'CallWithChat' as _TelemetryImplementationHint\n });\n const chatThreadAdapter = _createChatThreadAdapterInner(locator, callAdapter);\n if (chatThreadAdapter.isCallInfoRequired()) {\n const callWithChatAdapter = new AzureCommunicationCallWithChatAdapter(await callAdapter);\n const chatAdapterPromise = _createLazyAzureCommunicationChatAdapterInner(endpoint, userId, displayName, credential, chatThreadAdapter.getChatThreadPromise(), 'CallWithChat' as _TelemetryImplementationHint);\n callWithChatAdapter.setChatAdapterPromise(chatAdapterPromise);\n callWithChatAdapter.setCreateChatAdapterCallback((threadId: string) => _createAzureCommunicationChatAdapterInner(endpoint, userId, displayName, credential, threadId, 'CallWithChat' as _TelemetryImplementationHint));\n return callWithChatAdapter;\n } else {\n const chatAdapter = _createAzureCommunicationChatAdapterInner(endpoint, userId, displayName, credential, chatThreadAdapter.getChatThread(), 'CallWithChat' as _TelemetryImplementationHint);\n const callWithChatAdapter = new AzureCommunicationCallWithChatAdapter(await callAdapter, await chatAdapter);\n callWithChatAdapter.setCreateChatAdapterCallback((threadId: string) => _createAzureCommunicationChatAdapterInner(endpoint, userId, displayName, credential, threadId, 'CallWithChat' as _TelemetryImplementationHint));\n return callWithChatAdapter;\n }\n};\n\n/**\n * A custom React hook to simplify the creation of {@link CallWithChatAdapter}.\n *\n * Similar to {@link createAzureCommunicationCallWithChatAdapter}, but takes care of asynchronous\n * creation of the adapter internally.\n *\n * Allows arguments to be undefined so that you can respect the rule-of-hooks and pass in arguments\n * as they are created. The adapter is only created when all arguments are defined.\n *\n * Note that you must memoize the arguments to avoid recreating adapter on each render.\n * See storybook for typical usage examples.\n *\n * @public\n */\nexport const useAzureCommunicationCallWithChatAdapter = (args: Partial<AzureCommunicationCallWithChatAdapterArgs>, afterCreate?: (adapter: CallWithChatAdapter) => Promise<CallWithChatAdapter>, beforeDispose?: (adapter: CallWithChatAdapter) => Promise<void>): CallWithChatAdapter | undefined => {\n const {\n credential,\n displayName,\n endpoint,\n locator,\n userId,\n alternateCallerId,\n callAdapterOptions\n } = args;\n\n // State update needed to rerender the parent component when a new adapter is created.\n const [adapter, setAdapter] = useState<CallWithChatAdapter | undefined>(undefined);\n // Ref needed for cleanup to access the old adapter created asynchronously.\n const adapterRef = useRef<CallWithChatAdapter | undefined>(undefined);\n const creatingAdapterRef = useRef<boolean>(false);\n const afterCreateRef = useRef<((adapter: CallWithChatAdapter) => Promise<CallWithChatAdapter>) | undefined>(undefined);\n const beforeDisposeRef = useRef<((adapter: CallWithChatAdapter) => Promise<void>) | undefined>(undefined);\n // These refs are updated on *each* render, so that the latest values\n // are used in the `useEffect` closures below.\n // Using a Ref ensures that new values for the callbacks do not trigger the\n // useEffect blocks, and a new adapter creation / distruction is not triggered.\n afterCreateRef.current = afterCreate;\n beforeDisposeRef.current = beforeDispose;\n useEffect(() => {\n if (!credential || !displayName || !endpoint || !locator || !userId) {\n return;\n }\n (async () => {\n if (adapterRef.current) {\n // Dispose the old adapter when a new one is created.\n //\n // This clean up function uses `adapterRef` because `adapter` can not be added to the dependency array of\n // this `useEffect` -- we do not want to trigger a new adapter creation because of the first adapter\n // creation.\n if (beforeDisposeRef.current) {\n await beforeDisposeRef.current(adapterRef.current);\n }\n adapterRef.current.dispose();\n adapterRef.current = undefined;\n }\n if (creatingAdapterRef.current) {\n console.warn('Adapter is already being created, please see storybook for more information: https://azure.github.io/communication-ui-library/?path=/story/troubleshooting--page');\n return;\n }\n creatingAdapterRef.current = true;\n let newAdapter = await createAzureCommunicationCallWithChatAdapter({\n credential,\n displayName,\n endpoint,\n locator,\n userId,\n alternateCallerId,\n callAdapterOptions\n });\n if (afterCreateRef.current) {\n newAdapter = await afterCreateRef.current(newAdapter);\n }\n adapterRef.current = newAdapter;\n creatingAdapterRef.current = false;\n setAdapter(newAdapter);\n })();\n },\n // Explicitly list all arguments so that caller doesn't have to memoize the `args` object.\n [adapterRef, afterCreateRef, alternateCallerId, beforeDisposeRef, credential, displayName, endpoint, locator, userId, callAdapterOptions]);\n\n // Dispose any existing adapter when the component unmounts.\n useEffect(() => {\n return () => {\n (async () => {\n if (adapterRef.current) {\n if (beforeDisposeRef.current) {\n await beforeDisposeRef.current(adapterRef.current);\n }\n adapterRef.current.dispose();\n adapterRef.current = undefined;\n }\n })();\n };\n }, []);\n return adapter;\n};\n\n/**\n * Arguments for {@link createAzureCommunicationCallWithChatAdapterFromClient}\n *\n * @public\n */\nexport type AzureCommunicationCallWithChatAdapterFromClientArgs = {\n callLocator: CallAdapterLocator | TeamsMeetingLinkLocator;\n callAgent: CallAgent;\n callClient: StatefulCallClient;\n chatClient: StatefulChatClient;\n chatThreadClient: ChatThreadClient;\n callAdapterOptions?: AzureCommunicationCallAdapterOptions;\n};\n\n/**\n * Create a {@link CallWithChatAdapter} using the provided {@link StatefulChatClient} and {@link StatefulCallClient}.\n *\n * Useful if you want to keep a reference to {@link StatefulChatClient} and {@link StatefulCallClient}.\n * Please note that chatThreadClient has to be created by StatefulChatClient via chatClient.getChatThreadClient(chatThreadId) API.\n * Consider using {@link createAzureCommunicationCallWithChatAdapter} for a simpler API.\n *\n * @public\n */\nexport const createAzureCommunicationCallWithChatAdapterFromClients = async ({\n callClient,\n callAgent,\n callLocator,\n chatClient,\n chatThreadClient,\n callAdapterOptions\n}: AzureCommunicationCallWithChatAdapterFromClientArgs): Promise<CallWithChatAdapter> => {\n const callAdapter = await createAzureCommunicationCallAdapterFromClient(callClient, callAgent, callLocator, callAdapterOptions);\n const chatAdapter = await createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient);\n return new AzureCommunicationCallWithChatAdapter(callAdapter, chatAdapter);\n};\n\n/**\n * Create a {@link CallWithChatAdapter} from the underlying adapters.\n *\n * This is an internal factory function used by browser tests to inject fake adapters for call and chat.\n *\n * @internal\n */\nexport const _createAzureCommunicationCallWithChatAdapterFromAdapters = (callAdapter: CallAdapter, chatAdapter: ChatAdapter): CallWithChatAdapter => new AzureCommunicationCallWithChatAdapter(callAdapter, chatAdapter);\nconst isTeamsMeetingLocator = (locator: CallAndChatLocator | TeamsMeetingLinkLocator | TeamsMeetingIdLocator): locator is TeamsMeetingLinkLocator | TeamsMeetingIdLocator => {\n return 'meetingLink' in locator || 'meetingId' in locator;\n};\nconst _createChatThreadAdapterInner = (locator: CallAndChatLocator | TeamsMeetingLinkLocator | TeamsMeetingIdLocator, adapter: Promise<CallAdapter>): ChatThreadProvider => {\n if ('meetingLink' in locator) {\n return new TeamsMeetingLinkProvider(locator, adapter);\n }\n if ('meetingId' in locator) {\n return new TeamsMeetingIdProvider(locator, adapter);\n }\n return new CallAndChatProvider(locator);\n};"]}
1
+ {"version":3,"file":"AzureCommunicationCallWithChatAdapter.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;AAYlC,OAAO,EAAE,6BAA6B,EAAE,yCAAgC;AAKxE,OAAO,EAAE,yCAAyC,EAA4B,iDAAiD,EAAE,iDAAiD,EAAE,MAAM,mCAAmC,CAAC;AAC9N,OAAO,EAAE,yCAAyC,EAAE,6CAA6C,EAAE,6CAA6C,EAAE,MAAM,2DAA2D,CAAC;AACpN,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAA2B,6BAA6B,EAAyB,MAAM,6BAA6B,CAAC;AAE5H,OAAO,EAAE,yCAAyC,EAAE,MAAM,2DAA2D,CAAC;AACtH,OAAO,EAAsB,6CAA6C,EAAE,MAAM,2DAA2D,CAAC;AAI9I,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAgC,yCAAgC;AAQnG,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C,sFAAsF;AACtF,MAAM,mBAAmB;IAGvB,YAAY,WAAqC,EAAE,YAAY,GAAG,EAAE;QAF5D,YAAO,GAAG,IAAI,YAAY,EAAE,CAAC;QAGnC,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IACM,aAAa,CAAC,OAA+C;QAClE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IACM,cAAc,CAAC,OAA+C;QACnE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IACM,QAAQ,CAAC,KAA+B;QAC7C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IACM,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACM,iBAAiB,CAAC,WAAqC;QAC5D,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IACM,8BAA8B,CAAC,gBAAkC;QACtE,IAAI,CAAC,iBAAiB,CAAC,iDAAiD,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC1G,CAAC;IACM,cAAc;QACnB,IAAI,CAAC,iBAAiB,iCACjB,IAAI,CAAC,KAAK,KACb,IAAI,EAAE,SAAS,IACf,CAAC;IACL,CAAC;IACM,8BAA8B,CAAC,gBAAkC;QACtE,IAAI,CAAC,iBAAiB,CAAC,iDAAiD,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC1G,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,qCAAqC;IAWhD,YAAY,WAAwB,EAAE,WAAyB;QAPvD,YAAO,GAAiB,IAAI,YAAY,EAAE,CAAC;QAG3C,sBAAiB,GAAY,KAAK,CAAC;QAKzC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,mBAAmB,CAAC,yCAAyC,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/F,MAAM,iBAAiB,GAAG,CAAC,mBAAqC,EAAQ,EAAE;YACxE,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,mBAAmB,CAAC,CAAC;QACnE,CAAC,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,qBAAqB,GAAG,WAAW,CAAC;QAC3C,CAAC;QACD,MAAM,iBAAiB,GAAG,CAAC,mBAAqC,EAAQ,EAAE;YACxE,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,mBAAmB,CAAC,CAAC;QACnE,CAAC,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAO,SAAiC,EAAE,EAAE;;YACtF,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC9B,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,SAAS,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBACtD,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACzD,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAA,MAAA,IAAI,CAAC,qBAAqB,0CAAE,QAAQ,GAAG,MAAM,CAAC,QAAQ,OAAK,MAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,QAAQ,CAAA,EAAE,CAAC;wBACpI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAA,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;;YACpC,4GAA4G;YAC5G,cAAc;YACd,IAAI,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,aAAa,0CAAE,oBAAoB,EAAE,CAAC;gBACtE,8CAA8C;gBAC9C,MAAA,IAAI,CAAC,WAAW,0CAAE,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACzD,wBAAwB;gBACxB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;gBAC7B,+FAA+F;gBAC/F,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC9B,oDAAoD;gBACpD,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC/B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IACa,kBAAkB,CAAC,IAAsB;;;YACrD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAE1C,2GAA2G;YAC3G,IAAI,cAAc,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;gBACzG,8CAA8C;gBAC9C,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACxD,4EAA4E;gBAC5E,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gBAE9B,+DAA+D;gBAC/D,IAAI,CAAC,uBAAuB,GAAG,MAAM,IAAI,CAAC,kCAAkC,CAAC,cAAc,CAAC,CAAC;gBAE7F,uGAAuG;gBACvG,uGAAuG;gBACvG,wBAAwB;gBACxB,sDAAsD;gBACtD,MAAM,QAAQ,CAAC,GAAG,EAAE;;oBAClB,sGAAsG;oBACtG,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,EAAE,MAAK,IAAI,CAAC,EAAE,EAAE,CAAC;wBACjD,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,MAAM,iBAAiB,GAAG,CAAC,CAAC,CAAA,MAAA,IAAI,CAAC,uBAAuB,0CAAE,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA,CAAC;oBACxJ,OAAO,iBAAiB,CAAC;gBAC3B,CAAC,EAAE,EAAE,CAAC,CAAC;gBAEP,2GAA2G;gBAC3G,qCAAqC;gBACrC,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,EAAE,MAAK,IAAI,CAAC,EAAE,EAAE,CAAC;oBACjD,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;KAAA;IACa,kCAAkC,CAAC,cAAsB;;YACrE,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBACjC,mGAAmG;gBACnG,sDAAsD;gBACtD,IAAI,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;oBAC/E,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBACpE,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,CAAC;oBACvC,MAAM,0BAA0B,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,cAAc,CAAC,CAAC;oBAC5F,OAAO,0BAA0B,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,OAAO,IAAI,CAAC,uBAAuB,CAAC;gBACtC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,kEAAkE;gBAClE,MAAM,0BAA0B,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,cAAc,CAAC,CAAC;gBAC5F,OAAO,0BAA0B,CAAC;YACpC,CAAC;QACH,CAAC;KAAA;IACM,qBAAqB,CAAC,WAAiC;QAC5D,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC5B,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAChC,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC;YACvC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACM,4BAA4B,CAAC,kBAA8D;QAChG,IAAI,CAAC,yBAAyB,GAAG,kBAAkB,CAAC;IACtD,CAAC;IACM,6BAA6B,CAAC,QAAgB;QACnD,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;IAC3G,CAAC;IACO,iBAAiB,CAAC,WAAwB;;QAChD,MAAA,IAAI,CAAC,WAAW,0CAAE,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IACO,iBAAiB;QACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,0BAA0B;IACnB,QAAQ,CAAC,OAAmC;QACjD,IAAI,OAAO,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,0BAA0B;IACb,SAAS,CAAC,WAAqB;;YAC1C,2EAA2E;YAC3E,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;KAAA;IAMD,wBAAwB;IACjB,SAAS,CAAC,YAA8C,EAAE,OAA0B;QACzF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,OAAO,YAAY,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,YAAwB,EAAE,OAAO,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,YAAqC,EAAE,OAAO,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IACD;;;OAGG;IACI,aAAa,CAAC,OAAkD;QACrE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IACD;;;OAGG;IACI,cAAc,CAAC,OAAkD;QACtE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IACD,uCAAuC;IAChC,QAAQ;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IACD,kDAAkD;IAC3C,OAAO;QACZ,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACxD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,+CAA+C;IAClC,iBAAiB,CAAC,MAAwC;;YACrE,IAAI,WAAW,GAAG,MAAM,CAAC;YACzB,WAAW,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACxD,CAAC;KAAA;IACY,SAAS,CAAC,MAAuB,EAAE,OAA4B;;YAC1E,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;KAAA;IACD,iDAAiD;IACpC,aAAa,CAAC,MAAuB;;YAChD,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;KAAA;IACD,8CAA8C;IACjC,UAAU,CAAC,MAAuB;;YAC7C,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;KAAA;IACY,mBAAmB,CAAC,WAAkC;;YACjE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACjE,CAAC;KAAA;IACD,mCAAmC;IACtB,YAAY;;YACvB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;QAC/C,CAAC;KAAA;IACD,uCAAuC;IAC1B,gBAAgB;;YAC3B,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;QACnD,CAAC;KAAA;IACD,oCAAoC;IACvB,aAAa;;YACxB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;QAChD,CAAC;KAAA;IACD,iDAAiD;IACpC,WAAW,CAAC,OAA4B;;YACnD,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;KAAA;IACD,gDAAgD;IACnC,UAAU;;YACrB,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QACtC,CAAC;KAAA;IACD,iCAAiC;IACpB,IAAI;;YACf,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAChC,CAAC;KAAA;IACD,mCAAmC;IACtB,MAAM;;YACjB,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QAClC,CAAC;KAAA;IACD,8CAA8C;IACjC,gBAAgB;;YAC3B,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;QAC5C,CAAC;KAAA;IACD,4CAA4C;IAC/B,eAAe;;YAC1B,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QAC3C,CAAC;KAAA;IACD,iCAAiC;IACpB,SAAS;;YACpB,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QACrC,CAAC;KAAA;IACD,iCAAiC;IACpB,SAAS;;YACpB,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QACrC,CAAC;KAAA;IACD,0CAA0C;IAC7B,eAAe,CAAC,QAAkB;;YAC7C,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC;KAAA;IACD,iEAAiE;IACpD,gBAAgB,CAAC,YAAqB,EAAE,OAA4B;;YAC/E,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACxE,CAAC;KAAA;IACD,4EAA4E;IAC/D,iBAAiB,CAAC,YAAqB,EAAE,OAA4B;;YAChF,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAClE,CAAC;KAAA;IACD,uCAAuC;IAC1B,4BAA4B,CAAC,YAAoB;;YAC5D,MAAM,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,YAAY,CAAC,CAAC;QACpE,CAAC;KAAA;IACD,uCAAuC;IAC1B,4BAA4B,CAAC,YAAoB;;YAC5D,MAAM,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,YAAY,CAAC,CAAC;QACpE,CAAC;KAAA;IACD,wCAAwC;IAC3B,2BAA2B;;YACtC,MAAM,IAAI,CAAC,WAAW,CAAC,2BAA2B,EAAE,CAAC;QACvD,CAAC;KAAA;IACD,8DAA8D;IACjD,gBAAgB;;YAC3B,OAAO,MAAM,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;gBACzD,OAAO,OAAO,CAAC,gBAAgB,EAAE,CAAC;YACpC,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IACD,2BAA2B;IACd,WAAW,CAAC,OAAe;;YACtC,OAAO,MAAM,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;gBACzD,OAAO,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IACD,gCAAgC;IACnB,eAAe,CAAC,aAAqB;;YAChD,OAAO,MAAM,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;gBACzD,OAAO,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IACD,kCAAkC;IACrB,mBAAmB;;YAC9B,OAAO,MAAM,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;gBACzD,OAAO,OAAO,CAAC,mBAAmB,EAAE,CAAC;YACvC,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IACD,mCAAmC;IACtB,wBAAwB,CAAC,cAAsB;;YAC1D,OAAO,MAAM,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;gBACzD,OAAO,OAAO,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IACD,kCAAkC;IACrB,aAAa,CAAC,SAAiB,EAAE,OAAe,EAAE,OAAgC;;YAC7F,OAAO,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;gBACnD,OAAO,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IACD,kCAAkC;IACrB,aAAa,CAAC,SAAiB;;YAC1C,OAAO,MAAM,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;gBACzD,OAAO,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IACY,uBAAuB,CAAC,eAAgC;;YACnE,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;gBAC5C,OAAO,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IACM,uBAAuB,CAAC,eAAgC;QAC7D,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;YAC5C,OAAO,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IACY,QAAQ;;YACnB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC3C,CAAC;KAAA;IACY,UAAU;;YACrB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QAC7C,CAAC;KAAA;IAGY,cAAc,CAAC,WAAgE,EAAE,OAA+B;;YAC3H,IAAI,6BAA6B,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/C,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;KAAA;IACY,YAAY,CAAC,QAAkB;;YAC1C,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvD,CAAC;KAAA;IACY,aAAa,CAAC,OAAqC;;YAC9D,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;KAAA;IACY,YAAY,CAAC,OAAoC;;YAC5D,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;KAAA;IACY,kBAAkB,CAAC,QAAgB;;YAC9C,MAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC;KAAA;IACY,iBAAiB,CAAC,QAAgB;;YAC7C,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC;KAAA;IACY,0BAA0B,CAAC,qBAA4C;;YAClF,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,qBAAqB,CAAC,CAAC;QAC3E,CAAC;KAAA;IACY,0BAA0B;;YACrC,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE,CAAC;QAC7D,CAAC;KAAA;IACM,4BAA4B,CAAC,gBAAwC;QAC1E,OAAO,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,CAAC;IACzE,CAAC;IACM,mCAAmC,CAAC,uBAA8C;QACvF,OAAO,IAAI,CAAC,WAAW,CAAC,mCAAmC,CAAC,uBAAuB,CAAC,CAAC;IACvF,CAAC;IACY,2BAA2B;;YACtC,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,2BAA2B,EAAE,CAAC;QAC9D,CAAC;KAAA;IACY,0BAA0B;;YACrC,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE,CAAC;QAC7D,CAAC;KAAA;IACY,YAAY,CAAC,MAAkB;;YAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;KAAA;IACY,cAAc,CAAC,OAAkB;;YAC5C,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC;KAAA;IACY,aAAa,CAAC,OAAkB;;YAC3C,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;KAAA;IACY,gBAAgB;;YAC3B,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;QAC7C,CAAC;KAAA;IACY,eAAe,CAAC,MAAc;;YACzC,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;KAAA;IACY,yBAAyB;;YACpC,OAAO,IAAI,CAAC,WAAW,CAAC,yBAAyB,EAAE,CAAC;QACtD,CAAC;KAAA;IACY,sBAAsB;;;YACjC,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,QAAQ,MAAK,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACnI,MAAA,IAAI,CAAC,uBAAuB,0CAAE,OAAO,EAAE,CAAC;gBACxC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACrD,CAAC;YAED,8FAA8F;YAC9F,gCAAgC;YAChC,MAAM,oBAAoB,GAAG,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,aAAa,0CAAE,oBAAoB,CAAC;YAC/F,IAAI,oBAAoB,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC;YAClD,CAAC;QACH,CAAC;KAAA;IACY,WAAW,CAAC,OAAiB;;YACxC,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;KAAA;IACY,WAAW,CAAC,OAAiB;;YACxC,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;KAAA;IACY,iBAAiB;;YAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;QAC9C,CAAC;KAAA;IACY,iBAAiB;;YAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;QAC9C,CAAC;KAAA;IACY,WAAW,CAAC,OAAiB;;YACxC,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;KAAA;IACY,WAAW,CAAC,OAAiB;;YACxC,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;KAAA;IACY,iBAAiB;;YAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;QAC9C,CAAC;KAAA;IACY,iBAAiB;;YAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;QAC9C,CAAC;KAAA;IA6BD,8DAA8D;IAC9D,EAAE,CAAC,KAAwB,EAAE,QAAa;QACxC,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,wBAAwB;gBAC3B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,sBAAsB;gBACzB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;gBAClD,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAC3C,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;gBAChD,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,mCAAmC;gBACtC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,mCAAmC,EAAE,QAAQ,CAAC,CAAC;gBACnE,MAAM;YACR,KAAK,oBAAoB;gBACvB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,mBAAmB;gBACtB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;gBACnD,MAAM;YACR,KAAK,2BAA2B;gBAC9B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;gBAC3D,MAAM;YACR,KAAK,wBAAwB;gBAC3B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;gBACxD,MAAM;YACR,KAAK,kBAAkB;gBACrB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;gBAClD,MAAM;YACR,KAAK,yBAAyB;gBAC5B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;gBACzD,MAAM;YACR,KAAK,0BAA0B;gBAC7B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAC;gBAC1D,MAAM;YACR,KAAK,yBAAyB;gBAC5B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;gBACzD,MAAM;YACR,KAAK,iBAAiB;gBACpB,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;oBAC5C,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;gBAC1C,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;oBAC5C,OAAO,CAAC,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;gBACxC,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;oBAC5C,OAAO,CAAC,EAAE,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;oBAC5C,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACtC,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;oBAC5C,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACtC,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,uBAAuB;gBAC1B,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;oBAC5C,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,yBAAyB;gBAC5B,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;oBAC5C,OAAO,CAAC,EAAE,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;oBAC5C,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAChC,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,iBAAiB;gBACpB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,qBAAqB;gBACxB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;gBACrD,MAAM;YACR,KAAK,kBAAkB;gBACrB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;gBAClD,MAAM;YACR,KAAK,sBAAsB;gBACzB,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;gBACtD,MAAM;YACR;gBACE,MAAM,wDAAwD,KAAK,EAAE,CAAC;QAC1E,CAAC;IACH,CAAC;IA4BD,8DAA8D;IAC9D,GAAG,CAAC,KAAwB,EAAE,QAAa;QACzC,QAAQ,KAAgB,EAAE,CAAC;YACzB,KAAK,wBAAwB;gBAC3B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;gBACrD,MAAM;YACR,KAAK,sBAAsB;gBACzB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;gBACnD,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAC5C,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;gBACjD,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;gBAChD,MAAM;YACR,KAAK,mCAAmC;gBACtC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,mCAAmC,EAAE,QAAQ,CAAC,CAAC;gBACpE,MAAM;YACR,KAAK,oBAAoB;gBACvB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;gBACrD,MAAM;YACR,KAAK,mBAAmB;gBACtB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,2BAA2B;gBAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;gBAC5D,MAAM;YACR,KAAK,wBAAwB;gBAC3B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;gBACzD,MAAM;YACR,KAAK,kBAAkB;gBACrB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;gBACnD,MAAM;YACR,KAAK,yBAAyB;gBAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;gBAC1D,MAAM;YACR,KAAK,0BAA0B;gBAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAC;gBAC3D,MAAM;YACR,KAAK,yBAAyB;gBAC5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;gBAC1D,MAAM;YACR,KAAK,iBAAiB;gBACpB,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;oBAC5C,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,eAAe;gBAClB,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;oBAC5C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,gBAAgB;gBACnB,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;oBAC5C,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;gBAC1C,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;oBAC5C,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;oBAC5C,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,uBAAuB;gBAC1B,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;oBAC5C,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;gBAC7C,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,yBAAyB;gBAC5B,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;oBAC5C,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACxC,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,EAAE;oBAC5C,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,iBAAiB;gBACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,qBAAqB;gBACxB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;gBACtD,MAAM;YACR,KAAK,kBAAkB;gBACrB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;gBACnD,MAAM;YACR,KAAK,sBAAsB;gBACzB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;gBACvD,MAAM;YACR;gBACE,MAAM,wDAAwD,KAAK,EAAE,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,8DAA8D;IACtD,8BAA8B,CAAC,QAAuC;QAC5E,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;CACF;AAaD;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IAE9B,YAAY,OAA2B;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IACM,kBAAkB;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IACY,oBAAoB;;YAC/B,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9B,CAAC;KAAA;IACM,aAAa;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;IACnC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,wBAAwB;IAInC,YAAY,OAAgC,EAAE,kBAAwC;QACpF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAC/C,CAAC;IACM,kBAAkB;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACM,aAAa;QAClB,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;IAC7G,CAAC;IACY,oBAAoB;;YAC/B,CAAC;gBACC,qFAAqF;gBACrF,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAS,OAAO,CAAC,EAAE;oBACtD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;wBACzC,uEAAuE;wBACvE,IAAI,CAAC,uBAAuB,IAAI,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;wBACzF,IAAI,CAAC,uBAAuB,GAAG,CAAC,KAAuB,EAAQ,EAAE;;4BAC/D,IAAI,CAAA,MAAA,KAAK,CAAC,IAAI,0CAAE,KAAK,MAAK,WAAW,KAAI,MAAA,KAAK,CAAC,IAAI,CAAC,IAAI,0CAAE,QAAQ,CAAA,EAAE,CAAC;gCACnE,IAAI,CAAC,uBAAuB,IAAI,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gCACzF,IAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;gCACzC,OAAO,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,IAAI,0CAAE,QAAQ,CAAC,CAAC;4BACrC,CAAC;wBACH,CAAC,CAAC;wBACF,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;oBAC1D,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,OAAO,iBAAiB,CAAC;YAC3B,CAAC;QACH,CAAC;KAAA;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,sBAAsB;IAGjC,YAAY,OAA8B,EAAE,WAAiC;QAC3E,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IACM,kBAAkB;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACM,aAAa;QAClB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IAED;;;OAGG;IACU,oBAAoB;;YAC/B,OAAO,IAAI,OAAO,CAAS,OAAO,CAAC,EAAE;gBACnC,MAAM,mBAAmB,GAAG,CAAC,KAAuB,EAAQ,EAAE;;oBAC5D,IAAI,CAAA,MAAA,KAAK,CAAC,IAAI,0CAAE,KAAK,MAAK,WAAW,KAAI,MAAA,KAAK,CAAC,IAAI,CAAC,IAAI,0CAAE,QAAQ,CAAA,EAAE,CAAC;wBACnE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;4BAC9B,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;wBAC9C,CAAC,CAAC,CAAC;wBACH,OAAO,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,IAAI,0CAAE,QAAQ,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC,CAAC;gBACF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;;oBAC9B,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,KAAK,CAAC;oBACjD,MAAM,QAAQ,GAAG,MAAA,MAAA,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,0CAAE,IAAI,0CAAE,QAAQ,CAAC;oBACzD,IAAI,SAAS,KAAK,WAAW,IAAI,QAAQ,EAAE,CAAC;wBAC1C,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACpB,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;oBAC7C,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;CACF;AAmCD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2CAA2C,GAAG,KAQiB,EAAE,4CARZ,EAChE,MAAM,EACN,WAAW,EACX,UAAU,EACV,QAAQ,EACR,OAAO,EACP,iBAAiB,EACjB,kBAAkB,EACwB;IAC1C,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC1F,MAAM,WAAW,GAAG,yCAAyC,CAAC;QAC5D,MAAM;QACN,WAAW;QACX,UAAU;QACV,OAAO,EAAE,kBAAkB;QAC3B,iBAAiB;QACjB,OAAO,EAAE,kBAAkB;QAC3B,2BAA2B,EAAE,cAA8C;KAC5E,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC9E,IAAI,iBAAiB,CAAC,kBAAkB,EAAE,EAAE,CAAC;QAC3C,MAAM,mBAAmB,GAAG,IAAI,qCAAqC,CAAC,MAAM,WAAW,CAAC,CAAC;QACzF,MAAM,kBAAkB,GAAG,6CAA6C,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,CAAC,oBAAoB,EAAE,EAAE,cAA8C,CAAC,CAAC;QAC9M,mBAAmB,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;QAC9D,mBAAmB,CAAC,4BAA4B,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,yCAAyC,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,cAA8C,CAAC,CAAC,CAAC;QACvN,OAAO,mBAAmB,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,GAAG,yCAAyC,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,CAAC,aAAa,EAAE,EAAE,cAA8C,CAAC,CAAC;QAC5L,MAAM,mBAAmB,GAAG,IAAI,qCAAqC,CAAC,MAAM,WAAW,EAAE,MAAM,WAAW,CAAC,CAAC;QAC5G,mBAAmB,CAAC,4BAA4B,CAAC,CAAC,QAAgB,EAAE,EAAE,CAAC,yCAAyC,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,cAA8C,CAAC,CAAC,CAAC;QACvN,OAAO,mBAAmB,CAAC;IAC7B,CAAC;AACH,CAAC,CAAA,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAAC,IAAwD,EAAE,WAA4E,EAAE,aAA+D,EAAmC,EAAE;IACnS,MAAM,EACJ,UAAU,EACV,WAAW,EACX,QAAQ,EACR,OAAO,EACP,MAAM,EACN,iBAAiB,EACjB,kBAAkB,EACnB,GAAG,IAAI,CAAC;IAET,sFAAsF;IACtF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAkC,SAAS,CAAC,CAAC;IACnF,2EAA2E;IAC3E,MAAM,UAAU,GAAG,MAAM,CAAkC,SAAS,CAAC,CAAC;IACtE,MAAM,kBAAkB,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,MAAM,CAA+E,SAAS,CAAC,CAAC;IACvH,MAAM,gBAAgB,GAAG,MAAM,CAAgE,SAAS,CAAC,CAAC;IAC1G,qEAAqE;IACrE,8CAA8C;IAC9C,2EAA2E;IAC3E,+EAA+E;IAC/E,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;IACrC,gBAAgB,CAAC,OAAO,GAAG,aAAa,CAAC;IACzC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACpE,OAAO;QACT,CAAC;QACD,CAAC,GAAS,EAAE;YACV,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,qDAAqD;gBACrD,EAAE;gBACF,yGAAyG;gBACzG,oGAAoG;gBACpG,YAAY;gBACZ,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;oBAC7B,MAAM,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACrD,CAAC;gBACD,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC7B,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;YACjC,CAAC;YACD,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,kKAAkK,CAAC,CAAC;gBACjL,OAAO;YACT,CAAC;YACD,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC;YAClC,IAAI,UAAU,GAAG,MAAM,2CAA2C,CAAC;gBACjE,UAAU;gBACV,WAAW;gBACX,QAAQ;gBACR,OAAO;gBACP,MAAM;gBACN,iBAAiB;gBACjB,kBAAkB;aACnB,CAAC,CAAC;YACH,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;gBAC3B,UAAU,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACxD,CAAC;YACD,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC;YAChC,kBAAkB,CAAC,OAAO,GAAG,KAAK,CAAC;YACnC,UAAU,CAAC,UAAU,CAAC,CAAC;QACzB,CAAC,CAAA,CAAC,EAAE,CAAC;IACP,CAAC;IACD,0FAA0F;IAC1F,CAAC,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE3I,4DAA4D;IAC5D,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,CAAC,GAAS,EAAE;gBACV,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBACvB,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;wBAC7B,MAAM,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBACrD,CAAC;oBACD,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBAC7B,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;gBACjC,CAAC;YACH,CAAC,CAAA,CAAC,EAAE,CAAC;QACP,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAgBF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sDAAsD,GAAG,KAOgB,EAAE,4CAPX,EAC3E,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EACkC;IACpD,MAAM,WAAW,GAAG,MAAM,6CAA6C,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAChI,MAAM,WAAW,GAAG,MAAM,6CAA6C,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACtG,OAAO,IAAI,qCAAqC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC7E,CAAC,CAAA,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wDAAwD,GAAG,CAAC,WAAwB,EAAE,WAAwB,EAAuB,EAAE,CAAC,IAAI,qCAAqC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AACzN,MAAM,qBAAqB,GAAG,CAAC,OAA6E,EAA8D,EAAE;IAC1K,OAAO,aAAa,IAAI,OAAO,IAAI,WAAW,IAAI,OAAO,CAAC;AAC5D,CAAC,CAAC;AACF,MAAM,6BAA6B,GAAG,CAAC,OAA6E,EAAE,OAA6B,EAAsB,EAAE;IACzK,IAAI,aAAa,IAAI,OAAO,EAAE,CAAC;QAC7B,OAAO,IAAI,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,WAAW,IAAI,OAAO,EAAE,CAAC;QAC3B,OAAO,IAAI,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* eslint-disable @typescript-eslint/no-unused-vars */ // REMOVE ONCE THIS FILE IS IMPLEMENTED\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */ // REMOVE ONCE THIS FILE IS IMPLEMENTED\n\nimport { AudioDeviceInfo, Call, CallAgent, GroupCallLocator, PermissionConstraints, PropertyChangedEvent, TeamsMeetingLinkLocator, StartCallOptions, VideoDeviceInfo } from '@azure/communication-calling';\nimport { TeamsMeetingIdLocator } from '@azure/communication-calling';\nimport { Reaction } from '@azure/communication-calling';\nimport { AddPhoneNumberOptions, DeviceAccess } from '@azure/communication-calling';\nimport type { BreakoutRoomsEventData, BreakoutRoomsUpdatedListener, TeamsCall } from '@azure/communication-calling';\nimport { DtmfTone } from '@azure/communication-calling';\nimport { CreateVideoStreamViewResult, VideoStreamOptions } from '@internal/react-components';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { ParticipantsJoinedListener, ParticipantsLeftListener, IsMutedChangedListener, CallIdChangedListener, IsLocalScreenSharingActiveChangedListener, DisplayNameChangedListener, IsSpeakingChangedListener, CallAdapter, CallAdapterState, CallEndedListener } from '../../CallComposite';\nimport { MessageReceivedListener, MessageReadListener, ChatAdapter, ChatAdapterState, ParticipantsRemovedListener, ParticipantsAddedListener, MessageEditedListener, MessageDeletedListener } from '../../ChatComposite';\nimport { ResourceDetails } from '../../ChatComposite';\nimport { CallWithChatAdapter, CallWithChatEvent, ChatInitializedListener } from './CallWithChatAdapter';\nimport { callWithChatAdapterStateFromBackingStates, CallWithChatAdapterState, mergeCallAdapterStateIntoCallWithChatAdapterState, mergeChatAdapterStateIntoCallWithChatAdapterState } from '../state/CallWithChatAdapterState';\nimport { _createAzureCommunicationChatAdapterInner, _createLazyAzureCommunicationChatAdapterInner, createAzureCommunicationChatAdapterFromClient } from '../../ChatComposite/adapter/AzureCommunicationChatAdapter';\nimport { EventEmitter } from 'events';\nimport { CommunicationTokenCredential, CommunicationUserIdentifier } from '@azure/communication-common';\nimport { CommunicationIdentifier, isCommunicationUserIdentifier, PhoneNumberIdentifier } from '@azure/communication-common';\nimport { AdapterError } from '../../common/adapters';\nimport { _createAzureCommunicationCallAdapterInner } from '../../CallComposite/adapter/AzureCommunicationCallAdapter';\nimport { CallAdapterLocator, createAzureCommunicationCallAdapterFromClient } from '../../CallComposite/adapter/AzureCommunicationCallAdapter';\nimport { StatefulCallClient } from '@internal/calling-stateful-client';\nimport { StatefulChatClient } from '@internal/chat-stateful-client';\nimport { ChatThreadClient } from '@azure/communication-chat';\nimport { useEffect, useRef, useState } from 'react';\nimport { _toCommunicationIdentifier, _TelemetryImplementationHint } from '@internal/acs-ui-common';\nimport { JoinCallOptions, StartCallIdentifier, StartCaptionsAdapterOptions, StopCaptionsAdapterOptions } from '../../CallComposite/adapter/CallAdapter';\nimport { AzureCommunicationCallAdapterOptions } from '../../CallComposite/adapter/AzureCommunicationCallAdapter';\nimport { IsCaptionsActiveChangedListener, CaptionsReceivedListener, IsCaptionLanguageChangedListener, IsSpokenLanguageChangedListener } from '../../CallComposite/adapter/CallAdapter';\nimport { CapabilitiesChangedListener } from '../../CallComposite/adapter/CallAdapter';\nimport { SpotlightChangedListener } from '../../CallComposite/adapter/CallAdapter';\nimport { VideoBackgroundImage, VideoBackgroundEffect } from '../../CallComposite';\nimport { CallSurvey, CallSurveyResponse } from '@azure/communication-calling';\nimport { busyWait } from '../../common/utils';\ntype CallWithChatAdapterStateChangedHandler = (newState: CallWithChatAdapterState) => void;\n\n/** Context of Call with Chat, which is a centralized context for all state updates */\nclass CallWithChatContext {\n private emitter = new EventEmitter();\n private state: CallWithChatAdapterState;\n constructor(clientState: CallWithChatAdapterState, maxListeners = 50) {\n this.state = clientState;\n this.emitter.setMaxListeners(maxListeners);\n }\n public onStateChange(handler: CallWithChatAdapterStateChangedHandler): void {\n this.emitter.on('stateChanged', handler);\n }\n public offStateChange(handler: CallWithChatAdapterStateChangedHandler): void {\n this.emitter.off('stateChanged', handler);\n }\n public setState(state: CallWithChatAdapterState): void {\n this.state = state;\n this.emitter.emit('stateChanged', this.state);\n }\n public getState(): CallWithChatAdapterState {\n return this.state;\n }\n public updateClientState(clientState: CallWithChatAdapterState): void {\n this.setState(clientState);\n }\n public updateClientStateWithChatState(chatAdapterState: ChatAdapterState): void {\n this.updateClientState(mergeChatAdapterStateIntoCallWithChatAdapterState(this.state, chatAdapterState));\n }\n public unsetChatState(): void {\n this.updateClientState({\n ...this.state,\n chat: undefined\n });\n }\n public updateClientStateWithCallState(callAdapterState: CallAdapterState): void {\n this.updateClientState(mergeCallAdapterStateIntoCallWithChatAdapterState(this.state, callAdapterState));\n }\n}\n\n/**\n * CallWithChat adapter backed by Azure Communication Services.\n * Created for easy use with the {@link CallWithChatComposite}.\n */\nexport class AzureCommunicationCallWithChatAdapter implements CallWithChatAdapter {\n private callAdapter: CallAdapter;\n private chatAdapter: ChatAdapter | undefined;\n private context: CallWithChatContext;\n private emitter: EventEmitter = new EventEmitter();\n private onChatStateChange: (newChatAdapterState: ChatAdapterState) => void;\n private onCallStateChange: (newChatAdapterState: CallAdapterState) => void;\n private isAdapterDisposed: boolean = false;\n private createChatAdapterCallback: ((threadId: string) => Promise<ChatAdapter>) | undefined;\n private originCallChatAdapter: ChatAdapter | undefined;\n private breakoutRoomChatAdapter: ChatAdapter | undefined;\n constructor(callAdapter: CallAdapter, chatAdapter?: ChatAdapter) {\n this.bindPublicMethods();\n this.callAdapter = callAdapter;\n this.context = new CallWithChatContext(callWithChatAdapterStateFromBackingStates(callAdapter));\n const onChatStateChange = (newChatAdapterState: ChatAdapterState): void => {\n this.context.updateClientStateWithChatState(newChatAdapterState);\n };\n this.onChatStateChange = onChatStateChange;\n if (chatAdapter) {\n this.updateChatAdapter(chatAdapter);\n this.originCallChatAdapter = chatAdapter;\n }\n const onCallStateChange = (newCallAdapterState: CallAdapterState): void => {\n this.context.updateClientStateWithCallState(newCallAdapterState);\n };\n this.callAdapter.onStateChange(onCallStateChange);\n this.callAdapter.on('breakoutRoomsUpdated', async (eventData: BreakoutRoomsEventData) => {\n if (eventData.type === 'join') {\n await this.breakoutRoomJoined(eventData.data);\n } else if (eventData.type === 'assignedBreakoutRooms') {\n if (!eventData.data || eventData.data.state === 'closed') {\n if (this.originCallChatAdapter && this.originCallChatAdapter?.getState().thread.threadId !== this.context.getState().chat?.threadId) {\n this.updateChatAdapter(this.originCallChatAdapter);\n }\n }\n }\n });\n this.callAdapter.on('callEnded', () => {\n // If the call ended is a breakout room call with breakout room settings then update the chat adapter to the\n // origin call\n if (this.context.getState().call?.breakoutRooms?.breakoutRoomSettings) {\n // Unsubscribe from chat adapter state changes\n this.chatAdapter?.offStateChange(this.onChatStateChange);\n // Unassign chat adapter\n this.chatAdapter = undefined;\n // Set chat state to undefined to ensure that the chat thread of the breakout room is not shown\n this.context.unsetChatState();\n // Update chat state to the origin call chat adapter\n if (this.originCallChatAdapter) {\n this.updateChatAdapter(this.originCallChatAdapter);\n }\n }\n });\n this.onCallStateChange = onCallStateChange;\n }\n private async breakoutRoomJoined(call: Call | TeamsCall): Promise<void> {\n const targetThreadId = call.info.threadId;\n\n // If the chat adapter is not on the target thread then we need to switch to the breakout room chat adapter\n if (targetThreadId && this.chatAdapter && this.chatAdapter.getState().thread.threadId !== targetThreadId) {\n // Unsubscribe from chat adapter state changes\n this.chatAdapter.offStateChange(this.onChatStateChange);\n // Set chat state to undefined to prevent showing chat thread of origin call\n this.context.unsetChatState();\n\n // Check if the breakout room chat adapter has been initialized\n this.breakoutRoomChatAdapter = await this.setBreakoutRoomChatAdapterToThread(targetThreadId);\n\n // Wait for the user to be added to the thread of chat adapter before updating the current chat adapter\n // to avoid chat errors of not having access to the chat thread. This delayed access to the chat thread\n // is also seen in Teams\n // Check up to 20 times every 500ms and then continue.\n await busyWait(() => {\n // If the call adapter's call id has been changed, then stop waiting and don't update the chat adapter\n if (this.context.getState().call?.id !== call.id) {\n return true;\n }\n const userAddedToThread = !!this.breakoutRoomChatAdapter?.getState().thread.participants[toFlatCommunicationIdentifier(this.context.getState().userId)];\n return userAddedToThread;\n }, 20);\n\n // If the call adapter's call has been changed while for waiting for breakout room chat adapter to be ready\n // then don't update the chat adapter\n if (this.context.getState().call?.id !== call.id) {\n return;\n }\n this.updateChatAdapter(this.breakoutRoomChatAdapter);\n }\n }\n private async setBreakoutRoomChatAdapterToThread(targetThreadId: string): Promise<ChatAdapter> {\n if (this.breakoutRoomChatAdapter) {\n // If the breakout room chat adapter is not set on the target thread then unsubscribe, dispose, and\n // reinitialize the chat adapter for the target thread\n if (this.breakoutRoomChatAdapter.getState().thread.threadId !== targetThreadId) {\n this.breakoutRoomChatAdapter.offStateChange(this.onChatStateChange);\n this.breakoutRoomChatAdapter.dispose();\n const newBreakoutRoomChatAdapter = await this.createNewChatAdapterForThread(targetThreadId);\n return newBreakoutRoomChatAdapter;\n } else {\n return this.breakoutRoomChatAdapter;\n }\n } else {\n // Initiliaze the breakout room chat adapter for the target thread\n const newBreakoutRoomChatAdapter = await this.createNewChatAdapterForThread(targetThreadId);\n return newBreakoutRoomChatAdapter;\n }\n }\n public setChatAdapterPromise(chatAdapter: Promise<ChatAdapter>): void {\n chatAdapter.then(adapter => {\n if (!this.isAdapterDisposed) {\n this.updateChatAdapter(adapter);\n this.originCallChatAdapter = adapter;\n }\n });\n }\n public setCreateChatAdapterCallback(chatThreadCallBack: (threadId: string) => Promise<ChatAdapter>): void {\n this.createChatAdapterCallback = chatThreadCallBack;\n }\n public createNewChatAdapterForThread(threadId: string): Promise<ChatAdapter> {\n if (this.createChatAdapterCallback) {\n return this.createChatAdapterCallback(threadId);\n }\n throw new Error('Unable to create chat adapter for thread because createChatAdapterCallback is not set');\n }\n private updateChatAdapter(chatAdapter: ChatAdapter): void {\n this.chatAdapter?.offStateChange(this.onChatStateChange);\n this.chatAdapter = chatAdapter;\n this.chatAdapter.onStateChange(this.onChatStateChange);\n this.context.updateClientStateWithChatState(chatAdapter.getState());\n this.emitter.emit('chatInitialized', this.chatAdapter);\n }\n private bindPublicMethods(): void {\n this.joinCall.bind(this);\n this.leaveCall.bind(this);\n this.startCall.bind(this);\n this.onStateChange.bind(this);\n this.offStateChange.bind(this);\n this.getState.bind(this);\n this.dispose.bind(this);\n this.setCamera.bind(this);\n this.setMicrophone.bind(this);\n this.setSpeaker.bind(this);\n this.askDevicePermission.bind(this);\n this.queryCameras.bind(this);\n this.queryMicrophones.bind(this);\n this.querySpeakers.bind(this);\n this.startCamera.bind(this);\n this.stopCamera.bind(this);\n this.mute.bind(this);\n this.unmute.bind(this);\n this.startScreenShare.bind(this);\n this.stopScreenShare.bind(this);\n this.raiseHand.bind(this);\n this.lowerHand.bind(this);\n this.onReactionClick.bind(this);\n this.removeParticipant.bind(this);\n this.createStreamView.bind(this);\n this.disposeStreamView.bind(this);\n this.disposeScreenShareStreamView.bind(this);\n this.fetchInitialData.bind(this);\n this.sendMessage.bind(this);\n this.sendReadReceipt.bind(this);\n this.sendTypingIndicator.bind(this);\n this.loadPreviousChatMessages.bind(this);\n this.updateMessage.bind(this);\n this.deleteMessage.bind(this);\n this.on.bind(this);\n this.off.bind(this);\n this.downloadResourceToCache = this.downloadResourceToCache.bind(this);\n this.removeResourceFromCache = this.removeResourceFromCache.bind(this);\n this.holdCall.bind(this);\n this.resumeCall.bind(this);\n this.addParticipant.bind(this);\n this.sendDtmfTone.bind(this);\n this.startCaptions.bind(this);\n this.stopCaptions.bind(this);\n this.setSpokenLanguage.bind(this);\n this.setCaptionLanguage.bind(this);\n this.startVideoBackgroundEffect.bind(this);\n this.stopVideoBackgroundEffects.bind(this);\n this.updateBackgroundPickerImages.bind(this);\n this.startNoiseSuppressionEffect.bind(this);\n this.stopNoiseSuppressionEffect.bind(this);\n }\n\n /** Join existing Call. */\n public joinCall(options?: boolean | JoinCallOptions): Call | undefined {\n if (typeof options === 'boolean') {\n return this.callAdapter.joinCall(options);\n } else {\n return this.callAdapter.joinCall(options);\n }\n }\n /** Leave current Call. */\n public async leaveCall(forEveryone?: boolean): Promise<void> {\n // Only remove self from the GroupCall. Contoso must manage access to Chat.\n await this.callAdapter.leaveCall(forEveryone);\n }\n\n /** Start a new Call. */\n public startCall(participants: string[], options?: StartCallOptions): Call | undefined;\n /** Start a new Call. */\n public startCall(participants: StartCallIdentifier[], options?: StartCallOptions): Call | undefined;\n /** Start a new Call. */\n public startCall(participants: string[] | StartCallIdentifier[], options?: StartCallOptions): Call | undefined {\n if (participants.length === 0) {\n throw new Error('At least one participant is required to start a call');\n }\n if (typeof participants[0] === 'string') {\n return this.callAdapter.startCall(participants as string[], options);\n } else {\n return this.callAdapter.startCall(participants as StartCallIdentifier[], options);\n }\n }\n /**\n * Subscribe to state change events.\n * @param handler - handler to be called when the state changes. This is passed the new state.\n */\n public onStateChange(handler: (state: CallWithChatAdapterState) => void): void {\n this.context.onStateChange(handler);\n }\n /**\n * Unsubscribe to state change events.\n * @param handler - handler to be no longer called when state changes.\n */\n public offStateChange(handler: (state: CallWithChatAdapterState) => void): void {\n this.context.offStateChange(handler);\n }\n /** Get current Call and Chat state. */\n public getState(): CallWithChatAdapterState {\n return this.context.getState();\n }\n /** Dispose of the current CallWithChatAdapter. */\n public dispose(): void {\n this.isAdapterDisposed = true;\n if (this.chatAdapter) {\n this.chatAdapter.offStateChange(this.onChatStateChange);\n this.chatAdapter.dispose();\n }\n this.callAdapter.offStateChange(this.onCallStateChange);\n this.callAdapter.dispose();\n }\n /** Remove a participant from the Call only. */\n public async removeParticipant(userId: string | CommunicationIdentifier): Promise<void> {\n let participant = userId;\n participant = _toCommunicationIdentifier(userId);\n await this.callAdapter.removeParticipant(participant);\n }\n public async setCamera(device: VideoDeviceInfo, options?: VideoStreamOptions): Promise<void> {\n await this.callAdapter.setCamera(device, options);\n }\n /** Set the microphone to be used in the Call. */\n public async setMicrophone(device: AudioDeviceInfo): Promise<void> {\n await this.callAdapter.setMicrophone(device);\n }\n /** Set the speaker to be used in the Call. */\n public async setSpeaker(device: AudioDeviceInfo): Promise<void> {\n await this.callAdapter.setSpeaker(device);\n }\n public async askDevicePermission(constraints: PermissionConstraints): Promise<DeviceAccess> {\n return await this.callAdapter.askDevicePermission(constraints);\n }\n /** Query for available cameras. */\n public async queryCameras(): Promise<VideoDeviceInfo[]> {\n return await this.callAdapter.queryCameras();\n }\n /** Query for available microphones. */\n public async queryMicrophones(): Promise<AudioDeviceInfo[]> {\n return await this.callAdapter.queryMicrophones();\n }\n /** Query for available speakers. */\n public async querySpeakers(): Promise<AudioDeviceInfo[]> {\n return await this.callAdapter.querySpeakers();\n }\n /** Start the camera for the user in the Call. */\n public async startCamera(options?: VideoStreamOptions): Promise<void> {\n await this.callAdapter.startCamera(options);\n }\n /** Stop the camera for the user in the Call. */\n public async stopCamera(): Promise<void> {\n await this.callAdapter.stopCamera();\n }\n /** Mute the user in the Call. */\n public async mute(): Promise<void> {\n await this.callAdapter.mute();\n }\n /** Unmute the user in the Call. */\n public async unmute(): Promise<void> {\n await this.callAdapter.unmute();\n }\n /** Trigger the user to start screen share. */\n public async startScreenShare(): Promise<void> {\n await this.callAdapter.startScreenShare();\n }\n /** Stop the current active screen share. */\n public async stopScreenShare(): Promise<void> {\n await this.callAdapter.stopScreenShare();\n }\n /** Raise hand for local user. */\n public async raiseHand(): Promise<void> {\n await this.callAdapter.raiseHand();\n }\n /** Lower hand for local user. */\n public async lowerHand(): Promise<void> {\n await this.callAdapter.lowerHand();\n }\n /** Reaction clicked by the local user. */\n public async onReactionClick(reaction: Reaction): Promise<void> {\n await this.callAdapter.onReactionClick(reaction);\n }\n /** Create a stream view for a remote participants video feed. */\n public async createStreamView(remoteUserId?: string, options?: VideoStreamOptions): Promise<void | CreateVideoStreamViewResult> {\n return await this.callAdapter.createStreamView(remoteUserId, options);\n }\n /** Dispose of a created stream view of a remote participants video feed. */\n public async disposeStreamView(remoteUserId?: string, options?: VideoStreamOptions): Promise<void> {\n await this.callAdapter.disposeStreamView(remoteUserId, options);\n }\n /** Dispose of a remote screen share */\n public async disposeScreenShareStreamView(remoteUserId: string): Promise<void> {\n await this.callAdapter.disposeScreenShareStreamView(remoteUserId);\n }\n /** Dispose of a remote video stream */\n public async disposeRemoteVideoStreamView(remoteUserId: string): Promise<void> {\n await this.callAdapter.disposeRemoteVideoStreamView(remoteUserId);\n }\n /** Dispose of the local video stream */\n public async disposeLocalVideoStreamView(): Promise<void> {\n await this.callAdapter.disposeLocalVideoStreamView();\n }\n /** Fetch initial Call and Chat data such as chat messages. */\n public async fetchInitialData(): Promise<void> {\n return await this.executeWithResolvedChatAdapter(adapter => {\n return adapter.fetchInitialData();\n });\n }\n /** Send a chat message. */\n public async sendMessage(content: string): Promise<void> {\n return await this.executeWithResolvedChatAdapter(adapter => {\n return adapter.sendMessage(content);\n });\n }\n /** Send a chat read receipt. */\n public async sendReadReceipt(chatMessageId: string): Promise<void> {\n return await this.executeWithResolvedChatAdapter(adapter => {\n return adapter.sendReadReceipt(chatMessageId);\n });\n }\n /** Send an isTyping indicator. */\n public async sendTypingIndicator(): Promise<void> {\n return await this.executeWithResolvedChatAdapter(adapter => {\n return adapter.sendTypingIndicator();\n });\n }\n /** Load previous Chat messages. */\n public async loadPreviousChatMessages(messagesToLoad: number): Promise<boolean> {\n return await this.executeWithResolvedChatAdapter(adapter => {\n return adapter.loadPreviousChatMessages(messagesToLoad);\n });\n }\n /** Update an existing message. */\n public async updateMessage(messageId: string, content: string, options?: Record<string, string>): Promise<void> {\n return this.executeWithResolvedChatAdapter(adapter => {\n return adapter.updateMessage(messageId, content, options);\n });\n }\n /** Delete an existing message. */\n public async deleteMessage(messageId: string): Promise<void> {\n return await this.executeWithResolvedChatAdapter(adapter => {\n return adapter.deleteMessage(messageId);\n });\n }\n public async downloadResourceToCache(resourceDetails: ResourceDetails): Promise<void> {\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.downloadResourceToCache(resourceDetails);\n });\n }\n public removeResourceFromCache(resourceDetails: ResourceDetails): void {\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.removeResourceFromCache(resourceDetails);\n });\n }\n public async holdCall(): Promise<void> {\n return await this.callAdapter.holdCall();\n }\n public async resumeCall(): Promise<void> {\n return await this.callAdapter.resumeCall();\n }\n public async addParticipant(participant: PhoneNumberIdentifier, options?: AddPhoneNumberOptions): Promise<void>;\n public async addParticipant(participant: CommunicationUserIdentifier): Promise<void>;\n public async addParticipant(participant: PhoneNumberIdentifier | CommunicationUserIdentifier, options?: AddPhoneNumberOptions): Promise<void> {\n if (isCommunicationUserIdentifier(participant)) {\n return await this.callAdapter.addParticipant(participant);\n } else {\n return await this.callAdapter.addParticipant(participant, options);\n }\n }\n public async sendDtmfTone(dtmfTone: DtmfTone): Promise<void> {\n return await this.callAdapter.sendDtmfTone(dtmfTone);\n }\n public async startCaptions(options?: StartCaptionsAdapterOptions): Promise<void> {\n await this.callAdapter.startCaptions(options);\n }\n public async stopCaptions(options?: StopCaptionsAdapterOptions): Promise<void> {\n await this.callAdapter.stopCaptions(options);\n }\n public async setCaptionLanguage(language: string): Promise<void> {\n await this.callAdapter.setCaptionLanguage(language);\n }\n public async setSpokenLanguage(language: string): Promise<void> {\n await this.callAdapter.setSpokenLanguage(language);\n }\n public async startVideoBackgroundEffect(videoBackgroundEffect: VideoBackgroundEffect): Promise<void> {\n await this.callAdapter.startVideoBackgroundEffect(videoBackgroundEffect);\n }\n public async stopVideoBackgroundEffects(): Promise<void> {\n return await this.callAdapter.stopVideoBackgroundEffects();\n }\n public updateBackgroundPickerImages(backgroundImages: VideoBackgroundImage[]): void {\n return this.callAdapter.updateBackgroundPickerImages(backgroundImages);\n }\n public updateSelectedVideoBackgroundEffect(selectedVideoBackground: VideoBackgroundEffect): void {\n return this.callAdapter.updateSelectedVideoBackgroundEffect(selectedVideoBackground);\n }\n public async startNoiseSuppressionEffect(): Promise<void> {\n return await this.callAdapter.startNoiseSuppressionEffect();\n }\n public async stopNoiseSuppressionEffect(): Promise<void> {\n return await this.callAdapter.stopNoiseSuppressionEffect();\n }\n public async submitSurvey(survey: CallSurvey): Promise<CallSurveyResponse | undefined> {\n return this.callAdapter.submitSurvey(survey);\n }\n public async startSpotlight(userIds?: string[]): Promise<void> {\n return this.callAdapter.startSpotlight(userIds);\n }\n public async stopSpotlight(userIds?: string[]): Promise<void> {\n return this.callAdapter.stopSpotlight(userIds);\n }\n public async stopAllSpotlight(): Promise<void> {\n return this.callAdapter.stopAllSpotlight();\n }\n public async muteParticipant(userId: string): Promise<void> {\n return this.callAdapter.muteParticipant(userId);\n }\n public async muteAllRemoteParticipants(): Promise<void> {\n return this.callAdapter.muteAllRemoteParticipants();\n }\n public async returnFromBreakoutRoom(): Promise<void> {\n if (this.originCallChatAdapter && this.context.getState().chat?.threadId !== this.originCallChatAdapter.getState().thread.threadId) {\n this.breakoutRoomChatAdapter?.dispose();\n this.updateChatAdapter(this.originCallChatAdapter);\n }\n\n // Check if breakout room settings are defined to verify the user is in a breakout room before\n // returning to the origin call.\n const breakoutRoomSettings = this.context.getState().call?.breakoutRooms?.breakoutRoomSettings;\n if (breakoutRoomSettings) {\n await this.callAdapter.returnFromBreakoutRoom();\n }\n }\n public async forbidAudio(userIds: string[]): Promise<void> {\n return this.callAdapter.forbidAudio(userIds);\n }\n public async permitAudio(userIds: string[]): Promise<void> {\n return this.callAdapter.permitAudio(userIds);\n }\n public async forbidOthersAudio(): Promise<void> {\n return this.callAdapter.forbidOthersAudio();\n }\n public async permitOthersAudio(): Promise<void> {\n return this.callAdapter.permitOthersAudio();\n }\n public async forbidVideo(userIds: string[]): Promise<void> {\n return this.callAdapter.forbidVideo(userIds);\n }\n public async permitVideo(userIds: string[]): Promise<void> {\n return this.callAdapter.permitVideo(userIds);\n }\n public async forbidOthersVideo(): Promise<void> {\n return this.callAdapter.forbidOthersVideo();\n }\n public async permitOthersVideo(): Promise<void> {\n return this.callAdapter.permitOthersVideo();\n }\n on(event: 'callParticipantsJoined', listener: ParticipantsJoinedListener): void;\n on(event: 'callParticipantsLeft', listener: ParticipantsLeftListener): void;\n on(event: 'callEnded', listener: CallEndedListener): void;\n on(event: 'callError', listener: (e: AdapterError) => void): void;\n on(event: 'isMutedChanged', listener: IsMutedChangedListener): void;\n on(event: 'callIdChanged', listener: CallIdChangedListener): void;\n on(event: 'isLocalScreenSharingActiveChanged', listener: IsLocalScreenSharingActiveChangedListener): void;\n on(event: 'displayNameChanged', listener: DisplayNameChangedListener): void;\n on(event: 'isSpeakingChanged', listener: IsSpeakingChangedListener): void;\n on(event: 'messageReceived', listener: MessageReceivedListener): void;\n on(event: 'messageEdited', listener: MessageEditedListener): void;\n on(event: 'messageDeleted', listener: MessageDeletedListener): void;\n on(event: 'messageSent', listener: MessageReceivedListener): void;\n on(event: 'messageRead', listener: MessageReadListener): void;\n on(event: 'chatParticipantsAdded', listener: ParticipantsAddedListener): void;\n on(event: 'chatParticipantsRemoved', listener: ParticipantsRemovedListener): void;\n on(event: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;\n on(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;\n on(event: 'chatError', listener: (e: AdapterError) => void): void;\n on(event: 'captionsReceived', listener: CaptionsReceivedListener): void;\n on(event: 'isCaptionsActiveChanged', listener: IsCaptionsActiveChangedListener): void;\n on(event: 'isCaptionLanguageChanged', listener: IsCaptionLanguageChangedListener): void;\n on(event: 'isSpokenLanguageChanged', listener: IsSpokenLanguageChangedListener): void;\n on(event: 'capabilitiesChanged', listener: CapabilitiesChangedListener): void;\n on(event: 'spotlightChanged', listener: SpotlightChangedListener): void;\n on(event: 'breakoutRoomsUpdated', listener: BreakoutRoomsUpdatedListener): void;\n on(event: 'chatInitialized', listener: ChatInitializedListener): void;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n on(event: CallWithChatEvent, listener: any): void {\n switch (event) {\n case 'callParticipantsJoined':\n this.callAdapter.on('participantsJoined', listener);\n break;\n case 'callParticipantsLeft':\n this.callAdapter.on('participantsLeft', listener);\n break;\n case 'callEnded':\n this.callAdapter.on('callEnded', listener);\n break;\n case 'isMutedChanged':\n this.callAdapter.on('isMutedChanged', listener);\n break;\n case 'callIdChanged':\n this.callAdapter.on('callIdChanged', listener);\n break;\n case 'isLocalScreenSharingActiveChanged':\n this.callAdapter.on('isLocalScreenSharingActiveChanged', listener);\n break;\n case 'displayNameChanged':\n this.callAdapter.on('displayNameChanged', listener);\n break;\n case 'isSpeakingChanged':\n this.callAdapter.on('isSpeakingChanged', listener);\n break;\n case 'selectedMicrophoneChanged':\n this.callAdapter.on('selectedMicrophoneChanged', listener);\n break;\n case 'selectedSpeakerChanged':\n this.callAdapter.on('selectedSpeakerChanged', listener);\n break;\n case 'captionsReceived':\n this.callAdapter.on('captionsReceived', listener);\n break;\n case 'isCaptionsActiveChanged':\n this.callAdapter.on('isCaptionsActiveChanged', listener);\n break;\n case 'isCaptionLanguageChanged':\n this.callAdapter.on('isCaptionLanguageChanged', listener);\n break;\n case 'isSpokenLanguageChanged':\n this.callAdapter.on('isSpokenLanguageChanged', listener);\n break;\n case 'messageReceived':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.on('messageReceived', listener);\n });\n break;\n case 'messageEdited':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.on('messageEdited', listener);\n });\n break;\n case 'messageDeleted':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.on('messageDeleted', listener);\n });\n break;\n case 'messageSent':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.on('messageSent', listener);\n });\n break;\n case 'messageRead':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.on('messageRead', listener);\n });\n break;\n case 'chatParticipantsAdded':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.on('participantsAdded', listener);\n });\n break;\n case 'chatParticipantsRemoved':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.on('participantsRemoved', listener);\n });\n break;\n case 'callError':\n this.callAdapter.on('error', listener);\n break;\n case 'chatError':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.on('error', listener);\n });\n break;\n case 'chatInitialized':\n this.emitter.on(event, listener);\n break;\n case 'capabilitiesChanged':\n this.callAdapter.on('capabilitiesChanged', listener);\n break;\n case 'spotlightChanged':\n this.callAdapter.on('spotlightChanged', listener);\n break;\n case 'breakoutRoomsUpdated':\n this.callAdapter.on('breakoutRoomsUpdated', listener);\n break;\n default:\n throw `Unknown AzureCommunicationCallWithChatAdapter Event: ${event}`;\n }\n }\n off(event: 'callParticipantsJoined', listener: ParticipantsJoinedListener): void;\n off(event: 'callParticipantsLeft', listener: ParticipantsLeftListener): void;\n off(event: 'callEnded', listener: CallEndedListener): void;\n off(event: 'callError', listener: (e: AdapterError) => void): void;\n off(event: 'isMutedChanged', listener: IsMutedChangedListener): void;\n off(event: 'callIdChanged', listener: CallIdChangedListener): void;\n off(event: 'isLocalScreenSharingActiveChanged', listener: IsLocalScreenSharingActiveChangedListener): void;\n off(event: 'displayNameChanged', listener: DisplayNameChangedListener): void;\n off(event: 'isSpeakingChanged', listener: IsSpeakingChangedListener): void;\n off(event: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;\n off(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;\n off(event: 'messageReceived', listener: MessageReceivedListener): void;\n off(event: 'messageEdited', listener: MessageEditedListener): void;\n off(event: 'messageDeleted', listener: MessageDeletedListener): void;\n off(event: 'messageSent', listener: MessageReceivedListener): void;\n off(event: 'messageRead', listener: MessageReadListener): void;\n off(event: 'chatParticipantsAdded', listener: ParticipantsAddedListener): void;\n off(event: 'chatParticipantsRemoved', listener: ParticipantsRemovedListener): void;\n off(event: 'chatError', listener: (e: AdapterError) => void): void;\n off(event: 'captionsReceived', listener: CaptionsReceivedListener): void;\n off(event: 'isCaptionsActiveChanged', listener: IsCaptionsActiveChangedListener): void;\n off(event: 'isCaptionLanguageChanged', listener: IsCaptionLanguageChangedListener): void;\n off(event: 'isSpokenLanguageChanged', listener: IsSpokenLanguageChangedListener): void;\n off(event: 'capabilitiesChanged', listener: CapabilitiesChangedListener): void;\n off(event: 'spotlightChanged', listener: SpotlightChangedListener): void;\n off(event: 'chatInitialized', listener: ChatInitializedListener): void;\n off(event: 'breakoutRoomsUpdated', listener: BreakoutRoomsUpdatedListener): void;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n off(event: CallWithChatEvent, listener: any): void {\n switch (event as unknown) {\n case 'callParticipantsJoined':\n this.callAdapter.off('participantsJoined', listener);\n break;\n case 'callParticipantsLeft':\n this.callAdapter.off('participantsLeft', listener);\n break;\n case 'callEnded':\n this.callAdapter.off('callEnded', listener);\n break;\n case 'isMutedChanged':\n this.callAdapter.off('isMutedChanged', listener);\n break;\n case 'callIdChanged':\n this.callAdapter.off('callIdChanged', listener);\n break;\n case 'isLocalScreenSharingActiveChanged':\n this.callAdapter.off('isLocalScreenSharingActiveChanged', listener);\n break;\n case 'displayNameChanged':\n this.callAdapter.off('displayNameChanged', listener);\n break;\n case 'isSpeakingChanged':\n this.callAdapter.off('isSpeakingChanged', listener);\n break;\n case 'selectedMicrophoneChanged':\n this.callAdapter.off('selectedMicrophoneChanged', listener);\n break;\n case 'selectedSpeakerChanged':\n this.callAdapter.off('selectedSpeakerChanged', listener);\n break;\n case 'captionsReceived':\n this.callAdapter.off('captionsReceived', listener);\n break;\n case 'isCaptionsActiveChanged':\n this.callAdapter.off('isCaptionsActiveChanged', listener);\n break;\n case 'isCaptionLanguageChanged':\n this.callAdapter.off('isCaptionLanguageChanged', listener);\n break;\n case 'isSpokenLanguageChanged':\n this.callAdapter.off('isSpokenLanguageChanged', listener);\n break;\n case 'messageReceived':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.off('messageReceived', listener);\n });\n break;\n case 'messageEdited':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.off('messageEdited', listener);\n });\n break;\n case 'messageDeleted':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.off('messageDeleted', listener);\n });\n break;\n case 'messageSent':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.off('messageSent', listener);\n });\n break;\n case 'messageRead':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.off('messageRead', listener);\n });\n break;\n case 'chatParticipantsAdded':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.off('participantsAdded', listener);\n });\n break;\n case 'chatParticipantsRemoved':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.off('participantsRemoved', listener);\n });\n break;\n case 'callError':\n this.callAdapter.off('error', listener);\n break;\n case 'chatError':\n this.executeWithResolvedChatAdapter(adapter => {\n adapter.off('error', listener);\n });\n break;\n case 'chatInitialized':\n this.emitter.off(event, listener);\n break;\n case 'capabilitiesChanged':\n this.callAdapter.off('capabilitiesChanged', listener);\n break;\n case 'spotlightChanged':\n this.callAdapter.off('spotlightChanged', listener);\n break;\n case 'breakoutRoomsUpdated':\n this.callAdapter.off('breakoutRoomsUpdated', listener);\n break;\n default:\n throw `Unknown AzureCommunicationCallWithChatAdapter Event: ${event}`;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private executeWithResolvedChatAdapter(callback: (adapter: ChatAdapter) => any): any {\n if (!this.chatAdapter) {\n console.error('Chat is not initialized');\n } else {\n return callback(this.chatAdapter);\n }\n }\n}\n\n/**\n * Provides a way to get the chat thread ID for a given locator.\n *\n * @private\n */\nexport interface ChatThreadProvider {\n isCallInfoRequired(): boolean;\n getChatThreadPromise(): Promise<string>;\n getChatThread(): string;\n}\n\n/**\n * Arguments for use in {@link createAzureCommunicationCallWithChatAdapter} to join a Group Call with an associated Chat thread.\n * @private\n */\nexport class CallAndChatProvider implements ChatThreadProvider {\n public locator: CallAndChatLocator;\n constructor(locator: CallAndChatLocator) {\n this.locator = locator;\n }\n public isCallInfoRequired(): boolean {\n return false;\n }\n public async getChatThreadPromise(): Promise<string> {\n return this.getChatThread();\n }\n public getChatThread(): string {\n return this.locator.chatThreadId;\n }\n}\n\n/**\n * Arguments for use in {@link createAzureCommunicationCallWithChatAdapter} to join a Teams meeting with an associated Chat thread.\n *\n * @private\n */\nexport class TeamsMeetingLinkProvider implements ChatThreadProvider {\n public locator: TeamsMeetingLinkLocator;\n private callAdapterPromise: Promise<CallAdapter>;\n private callAdapterSubscription?: (state: CallAdapterState) => void;\n constructor(locator: TeamsMeetingLinkLocator, callAdapterPromise: Promise<CallAdapter>) {\n this.locator = locator;\n this.callAdapterPromise = callAdapterPromise;\n }\n public isCallInfoRequired(): boolean {\n return true;\n }\n public getChatThread(): string {\n throw new Error('Chat thread ID should be retrieved from call.callInfo using method getChatThreadPromise');\n }\n public async getChatThreadPromise(): Promise<string> {\n {\n // Wait for the call to be connected and get the chat thread ID from `call.callInfo`.\n const chatThreadPromise = new Promise<string>(resolve => {\n this.callAdapterPromise.then(callAdapter => {\n // Ensure function is idempotent by removing any existing subscription.\n this.callAdapterSubscription && callAdapter.offStateChange(this.callAdapterSubscription);\n this.callAdapterSubscription = (state: CallAdapterState): void => {\n if (state.call?.state === 'Connected' && state.call.info?.threadId) {\n this.callAdapterSubscription && callAdapter.offStateChange(this.callAdapterSubscription);\n this.callAdapterSubscription = undefined;\n resolve(state.call.info?.threadId);\n }\n };\n callAdapter.onStateChange(this.callAdapterSubscription);\n });\n });\n return chatThreadPromise;\n }\n }\n}\n\n/**\n * Arguments for use in {@link createAzureCommunicationCallWithChatAdapter} to join a Teams meeting using meeting id.\n *\n * @private\n */\nexport class TeamsMeetingIdProvider implements ChatThreadProvider {\n public locator: TeamsMeetingIdLocator;\n private callAdapter: Promise<CallAdapter>;\n constructor(locator: TeamsMeetingIdLocator, callAdapter: Promise<CallAdapter>) {\n this.locator = locator;\n this.callAdapter = callAdapter;\n }\n public isCallInfoRequired(): boolean {\n return true;\n }\n public getChatThread(): string {\n throw new Error('Chat thread ID is not available for Teams meeting ID');\n }\n\n /**\n * Wait call to be connected to get thread ID.\n * @returns the chat thread ID for the given meeting ID.\n */\n public async getChatThreadPromise(): Promise<string> {\n return new Promise<string>(resolve => {\n const stateChangeListener = (state: CallAdapterState): void => {\n if (state.call?.state === 'Connected' && state.call.info?.threadId) {\n this.callAdapter.then(adapter => {\n adapter.offStateChange(stateChangeListener);\n });\n resolve(state.call.info?.threadId);\n }\n };\n this.callAdapter.then(adapter => {\n const callState = adapter.getState().call?.state;\n const threadId = adapter.getState().call?.info?.threadId;\n if (callState === 'Connected' && threadId) {\n resolve(threadId);\n } else {\n adapter.onStateChange(stateChangeListener);\n }\n });\n });\n }\n}\n\n/**\n * Combination of available adapters for use in {@link createAzureCommunicationCallWithChatAdapter}.\n * @public\n */\nexport type CommunicationAdapter = CallAndChatProvider | TeamsMeetingLinkProvider | TeamsMeetingIdProvider;\n\n/**\n * Arguments for use in {@link createAzureCommunicationCallWithChatAdapter} to join a Call with an associated Chat thread.\n *\n * @public\n */\nexport interface CallAndChatLocator {\n /** Locator used by {@link createAzureCommunicationCallWithChatAdapter} to locate the call to join */\n callLocator: GroupCallLocator;\n /** Chat thread ID used by {@link createAzureCommunicationCallWithChatAdapter} to locate the chat thread to join */\n chatThreadId: string;\n}\n\n/**\n * Arguments for {@link createAzureCommunicationCallWithChatAdapter}\n *\n * @public\n */\nexport type AzureCommunicationCallWithChatAdapterArgs = {\n endpoint: string;\n userId: CommunicationUserIdentifier;\n displayName: string;\n credential: CommunicationTokenCredential;\n locator: CallAndChatLocator | TeamsMeetingLinkLocator | TeamsMeetingIdLocator;\n alternateCallerId?: string;\n callAdapterOptions?: AzureCommunicationCallAdapterOptions;\n};\n\n/**\n * Create a CallWithChatAdapter backed by Azure Communication services\n * to plug into the {@link CallWithChatComposite}.\n *\n * @public\n */\nexport const createAzureCommunicationCallWithChatAdapter = async ({\n userId,\n displayName,\n credential,\n endpoint,\n locator,\n alternateCallerId,\n callAdapterOptions\n}: AzureCommunicationCallWithChatAdapterArgs): Promise<CallWithChatAdapter> => {\n const callAdapterLocator = isTeamsMeetingLocator(locator) ? locator : locator.callLocator;\n const callAdapter = _createAzureCommunicationCallAdapterInner({\n userId,\n displayName,\n credential,\n locator: callAdapterLocator,\n alternateCallerId,\n options: callAdapterOptions,\n telemetryImplementationHint: 'CallWithChat' as _TelemetryImplementationHint\n });\n const chatThreadAdapter = _createChatThreadAdapterInner(locator, callAdapter);\n if (chatThreadAdapter.isCallInfoRequired()) {\n const callWithChatAdapter = new AzureCommunicationCallWithChatAdapter(await callAdapter);\n const chatAdapterPromise = _createLazyAzureCommunicationChatAdapterInner(endpoint, userId, displayName, credential, chatThreadAdapter.getChatThreadPromise(), 'CallWithChat' as _TelemetryImplementationHint);\n callWithChatAdapter.setChatAdapterPromise(chatAdapterPromise);\n callWithChatAdapter.setCreateChatAdapterCallback((threadId: string) => _createAzureCommunicationChatAdapterInner(endpoint, userId, displayName, credential, threadId, 'CallWithChat' as _TelemetryImplementationHint));\n return callWithChatAdapter;\n } else {\n const chatAdapter = _createAzureCommunicationChatAdapterInner(endpoint, userId, displayName, credential, chatThreadAdapter.getChatThread(), 'CallWithChat' as _TelemetryImplementationHint);\n const callWithChatAdapter = new AzureCommunicationCallWithChatAdapter(await callAdapter, await chatAdapter);\n callWithChatAdapter.setCreateChatAdapterCallback((threadId: string) => _createAzureCommunicationChatAdapterInner(endpoint, userId, displayName, credential, threadId, 'CallWithChat' as _TelemetryImplementationHint));\n return callWithChatAdapter;\n }\n};\n\n/**\n * A custom React hook to simplify the creation of {@link CallWithChatAdapter}.\n *\n * Similar to {@link createAzureCommunicationCallWithChatAdapter}, but takes care of asynchronous\n * creation of the adapter internally.\n *\n * Allows arguments to be undefined so that you can respect the rule-of-hooks and pass in arguments\n * as they are created. The adapter is only created when all arguments are defined.\n *\n * Note that you must memoize the arguments to avoid recreating adapter on each render.\n * See storybook for typical usage examples.\n *\n * @public\n */\nexport const useAzureCommunicationCallWithChatAdapter = (args: Partial<AzureCommunicationCallWithChatAdapterArgs>, afterCreate?: (adapter: CallWithChatAdapter) => Promise<CallWithChatAdapter>, beforeDispose?: (adapter: CallWithChatAdapter) => Promise<void>): CallWithChatAdapter | undefined => {\n const {\n credential,\n displayName,\n endpoint,\n locator,\n userId,\n alternateCallerId,\n callAdapterOptions\n } = args;\n\n // State update needed to rerender the parent component when a new adapter is created.\n const [adapter, setAdapter] = useState<CallWithChatAdapter | undefined>(undefined);\n // Ref needed for cleanup to access the old adapter created asynchronously.\n const adapterRef = useRef<CallWithChatAdapter | undefined>(undefined);\n const creatingAdapterRef = useRef<boolean>(false);\n const afterCreateRef = useRef<((adapter: CallWithChatAdapter) => Promise<CallWithChatAdapter>) | undefined>(undefined);\n const beforeDisposeRef = useRef<((adapter: CallWithChatAdapter) => Promise<void>) | undefined>(undefined);\n // These refs are updated on *each* render, so that the latest values\n // are used in the `useEffect` closures below.\n // Using a Ref ensures that new values for the callbacks do not trigger the\n // useEffect blocks, and a new adapter creation / distruction is not triggered.\n afterCreateRef.current = afterCreate;\n beforeDisposeRef.current = beforeDispose;\n useEffect(() => {\n if (!credential || !displayName || !endpoint || !locator || !userId) {\n return;\n }\n (async () => {\n if (adapterRef.current) {\n // Dispose the old adapter when a new one is created.\n //\n // This clean up function uses `adapterRef` because `adapter` can not be added to the dependency array of\n // this `useEffect` -- we do not want to trigger a new adapter creation because of the first adapter\n // creation.\n if (beforeDisposeRef.current) {\n await beforeDisposeRef.current(adapterRef.current);\n }\n adapterRef.current.dispose();\n adapterRef.current = undefined;\n }\n if (creatingAdapterRef.current) {\n console.warn('Adapter is already being created, please see storybook for more information: https://azure.github.io/communication-ui-library/?path=/story/troubleshooting--page');\n return;\n }\n creatingAdapterRef.current = true;\n let newAdapter = await createAzureCommunicationCallWithChatAdapter({\n credential,\n displayName,\n endpoint,\n locator,\n userId,\n alternateCallerId,\n callAdapterOptions\n });\n if (afterCreateRef.current) {\n newAdapter = await afterCreateRef.current(newAdapter);\n }\n adapterRef.current = newAdapter;\n creatingAdapterRef.current = false;\n setAdapter(newAdapter);\n })();\n },\n // Explicitly list all arguments so that caller doesn't have to memoize the `args` object.\n [adapterRef, afterCreateRef, alternateCallerId, beforeDisposeRef, credential, displayName, endpoint, locator, userId, callAdapterOptions]);\n\n // Dispose any existing adapter when the component unmounts.\n useEffect(() => {\n return () => {\n (async () => {\n if (adapterRef.current) {\n if (beforeDisposeRef.current) {\n await beforeDisposeRef.current(adapterRef.current);\n }\n adapterRef.current.dispose();\n adapterRef.current = undefined;\n }\n })();\n };\n }, []);\n return adapter;\n};\n\n/**\n * Arguments for {@link createAzureCommunicationCallWithChatAdapterFromClient}\n *\n * @public\n */\nexport type AzureCommunicationCallWithChatAdapterFromClientArgs = {\n callLocator: CallAdapterLocator | TeamsMeetingLinkLocator;\n callAgent: CallAgent;\n callClient: StatefulCallClient;\n chatClient: StatefulChatClient;\n chatThreadClient: ChatThreadClient;\n callAdapterOptions?: AzureCommunicationCallAdapterOptions;\n};\n\n/**\n * Create a {@link CallWithChatAdapter} using the provided {@link StatefulChatClient} and {@link StatefulCallClient}.\n *\n * Useful if you want to keep a reference to {@link StatefulChatClient} and {@link StatefulCallClient}.\n * Please note that chatThreadClient has to be created by StatefulChatClient via chatClient.getChatThreadClient(chatThreadId) API.\n * Consider using {@link createAzureCommunicationCallWithChatAdapter} for a simpler API.\n *\n * @public\n */\nexport const createAzureCommunicationCallWithChatAdapterFromClients = async ({\n callClient,\n callAgent,\n callLocator,\n chatClient,\n chatThreadClient,\n callAdapterOptions\n}: AzureCommunicationCallWithChatAdapterFromClientArgs): Promise<CallWithChatAdapter> => {\n const callAdapter = await createAzureCommunicationCallAdapterFromClient(callClient, callAgent, callLocator, callAdapterOptions);\n const chatAdapter = await createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient);\n return new AzureCommunicationCallWithChatAdapter(callAdapter, chatAdapter);\n};\n\n/**\n * Create a {@link CallWithChatAdapter} from the underlying adapters.\n *\n * This is an internal factory function used by browser tests to inject fake adapters for call and chat.\n *\n * @internal\n */\nexport const _createAzureCommunicationCallWithChatAdapterFromAdapters = (callAdapter: CallAdapter, chatAdapter: ChatAdapter): CallWithChatAdapter => new AzureCommunicationCallWithChatAdapter(callAdapter, chatAdapter);\nconst isTeamsMeetingLocator = (locator: CallAndChatLocator | TeamsMeetingLinkLocator | TeamsMeetingIdLocator): locator is TeamsMeetingLinkLocator | TeamsMeetingIdLocator => {\n return 'meetingLink' in locator || 'meetingId' in locator;\n};\nconst _createChatThreadAdapterInner = (locator: CallAndChatLocator | TeamsMeetingLinkLocator | TeamsMeetingIdLocator, adapter: Promise<CallAdapter>): ChatThreadProvider => {\n if ('meetingLink' in locator) {\n return new TeamsMeetingLinkProvider(locator, adapter);\n }\n if ('meetingId' in locator) {\n return new TeamsMeetingIdProvider(locator, adapter);\n }\n return new CallAndChatProvider(locator);\n};"]}
@@ -1,5 +1,4 @@
1
1
  import { CallIdChangedListener, DisplayNameChangedListener, IsMutedChangedListener, IsLocalScreenSharingActiveChangedListener, IsSpeakingChangedListener, ParticipantsJoinedListener, ParticipantsLeftListener, CallEndedListener } from '../../CallComposite';
2
- import { RealTimeTextReceivedListener } from '../../CallComposite/adapter/CallAdapter';
3
2
  import { MessageDeletedListener, MessageEditedListener, MessageReadListener, MessageReceivedListener, MessageSentListener, ParticipantsAddedListener, ParticipantsRemovedListener } from '../../ChatComposite';
4
3
  import { ResourceDetails } from '../../ChatComposite';
5
4
  import { CallWithChatAdapterState } from '../state/CallWithChatAdapterState';
@@ -10,11 +9,8 @@ import { AddPhoneNumberOptions } from '@azure/communication-calling';
10
9
  import { BreakoutRoomsUpdatedListener } from '@azure/communication-calling';
11
10
  import { DtmfTone } from '@azure/communication-calling';
12
11
  import { CreateVideoStreamViewResult, VideoStreamOptions } from "../../../../../react-components/src";
13
- import { TogetherModeStreamViewResult, TogetherModeStreamOptions } from "../../../../../react-components/src";
14
12
  import { SendMessageOptions } from '@azure/communication-chat';
15
- import { UploadChatImageResult } from "../../../../../acs-ui-common/src";
16
13
  import { JoinCallOptions, StartCaptionsAdapterOptions, StopCaptionsAdapterOptions } from '../../CallComposite/adapter/CallAdapter';
17
- import { MessageOptions } from "../../../../../acs-ui-common/src";
18
14
  import { PhoneNumberIdentifier } from '@azure/communication-common';
19
15
  import { UnknownIdentifier, MicrosoftTeamsAppIdentifier } from '@azure/communication-common';
20
16
  import { CommunicationUserIdentifier } from '@azure/communication-common';
@@ -170,48 +166,6 @@ export interface CallWithChatAdapterManagement {
170
166
  * @public
171
167
  */
172
168
  disposeStreamView(remoteUserId?: string, options?: VideoStreamOptions): Promise<void>;
173
- /**
174
- * Create the html view for a togethermode stream.
175
- *
176
- * @remarks
177
- * This method is implemented for composite
178
- *
179
- * @param options - Options to control how video streams are rendered {@link @azure/communication-calling#VideoStreamOptions }
180
- *
181
- * @beta
182
- */
183
- createTogetherModeStreamView(options?: TogetherModeStreamOptions): Promise<void | TogetherModeStreamViewResult>;
184
- /**
185
- * Start together mode.
186
- *
187
- * @remarks
188
- * This method is implemented for composite
189
- *
190
- *
191
- * @beta
192
- */
193
- startTogetherMode(): Promise<void>;
194
- /**
195
- * Recalculate the seating positions for together mode.
196
- *
197
- * @remarks
198
- * This method is implemented for composite
199
- *
200
- * @param width - Width of the container
201
- * @param height - Height of the container
202
- *
203
- * @beta
204
- */
205
- setTogetherModeSceneSize(width: number, height: number): void;
206
- /**
207
- * Dispose the html view for a togethermode stream.
208
- *
209
- * @remarks
210
- * This method is implemented for composite
211
- *
212
- * @beta
213
- */
214
- disposeTogetherModeStreamView(): Promise<void>;
215
169
  /**
216
170
  * Dispose the html view for a screen share stream
217
171
  *
@@ -319,19 +273,7 @@ export interface CallWithChatAdapterManagement {
319
273
  *
320
274
  * @public
321
275
  */
322
- sendMessage(content: string, options?: SendMessageOptions | MessageOptions): Promise<void>;
323
- /**
324
- * Upload an inline image for a message.
325
- *
326
- * @beta
327
- */
328
- uploadImage(image: Blob, imageFilename: string): Promise<UploadChatImageResult>;
329
- /**
330
- * Delete an inline image for a message.
331
- *
332
- * @beta
333
- */
334
- deleteImage(imageId: string): Promise<void>;
276
+ sendMessage(content: string, options?: SendMessageOptions): Promise<void>;
335
277
  /**
336
278
  * Send a read receipt for a message.
337
279
  *
@@ -349,7 +291,7 @@ export interface CallWithChatAdapterManagement {
349
291
  *
350
292
  * @public
351
293
  */
352
- updateMessage(messageId: string, content: string, options?: Record<string, string> | MessageOptions): Promise<void>;
294
+ updateMessage(messageId: string, content: string, options?: Record<string, string>): Promise<void>;
353
295
  /**
354
296
  * Delete a message in the thread.
355
297
  *
@@ -394,10 +336,6 @@ export interface CallWithChatAdapterManagement {
394
336
  * @public
395
337
  */
396
338
  sendDtmfTone: (dtmfTone: DtmfTone) => Promise<void>;
397
- /**
398
- * Continues into a call when the browser version is not supported.
399
- */
400
- allowUnsupportedBrowserVersion(): void;
401
339
  /**
402
340
  * Function to Start captions
403
341
  * @param options - options for start captions
@@ -499,12 +437,6 @@ export interface CallWithChatAdapterManagement {
499
437
  forbidOthersVideo: () => Promise<void>;
500
438
  /** permits video for Teams meeting attendees except the local user. */
501
439
  permitOthersVideo: () => Promise<void>;
502
- /**
503
- * Send real time text
504
- * @param text - real time text content
505
- * @param finalized - Boolean to indicate if the real time text is final
506
- */
507
- sendRealTimeText: (text: string, isFinalized: boolean) => Promise<void>;
508
440
  }
509
441
  /**
510
442
  * Call and Chat events that can be subscribed to in the {@link CallWithChatAdapter}.
@@ -526,7 +458,6 @@ export interface CallWithChatAdapterSubscriptions {
526
458
  on(event: 'isCaptionsActiveChanged', listener: IsCaptionsActiveChangedListener): void;
527
459
  on(event: 'isCaptionLanguageChanged', listener: IsCaptionLanguageChangedListener): void;
528
460
  on(event: 'isSpokenLanguageChanged', listener: IsSpokenLanguageChangedListener): void;
529
- on(event: 'realTimeTextReceived', listener: RealTimeTextReceivedListener): void;
530
461
  on(event: 'capabilitiesChanged', listener: CapabilitiesChangedListener): void;
531
462
  on(event: 'spotlightChanged', listener: SpotlightChangedListener): void;
532
463
  on(event: 'breakoutRoomsUpdated', listener: BreakoutRoomsUpdatedListener): void;
@@ -545,7 +476,6 @@ export interface CallWithChatAdapterSubscriptions {
545
476
  off(event: 'isCaptionsActiveChanged', listener: IsCaptionsActiveChangedListener): void;
546
477
  off(event: 'isCaptionLanguageChanged', listener: IsCaptionLanguageChangedListener): void;
547
478
  off(event: 'isSpokenLanguageChanged', listener: IsSpokenLanguageChangedListener): void;
548
- off(event: 'realTimeTextReceived', listener: RealTimeTextReceivedListener): void;
549
479
  off(event: 'capabilitiesChanged', listener: CapabilitiesChangedListener): void;
550
480
  off(event: 'spotlightChanged', listener: SpotlightChangedListener): void;
551
481
  off(event: 'breakoutRoomsUpdated', listener: BreakoutRoomsUpdatedListener): void;
@@ -588,5 +518,5 @@ export interface CallWithChatAdapter extends CallWithChatAdapterManagement, Adap
588
518
  *
589
519
  * @public
590
520
  */
591
- export type CallWithChatEvent = 'callError' | 'chatError' | 'callEnded' | 'isMutedChanged' | 'callIdChanged' | 'isLocalScreenSharingActiveChanged' | 'displayNameChanged' | 'isSpeakingChanged' | 'callParticipantsJoined' | 'callParticipantsLeft' | 'selectedMicrophoneChanged' | 'selectedSpeakerChanged' | 'isCaptionsActiveChanged' | 'captionsReceived' | 'isCaptionLanguageChanged' | 'isSpokenLanguageChanged' | 'realTimeTextReceived' | 'capabilitiesChanged' | 'spotlightChanged' | 'breakoutRoomsUpdated' | 'messageReceived' | 'messageEdited' | 'messageDeleted' | 'messageSent' | 'messageRead' | 'chatParticipantsAdded' | 'chatParticipantsRemoved' | 'chatInitialized';
521
+ export type CallWithChatEvent = 'callError' | 'chatError' | 'callEnded' | 'isMutedChanged' | 'callIdChanged' | 'isLocalScreenSharingActiveChanged' | 'displayNameChanged' | 'isSpeakingChanged' | 'callParticipantsJoined' | 'callParticipantsLeft' | 'selectedMicrophoneChanged' | 'selectedSpeakerChanged' | 'isCaptionsActiveChanged' | 'captionsReceived' | 'isCaptionLanguageChanged' | 'isSpokenLanguageChanged' | 'capabilitiesChanged' | 'spotlightChanged' | 'breakoutRoomsUpdated' | 'messageReceived' | 'messageEdited' | 'messageDeleted' | 'messageSent' | 'messageRead' | 'chatParticipantsAdded' | 'chatParticipantsRemoved' | 'chatInitialized';
592
522
  //# sourceMappingURL=CallWithChatAdapter.d.ts.map