botframework-webchat-component 4.18.1-main.20260511.8fcd02a → 4.18.1

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 (1387) hide show
  1. package/dist/botframework-webchat-component.d.mts +2312 -62
  2. package/dist/botframework-webchat-component.internal.d.mts +3 -68
  3. package/dist/botframework-webchat-component.internal.mjs +2 -1
  4. package/dist/botframework-webchat-component.internal.mjs.LEGAL.txt +0 -0
  5. package/dist/botframework-webchat-component.mjs +11 -1
  6. package/dist/botframework-webchat-component.mjs.LEGAL.txt +0 -0
  7. package/dist/botframework-webchat-component.mjs.map +1 -1
  8. package/dist/chunk-X37JABN5.mjs +5 -0
  9. package/dist/chunk-X37JABN5.mjs.LEGAL.txt +0 -0
  10. package/dist/chunk-X37JABN5.mjs.map +1 -0
  11. package/dist/metafile-esm.json +1 -1
  12. package/internal.js +1 -1
  13. package/lib/Activity/Avatar.d.ts +10 -0
  14. package/lib/Activity/Avatar.d.ts.map +1 -0
  15. package/lib/Activity/Avatar.js +35 -0
  16. package/lib/Activity/Bubble.d.ts +11 -0
  17. package/lib/Activity/Bubble.d.ts.map +1 -0
  18. package/lib/Activity/Bubble.js +137 -0
  19. package/lib/Activity/CarouselFilmStrip.js +264 -0
  20. package/lib/Activity/CarouselFilmStripAttachment.js +93 -0
  21. package/lib/Activity/CarouselLayout.js +133 -0
  22. package/lib/Activity/SayAlt.js +31 -0
  23. package/lib/Activity/Speak.d.ts +8 -0
  24. package/lib/Activity/Speak.d.ts.map +1 -0
  25. package/lib/Activity/Speak.js +99 -0
  26. package/lib/Activity/StackedLayout.d.ts +17 -0
  27. package/lib/Activity/StackedLayout.d.ts.map +1 -0
  28. package/lib/Activity/StackedLayout.js +233 -0
  29. package/lib/ActivityStatus/AbsoluteTime.js +38 -0
  30. package/lib/ActivityStatus/OthersActivityStatus.d.ts +8 -0
  31. package/lib/ActivityStatus/OthersActivityStatus.d.ts.map +1 -0
  32. package/lib/ActivityStatus/OthersActivityStatus.js +105 -0
  33. package/lib/ActivityStatus/SelfActivityStatus.d.ts +8 -0
  34. package/lib/ActivityStatus/SelfActivityStatus.d.ts.map +1 -0
  35. package/lib/ActivityStatus/SelfActivityStatus.js +37 -0
  36. package/lib/ActivityStatus/SendStatus/SendStatus.d.ts +10 -0
  37. package/lib/ActivityStatus/SendStatus/SendStatus.d.ts.map +1 -0
  38. package/lib/ActivityStatus/SendStatus/SendStatus.js +58 -0
  39. package/lib/ActivityStatus/SendStatus/private/SendFailedRetry.js +35 -0
  40. package/lib/ActivityStatus/Slotted.d.ts +7 -0
  41. package/lib/ActivityStatus/Slotted.d.ts.map +1 -0
  42. package/lib/ActivityStatus/Slotted.js +31 -0
  43. package/lib/ActivityStatus/Timestamp.d.ts +7 -0
  44. package/lib/ActivityStatus/Timestamp.d.ts.map +1 -0
  45. package/lib/ActivityStatus/Timestamp.js +36 -0
  46. package/lib/ActivityStatus/private/Feedback/Feedback.d.ts +8 -0
  47. package/lib/ActivityStatus/private/Feedback/Feedback.d.ts.map +1 -0
  48. package/lib/ActivityStatus/private/Feedback/Feedback.js +67 -0
  49. package/lib/ActivityStatus/private/Feedback/private/ThumbButton.Image.d.ts +9 -0
  50. package/lib/ActivityStatus/private/Feedback/private/ThumbButton.Image.d.ts.map +1 -0
  51. package/lib/ActivityStatus/private/Feedback/private/ThumbButton.Image.js +34 -0
  52. package/lib/ActivityStatus/private/Feedback/private/ThumbButton.d.ts +9 -0
  53. package/lib/ActivityStatus/private/Feedback/private/ThumbButton.d.ts.map +1 -0
  54. package/lib/ActivityStatus/private/Feedback/private/ThumbButton.js +57 -0
  55. package/lib/ActivityStatus/private/Feedback/private/VoteButton.d.ts +10 -0
  56. package/lib/ActivityStatus/private/Feedback/private/VoteButton.d.ts.map +1 -0
  57. package/lib/ActivityStatus/private/Feedback/private/VoteButton.js +43 -0
  58. package/lib/ActivityStatus/private/Feedback/private/icons/ThumbDislike16Filled.d.ts +7 -0
  59. package/lib/ActivityStatus/private/Feedback/private/icons/ThumbDislike16Filled.d.ts.map +1 -0
  60. package/lib/ActivityStatus/private/Feedback/private/icons/ThumbDislike16Filled.js +28 -0
  61. package/lib/ActivityStatus/private/Feedback/private/icons/ThumbDislike16Regular.d.ts +7 -0
  62. package/lib/ActivityStatus/private/Feedback/private/icons/ThumbDislike16Regular.d.ts.map +1 -0
  63. package/lib/ActivityStatus/private/Feedback/private/icons/ThumbDislike16Regular.js +28 -0
  64. package/lib/ActivityStatus/private/Feedback/private/icons/ThumbLike16Filled.d.ts +7 -0
  65. package/lib/ActivityStatus/private/Feedback/private/icons/ThumbLike16Filled.d.ts.map +1 -0
  66. package/lib/ActivityStatus/private/Feedback/private/icons/ThumbLike16Filled.js +28 -0
  67. package/lib/ActivityStatus/private/Feedback/private/icons/ThumbLike16Regular.d.ts +7 -0
  68. package/lib/ActivityStatus/private/Feedback/private/icons/ThumbLike16Regular.d.ts.map +1 -0
  69. package/lib/ActivityStatus/private/Feedback/private/icons/ThumbLike16Regular.js +28 -0
  70. package/lib/ActivityStatus/private/Originator.d.ts +8 -0
  71. package/lib/ActivityStatus/private/Originator.d.ts.map +1 -0
  72. package/lib/ActivityStatus/private/Originator.js +29 -0
  73. package/lib/ActivityStatus/private/RelativeTime.js +37 -0
  74. package/lib/Assets/TypingAnimation.js +47 -0
  75. package/lib/Attachment/Assets/DownloadIcon.js +35 -0
  76. package/lib/Attachment/AudioAttachment.js +38 -0
  77. package/lib/Attachment/AudioContent.d.ts +11 -0
  78. package/lib/Attachment/AudioContent.d.ts.map +1 -0
  79. package/lib/Attachment/AudioContent.js +51 -0
  80. package/lib/Attachment/FileAttachment.js +43 -0
  81. package/lib/Attachment/FileContent.d.ts +10 -0
  82. package/lib/Attachment/FileContent.d.ts.map +1 -0
  83. package/lib/Attachment/FileContent.js +120 -0
  84. package/lib/Attachment/HTMLVideoContent.d.ts +11 -0
  85. package/lib/Attachment/HTMLVideoContent.d.ts.map +1 -0
  86. package/lib/Attachment/HTMLVideoContent.js +51 -0
  87. package/lib/Attachment/ImageAttachment.js +41 -0
  88. package/lib/Attachment/ImageContent.d.ts +8 -0
  89. package/lib/Attachment/ImageContent.d.ts.map +1 -0
  90. package/lib/Attachment/ImageContent.js +41 -0
  91. package/lib/Attachment/Text/TextAttachment.d.ts +12 -0
  92. package/lib/Attachment/Text/TextAttachment.d.ts.map +1 -0
  93. package/lib/Attachment/Text/TextAttachment.js +27 -0
  94. package/lib/Attachment/Text/TextContent.d.ts +10 -0
  95. package/lib/Attachment/Text/TextContent.d.ts.map +1 -0
  96. package/lib/Attachment/Text/TextContent.js +34 -0
  97. package/lib/Attachment/Text/private/CitationModalContent.d.ts +8 -0
  98. package/lib/Attachment/Text/private/CitationModalContent.d.ts.map +1 -0
  99. package/lib/Attachment/Text/private/CitationModalContent.js +45 -0
  100. package/lib/Attachment/Text/private/MarkdownTextContent.d.ts +9 -0
  101. package/lib/Attachment/Text/private/MarkdownTextContent.d.ts.map +1 -0
  102. package/lib/Attachment/Text/private/MarkdownTextContent.js +204 -0
  103. package/lib/Attachment/Text/private/MessageSensitivityLabel.d.ts +12 -0
  104. package/lib/Attachment/Text/private/MessageSensitivityLabel.d.ts.map +1 -0
  105. package/lib/Attachment/Text/private/MessageSensitivityLabel.js +38 -0
  106. package/lib/Attachment/Text/private/PlainTextContent.d.ts +7 -0
  107. package/lib/Attachment/Text/private/PlainTextContent.d.ts.map +1 -0
  108. package/lib/Attachment/Text/private/PlainTextContent.js +35 -0
  109. package/lib/Attachment/Text/private/ShieldIcon.d.ts +9 -0
  110. package/lib/Attachment/Text/private/ShieldIcon.d.ts.map +1 -0
  111. package/lib/Attachment/Text/private/ShieldIcon.js +39 -0
  112. package/lib/Attachment/Text/private/isHTMLButtonElement.d.ts +2 -0
  113. package/lib/Attachment/Text/private/isHTMLButtonElement.d.ts.map +1 -0
  114. package/lib/Attachment/Text/private/isHTMLButtonElement.js +10 -0
  115. package/lib/Attachment/VideoAttachment.js +45 -0
  116. package/lib/Attachment/VideoContent.d.ts +11 -0
  117. package/lib/Attachment/VideoContent.d.ts.map +1 -0
  118. package/lib/Attachment/VideoContent.js +103 -0
  119. package/lib/Attachment/VimeoContent.d.ts +10 -0
  120. package/lib/Attachment/VimeoContent.d.ts.map +1 -0
  121. package/lib/Attachment/VimeoContent.js +59 -0
  122. package/lib/Attachment/YouTubeContent.d.ts +10 -0
  123. package/lib/Attachment/YouTubeContent.d.ts.map +1 -0
  124. package/lib/Attachment/YouTubeContent.js +60 -0
  125. package/lib/Attachment/createMiddleware.d.ts +3 -0
  126. package/lib/Attachment/createMiddleware.d.ts.map +1 -0
  127. package/lib/Attachment/createMiddleware.js +64 -0
  128. package/lib/Attachment/private/types/WebChatAttachment.d.ts +9 -0
  129. package/lib/Attachment/private/types/WebChatAttachment.d.ts.map +1 -0
  130. package/lib/Attachment/private/types/WebChatAttachment.js +2 -0
  131. package/lib/Avatar/ImageAvatar.js +59 -0
  132. package/lib/Avatar/InitialsAvatar.js +57 -0
  133. package/lib/BasicConnectivityStatus.js +46 -0
  134. package/lib/BasicToast.js +103 -0
  135. package/lib/BasicToaster.js +176 -0
  136. package/lib/BasicTranscript.d.ts +7 -0
  137. package/lib/BasicTranscript.d.ts.map +1 -0
  138. package/lib/BasicTranscript.js +735 -0
  139. package/lib/BasicTypingIndicator.d.ts +6 -0
  140. package/lib/BasicTypingIndicator.d.ts.map +1 -0
  141. package/lib/BasicTypingIndicator.js +54 -0
  142. package/lib/BasicWebChat.d.ts +9 -0
  143. package/lib/BasicWebChat.d.ts.map +1 -0
  144. package/lib/BasicWebChat.js +90 -0
  145. package/lib/Composer.d.ts +50 -0
  146. package/lib/Composer.d.ts.map +1 -0
  147. package/lib/Composer.js +336 -0
  148. package/lib/ConnectivityStatus/Assets/ErrorNotificationIcon.js +47 -0
  149. package/lib/ConnectivityStatus/Assets/SpinnerAnimation.js +32 -0
  150. package/lib/ConnectivityStatus/Assets/WarningNotificationIcon.js +47 -0
  151. package/lib/ConnectivityStatus/Connected.js +20 -0
  152. package/lib/ConnectivityStatus/Connecting.js +82 -0
  153. package/lib/ConnectivityStatus/FailedToConnect.js +41 -0
  154. package/lib/ConnectivityStatus/JavaScriptError.js +41 -0
  155. package/lib/Dictation.js +158 -0
  156. package/lib/ErrorBox.d.ts +8 -0
  157. package/lib/ErrorBox.d.ts.map +1 -0
  158. package/lib/ErrorBox.js +42 -0
  159. package/lib/LinkDefinition/LinkDefinitionItem.d.ts +12 -0
  160. package/lib/LinkDefinition/LinkDefinitionItem.d.ts.map +1 -0
  161. package/lib/LinkDefinition/LinkDefinitionItem.js +57 -0
  162. package/lib/LinkDefinition/LinkDefinitions.d.ts +12 -0
  163. package/lib/LinkDefinition/LinkDefinitions.d.ts.map +1 -0
  164. package/lib/LinkDefinition/LinkDefinitions.js +69 -0
  165. package/lib/LinkDefinition/index.d.ts +4 -0
  166. package/lib/LinkDefinition/index.d.ts.map +1 -0
  167. package/lib/LinkDefinition/index.js +21 -0
  168. package/lib/LinkDefinition/private/Badge.d.ts +7 -0
  169. package/lib/LinkDefinition/private/Badge.d.ts.map +1 -0
  170. package/lib/LinkDefinition/private/Badge.js +20 -0
  171. package/lib/LinkDefinition/private/Chevron.d.ts +4 -0
  172. package/lib/LinkDefinition/private/Chevron.d.ts.map +1 -0
  173. package/lib/LinkDefinition/private/Chevron.js +27 -0
  174. package/lib/LinkDefinition/private/ItemBody.d.ts +11 -0
  175. package/lib/LinkDefinition/private/ItemBody.d.ts.map +1 -0
  176. package/lib/LinkDefinition/private/ItemBody.js +41 -0
  177. package/lib/LinkDefinition/private/OpenInNewWindowIcon.d.ts +7 -0
  178. package/lib/LinkDefinition/private/OpenInNewWindowIcon.d.ts.map +1 -0
  179. package/lib/LinkDefinition/private/OpenInNewWindowIcon.js +23 -0
  180. package/lib/LinkDefinition/private/extractHostnameWithSubdomain.d.ts +2 -0
  181. package/lib/LinkDefinition/private/extractHostnameWithSubdomain.d.ts.map +1 -0
  182. package/lib/LinkDefinition/private/extractHostnameWithSubdomain.js +24 -0
  183. package/lib/LinkDefinition/private/extractHostnameWithSubdomain.spec.d.ts +2 -0
  184. package/lib/LinkDefinition/private/extractHostnameWithSubdomain.spec.d.ts.map +1 -0
  185. package/lib/LiveRegion/LiveRegionActivity.d.ts +9 -0
  186. package/lib/LiveRegion/LiveRegionActivity.d.ts.map +1 -0
  187. package/lib/LiveRegion/LiveRegionActivity.js +70 -0
  188. package/lib/LiveRegion/private/LiveRegionAttachments.d.ts +11 -0
  189. package/lib/LiveRegion/private/LiveRegionAttachments.d.ts.map +1 -0
  190. package/lib/LiveRegion/private/LiveRegionAttachments.js +53 -0
  191. package/lib/LiveRegion/private/LiveRegionSuggestedActions.d.ts +8 -0
  192. package/lib/LiveRegion/private/LiveRegionSuggestedActions.d.ts.map +1 -0
  193. package/lib/LiveRegion/private/LiveRegionSuggestedActions.js +37 -0
  194. package/lib/Middleware/Activity/createCoreMiddleware.d.ts +3 -0
  195. package/lib/Middleware/Activity/createCoreMiddleware.d.ts.map +1 -0
  196. package/lib/Middleware/Activity/createCoreMiddleware.js +95 -0
  197. package/lib/Middleware/ActivityStatus/createCoreMiddleware.d.ts +3 -0
  198. package/lib/Middleware/ActivityStatus/createCoreMiddleware.d.ts.map +1 -0
  199. package/lib/Middleware/ActivityStatus/createCoreMiddleware.js +13 -0
  200. package/lib/Middleware/ActivityStatus/createSendStatusMiddleware.d.ts +3 -0
  201. package/lib/Middleware/ActivityStatus/createSendStatusMiddleware.d.ts.map +1 -0
  202. package/lib/Middleware/ActivityStatus/createSendStatusMiddleware.js +41 -0
  203. package/lib/Middleware/ActivityStatus/createTimestampMiddleware.d.ts +3 -0
  204. package/lib/Middleware/ActivityStatus/createTimestampMiddleware.d.ts.map +1 -0
  205. package/lib/Middleware/ActivityStatus/createTimestampMiddleware.js +48 -0
  206. package/lib/Middleware/AttachmentForScreenReader/AudioAttachment.js +18 -0
  207. package/lib/Middleware/AttachmentForScreenReader/FileAttachment.js +28 -0
  208. package/lib/Middleware/AttachmentForScreenReader/ImageAttachment.js +18 -0
  209. package/lib/Middleware/AttachmentForScreenReader/TextAttachment.js +28 -0
  210. package/lib/Middleware/AttachmentForScreenReader/VideoAttachment.js +18 -0
  211. package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.d.ts +3 -0
  212. package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.d.ts.map +1 -0
  213. package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.js +61 -0
  214. package/lib/Middleware/Avatar/createCoreMiddleware.d.ts +11 -0
  215. package/lib/Middleware/Avatar/createCoreMiddleware.d.ts.map +1 -0
  216. package/lib/Middleware/Avatar/createCoreMiddleware.js +82 -0
  217. package/lib/Middleware/CardAction/createCoreMiddleware.js +108 -0
  218. package/lib/Middleware/ScrollToEndButton/ScrollToEndButton.js +52 -0
  219. package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.d.ts +3 -0
  220. package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.d.ts.map +1 -0
  221. package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.js +27 -0
  222. package/lib/Middleware/Toast/createCoreMiddleware.d.ts +4 -0
  223. package/lib/Middleware/Toast/createCoreMiddleware.d.ts.map +1 -0
  224. package/lib/Middleware/Toast/createCoreMiddleware.js +27 -0
  225. package/lib/Middleware/TypingIndicator/createCoreMiddleware.d.ts +3 -0
  226. package/lib/Middleware/TypingIndicator/createCoreMiddleware.d.ts.map +1 -0
  227. package/lib/Middleware/TypingIndicator/createCoreMiddleware.js +47 -0
  228. package/lib/ReactWebChat.d.ts +42 -0
  229. package/lib/ReactWebChat.d.ts.map +1 -0
  230. package/lib/ReactWebChat.js +52 -0
  231. package/lib/ScreenReaderText.d.ts +9 -0
  232. package/lib/ScreenReaderText.d.ts.map +1 -0
  233. package/lib/ScreenReaderText.js +58 -0
  234. package/lib/SendBox/Assets/MicrophoneIcon.js +25 -0
  235. package/lib/SendBox/Assets/SendIcon.js +45 -0
  236. package/lib/SendBox/AutoResizeTextArea.d.ts +24 -0
  237. package/lib/SendBox/AutoResizeTextArea.d.ts.map +1 -0
  238. package/lib/SendBox/AutoResizeTextArea.js +113 -0
  239. package/lib/SendBox/BasicSendBox.d.ts +9 -0
  240. package/lib/SendBox/BasicSendBox.d.ts.map +1 -0
  241. package/lib/SendBox/BasicSendBox.js +123 -0
  242. package/lib/SendBox/DictationInterims.d.ts +7 -0
  243. package/lib/SendBox/DictationInterims.d.ts.map +1 -0
  244. package/lib/SendBox/DictationInterims.js +68 -0
  245. package/lib/SendBox/IconButton.d.ts +11 -0
  246. package/lib/SendBox/IconButton.d.ts.map +1 -0
  247. package/lib/SendBox/IconButton.js +73 -0
  248. package/lib/SendBox/MicrophoneButton.d.ts +10 -0
  249. package/lib/SendBox/MicrophoneButton.d.ts.map +1 -0
  250. package/lib/SendBox/MicrophoneButton.js +160 -0
  251. package/lib/SendBox/SendButton.d.ts +7 -0
  252. package/lib/SendBox/SendButton.d.ts.map +1 -0
  253. package/lib/SendBox/SendButton.js +53 -0
  254. package/lib/SendBox/SuggestedAction.d.ts +16 -0
  255. package/lib/SendBox/SuggestedAction.d.ts.map +1 -0
  256. package/lib/SendBox/SuggestedAction.js +166 -0
  257. package/lib/SendBox/SuggestedActions.d.ts +7 -0
  258. package/lib/SendBox/SuggestedActions.d.ts.map +1 -0
  259. package/lib/SendBox/SuggestedActions.js +256 -0
  260. package/lib/SendBox/TextBox.d.ts +24 -0
  261. package/lib/SendBox/TextBox.d.ts.map +1 -0
  262. package/lib/SendBox/TextBox.js +252 -0
  263. package/lib/SendBox/createMiddleware.d.ts +4 -0
  264. package/lib/SendBox/createMiddleware.d.ts.map +1 -0
  265. package/lib/SendBox/createMiddleware.js +38 -0
  266. package/lib/SendBoxToolbar/Assets/AttachmentIcon.d.ts +7 -0
  267. package/lib/SendBoxToolbar/Assets/AttachmentIcon.d.ts.map +1 -0
  268. package/lib/SendBoxToolbar/Assets/AttachmentIcon.js +63 -0
  269. package/lib/SendBoxToolbar/BasicSendBoxToolbar.d.ts +6 -0
  270. package/lib/SendBoxToolbar/BasicSendBoxToolbar.d.ts.map +1 -0
  271. package/lib/SendBoxToolbar/BasicSendBoxToolbar.js +32 -0
  272. package/lib/SendBoxToolbar/UploadButton.d.ts +7 -0
  273. package/lib/SendBoxToolbar/UploadButton.d.ts.map +1 -0
  274. package/lib/SendBoxToolbar/UploadButton.js +156 -0
  275. package/lib/SendBoxToolbar/createMiddleware.d.ts +4 -0
  276. package/lib/SendBoxToolbar/createMiddleware.d.ts.map +1 -0
  277. package/lib/SendBoxToolbar/createMiddleware.js +20 -0
  278. package/lib/Styles/CSSTokens.d.ts +16 -0
  279. package/lib/Styles/CSSTokens.d.ts.map +1 -0
  280. package/lib/Styles/CSSTokens.js +19 -0
  281. package/lib/Styles/CustomPropertyNames.d.ts +13 -0
  282. package/lib/Styles/CustomPropertyNames.d.ts.map +1 -0
  283. package/lib/Styles/CustomPropertyNames.js +24 -0
  284. package/lib/Styles/StyleSet/Activities.d.ts +5 -0
  285. package/lib/Styles/StyleSet/Activities.d.ts.map +1 -0
  286. package/lib/Styles/StyleSet/Activities.js +13 -0
  287. package/lib/Styles/StyleSet/AudioAttachment.d.ts +6 -0
  288. package/lib/Styles/StyleSet/AudioAttachment.d.ts.map +1 -0
  289. package/lib/Styles/StyleSet/AudioAttachment.js +15 -0
  290. package/lib/Styles/StyleSet/AudioContent.d.ts +4 -0
  291. package/lib/Styles/StyleSet/AudioContent.d.ts.map +1 -0
  292. package/lib/Styles/StyleSet/AudioContent.js +12 -0
  293. package/lib/Styles/StyleSet/AutoResizeTextArea.d.ts +37 -0
  294. package/lib/Styles/StyleSet/AutoResizeTextArea.d.ts.map +1 -0
  295. package/lib/Styles/StyleSet/AutoResizeTextArea.js +45 -0
  296. package/lib/Styles/StyleSet/Avatar.d.ts +9 -0
  297. package/lib/Styles/StyleSet/Avatar.d.ts.map +1 -0
  298. package/lib/Styles/StyleSet/Avatar.js +18 -0
  299. package/lib/Styles/StyleSet/BasicTranscript.d.ts +85 -0
  300. package/lib/Styles/StyleSet/BasicTranscript.d.ts.map +1 -0
  301. package/lib/Styles/StyleSet/BasicTranscript.js +110 -0
  302. package/lib/Styles/StyleSet/Bubble.d.ts +5 -0
  303. package/lib/Styles/StyleSet/Bubble.d.ts.map +1 -0
  304. package/lib/Styles/StyleSet/Bubble.js +153 -0
  305. package/lib/Styles/StyleSet/CSSCustomProperties.d.ts +16 -0
  306. package/lib/Styles/StyleSet/CSSCustomProperties.d.ts.map +1 -0
  307. package/lib/Styles/StyleSet/CSSCustomProperties.js +27 -0
  308. package/lib/Styles/StyleSet/CarouselFilmStrip.d.ts +5 -0
  309. package/lib/Styles/StyleSet/CarouselFilmStrip.d.ts.map +1 -0
  310. package/lib/Styles/StyleSet/CarouselFilmStrip.js +90 -0
  311. package/lib/Styles/StyleSet/CarouselFilmStripAttachment.d.ts +3 -0
  312. package/lib/Styles/StyleSet/CarouselFilmStripAttachment.d.ts.map +1 -0
  313. package/lib/Styles/StyleSet/CarouselFilmStripAttachment.js +57 -0
  314. package/lib/Styles/StyleSet/CarouselFlipper.d.ts +27 -0
  315. package/lib/Styles/StyleSet/CarouselFlipper.d.ts.map +1 -0
  316. package/lib/Styles/StyleSet/CarouselFlipper.js +42 -0
  317. package/lib/Styles/StyleSet/CitationModalDialog.d.ts +8 -0
  318. package/lib/Styles/StyleSet/CitationModalDialog.d.ts.map +1 -0
  319. package/lib/Styles/StyleSet/CitationModalDialog.js +16 -0
  320. package/lib/Styles/StyleSet/ConnectivityNotification.d.ts +13 -0
  321. package/lib/Styles/StyleSet/ConnectivityNotification.d.ts.map +1 -0
  322. package/lib/Styles/StyleSet/ConnectivityNotification.js +26 -0
  323. package/lib/Styles/StyleSet/Constants.d.ts +6 -0
  324. package/lib/Styles/StyleSet/Constants.d.ts.map +1 -0
  325. package/lib/Styles/StyleSet/Constants.js +15 -0
  326. package/lib/Styles/StyleSet/DictationInterims.d.ts +13 -0
  327. package/lib/Styles/StyleSet/DictationInterims.d.ts.map +1 -0
  328. package/lib/Styles/StyleSet/DictationInterims.js +22 -0
  329. package/lib/Styles/StyleSet/ErrorBox.d.ts +33 -0
  330. package/lib/Styles/StyleSet/ErrorBox.d.ts.map +1 -0
  331. package/lib/Styles/StyleSet/ErrorBox.js +43 -0
  332. package/lib/Styles/StyleSet/ErrorNotification.d.ts +23 -0
  333. package/lib/Styles/StyleSet/ErrorNotification.d.ts.map +1 -0
  334. package/lib/Styles/StyleSet/ErrorNotification.js +36 -0
  335. package/lib/Styles/StyleSet/FileContent.d.ts +32 -0
  336. package/lib/Styles/StyleSet/FileContent.d.ts.map +1 -0
  337. package/lib/Styles/StyleSet/FileContent.js +43 -0
  338. package/lib/Styles/StyleSet/ImageAvatar.d.ts +7 -0
  339. package/lib/Styles/StyleSet/ImageAvatar.d.ts.map +1 -0
  340. package/lib/Styles/StyleSet/ImageAvatar.js +15 -0
  341. package/lib/Styles/StyleSet/InitialsAvatar.d.ts +19 -0
  342. package/lib/Styles/StyleSet/InitialsAvatar.d.ts.map +1 -0
  343. package/lib/Styles/StyleSet/InitialsAvatar.js +31 -0
  344. package/lib/Styles/StyleSet/KeyboardHelp.d.ts +152 -0
  345. package/lib/Styles/StyleSet/KeyboardHelp.d.ts.map +1 -0
  346. package/lib/Styles/StyleSet/KeyboardHelp.js +168 -0
  347. package/lib/Styles/StyleSet/LinkDefinitions.d.ts +165 -0
  348. package/lib/Styles/StyleSet/LinkDefinitions.d.ts.map +1 -0
  349. package/lib/Styles/StyleSet/LinkDefinitions.js +180 -0
  350. package/lib/Styles/StyleSet/MicrophoneButton.d.ts +13 -0
  351. package/lib/Styles/StyleSet/MicrophoneButton.d.ts.map +1 -0
  352. package/lib/Styles/StyleSet/MicrophoneButton.js +21 -0
  353. package/lib/Styles/StyleSet/ModalDialog.d.ts +94 -0
  354. package/lib/Styles/StyleSet/ModalDialog.d.ts.map +1 -0
  355. package/lib/Styles/StyleSet/ModalDialog.js +98 -0
  356. package/lib/Styles/StyleSet/RenderMarkdown.d.ts +51 -0
  357. package/lib/Styles/StyleSet/RenderMarkdown.d.ts.map +1 -0
  358. package/lib/Styles/StyleSet/RenderMarkdown.js +67 -0
  359. package/lib/Styles/StyleSet/Root.d.ts +8 -0
  360. package/lib/Styles/StyleSet/Root.d.ts.map +1 -0
  361. package/lib/Styles/StyleSet/Root.js +19 -0
  362. package/lib/Styles/StyleSet/ScrollToEndButton.d.ts +36 -0
  363. package/lib/Styles/StyleSet/ScrollToEndButton.d.ts.map +1 -0
  364. package/lib/Styles/StyleSet/ScrollToEndButton.js +55 -0
  365. package/lib/Styles/StyleSet/SendBox.d.ts +24 -0
  366. package/lib/Styles/StyleSet/SendBox.d.ts.map +1 -0
  367. package/lib/Styles/StyleSet/SendBox.js +37 -0
  368. package/lib/Styles/StyleSet/SendBoxButton.d.ts +79 -0
  369. package/lib/Styles/StyleSet/SendBoxButton.d.ts.map +1 -0
  370. package/lib/Styles/StyleSet/SendBoxButton.js +112 -0
  371. package/lib/Styles/StyleSet/SendBoxTextBox.d.ts +41 -0
  372. package/lib/Styles/StyleSet/SendBoxTextBox.d.ts.map +1 -0
  373. package/lib/Styles/StyleSet/SendBoxTextBox.js +57 -0
  374. package/lib/Styles/StyleSet/SendStatus.d.ts +19 -0
  375. package/lib/Styles/StyleSet/SendStatus.d.ts.map +1 -0
  376. package/lib/Styles/StyleSet/SendStatus.js +29 -0
  377. package/lib/Styles/StyleSet/SingleAttachmentActivity.d.ts +11 -0
  378. package/lib/Styles/StyleSet/SingleAttachmentActivity.d.ts.map +1 -0
  379. package/lib/Styles/StyleSet/SingleAttachmentActivity.js +21 -0
  380. package/lib/Styles/StyleSet/SlottedActivityStatus.d.ts +12 -0
  381. package/lib/Styles/StyleSet/SlottedActivityStatus.d.ts.map +1 -0
  382. package/lib/Styles/StyleSet/SlottedActivityStatus.js +22 -0
  383. package/lib/Styles/StyleSet/SpinnerAnimation.d.ts +15 -0
  384. package/lib/Styles/StyleSet/SpinnerAnimation.d.ts.map +1 -0
  385. package/lib/Styles/StyleSet/SpinnerAnimation.js +34 -0
  386. package/lib/Styles/StyleSet/StackedLayout.d.ts +63 -0
  387. package/lib/Styles/StyleSet/StackedLayout.d.ts.map +1 -0
  388. package/lib/Styles/StyleSet/StackedLayout.js +77 -0
  389. package/lib/Styles/StyleSet/SuggestedAction.d.ts +94 -0
  390. package/lib/Styles/StyleSet/SuggestedAction.d.ts.map +1 -0
  391. package/lib/Styles/StyleSet/SuggestedAction.js +152 -0
  392. package/lib/Styles/StyleSet/SuggestedActions.d.ts +139 -0
  393. package/lib/Styles/StyleSet/SuggestedActions.d.ts.map +1 -0
  394. package/lib/Styles/StyleSet/SuggestedActions.js +165 -0
  395. package/lib/Styles/StyleSet/TextContent.d.ts +24 -0
  396. package/lib/Styles/StyleSet/TextContent.d.ts.map +1 -0
  397. package/lib/Styles/StyleSet/TextContent.js +34 -0
  398. package/lib/Styles/StyleSet/ThumbButton.d.ts +32 -0
  399. package/lib/Styles/StyleSet/ThumbButton.d.ts.map +1 -0
  400. package/lib/Styles/StyleSet/ThumbButton.js +44 -0
  401. package/lib/Styles/StyleSet/Toast.d.ts +65 -0
  402. package/lib/Styles/StyleSet/Toast.d.ts.map +1 -0
  403. package/lib/Styles/StyleSet/Toast.js +83 -0
  404. package/lib/Styles/StyleSet/Toaster.d.ts +111 -0
  405. package/lib/Styles/StyleSet/Toaster.d.ts.map +1 -0
  406. package/lib/Styles/StyleSet/Toaster.js +137 -0
  407. package/lib/Styles/StyleSet/TypingAnimation.d.ts +8 -0
  408. package/lib/Styles/StyleSet/TypingAnimation.d.ts.map +1 -0
  409. package/lib/Styles/StyleSet/TypingAnimation.js +26 -0
  410. package/lib/Styles/StyleSet/TypingIndicator.d.ts +11 -0
  411. package/lib/Styles/StyleSet/TypingIndicator.d.ts.map +1 -0
  412. package/lib/Styles/StyleSet/TypingIndicator.js +19 -0
  413. package/lib/Styles/StyleSet/UploadButton.d.ts +14 -0
  414. package/lib/Styles/StyleSet/UploadButton.d.ts.map +1 -0
  415. package/lib/Styles/StyleSet/UploadButton.js +27 -0
  416. package/lib/Styles/StyleSet/VideoAttachment.d.ts +2 -0
  417. package/lib/Styles/StyleSet/VideoAttachment.d.ts.map +1 -0
  418. package/lib/Styles/StyleSet/VideoAttachment.js +10 -0
  419. package/lib/Styles/StyleSet/VideoContent.d.ts +6 -0
  420. package/lib/Styles/StyleSet/VideoContent.d.ts.map +1 -0
  421. package/lib/Styles/StyleSet/VideoContent.js +14 -0
  422. package/lib/Styles/StyleSet/VimeoContent.d.ts +7 -0
  423. package/lib/Styles/StyleSet/VimeoContent.d.ts.map +1 -0
  424. package/lib/Styles/StyleSet/VimeoContent.js +15 -0
  425. package/lib/Styles/StyleSet/WarningNotification.d.ts +22 -0
  426. package/lib/Styles/StyleSet/WarningNotification.d.ts.map +1 -0
  427. package/lib/Styles/StyleSet/WarningNotification.js +37 -0
  428. package/lib/Styles/StyleSet/YouTubeContent.d.ts +7 -0
  429. package/lib/Styles/StyleSet/YouTubeContent.d.ts.map +1 -0
  430. package/lib/Styles/StyleSet/YouTubeContent.js +15 -0
  431. package/lib/Styles/createStyleSet.d.ts +1803 -0
  432. package/lib/Styles/createStyleSet.d.ts.map +1 -0
  433. package/lib/Styles/createStyleSet.js +121 -0
  434. package/lib/Styles/mirrorStyle.js +40 -0
  435. package/lib/Toast/CheckMarkIcon.js +36 -0
  436. package/lib/Toast/CollapseIcon.js +32 -0
  437. package/lib/Toast/DismissIcon.js +32 -0
  438. package/lib/Toast/ExclamationMarkIcon.js +34 -0
  439. package/lib/Toast/ExpandIcon.js +32 -0
  440. package/lib/Toast/NotificationIcon.js +46 -0
  441. package/lib/Toast/createToastMiddleware.d.ts +4 -0
  442. package/lib/Toast/createToastMiddleware.d.ts.map +1 -0
  443. package/lib/Toast/createToastMiddleware.js +26 -0
  444. package/lib/Transcript/ActivityRow.d.ts +9 -0
  445. package/lib/Transcript/ActivityRow.d.ts.map +1 -0
  446. package/lib/Transcript/ActivityRow.js +137 -0
  447. package/lib/Transcript/FocusTrap.d.ts +9 -0
  448. package/lib/Transcript/FocusTrap.d.ts.map +1 -0
  449. package/lib/Transcript/FocusTrap.js +76 -0
  450. package/lib/Transcript/KeyboardHelp.d.ts +4 -0
  451. package/lib/Transcript/KeyboardHelp.d.ts.map +1 -0
  452. package/lib/Transcript/KeyboardHelp.js +562 -0
  453. package/lib/Transcript/LiveRegion/SendFailed.d.ts +14 -0
  454. package/lib/Transcript/LiveRegion/SendFailed.d.ts.map +1 -0
  455. package/lib/Transcript/LiveRegion/SendFailed.js +90 -0
  456. package/lib/Transcript/LiveRegion/isPresentational.d.ts +9 -0
  457. package/lib/Transcript/LiveRegion/isPresentational.d.ts.map +1 -0
  458. package/lib/Transcript/LiveRegion/isPresentational.js +30 -0
  459. package/lib/Transcript/LiveRegionTranscript.d.ts +8 -0
  460. package/lib/Transcript/LiveRegionTranscript.d.ts.map +1 -0
  461. package/lib/Transcript/LiveRegionTranscript.js +178 -0
  462. package/lib/Transcript/types.d.ts +2 -0
  463. package/lib/Transcript/types.d.ts.map +1 -0
  464. package/lib/Transcript/types.js +2 -0
  465. package/lib/Transcript/useActivityAccessibleName.d.ts +11 -0
  466. package/lib/Transcript/useActivityAccessibleName.d.ts.map +1 -0
  467. package/lib/Transcript/useActivityAccessibleName.js +103 -0
  468. package/lib/Transcript/useTypistNames.d.ts +3 -0
  469. package/lib/Transcript/useTypistNames.d.ts.map +1 -0
  470. package/lib/Transcript/useTypistNames.js +50 -0
  471. package/lib/TranscriptActivity.d.ts +17 -0
  472. package/lib/TranscriptActivity.d.ts.map +1 -0
  473. package/lib/TranscriptActivity.js +48 -0
  474. package/lib/Utils/AccessKeySink/Surface.js +74 -0
  475. package/lib/Utils/AccessKeySink/internal/Context.js +11 -0
  476. package/lib/Utils/AccessKeySink/internal/useContext.js +13 -0
  477. package/lib/Utils/AccessKeySink/useFocusAccessKeyEffect.js +34 -0
  478. package/lib/Utils/AccessibleButton.d.ts +11 -0
  479. package/lib/Utils/AccessibleButton.d.ts.map +1 -0
  480. package/lib/Utils/AccessibleButton.js +78 -0
  481. package/lib/Utils/AccessibleInputText.d.ts +22 -0
  482. package/lib/Utils/AccessibleInputText.d.ts.map +1 -0
  483. package/lib/Utils/AccessibleInputText.js +114 -0
  484. package/lib/Utils/AccessibleTextArea.d.ts +20 -0
  485. package/lib/Utils/AccessibleTextArea.d.ts.map +1 -0
  486. package/lib/Utils/AccessibleTextArea.js +105 -0
  487. package/lib/Utils/CroppedImage.js +61 -0
  488. package/lib/Utils/FocusRedirector.d.ts +9 -0
  489. package/lib/Utils/FocusRedirector.d.ts.map +1 -0
  490. package/lib/Utils/FocusRedirector.js +61 -0
  491. package/lib/Utils/InlineMarkdown.js +166 -0
  492. package/lib/Utils/JSONLinkedData/BlankNode.d.ts +15 -0
  493. package/lib/Utils/JSONLinkedData/BlankNode.d.ts.map +1 -0
  494. package/lib/Utils/JSONLinkedData/BlankNode.js +2 -0
  495. package/lib/Utils/JSONLinkedData/__snapshots__/dereferenceBlankNodes.spec.ts.snap +92 -0
  496. package/lib/Utils/JSONLinkedData/dereferenceBlankNodes.d.ts +16 -0
  497. package/lib/Utils/JSONLinkedData/dereferenceBlankNodes.d.ts.map +1 -0
  498. package/lib/Utils/JSONLinkedData/dereferenceBlankNodes.js +96 -0
  499. package/lib/Utils/JSONLinkedData/dereferenceBlankNodes.spec.d.ts +2 -0
  500. package/lib/Utils/JSONLinkedData/dereferenceBlankNodes.spec.d.ts.map +1 -0
  501. package/lib/Utils/JSONLinkedData/getSafeOwnPropertyNames.d.ts +10 -0
  502. package/lib/Utils/JSONLinkedData/getSafeOwnPropertyNames.d.ts.map +1 -0
  503. package/lib/Utils/JSONLinkedData/getSafeOwnPropertyNames.js +22 -0
  504. package/lib/Utils/JSONLinkedData/isBlankNode.d.ts +10 -0
  505. package/lib/Utils/JSONLinkedData/isBlankNode.d.ts.map +1 -0
  506. package/lib/Utils/JSONLinkedData/isBlankNode.js +22 -0
  507. package/lib/Utils/JSONLinkedData/isBlankNode.spec.d.ts +2 -0
  508. package/lib/Utils/JSONLinkedData/isBlankNode.spec.d.ts.map +1 -0
  509. package/lib/Utils/JSONLinkedData/isUnconnectedBlankNode.d.ts +10 -0
  510. package/lib/Utils/JSONLinkedData/isUnconnectedBlankNode.d.ts.map +1 -0
  511. package/lib/Utils/JSONLinkedData/isUnconnectedBlankNode.js +21 -0
  512. package/lib/Utils/JSONLinkedData/isUnconnectedBlankNode.spec.d.ts +2 -0
  513. package/lib/Utils/JSONLinkedData/isUnconnectedBlankNode.spec.d.ts.map +1 -0
  514. package/lib/Utils/JSONLinkedData/visitOnce.d.ts +2 -0
  515. package/lib/Utils/JSONLinkedData/visitOnce.d.ts.map +1 -0
  516. package/lib/Utils/JSONLinkedData/visitOnce.js +17 -0
  517. package/lib/Utils/LocalizedString.d.ts +26 -0
  518. package/lib/Utils/LocalizedString.d.ts.map +1 -0
  519. package/lib/Utils/LocalizedString.js +138 -0
  520. package/lib/Utils/TypeFocusSink/Context.js +14 -0
  521. package/lib/Utils/TypeFocusSink/FocusBox.js +91 -0
  522. package/lib/Utils/TypeFocusSink/getTabIndex.d.ts +2 -0
  523. package/lib/Utils/TypeFocusSink/getTabIndex.d.ts.map +1 -0
  524. package/lib/Utils/TypeFocusSink/getTabIndex.js +27 -0
  525. package/lib/Utils/TypeFocusSink/index.js +18 -0
  526. package/lib/Utils/TypeFocusSink/inputtableKey.d.ts +2 -0
  527. package/lib/Utils/TypeFocusSink/inputtableKey.d.ts.map +1 -0
  528. package/lib/Utils/TypeFocusSink/inputtableKey.js +28 -0
  529. package/lib/Utils/TypeFocusSink/navigableEvent.js +59 -0
  530. package/lib/Utils/activityAltText.d.ts +8 -0
  531. package/lib/Utils/activityAltText.d.ts.map +1 -0
  532. package/lib/Utils/activityAltText.js +79 -0
  533. package/lib/Utils/addTargetBlankToHyperlinksMarkdown.js +34 -0
  534. package/lib/Utils/betterLinks.d.ts +28 -0
  535. package/lib/Utils/betterLinks.d.ts.map +1 -0
  536. package/lib/Utils/betterLinks.js +142 -0
  537. package/lib/Utils/computeSuggestedActionText.d.ts +3 -0
  538. package/lib/Utils/computeSuggestedActionText.d.ts.map +1 -0
  539. package/lib/Utils/computeSuggestedActionText.js +24 -0
  540. package/lib/Utils/createCSSKey.js +16 -0
  541. package/lib/Utils/createCustomEvent.js +34 -0
  542. package/lib/Utils/detectBrowser.js +27 -0
  543. package/lib/Utils/downscaleImageToDataURL/WorkerJob.d.ts +16 -0
  544. package/lib/Utils/downscaleImageToDataURL/WorkerJob.d.ts.map +1 -0
  545. package/lib/Utils/downscaleImageToDataURL/WorkerJob.js +2 -0
  546. package/lib/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingBrowser.d.ts +2 -0
  547. package/lib/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingBrowser.d.ts.map +1 -0
  548. package/lib/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingBrowser.js +90 -0
  549. package/lib/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingWorker.d.ts +4 -0
  550. package/lib/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingWorker.d.ts.map +1 -0
  551. package/lib/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingWorker.js +198 -0
  552. package/lib/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingWorker.worker.js +96 -0
  553. package/lib/Utils/downscaleImageToDataURL/index.d.ts +2 -0
  554. package/lib/Utils/downscaleImageToDataURL/index.d.ts.map +1 -0
  555. package/lib/Utils/downscaleImageToDataURL/index.js +44 -0
  556. package/lib/Utils/filterMap.js +28 -0
  557. package/lib/Utils/findAncestor.d.ts +2 -0
  558. package/lib/Utils/findAncestor.d.ts.map +1 -0
  559. package/lib/Utils/findAncestor.js +15 -0
  560. package/lib/Utils/firstTabbableDescendant.js +40 -0
  561. package/lib/Utils/getActivityUniqueId.d.ts +3 -0
  562. package/lib/Utils/getActivityUniqueId.d.ts.map +1 -0
  563. package/lib/Utils/getActivityUniqueId.js +11 -0
  564. package/lib/Utils/intersectionOf.d.ts +5 -0
  565. package/lib/Utils/intersectionOf.d.ts.map +1 -0
  566. package/lib/Utils/intersectionOf.js +27 -0
  567. package/lib/Utils/isZeroOrPositive.d.ts +5 -0
  568. package/lib/Utils/isZeroOrPositive.d.ts.map +1 -0
  569. package/lib/Utils/isZeroOrPositive.js +14 -0
  570. package/lib/Utils/mapMap.js +27 -0
  571. package/lib/Utils/parseDocumentFromString.d.ts +2 -0
  572. package/lib/Utils/parseDocumentFromString.d.ts.map +1 -0
  573. package/lib/Utils/parseDocumentFromString.js +11 -0
  574. package/lib/Utils/randomId.js +15 -0
  575. package/lib/Utils/readDataURIToBlob.js +44 -0
  576. package/lib/Utils/removeInline.js +18 -0
  577. package/lib/Utils/scrollIntoViewWithBlockNearest.d.ts +7 -0
  578. package/lib/Utils/scrollIntoViewWithBlockNearest.d.ts.map +1 -0
  579. package/lib/Utils/scrollIntoViewWithBlockNearest.js +38 -0
  580. package/lib/Utils/serializeDocumentIntoString.d.ts +2 -0
  581. package/lib/Utils/serializeDocumentIntoString.d.ts.map +1 -0
  582. package/lib/Utils/serializeDocumentIntoString.js +27 -0
  583. package/lib/Utils/shallowEquals.js +21 -0
  584. package/lib/Utils/singleToArray.d.ts +2 -0
  585. package/lib/Utils/singleToArray.d.ts.map +1 -0
  586. package/lib/Utils/singleToArray.js +10 -0
  587. package/lib/Utils/supportPseudoClass.d.ts +2 -0
  588. package/lib/Utils/supportPseudoClass.d.ts.map +1 -0
  589. package/lib/Utils/supportPseudoClass.js +21 -0
  590. package/lib/Utils/tabbableElements.d.ts +2 -0
  591. package/lib/Utils/tabbableElements.d.ts.map +1 -0
  592. package/lib/Utils/tabbableElements.js +20 -0
  593. package/lib/Utils/textFormatToContentType.js +17 -0
  594. package/lib/Utils/updateMarkdownAttrs.js +16 -0
  595. package/lib/Utils/walkMarkdownTokens.js +19 -0
  596. package/lib/hooks/index.d.ts +22 -0
  597. package/lib/hooks/index.d.ts.map +1 -0
  598. package/lib/hooks/index.js +152 -0
  599. package/lib/hooks/internal/BypassSpeechSynthesisPonyfill.js +278 -0
  600. package/lib/hooks/internal/UITracker.js +39 -0
  601. package/lib/hooks/internal/WebChatUIContext.d.ts +8 -0
  602. package/lib/hooks/internal/WebChatUIContext.d.ts.map +1 -0
  603. package/lib/hooks/internal/WebChatUIContext.js +11 -0
  604. package/lib/hooks/internal/createWaitUntilable.d.ts +5 -0
  605. package/lib/hooks/internal/createWaitUntilable.d.ts.map +1 -0
  606. package/lib/hooks/internal/createWaitUntilable.js +50 -0
  607. package/lib/hooks/internal/createWaitUntilable.spec.d.ts +2 -0
  608. package/lib/hooks/internal/createWaitUntilable.spec.d.ts.map +1 -0
  609. package/lib/hooks/internal/private/createOnEventShim.d.ts +5 -0
  610. package/lib/hooks/internal/private/createOnEventShim.d.ts.map +1 -0
  611. package/lib/hooks/internal/private/createOnEventShim.js +25 -0
  612. package/lib/hooks/internal/private/createOnEventShim.spec.d.ts +2 -0
  613. package/lib/hooks/internal/private/createOnEventShim.spec.d.ts.map +1 -0
  614. package/lib/hooks/internal/useChanged.d.ts +9 -0
  615. package/lib/hooks/internal/useChanged.d.ts.map +1 -0
  616. package/lib/hooks/internal/useChanged.js +21 -0
  617. package/lib/hooks/internal/useDispatchScrollPosition.js +12 -0
  618. package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.d.ts +2 -0
  619. package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.d.ts.map +1 -0
  620. package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.js +12 -0
  621. package/lib/hooks/internal/useEnterKeyHint.js +18 -0
  622. package/lib/hooks/internal/useFocusVisible.d.ts +3 -0
  623. package/lib/hooks/internal/useFocusVisible.d.ts.map +1 -0
  624. package/lib/hooks/internal/useFocusVisible.js +37 -0
  625. package/lib/hooks/internal/useFocusWithin.d.ts +3 -0
  626. package/lib/hooks/internal/useFocusWithin.d.ts.map +1 -0
  627. package/lib/hooks/internal/useFocusWithin.js +38 -0
  628. package/lib/hooks/internal/useForceRender.js +24 -0
  629. package/lib/hooks/internal/useForceRenderAtInterval.d.ts +3 -0
  630. package/lib/hooks/internal/useForceRenderAtInterval.d.ts.map +1 -0
  631. package/lib/hooks/internal/useForceRenderAtInterval.js +57 -0
  632. package/lib/hooks/internal/useInternalMarkdownIt.js +14 -0
  633. package/lib/hooks/internal/useInternalRenderMarkdownInline.js +16 -0
  634. package/lib/hooks/internal/useLocalizeAccessKey.d.ts +2 -0
  635. package/lib/hooks/internal/useLocalizeAccessKey.d.ts.map +1 -0
  636. package/lib/hooks/internal/useLocalizeAccessKey.js +38 -0
  637. package/lib/hooks/internal/useMemoWithPrevious.d.ts +3 -0
  638. package/lib/hooks/internal/useMemoWithPrevious.d.ts.map +1 -0
  639. package/lib/hooks/internal/useMemoWithPrevious.js +20 -0
  640. package/lib/hooks/internal/useMemoized.d.ts +11 -0
  641. package/lib/hooks/internal/useMemoized.d.ts.map +1 -0
  642. package/lib/hooks/internal/useMemoized.js +82 -0
  643. package/lib/hooks/internal/useMemoized.spec.jsx +159 -0
  644. package/lib/hooks/internal/useNavigatorPlatform.js +31 -0
  645. package/lib/hooks/internal/useNonce.js +14 -0
  646. package/lib/hooks/internal/useObserveFocusVisible.d.ts +3 -0
  647. package/lib/hooks/internal/useObserveFocusVisible.d.ts.map +1 -0
  648. package/lib/hooks/internal/useObserveFocusVisible.js +201 -0
  649. package/lib/hooks/internal/usePrevious.d.ts +2 -0
  650. package/lib/hooks/internal/usePrevious.d.ts.map +1 -0
  651. package/lib/hooks/internal/usePrevious.js +17 -0
  652. package/lib/hooks/internal/useRegisterFocusTranscript.js +27 -0
  653. package/lib/hooks/internal/useRegisterScrollTo.js +27 -0
  654. package/lib/hooks/internal/useRegisterScrollToEnd.js +25 -0
  655. package/lib/hooks/internal/useReplaceEmoticon.js +58 -0
  656. package/lib/hooks/internal/useResumeAudioContext.d.ts +2 -0
  657. package/lib/hooks/internal/useResumeAudioContext.d.ts.map +1 -0
  658. package/lib/hooks/internal/useResumeAudioContext.js +23 -0
  659. package/lib/hooks/internal/useSendBoxFocusRef.js +12 -0
  660. package/lib/hooks/internal/useSettableDictateAbortable.js +15 -0
  661. package/lib/hooks/internal/useStateRef.d.ts +3 -0
  662. package/lib/hooks/internal/useStateRef.d.ts.map +1 -0
  663. package/lib/hooks/internal/useStateRef.js +30 -0
  664. package/lib/hooks/internal/useStyleToEmotionObject.js +12 -0
  665. package/lib/hooks/internal/useSuggestedActionsAccessKey.js +14 -0
  666. package/lib/hooks/internal/useTimer.d.ts +5 -0
  667. package/lib/hooks/internal/useTimer.d.ts.map +1 -0
  668. package/lib/hooks/internal/useTimer.js +46 -0
  669. package/lib/hooks/internal/useTranscriptActivityElementsRef.js +12 -0
  670. package/lib/hooks/internal/useTranscriptFocusRef.js +12 -0
  671. package/lib/hooks/internal/useUniqueId.d.ts +2 -0
  672. package/lib/hooks/internal/useUniqueId.d.ts.map +1 -0
  673. package/lib/hooks/internal/useUniqueId.js +19 -0
  674. package/lib/hooks/internal/useValueRef.d.ts +3 -0
  675. package/lib/hooks/internal/useValueRef.d.ts.map +1 -0
  676. package/lib/hooks/internal/useValueRef.js +24 -0
  677. package/lib/hooks/internal/useWebChatUIContext.js +17 -0
  678. package/lib/hooks/sendBoxFocus.d.ts +7 -0
  679. package/lib/hooks/sendBoxFocus.d.ts.map +1 -0
  680. package/lib/hooks/sendBoxFocus.js +13 -0
  681. package/lib/hooks/transcriptScrollRelative.d.ts +7 -0
  682. package/lib/hooks/transcriptScrollRelative.d.ts.map +1 -0
  683. package/lib/hooks/transcriptScrollRelative.js +13 -0
  684. package/lib/hooks/useDictateAbortable.d.ts +2 -0
  685. package/lib/hooks/useDictateAbortable.d.ts.map +1 -0
  686. package/lib/hooks/useDictateAbortable.js +22 -0
  687. package/lib/hooks/useFocus.d.ts +2 -0
  688. package/lib/hooks/useFocus.d.ts.map +1 -0
  689. package/lib/hooks/useFocus.js +65 -0
  690. package/lib/hooks/useMakeThumbnail.d.ts +2 -0
  691. package/lib/hooks/useMakeThumbnail.d.ts.map +1 -0
  692. package/lib/hooks/useMakeThumbnail.js +74 -0
  693. package/lib/hooks/useObserveScrollPosition.d.ts +3 -0
  694. package/lib/hooks/useObserveScrollPosition.d.ts.map +1 -0
  695. package/lib/hooks/useObserveScrollPosition.js +31 -0
  696. package/lib/hooks/useObserveTranscriptFocus.d.ts +5 -0
  697. package/lib/hooks/useObserveTranscriptFocus.d.ts.map +1 -0
  698. package/lib/hooks/useObserveTranscriptFocus.js +31 -0
  699. package/lib/hooks/useRenderMarkdownAsHTML.d.ts +5 -0
  700. package/lib/hooks/useRenderMarkdownAsHTML.d.ts.map +1 -0
  701. package/lib/hooks/useRenderMarkdownAsHTML.js +62 -0
  702. package/lib/hooks/useScrollDown.d.ts +4 -0
  703. package/lib/hooks/useScrollDown.d.ts.map +1 -0
  704. package/lib/hooks/useScrollDown.js +20 -0
  705. package/lib/hooks/useScrollTo.d.ts +5 -0
  706. package/lib/hooks/useScrollTo.d.ts.map +1 -0
  707. package/lib/hooks/useScrollTo.js +22 -0
  708. package/lib/hooks/useScrollToEnd.d.ts +2 -0
  709. package/lib/hooks/useScrollToEnd.d.ts.map +1 -0
  710. package/lib/hooks/useScrollToEnd.js +21 -0
  711. package/lib/hooks/useScrollUp.d.ts +4 -0
  712. package/lib/hooks/useScrollUp.d.ts.map +1 -0
  713. package/lib/hooks/useScrollUp.js +20 -0
  714. package/lib/hooks/useSendFiles.d.ts +5 -0
  715. package/lib/hooks/useSendFiles.d.ts.map +1 -0
  716. package/lib/hooks/useSendFiles.js +63 -0
  717. package/lib/hooks/useSendMessage.d.ts +8 -0
  718. package/lib/hooks/useSendMessage.d.ts.map +1 -0
  719. package/lib/hooks/useSendMessage.js +102 -0
  720. package/lib/hooks/useStyleSet.d.ts +3 -0
  721. package/lib/hooks/useStyleSet.d.ts.map +1 -0
  722. package/lib/hooks/useStyleSet.js +13 -0
  723. package/lib/hooks/useWebSpeechPonyfill.d.ts +3 -0
  724. package/lib/hooks/useWebSpeechPonyfill.d.ts.map +1 -0
  725. package/lib/hooks/useWebSpeechPonyfill.js +12 -0
  726. package/lib/index.d.ts +330 -0
  727. package/lib/index.d.ts.map +1 -0
  728. package/lib/index.js +164 -0
  729. package/lib/internal.d.ts +4 -0
  730. package/lib/internal.d.ts.map +1 -0
  731. package/lib/internal.js +21 -0
  732. package/lib/providers/ActivityTree/ActivityTreeComposer.d.ts +7 -0
  733. package/lib/providers/ActivityTree/ActivityTreeComposer.d.ts.map +1 -0
  734. package/lib/providers/ActivityTree/ActivityTreeComposer.js +90 -0
  735. package/lib/providers/ActivityTree/private/Context.d.ts +9 -0
  736. package/lib/providers/ActivityTree/private/Context.d.ts.map +1 -0
  737. package/lib/providers/ActivityTree/private/Context.js +10 -0
  738. package/lib/providers/ActivityTree/private/types.d.ts +10 -0
  739. package/lib/providers/ActivityTree/private/types.d.ts.map +1 -0
  740. package/lib/providers/ActivityTree/private/types.js +2 -0
  741. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.d.ts +4 -0
  742. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.d.ts.map +1 -0
  743. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.js +36 -0
  744. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.d.ts +5 -0
  745. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.d.ts.map +1 -0
  746. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.js +147 -0
  747. package/lib/providers/ActivityTree/private/useContext.d.ts +3 -0
  748. package/lib/providers/ActivityTree/private/useContext.d.ts.map +1 -0
  749. package/lib/providers/ActivityTree/private/useContext.js +18 -0
  750. package/lib/providers/ActivityTree/useActivityTreeWithRenderer.d.ts +8 -0
  751. package/lib/providers/ActivityTree/useActivityTreeWithRenderer.d.ts.map +1 -0
  752. package/lib/providers/ActivityTree/useActivityTreeWithRenderer.js +14 -0
  753. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.d.ts +37 -0
  754. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.d.ts.map +1 -0
  755. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.js +145 -0
  756. package/lib/providers/LiveRegionTwin/private/Context.d.ts +10 -0
  757. package/lib/providers/LiveRegionTwin/private/Context.d.ts.map +1 -0
  758. package/lib/providers/LiveRegionTwin/private/Context.js +11 -0
  759. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.d.ts +12 -0
  760. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.d.ts.map +1 -0
  761. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.js +77 -0
  762. package/lib/providers/LiveRegionTwin/private/types.d.ts +8 -0
  763. package/lib/providers/LiveRegionTwin/private/types.d.ts.map +1 -0
  764. package/lib/providers/LiveRegionTwin/private/types.js +2 -0
  765. package/lib/providers/LiveRegionTwin/private/useContext.d.ts +3 -0
  766. package/lib/providers/LiveRegionTwin/private/useContext.d.ts.map +1 -0
  767. package/lib/providers/LiveRegionTwin/private/useContext.js +18 -0
  768. package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.d.ts +2 -0
  769. package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.d.ts.map +1 -0
  770. package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.js +20 -0
  771. package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.d.ts +3 -0
  772. package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.d.ts.map +1 -0
  773. package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.js +12 -0
  774. package/lib/providers/LiveRegionTwin/useQueueStaticElement.d.ts +8 -0
  775. package/lib/providers/LiveRegionTwin/useQueueStaticElement.d.ts.map +1 -0
  776. package/lib/providers/LiveRegionTwin/useQueueStaticElement.js +17 -0
  777. package/lib/providers/ModalDialog/ModalDialogComposer.d.ts +7 -0
  778. package/lib/providers/ModalDialog/ModalDialogComposer.d.ts.map +1 -0
  779. package/lib/providers/ModalDialog/ModalDialogComposer.js +51 -0
  780. package/lib/providers/ModalDialog/private/Context.d.ts +13 -0
  781. package/lib/providers/ModalDialog/private/Context.d.ts.map +1 -0
  782. package/lib/providers/ModalDialog/private/Context.js +24 -0
  783. package/lib/providers/ModalDialog/private/Popover.d.ts +10 -0
  784. package/lib/providers/ModalDialog/private/Popover.d.ts.map +1 -0
  785. package/lib/providers/ModalDialog/private/Popover.js +79 -0
  786. package/lib/providers/ModalDialog/private/useContext.d.ts +4 -0
  787. package/lib/providers/ModalDialog/private/useContext.d.ts.map +1 -0
  788. package/lib/providers/ModalDialog/private/useContext.js +13 -0
  789. package/lib/providers/ModalDialog/useClose.d.ts +3 -0
  790. package/lib/providers/ModalDialog/useClose.d.ts.map +1 -0
  791. package/lib/providers/ModalDialog/useClose.js +12 -0
  792. package/lib/providers/ModalDialog/useShowModal.d.ts +3 -0
  793. package/lib/providers/ModalDialog/useShowModal.d.ts.map +1 -0
  794. package/lib/providers/ModalDialog/useShowModal.js +12 -0
  795. package/lib/providers/RovingTabIndex/RovingTabIndexComposer.d.ts +8 -0
  796. package/lib/providers/RovingTabIndex/RovingTabIndexComposer.d.ts.map +1 -0
  797. package/lib/providers/RovingTabIndex/RovingTabIndexComposer.js +163 -0
  798. package/lib/providers/RovingTabIndex/private/Context.d.ts +8 -0
  799. package/lib/providers/RovingTabIndex/private/Context.d.ts.map +1 -0
  800. package/lib/providers/RovingTabIndex/private/Context.js +17 -0
  801. package/lib/providers/RovingTabIndex/private/useContext.d.ts +2 -0
  802. package/lib/providers/RovingTabIndex/private/useContext.d.ts.map +1 -0
  803. package/lib/providers/RovingTabIndex/private/useContext.js +18 -0
  804. package/lib/providers/RovingTabIndex/useItemRef.d.ts +3 -0
  805. package/lib/providers/RovingTabIndex/useItemRef.d.ts.map +1 -0
  806. package/lib/providers/RovingTabIndex/useItemRef.js +19 -0
  807. package/lib/providers/Theme/ThemeProvider.d.ts +7 -0
  808. package/lib/providers/Theme/ThemeProvider.d.ts.map +1 -0
  809. package/lib/providers/Theme/ThemeProvider.js +103 -0
  810. package/lib/providers/Theme/private/Context.d.ts +19 -0
  811. package/lib/providers/Theme/private/Context.d.ts.map +1 -0
  812. package/lib/providers/Theme/private/Context.js +26 -0
  813. package/lib/providers/Theme/useTheme.d.ts +2 -0
  814. package/lib/providers/Theme/useTheme.d.ts.map +1 -0
  815. package/lib/providers/Theme/useTheme.js +13 -0
  816. package/lib/providers/TranscriptFocus/TranscriptFocusComposer.d.ts +7 -0
  817. package/lib/providers/TranscriptFocus/TranscriptFocusComposer.d.ts.map +1 -0
  818. package/lib/providers/TranscriptFocus/TranscriptFocusComposer.js +153 -0
  819. package/lib/providers/TranscriptFocus/private/Context.d.ts +12 -0
  820. package/lib/providers/TranscriptFocus/private/Context.d.ts.map +1 -0
  821. package/lib/providers/TranscriptFocus/private/Context.js +11 -0
  822. package/lib/providers/TranscriptFocus/private/useContext.d.ts +2 -0
  823. package/lib/providers/TranscriptFocus/private/useContext.d.ts.map +1 -0
  824. package/lib/providers/TranscriptFocus/private/useContext.js +18 -0
  825. package/lib/providers/TranscriptFocus/useActiveDescendantId.d.ts +2 -0
  826. package/lib/providers/TranscriptFocus/useActiveDescendantId.d.ts.map +1 -0
  827. package/lib/providers/TranscriptFocus/useActiveDescendantId.js +12 -0
  828. package/lib/providers/TranscriptFocus/useFocusByActivityKey.d.ts +8 -0
  829. package/lib/providers/TranscriptFocus/useFocusByActivityKey.d.ts.map +1 -0
  830. package/lib/providers/TranscriptFocus/useFocusByActivityKey.js +18 -0
  831. package/lib/providers/TranscriptFocus/useFocusRelativeActivity.d.ts +2 -0
  832. package/lib/providers/TranscriptFocus/useFocusRelativeActivity.d.ts.map +1 -0
  833. package/lib/providers/TranscriptFocus/useFocusRelativeActivity.js +12 -0
  834. package/lib/providers/TranscriptFocus/useFocusedActivityKey.d.ts +2 -0
  835. package/lib/providers/TranscriptFocus/useFocusedActivityKey.d.ts.map +1 -0
  836. package/lib/providers/TranscriptFocus/useFocusedActivityKey.js +12 -0
  837. package/lib/providers/TranscriptFocus/useFocusedExplicitly.d.ts +2 -0
  838. package/lib/providers/TranscriptFocus/useFocusedExplicitly.d.ts.map +1 -0
  839. package/lib/providers/TranscriptFocus/useFocusedExplicitly.js +12 -0
  840. package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.d.ts +2 -0
  841. package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.d.ts.map +1 -0
  842. package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.js +12 -0
  843. package/lib/providers/internal/SendBox/SendBoxComposer.d.ts +4 -0
  844. package/lib/providers/internal/SendBox/SendBoxComposer.d.ts.map +1 -0
  845. package/lib/providers/internal/SendBox/SendBoxComposer.js +161 -0
  846. package/lib/providers/internal/SendBox/private/Context.d.ts +4 -0
  847. package/lib/providers/internal/SendBox/private/Context.d.ts.map +1 -0
  848. package/lib/providers/internal/SendBox/private/Context.js +11 -0
  849. package/lib/providers/internal/SendBox/private/types.d.ts +8 -0
  850. package/lib/providers/internal/SendBox/private/types.d.ts.map +1 -0
  851. package/lib/providers/internal/SendBox/private/types.js +2 -0
  852. package/lib/providers/internal/SendBox/private/useContext.d.ts +3 -0
  853. package/lib/providers/internal/SendBox/private/useContext.d.ts.map +1 -0
  854. package/lib/providers/internal/SendBox/private/useContext.js +17 -0
  855. package/lib/providers/internal/SendBox/useErrorMessageId.d.ts +12 -0
  856. package/lib/providers/internal/SendBox/useErrorMessageId.d.ts.map +1 -0
  857. package/lib/providers/internal/SendBox/useErrorMessageId.js +22 -0
  858. package/lib/providers/internal/SendBox/useSubmit.d.ts +14 -0
  859. package/lib/providers/internal/SendBox/useSubmit.d.ts.map +1 -0
  860. package/lib/providers/internal/SendBox/useSubmit.js +20 -0
  861. package/lib/tsconfig.json +18 -0
  862. package/lib/types/ContextOf.d.ts +4 -0
  863. package/lib/types/ContextOf.d.ts.map +1 -0
  864. package/lib/types/ContextOf.js +2 -0
  865. package/lib/types/PropsOf.d.ts +3 -0
  866. package/lib/types/PropsOf.d.ts.map +1 -0
  867. package/lib/types/PropsOf.js +2 -0
  868. package/lib/types/ScrollPosition.d.ts +6 -0
  869. package/lib/types/ScrollPosition.d.ts.map +1 -0
  870. package/lib/types/ScrollPosition.js +2 -0
  871. package/lib/types/internal/FocusTranscriptInit.d.ts +4 -0
  872. package/lib/types/internal/FocusTranscriptInit.d.ts.map +1 -0
  873. package/lib/types/internal/FocusTranscriptInit.js +2 -0
  874. package/lib/types/internal/SendStatus.d.ts +7 -0
  875. package/lib/types/internal/SendStatus.d.ts.map +1 -0
  876. package/lib/types/internal/SendStatus.js +19 -0
  877. package/lib/types/internal/TypeOfArray.d.ts +2 -0
  878. package/lib/types/internal/TypeOfArray.d.ts.map +1 -0
  879. package/lib/types/internal/TypeOfArray.js +2 -0
  880. package/lib/withEmoji/private/UndoEntry.d.ts +9 -0
  881. package/lib/withEmoji/private/UndoEntry.d.ts.map +1 -0
  882. package/lib/withEmoji/private/UndoEntry.js +69 -0
  883. package/lib/withEmoji/private/useUndoStack.d.ts +6 -0
  884. package/lib/withEmoji/private/useUndoStack.d.ts.map +1 -0
  885. package/lib/withEmoji/private/useUndoStack.js +64 -0
  886. package/lib/withEmoji/withEmoji.d.ts +15 -0
  887. package/lib/withEmoji/withEmoji.d.ts.map +1 -0
  888. package/lib/withEmoji/withEmoji.js +128 -0
  889. package/package.json +81 -146
  890. package/src/Activity/Avatar.tsx +23 -20
  891. package/src/Activity/Bubble.tsx +70 -45
  892. package/src/Activity/CarouselFilmStrip.js +112 -31
  893. package/src/Activity/CarouselFilmStripAttachment.js +15 -14
  894. package/src/Activity/CarouselLayout.js +17 -16
  895. package/src/Activity/SayAlt.js +26 -0
  896. package/src/Activity/Speak.tsx +42 -84
  897. package/src/Activity/StackedLayout.tsx +198 -265
  898. package/src/ActivityStatus/AbsoluteTime.js +32 -0
  899. package/src/ActivityStatus/OthersActivityStatus.tsx +53 -52
  900. package/src/ActivityStatus/SelfActivityStatus.tsx +8 -11
  901. package/src/ActivityStatus/SendStatus/SendStatus.tsx +23 -23
  902. package/src/ActivityStatus/Slotted.tsx +26 -0
  903. package/src/ActivityStatus/Timestamp.tsx +12 -17
  904. package/src/ActivityStatus/private/Feedback/Feedback.tsx +60 -0
  905. package/src/ActivityStatus/private/Feedback/private/ThumbButton.Image.tsx +30 -0
  906. package/src/ActivityStatus/private/Feedback/private/ThumbButton.tsx +54 -0
  907. package/src/ActivityStatus/private/Feedback/private/VoteButton.tsx +36 -0
  908. package/src/ActivityStatus/private/Feedback/private/icons/ThumbDislike16Filled.tsx +16 -0
  909. package/src/ActivityStatus/private/Feedback/private/icons/ThumbDislike16Regular.tsx +16 -0
  910. package/src/ActivityStatus/private/Feedback/private/icons/ThumbLike16Filled.tsx +16 -0
  911. package/src/ActivityStatus/private/Feedback/private/icons/ThumbLike16Regular.tsx +16 -0
  912. package/src/ActivityStatus/private/Originator.tsx +10 -33
  913. package/src/ActivityStatus/private/RelativeTime.js +31 -0
  914. package/src/Assets/TypingAnimation.js +1 -3
  915. package/src/Attachment/Assets/DownloadIcon.js +29 -0
  916. package/src/Attachment/AudioContent.tsx +29 -20
  917. package/src/Attachment/FileContent.tsx +46 -46
  918. package/src/Attachment/HTMLVideoContent.tsx +27 -21
  919. package/src/Attachment/ImageAttachment.js +37 -0
  920. package/src/Attachment/ImageContent.tsx +27 -13
  921. package/src/Attachment/Text/TextAttachment.tsx +14 -38
  922. package/src/Attachment/Text/TextContent.tsx +16 -40
  923. package/src/Attachment/Text/private/CitationModalContent.tsx +21 -28
  924. package/src/Attachment/Text/private/MarkdownTextContent.tsx +126 -223
  925. package/src/Attachment/Text/private/MessageSensitivityLabel.tsx +34 -47
  926. package/src/Attachment/Text/private/PlainTextContent.tsx +14 -24
  927. package/src/Attachment/Text/private/ShieldIcon.tsx +34 -52
  928. package/src/Attachment/VideoAttachment.js +1 -1
  929. package/src/Attachment/VideoContent.tsx +27 -21
  930. package/src/Attachment/VimeoContent.tsx +25 -21
  931. package/src/Attachment/YouTubeContent.tsx +25 -21
  932. package/src/Avatar/ImageAvatar.js +49 -0
  933. package/src/Avatar/InitialsAvatar.js +50 -0
  934. package/src/BasicConnectivityStatus.js +7 -7
  935. package/src/BasicToast.js +1 -1
  936. package/src/BasicToaster.js +8 -47
  937. package/src/BasicTranscript.tsx +587 -402
  938. package/src/BasicWebChat.tsx +34 -28
  939. package/src/Composer.tsx +128 -226
  940. package/src/ConnectivityStatus/Connecting.js +72 -0
  941. package/src/Dictation.js +24 -16
  942. package/src/ErrorBox.tsx +26 -54
  943. package/src/LinkDefinition/LinkDefinitionItem.tsx +21 -51
  944. package/src/LinkDefinition/LinkDefinitions.tsx +19 -84
  945. package/src/LinkDefinition/index.ts +4 -6
  946. package/src/LinkDefinition/private/Badge.tsx +1 -12
  947. package/src/LinkDefinition/private/Chevron.tsx +21 -0
  948. package/src/LinkDefinition/private/ItemBody.tsx +15 -24
  949. package/src/LinkDefinition/private/OpenInNewWindowIcon.tsx +13 -20
  950. package/src/LinkDefinition/private/extractHostnameWithSubdomain.spec.ts +0 -2
  951. package/src/LinkDefinition/private/extractHostnameWithSubdomain.ts +1 -1
  952. package/src/LiveRegion/LiveRegionActivity.tsx +18 -18
  953. package/src/LiveRegion/private/LiveRegionSuggestedActions.tsx +25 -34
  954. package/src/Middleware/Activity/createCoreMiddleware.tsx +102 -0
  955. package/src/Middleware/ActivityStatus/createTimestampMiddleware.tsx +2 -2
  956. package/src/Middleware/Avatar/createCoreMiddleware.tsx +76 -0
  957. package/src/Middleware/ScrollToEndButton/ScrollToEndButton.js +45 -0
  958. package/src/ReactWebChat.tsx +8 -3
  959. package/src/ScreenReaderText.tsx +34 -27
  960. package/src/SendBox/Assets/MicrophoneIcon.js +12 -0
  961. package/src/SendBox/Assets/SendIcon.js +36 -0
  962. package/src/SendBox/AutoResizeTextArea.tsx +64 -28
  963. package/src/SendBox/BasicSendBox.tsx +29 -30
  964. package/src/SendBox/DictationInterims.tsx +21 -32
  965. package/src/SendBox/IconButton.tsx +30 -32
  966. package/src/SendBox/MicrophoneButton.tsx +23 -29
  967. package/src/SendBox/SendButton.tsx +21 -26
  968. package/src/SendBox/SuggestedAction.tsx +72 -60
  969. package/src/SendBox/SuggestedActions.tsx +9 -6
  970. package/src/SendBox/TextBox.tsx +39 -57
  971. package/src/SendBoxToolbar/Assets/AttachmentIcon.tsx +23 -6
  972. package/src/SendBoxToolbar/BasicSendBoxToolbar.tsx +2 -4
  973. package/src/SendBoxToolbar/UploadButton.tsx +26 -47
  974. package/src/Styles/CustomPropertyNames.ts +6 -66
  975. package/src/Styles/StyleSet/AudioAttachment.ts +3 -3
  976. package/src/Styles/StyleSet/Avatar.ts +3 -4
  977. package/src/Styles/StyleSet/CSSCustomProperties.ts +46 -0
  978. package/src/Styles/StyleSet/CarouselFilmStrip.ts +7 -9
  979. package/src/Styles/StyleSet/CarouselFilmStripAttachment.ts +4 -3
  980. package/src/Styles/StyleSet/ErrorBox.ts +2 -2
  981. package/src/Styles/StyleSet/FileContent.ts +1 -2
  982. package/src/Styles/StyleSet/ImageAvatar.ts +5 -8
  983. package/src/Styles/StyleSet/InitialsAvatar.ts +5 -4
  984. package/src/Styles/StyleSet/KeyboardHelp.ts +204 -0
  985. package/src/Styles/StyleSet/LinkDefinitions.ts +11 -17
  986. package/src/Styles/StyleSet/MicrophoneButton.ts +1 -1
  987. package/src/Styles/StyleSet/ModalDialog.ts +8 -14
  988. package/src/Styles/StyleSet/RenderMarkdown.ts +0 -35
  989. package/src/Styles/StyleSet/ScrollToEndButton.ts +11 -0
  990. package/src/Styles/StyleSet/SendBox.ts +7 -54
  991. package/src/Styles/StyleSet/SendBoxButton.ts +5 -7
  992. package/src/Styles/StyleSet/SendBoxTextBox.ts +1 -6
  993. package/src/Styles/StyleSet/SendStatus.ts +0 -12
  994. package/src/Styles/StyleSet/SingleAttachmentActivity.ts +18 -0
  995. package/src/Styles/StyleSet/SlottedActivityStatus.ts +16 -0
  996. package/src/Styles/StyleSet/SpinnerAnimation.ts +1 -3
  997. package/src/Styles/StyleSet/StackedLayout.ts +9 -18
  998. package/src/Styles/StyleSet/SuggestedAction.ts +13 -1
  999. package/src/Styles/StyleSet/TextContent.ts +2 -17
  1000. package/src/Styles/StyleSet/ThumbButton.ts +24 -77
  1001. package/src/Styles/StyleSet/TypingAnimation.ts +1 -3
  1002. package/src/Styles/createStyleSet.ts +14 -14
  1003. package/src/Transcript/ActivityRow.tsx +39 -100
  1004. package/src/Transcript/FocusTrap.tsx +38 -96
  1005. package/src/Transcript/KeyboardHelp.tsx +319 -0
  1006. package/src/Transcript/LiveRegion/SendFailed.tsx +10 -8
  1007. package/src/Transcript/LiveRegionTranscript.tsx +62 -11
  1008. package/src/TranscriptActivity.tsx +64 -0
  1009. package/src/Utils/AccessKeySink/Surface.js +56 -0
  1010. package/src/Utils/AccessibleButton.tsx +49 -64
  1011. package/src/Utils/AccessibleInputText.tsx +106 -97
  1012. package/src/Utils/AccessibleTextArea.tsx +41 -10
  1013. package/src/Utils/CroppedImage.js +45 -0
  1014. package/src/Utils/FocusRedirector.tsx +26 -31
  1015. package/src/Utils/InlineMarkdown.js +1 -6
  1016. package/src/Utils/JSONLinkedData/__snapshots__/dereferenceBlankNodes.spec.ts.snap +17 -17
  1017. package/src/Utils/JSONLinkedData/dereferenceBlankNodes.spec.ts +0 -2
  1018. package/src/Utils/JSONLinkedData/dereferenceBlankNodes.ts +1 -1
  1019. package/src/Utils/JSONLinkedData/getSafeOwnPropertyNames.ts +2 -2
  1020. package/src/Utils/JSONLinkedData/isUnconnectedBlankNode.spec.ts +0 -2
  1021. package/src/Utils/LocalizedString.tsx +3 -3
  1022. package/src/Utils/addTargetBlankToHyperlinksMarkdown.spec.js +4 -4
  1023. package/src/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingBrowser.ts +0 -2
  1024. package/src/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingWorker.ts +4 -4
  1025. package/src/Utils/firstTabbableDescendant.js +1 -0
  1026. package/src/Utils/parseDocumentFromString.ts +5 -0
  1027. package/src/Utils/readDataURIToBlob.js +31 -0
  1028. package/src/Utils/serializeDocumentIntoString.ts +10 -0
  1029. package/src/Utils/singleToArray.ts +3 -0
  1030. package/src/Utils/supportPseudoClass.ts +1 -1
  1031. package/src/Utils/tabbableElements.ts +1 -7
  1032. package/src/Utils/textFormatToContentType.js +12 -0
  1033. package/src/Utils/updateMarkdownAttrs.spec.js +14 -14
  1034. package/src/Utils/walkMarkdownTokens.spec.js +1 -1
  1035. package/src/hooks/index.ts +0 -4
  1036. package/src/hooks/internal/UITracker.js +1 -1
  1037. package/src/hooks/internal/WebChatUIContext.ts +1 -19
  1038. package/src/hooks/internal/createWaitUntilable.spec.ts +2 -4
  1039. package/src/hooks/internal/createWaitUntilable.ts +1 -1
  1040. package/src/hooks/internal/private/createOnEventShim.spec.ts +0 -2
  1041. package/src/hooks/internal/useForceRenderAtInterval.ts +6 -6
  1042. package/src/hooks/internal/useMemoWithPrevious.ts +16 -0
  1043. package/src/hooks/internal/useMemoized.spec.jsx +3 -3
  1044. package/src/hooks/internal/useMemoized.ts +1 -1
  1045. package/src/hooks/internal/useNonce.js +7 -0
  1046. package/src/hooks/internal/useObserveFocusVisible.ts +1 -0
  1047. package/src/hooks/internal/useStateRef.ts +1 -1
  1048. package/src/hooks/internal/useStyleToEmotionObject.js +5 -0
  1049. package/src/hooks/sendBoxFocus.ts +2 -6
  1050. package/src/hooks/transcriptScrollRelative.ts +3 -6
  1051. package/src/hooks/useObserveScrollPosition.ts +0 -3
  1052. package/src/hooks/useObserveTranscriptFocus.ts +3 -9
  1053. package/src/hooks/useRenderMarkdownAsHTML.ts +29 -32
  1054. package/src/hooks/useSendFiles.ts +1 -4
  1055. package/src/index.ts +125 -30
  1056. package/src/internal.ts +4 -0
  1057. package/src/providers/ActivityTree/ActivityTreeComposer.tsx +90 -0
  1058. package/src/providers/ActivityTree/private/Context.ts +12 -0
  1059. package/src/providers/ActivityTree/private/types.ts +12 -0
  1060. package/src/providers/ActivityTree/private/useActivitiesWithRenderer.ts +40 -0
  1061. package/src/providers/ActivityTree/private/useActivityTreeWithRenderer.ts +140 -0
  1062. package/src/providers/ActivityTree/private/useContext.ts +15 -0
  1063. package/src/providers/ActivityTree/useActivityTreeWithRenderer.ts +16 -0
  1064. package/src/providers/LiveRegionTwin/LiveRegionTwinComposer.tsx +172 -0
  1065. package/src/providers/LiveRegionTwin/private/Context.ts +15 -0
  1066. package/src/providers/LiveRegionTwin/private/LiveRegionTwinContainer.tsx +39 -27
  1067. package/src/providers/LiveRegionTwin/private/useContext.ts +8 -2
  1068. package/src/providers/LiveRegionTwin/useQueueStaticElement.ts +2 -2
  1069. package/src/providers/ModalDialog/private/Popover.tsx +15 -5
  1070. package/src/providers/RovingTabIndex/RovingTabIndexComposer.tsx +23 -20
  1071. package/src/providers/Theme/ThemeProvider.tsx +40 -119
  1072. package/src/providers/Theme/private/Context.ts +18 -18
  1073. package/src/providers/TranscriptFocus/TranscriptFocusComposer.tsx +68 -325
  1074. package/src/providers/TranscriptFocus/private/Context.ts +0 -4
  1075. package/src/providers/TranscriptFocus/useActiveDescendantId.ts +1 -4
  1076. package/src/providers/TranscriptFocus/useFocusRelativeActivity.ts +1 -1
  1077. package/src/providers/internal/SendBox/SendBoxComposer.tsx +38 -30
  1078. package/src/tsconfig.json +14 -8
  1079. package/LICENSE +0 -21
  1080. package/boot/deprecated/component.js +0 -7
  1081. package/boot/deprecated/component.mjs +0 -5
  1082. package/boot/deprecated/decorator.js +0 -7
  1083. package/boot/deprecated/decorator.mjs +0 -5
  1084. package/boot/deprecated/hook.js +0 -7
  1085. package/boot/deprecated/hook.mjs +0 -5
  1086. package/boot/deprecated/internal.js +0 -7
  1087. package/boot/deprecated/internal.mjs +0 -5
  1088. package/component.js +0 -3
  1089. package/decorator.js +0 -3
  1090. package/dist/TextBox-BEU2rUID.d.mts +0 -46
  1091. package/dist/TextBox-BEU2rUID.d.ts +0 -46
  1092. package/dist/_dtsroll-chunks/BlpMO3PT-empty-object.d.ts +0 -34
  1093. package/dist/_dtsroll-chunks/Cha1SOtx-botframework-webchat-styles.react.d.ts +0 -38
  1094. package/dist/botframework-webchat-component.component.css +0 -2
  1095. package/dist/botframework-webchat-component.component.css.map +0 -1
  1096. package/dist/botframework-webchat-component.component.d.mts +0 -9
  1097. package/dist/botframework-webchat-component.component.d.ts +0 -9
  1098. package/dist/botframework-webchat-component.component.js +0 -2
  1099. package/dist/botframework-webchat-component.component.js.map +0 -1
  1100. package/dist/botframework-webchat-component.component.mjs +0 -2
  1101. package/dist/botframework-webchat-component.component.mjs.map +0 -1
  1102. package/dist/botframework-webchat-component.css +0 -2
  1103. package/dist/botframework-webchat-component.css.map +0 -1
  1104. package/dist/botframework-webchat-component.d.ts +0 -88
  1105. package/dist/botframework-webchat-component.decorator.css +0 -2
  1106. package/dist/botframework-webchat-component.decorator.css.map +0 -1
  1107. package/dist/botframework-webchat-component.decorator.d.mts +0 -28
  1108. package/dist/botframework-webchat-component.decorator.d.ts +0 -28
  1109. package/dist/botframework-webchat-component.decorator.js +0 -2
  1110. package/dist/botframework-webchat-component.decorator.js.map +0 -1
  1111. package/dist/botframework-webchat-component.decorator.mjs +0 -2
  1112. package/dist/botframework-webchat-component.decorator.mjs.map +0 -1
  1113. package/dist/botframework-webchat-component.hook.css +0 -2
  1114. package/dist/botframework-webchat-component.hook.css.map +0 -1
  1115. package/dist/botframework-webchat-component.hook.d.mts +0 -7
  1116. package/dist/botframework-webchat-component.hook.d.ts +0 -7
  1117. package/dist/botframework-webchat-component.hook.js +0 -2
  1118. package/dist/botframework-webchat-component.hook.js.map +0 -1
  1119. package/dist/botframework-webchat-component.hook.mjs +0 -2
  1120. package/dist/botframework-webchat-component.hook.mjs.map +0 -1
  1121. package/dist/botframework-webchat-component.internal.css +0 -2
  1122. package/dist/botframework-webchat-component.internal.css.map +0 -1
  1123. package/dist/botframework-webchat-component.internal.d.ts +0 -70
  1124. package/dist/botframework-webchat-component.internal.js +0 -2
  1125. package/dist/botframework-webchat-component.internal.js.map +0 -1
  1126. package/dist/botframework-webchat-component.js +0 -2
  1127. package/dist/botframework-webchat-component.js.map +0 -1
  1128. package/dist/chunk-4RQ5J3J3.js +0 -2
  1129. package/dist/chunk-4RQ5J3J3.js.map +0 -1
  1130. package/dist/chunk-4WXVF7XF.mjs +0 -2
  1131. package/dist/chunk-4WXVF7XF.mjs.map +0 -1
  1132. package/dist/chunk-5OYC2I56.mjs +0 -2
  1133. package/dist/chunk-5OYC2I56.mjs.map +0 -1
  1134. package/dist/chunk-DGWIYV3B.mjs +0 -77
  1135. package/dist/chunk-DGWIYV3B.mjs.map +0 -1
  1136. package/dist/chunk-GGPWEZXC.js +0 -2
  1137. package/dist/chunk-GGPWEZXC.js.map +0 -1
  1138. package/dist/chunk-I6DJ35K3.mjs +0 -2
  1139. package/dist/chunk-I6DJ35K3.mjs.map +0 -1
  1140. package/dist/chunk-I6EXXZUN.js +0 -2
  1141. package/dist/chunk-I6EXXZUN.js.map +0 -1
  1142. package/dist/chunk-NT7YOW62.js +0 -2
  1143. package/dist/chunk-NT7YOW62.js.map +0 -1
  1144. package/dist/chunk-NY34QMS5.js +0 -77
  1145. package/dist/chunk-NY34QMS5.js.map +0 -1
  1146. package/dist/chunk-RTB757EJ.js +0 -2
  1147. package/dist/chunk-RTB757EJ.js.map +0 -1
  1148. package/dist/chunk-RVS2VADF.mjs +0 -2
  1149. package/dist/chunk-RVS2VADF.mjs.map +0 -1
  1150. package/dist/chunk-THSKGXBF.mjs +0 -2
  1151. package/dist/chunk-THSKGXBF.mjs.map +0 -1
  1152. package/dist/chunk-TMUNLKZW.js +0 -2
  1153. package/dist/chunk-TMUNLKZW.js.map +0 -1
  1154. package/dist/chunk-UKBRB4EA.mjs +0 -2
  1155. package/dist/chunk-UKBRB4EA.mjs.map +0 -1
  1156. package/dist/component-BtSxgJS5.d.mts +0 -539
  1157. package/dist/component-Fyy8iCRE.d.ts +0 -539
  1158. package/dist/hook-DDJUuUA1.d.mts +0 -2255
  1159. package/dist/hook-D_UtTAp5.d.ts +0 -2255
  1160. package/dist/metafile-cjs.json +0 -1
  1161. package/hook.js +0 -3
  1162. package/src/Activity/AttachmentRow.tsx +0 -56
  1163. package/src/Activity/Bubble.module.css +0 -131
  1164. package/src/Activity/CarouselFilmStrip.module.css +0 -155
  1165. package/src/Activity/CarouselFilmStripAttachment.module.css +0 -38
  1166. package/src/Activity/CarouselLayout.module.css +0 -30
  1167. package/src/Activity/CodeBlockContent.module.css +0 -40
  1168. package/src/Activity/CodeBlockContent.tsx +0 -42
  1169. package/src/Activity/CollapsibleContent.module.css +0 -43
  1170. package/src/Activity/CollapsibleContent.tsx +0 -68
  1171. package/src/Activity/SayAlt.module.css +0 -4
  1172. package/src/Activity/SayAlt.tsx +0 -25
  1173. package/src/Activity/StackedLayout.module.css +0 -233
  1174. package/src/Activity/StackedLayoutMain.tsx +0 -36
  1175. package/src/Activity/StackedLayoutMessageStatus.tsx +0 -57
  1176. package/src/Activity/StackedLayoutRoot.tsx +0 -71
  1177. package/src/Activity/StackedLayoutStatus.tsx +0 -36
  1178. package/src/Activity/private/MessageStatusLoader.module.css +0 -18
  1179. package/src/Activity/private/MessageStatusLoader.tsx +0 -27
  1180. package/src/ActivityDebug/RestrictedActivityDebugAPI.ts +0 -15
  1181. package/src/ActivityDebug/index.ts +0 -1
  1182. package/src/ActivityFeedback/ActivityFeedback.tsx +0 -88
  1183. package/src/ActivityFeedback/private/FeedbackForm.module.css +0 -123
  1184. package/src/ActivityFeedback/private/FeedbackForm.tsx +0 -83
  1185. package/src/ActivityFeedback/private/FeedbackVoteButton.tsx +0 -88
  1186. package/src/ActivityFeedback/private/FeedbackVoteButtonBar.tsx +0 -40
  1187. package/src/ActivityFeedback/private/ThumbButton.Image.tsx +0 -35
  1188. package/src/ActivityFeedback/private/ThumbButton.module.css +0 -91
  1189. package/src/ActivityFeedback/private/ThumbButton.tsx +0 -103
  1190. package/src/ActivityFeedback/private/canActionResubmit.ts +0 -6
  1191. package/src/ActivityFeedback/private/getDisclaimerFromFeedbackLoop.ts +0 -10
  1192. package/src/ActivityFeedback/private/getDisclaimerFromReviewAction.ts +0 -12
  1193. package/src/ActivityFeedback/private/hasFeedbackLoop.ts +0 -42
  1194. package/src/ActivityFeedback/private/isActionRequireReview.ts +0 -10
  1195. package/src/ActivityFeedback/providers/ActivityFeedbackComposer.tsx +0 -372
  1196. package/src/ActivityFeedback/providers/private/ActivityFeedbackContext.ts +0 -24
  1197. package/src/ActivityFeedback/providers/private/FocusPropagation.ts +0 -10
  1198. package/src/ActivityFeedback/providers/useActivityFeedbackHooks.ts +0 -6
  1199. package/src/ActivityStatus/AbsoluteTime.tsx +0 -37
  1200. package/src/ActivityStatus/ActivityStatus.module.css +0 -31
  1201. package/src/ActivityStatus/StatusSlot.tsx +0 -17
  1202. package/src/ActivityStatus/private/RelativeTime.tsx +0 -43
  1203. package/src/Attachment/ImageAttachment.tsx +0 -58
  1204. package/src/Attachment/Text/TextContent.module.css +0 -45
  1205. package/src/Attachment/Text/private/ActivityButton.module.css +0 -45
  1206. package/src/Attachment/Text/private/ActivityButton.tsx +0 -71
  1207. package/src/Attachment/Text/private/ActivityCopyButton.module.css +0 -45
  1208. package/src/Attachment/Text/private/ActivityCopyButton.tsx +0 -109
  1209. package/src/Attachment/Text/private/ActivityViewCodeButton.tsx +0 -66
  1210. package/src/Attachment/Text/private/CitationModal.module.css +0 -9
  1211. package/src/Attachment/Text/private/CodeContent.tsx +0 -44
  1212. package/src/Attachment/Text/private/Markdownable.tsx +0 -39
  1213. package/src/Attachment/Text/private/ViewCodeDialog.module.css +0 -59
  1214. package/src/Attachment/Text/private/isAIGeneratedActivity.ts +0 -5
  1215. package/src/Avatar/ImageAvatar.tsx +0 -48
  1216. package/src/Avatar/InitialsAvatar.tsx +0 -55
  1217. package/src/BuiltInDecorator.tsx +0 -17
  1218. package/src/ChatHistory/ChatHistoryBox.tsx +0 -27
  1219. package/src/ChatHistory/ChatHistoryToolbar.tsx +0 -36
  1220. package/src/ChatHistory/private/ScrollToEndButton.tsx +0 -105
  1221. package/src/ConnectivityStatus/Connecting.tsx +0 -77
  1222. package/src/Icon/ComponentIcon.module.css +0 -113
  1223. package/src/Icon/ComponentIcon.tsx +0 -59
  1224. package/src/Icon/index.ts +0 -1
  1225. package/src/LinkDefinition/LinkDefinitions.module.css +0 -209
  1226. package/src/Middleware/Activity/defaultActivityPolymiddleware.tsx +0 -104
  1227. package/src/Middleware/ActivityGrouping/createDefaultActivityGroupingDecoratorMiddleware.tsx +0 -21
  1228. package/src/Middleware/ActivityGrouping/ui/LegacyActivityBridgeComposer.tsx +0 -91
  1229. package/src/Middleware/ActivityGrouping/ui/PartGrouping/CollapsibleGrouping.module.css +0 -76
  1230. package/src/Middleware/ActivityGrouping/ui/PartGrouping/CollapsibleGrouping.tsx +0 -97
  1231. package/src/Middleware/ActivityGrouping/ui/PartGrouping/CollapsibleGroupingList.tsx +0 -30
  1232. package/src/Middleware/ActivityGrouping/ui/PartGrouping/CollapsibleGroupingTitle.tsx +0 -29
  1233. package/src/Middleware/ActivityGrouping/ui/PartGrouping/PartGrouping.tsx +0 -52
  1234. package/src/Middleware/ActivityGrouping/ui/PartGrouping/private/PartGroupingActivity.module.css +0 -29
  1235. package/src/Middleware/ActivityGrouping/ui/PartGrouping/private/PartGroupingActivity.tsx +0 -258
  1236. package/src/Middleware/ActivityGrouping/ui/PartGrouping/private/usePartGroupingLogicalGroup.ts +0 -41
  1237. package/src/Middleware/ActivityGrouping/ui/RenderActivity.tsx +0 -37
  1238. package/src/Middleware/ActivityGrouping/ui/RenderActivityGrouping.tsx +0 -41
  1239. package/src/Middleware/ActivityGrouping/ui/SenderGrouping/SenderGrouping.tsx +0 -49
  1240. package/src/Middleware/ActivityGrouping/ui/SenderGrouping/private/SenderGroupingContext.ts +0 -18
  1241. package/src/Middleware/ActivityGrouping/ui/SenderGrouping/private/useSenderGroupingContext.ts +0 -6
  1242. package/src/Middleware/ActivityGrouping/ui/SenderGrouping/useFirstActivity.ts +0 -6
  1243. package/src/Middleware/ActivityGrouping/ui/SenderGrouping/useLastActivity.ts +0 -6
  1244. package/src/Middleware/ActivityGrouping/ui/StatusGrouping/StatusGrouping.tsx +0 -49
  1245. package/src/Middleware/ActivityGrouping/ui/StatusGrouping/private/StatusGroupingContext.ts +0 -18
  1246. package/src/Middleware/ActivityGrouping/ui/StatusGrouping/private/useStatusGroupingContext.ts +0 -6
  1247. package/src/Middleware/ActivityGrouping/ui/StatusGrouping/useFirstActivity.ts +0 -6
  1248. package/src/Middleware/ActivityGrouping/ui/StatusGrouping/useLastActivity.ts +0 -6
  1249. package/src/Middleware/Avatar/DefaultAvatar.tsx +0 -61
  1250. package/src/Middleware/Avatar/createDefaultAvatarPolymiddleware.tsx +0 -22
  1251. package/src/Middleware/ScrollToEndButton/ScrollToEndButton.tsx +0 -58
  1252. package/src/SendBox/AttachmentBar/AttachmentBar.module.css +0 -32
  1253. package/src/SendBox/AttachmentBar/AttachmentBar.tsx +0 -71
  1254. package/src/SendBox/AttachmentBar/AttachmentBarItem.module.css +0 -137
  1255. package/src/SendBox/AttachmentBar/AttachmentBarItem.tsx +0 -103
  1256. package/src/SendBox/AttachmentBar/ItemDeleteButton.tsx +0 -61
  1257. package/src/SendBox/AttachmentBar/ItemPreview.tsx +0 -52
  1258. package/src/SendBox/AttachmentBar/Preview/FilePreview.module.css +0 -35
  1259. package/src/SendBox/AttachmentBar/Preview/FilePreview.tsx +0 -63
  1260. package/src/SendBox/AttachmentBar/Preview/ImagePreview.module.css +0 -5
  1261. package/src/SendBox/AttachmentBar/Preview/ImagePreview.tsx +0 -46
  1262. package/src/SendBox/AttachmentBar/Preview/sendBoxAttachment.ts +0 -13
  1263. package/src/SendBox/AttachmentBar/index.ts +0 -3
  1264. package/src/Styles/CSSCustomPropertiesContainer.tsx +0 -195
  1265. package/src/Styles/StyleSet/ActivityButton.ts +0 -49
  1266. package/src/Styles/StyleSet/ActivityCopyButton.ts +0 -40
  1267. package/src/Styles/StyleSet/ChatHistoryBox.ts +0 -22
  1268. package/src/Styles/StyleSet/CodeBlock.ts +0 -39
  1269. package/src/Styles/StyleSet/CodeBlockCopyButton.ts +0 -71
  1270. package/src/Styles/StyleSet/Tooltip.ts +0 -66
  1271. package/src/Styles/StyleSet/ViewCodeDialog.ts +0 -70
  1272. package/src/Styles/StyleSet/types/StyleSet.ts +0 -11
  1273. package/src/TextArea/TextArea.module.css +0 -75
  1274. package/src/TextArea/TextArea.tsx +0 -126
  1275. package/src/TextArea/index.ts +0 -1
  1276. package/src/Tooltip/index.ts +0 -1
  1277. package/src/Tooltip/private/Tooltip.tsx +0 -26
  1278. package/src/Transcript/ActivityTree.tsx +0 -35
  1279. package/src/Transcript/TranscriptFocus/TranscriptActivityList.tsx +0 -22
  1280. package/src/Transcript/TranscriptFocus/TranscriptFocus.module.css +0 -117
  1281. package/src/Transcript/TranscriptFocus/TranscriptFocusArea.tsx +0 -27
  1282. package/src/Transcript/TranscriptFocus/TranscriptFocusContent.tsx +0 -34
  1283. package/src/Transcript/TranscriptFocus/TranscriptFocusContentActiveDescendant.tsx +0 -26
  1284. package/src/Transcript/TranscriptFocus/TranscriptFocusContentBody.tsx +0 -20
  1285. package/src/Transcript/TranscriptFocus/TranscriptFocusContentOverlay.tsx +0 -20
  1286. package/src/Transcript/TranscriptFocus/TranscriptFocusIndicator.tsx +0 -28
  1287. package/src/Transcript/TranscriptFocus/TranscriptFocusTerminator.tsx +0 -42
  1288. package/src/Transcript/TranscriptFocus/TranscriptFocusTerminatorBody.tsx +0 -20
  1289. package/src/Transcript/TranscriptFocus/TranscriptFocusTerminatorText.tsx +0 -20
  1290. package/src/Transcript/TranscriptFocus/index.ts +0 -25
  1291. package/src/Transcript/hooks/useRenderActivityProps.ts +0 -88
  1292. package/src/Utils/AccessKeySink/Surface.tsx +0 -63
  1293. package/src/Utils/FixedWidthImage.tsx +0 -60
  1294. package/src/Utils/createIconComponent.tsx +0 -126
  1295. package/src/Utils/orgSchema/getFirstBaseOfSoftwareSourceCode.ts +0 -15
  1296. package/src/Utils/parseDocumentFragmentFromString.ts +0 -9
  1297. package/src/Utils/readDataURIToBlob.ts +0 -37
  1298. package/src/Utils/serializeDocumentFragmentIntoString.ts +0 -3
  1299. package/src/Utils/textFormatToContentType.ts +0 -14
  1300. package/src/__tests__/addMetaTag.spec.js +0 -8
  1301. package/src/__tests__/addMetaTag.spec.mjs +0 -8
  1302. package/src/boot/component.ts +0 -45
  1303. package/src/boot/decorator.ts +0 -1
  1304. package/src/boot/hook.ts +0 -116
  1305. package/src/boot/internal.ts +0 -15
  1306. package/src/buildInfo.ts +0 -9
  1307. package/src/decorator/index.ts +0 -3
  1308. package/src/decorator/private/BorderFlair.module.css +0 -566
  1309. package/src/decorator/private/BorderFlair.tsx +0 -39
  1310. package/src/decorator/private/BorderLoader.module.css +0 -53
  1311. package/src/decorator/private/BorderLoader.tsx +0 -24
  1312. package/src/decorator/private/WebChatDecorator.tsx +0 -64
  1313. package/src/decorator/stylesheet/DecoratorStylesheet.tsx +0 -33
  1314. package/src/decorator/stylesheet/createDecoratorStyleElements.ts +0 -8
  1315. package/src/env.d.ts +0 -11
  1316. package/src/hooks/RenderMarkdown.module.css +0 -102
  1317. package/src/hooks/internal/codeHighlighter/index.ts +0 -3
  1318. package/src/hooks/internal/codeHighlighter/private/CodeHighlighterComposer.tsx +0 -32
  1319. package/src/hooks/internal/codeHighlighter/private/createCodeHighlighterComposer.tsx +0 -32
  1320. package/src/hooks/internal/codeHighlighter/private/defaultHighlightCode.tsx +0 -22
  1321. package/src/hooks/internal/styleToEmotionObject/index.ts +0 -1
  1322. package/src/hooks/internal/styleToEmotionObject/private/StyleToEmotionObjectComposer.tsx +0 -20
  1323. package/src/hooks/internal/styleToEmotionObject/private/createStyleToEmotionObjectComposer.tsx +0 -22
  1324. package/src/hooks/internal/useEmotion.ts +0 -37
  1325. package/src/hooks/internal/useFeedbackActions.ts +0 -120
  1326. package/src/hooks/internal/useNonce.ts +0 -7
  1327. package/src/hooks/internal/useSanitizeHrefCallback.ts +0 -37
  1328. package/src/hooks/useStreamingMarkdownWithDefinitions.ts +0 -193
  1329. package/src/providers/ActivityLogicalGrouping/ActivityLogicalGroupingComposer.ts +0 -100
  1330. package/src/providers/ActivityLogicalGrouping/index.ts +0 -7
  1331. package/src/providers/ActivityLogicalGrouping/private/ActivityLogicalGroupingContext.ts +0 -31
  1332. package/src/providers/ActivityLogicalGrouping/private/useStateWithOptimisticRef.ts +0 -13
  1333. package/src/providers/ActivityLogicalGrouping/useAddLogicalGrouping.ts +0 -5
  1334. package/src/providers/ActivityLogicalGrouping/useGetGroupState.ts +0 -5
  1335. package/src/providers/ActivityLogicalGrouping/useGetLogicalGroupBoundaries.ts +0 -5
  1336. package/src/providers/ActivityLogicalGrouping/useGetLogicalGroupKey.ts +0 -5
  1337. package/src/providers/ActivityLogicalGrouping/useRemoveLogicalGrouping.ts +0 -5
  1338. package/src/providers/ChatHistoryDOM/ChatHistoryDOMComposer.tsx +0 -18
  1339. package/src/providers/ChatHistoryDOM/private/ChatHistoryDOMContext.ts +0 -11
  1340. package/src/providers/ChatHistoryDOM/useActivityElementRef.ts +0 -6
  1341. package/src/providers/CustomElements/CustomElementsComposer.tsx +0 -58
  1342. package/src/providers/CustomElements/customElements/CodeBlock.module.css +0 -35
  1343. package/src/providers/CustomElements/customElements/CodeBlock.ts +0 -230
  1344. package/src/providers/CustomElements/customElements/CodeBlockCopyButton.module.css +0 -63
  1345. package/src/providers/CustomElements/customElements/CodeBlockCopyButton.tsx +0 -108
  1346. package/src/providers/CustomElements/customElements/wrapAsCustomElement.ts +0 -85
  1347. package/src/providers/CustomElements/private/CustomElementsContext.ts +0 -15
  1348. package/src/providers/CustomElements/private/useCustomElementsContext.ts +0 -6
  1349. package/src/providers/CustomElements/useCodeBlockCopyButtonTagName.ts +0 -8
  1350. package/src/providers/CustomElements/useCodeBlockTagName.ts +0 -19
  1351. package/src/providers/GroupedRenderingActivities/GroupedRenderingActivities.ts +0 -10
  1352. package/src/providers/GroupedRenderingActivities/GroupedRenderingActivitiesComposer.tsx +0 -87
  1353. package/src/providers/GroupedRenderingActivities/private/GroupedRenderingActivitiesContext.ts +0 -14
  1354. package/src/providers/GroupedRenderingActivities/private/group.spec.ts +0 -31
  1355. package/src/providers/GroupedRenderingActivities/private/group.ts +0 -19
  1356. package/src/providers/GroupedRenderingActivities/private/pick.spec.ts +0 -35
  1357. package/src/providers/GroupedRenderingActivities/private/pick.ts +0 -20
  1358. package/src/providers/GroupedRenderingActivities/useGroupedRenderingActivities.ts +0 -6
  1359. package/src/providers/GroupedRenderingActivities/useNumRenderingActivities.ts +0 -5
  1360. package/src/providers/HTMLContentTransformCOR/HTMLContentTransformComposer.tsx +0 -41
  1361. package/src/providers/HTMLContentTransformCOR/index.ts +0 -8
  1362. package/src/providers/HTMLContentTransformCOR/private/HTMLContentTransformContext.ts +0 -34
  1363. package/src/providers/HTMLContentTransformCOR/private/useHTMLContentTransformContext.ts +0 -6
  1364. package/src/providers/HTMLContentTransformCOR/useTransformHTMLContent.ts +0 -187
  1365. package/src/providers/LiveRegionTwin/index.ts +0 -3
  1366. package/src/providers/LiveRegionTwin/private/LiveRegionTwinComposer.ts +0 -27
  1367. package/src/providers/LiveRegionTwin/private/createLiveRegionTwinComposer.tsx +0 -155
  1368. package/src/providers/LiveRegionTwin/useLiveRegion.ts +0 -27
  1369. package/src/providers/ReducedMotion/ReducedMotionComposer.tsx +0 -35
  1370. package/src/providers/ReducedMotion/private/Context.ts +0 -22
  1371. package/src/providers/ReducedMotion/private/useContext.ts +0 -8
  1372. package/src/providers/ReducedMotion/useShouldReduceMotion.ts +0 -5
  1373. package/src/providers/RenderingActivities/RenderingActivitiesComposer.tsx +0 -103
  1374. package/src/providers/RenderingActivities/private/RenderingActivitiesContext.ts +0 -15
  1375. package/src/providers/RenderingActivities/useActivityRendererMap.ts +0 -9
  1376. package/src/providers/RenderingActivities/useRenderingActivities.ts +0 -7
  1377. package/src/providers/RenderingActivities/useRenderingActivityKeys.ts +0 -5
  1378. package/src/providers/TranscriptFocus/TranscriptFocusComposer.spec.tsx +0 -611
  1379. package/src/providers/TranscriptFocus/useFocusByGroupKey.ts +0 -11
  1380. package/src/providers/TranscriptFocus/useFocusedKey.ts +0 -6
  1381. package/src/providers/TranscriptFocus/useGetGroupDescendantIdByActivityKey.ts +0 -5
  1382. package/src/providers/createContextAndHook.ts +0 -23
  1383. package/src/stylesheet/ComponentStylesheet.tsx +0 -33
  1384. package/src/stylesheet/createComponentStyleElements.ts +0 -8
  1385. package/src/testIds.ts +0 -17
  1386. package/src/types/internal/mutableRefObject.ts +0 -40
  1387. package/src/types/internal/refObject.ts +0 -40
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ScreenReaderText.tsx","../src/Middleware/ActivityGrouping/ui/PartGrouping/PartGrouping.tsx","../src/Middleware/ActivityGrouping/ui/PartGrouping/private/PartGroupingActivity.tsx","../src/Activity/StackedLayoutMain.tsx","unplugin-lightningcss:/__w/1/s/BotFramework-WebChat/packages/component/src/Activity/StackedLayout.module.css?css_module","../src/Activity/StackedLayoutMessageStatus.tsx","../src/Activity/private/MessageStatusLoader.tsx","unplugin-lightningcss:/__w/1/s/BotFramework-WebChat/packages/component/src/Activity/private/MessageStatusLoader.module.css?css_module","../src/Activity/StackedLayoutRoot.tsx","../src/Activity/StackedLayoutStatus.tsx","../src/providers/createContextAndHook.ts","../src/providers/ChatHistoryDOM/private/ChatHistoryDOMContext.ts","../src/providers/ChatHistoryDOM/useActivityElementRef.ts","../src/providers/TranscriptFocus/private/useContext.ts","../src/providers/TranscriptFocus/private/Context.ts","../src/providers/TranscriptFocus/useActiveDescendantId.ts","../src/providers/TranscriptFocus/useFocusByGroupKey.ts","../src/providers/TranscriptFocus/useGetGroupDescendantIdByActivityKey.ts","../src/Transcript/FocusTrap.tsx","../src/Utils/tabbableElements.ts","../src/Transcript/hooks/useRenderActivityProps.ts","../src/Middleware/ActivityGrouping/ui/SenderGrouping/private/useSenderGroupingContext.ts","../src/Middleware/ActivityGrouping/ui/SenderGrouping/private/SenderGroupingContext.ts","../src/Middleware/ActivityGrouping/ui/SenderGrouping/useFirstActivity.ts","../src/Middleware/ActivityGrouping/ui/SenderGrouping/useLastActivity.ts","../src/Middleware/ActivityGrouping/ui/StatusGrouping/private/useStatusGroupingContext.ts","../src/Middleware/ActivityGrouping/ui/StatusGrouping/private/StatusGroupingContext.ts","../src/Middleware/ActivityGrouping/ui/StatusGrouping/useFirstActivity.ts","../src/Middleware/ActivityGrouping/ui/StatusGrouping/useLastActivity.ts","../src/Utils/isZeroOrPositive.ts","../src/Transcript/TranscriptFocus/TranscriptActivityList.tsx","unplugin-lightningcss:/__w/1/s/BotFramework-WebChat/packages/component/src/Transcript/TranscriptFocus/TranscriptFocus.module.css?css_module","../src/Transcript/TranscriptFocus/TranscriptFocusArea.tsx","../src/Transcript/TranscriptFocus/TranscriptFocusIndicator.tsx","../src/Transcript/TranscriptFocus/TranscriptFocusContent.tsx","../src/Transcript/TranscriptFocus/TranscriptFocusContentOverlay.tsx","../src/Transcript/TranscriptFocus/TranscriptFocusContentActiveDescendant.tsx","../src/Transcript/TranscriptFocus/TranscriptFocusContentBody.tsx","../src/Transcript/TranscriptFocus/TranscriptFocusTerminator.tsx","../src/hooks/internal/useUniqueId.ts","../src/Transcript/TranscriptFocus/TranscriptFocusTerminatorBody.tsx","../src/Transcript/TranscriptFocus/TranscriptFocusTerminatorText.tsx","../src/Utils/detectBrowser.js","../src/Middleware/ActivityGrouping/ui/PartGrouping/CollapsibleGrouping.tsx","../src/Attachment/Text/private/ActivityButton.tsx","unplugin-lightningcss:/__w/1/s/BotFramework-WebChat/packages/component/src/Attachment/Text/private/ActivityButton.module.css?css_module","unplugin-lightningcss:/__w/1/s/BotFramework-WebChat/packages/component/src/Middleware/ActivityGrouping/ui/PartGrouping/CollapsibleGrouping.module.css?css_module","../src/Middleware/ActivityGrouping/ui/PartGrouping/CollapsibleGroupingList.tsx","../src/Middleware/ActivityGrouping/ui/PartGrouping/CollapsibleGroupingTitle.tsx","../src/Middleware/ActivityGrouping/ui/PartGrouping/private/usePartGroupingLogicalGroup.ts","../src/providers/ActivityLogicalGrouping/ActivityLogicalGroupingComposer.ts","../src/providers/ActivityLogicalGrouping/private/ActivityLogicalGroupingContext.ts","../src/providers/ActivityLogicalGrouping/private/useStateWithOptimisticRef.ts","../src/providers/ActivityLogicalGrouping/useAddLogicalGrouping.ts","../src/providers/ActivityLogicalGrouping/useRemoveLogicalGrouping.ts","../src/providers/ActivityLogicalGrouping/useGetLogicalGroupKey.ts","../src/providers/ActivityLogicalGrouping/useGetGroupState.ts","unplugin-lightningcss:/__w/1/s/BotFramework-WebChat/packages/component/src/Middleware/ActivityGrouping/ui/PartGrouping/private/PartGroupingActivity.module.css?css_module","../src/hooks/internal/codeHighlighter/private/CodeHighlighterComposer.tsx","../src/hooks/internal/codeHighlighter/private/createCodeHighlighterComposer.tsx","../src/hooks/internal/codeHighlighter/private/defaultHighlightCode.tsx"],"sourcesContent":["/* eslint react/forbid-dom-props: [\"off\"] */\n\nimport { validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport React, { forwardRef, memo } from 'react';\n\nimport { boolean, object, optional, pipe, readonly, string, type InferInput } from 'valibot';\nimport { useStyleToEmotionObject } from './hooks/internal/styleToEmotionObject';\n\nconst ROOT_STYLE = {\n // .sr-only - This component is intended to be invisible to the visual Web Chat user, but read by the AT when using a screen reader\n color: 'transparent',\n height: 1,\n overflow: 'hidden',\n position: 'absolute',\n // We need to set top: 0, otherwise, it will repro:\n // - Run NVDA\n // - Make the transcript long enough to show the scrollbar\n // - Press SHIFT-TAB, focus on upload button\n // - Press up arrow multiple times\n top: 0,\n whiteSpace: 'nowrap',\n width: 1\n};\n\nconst screenReaderTextPropsSchema = pipe(\n object({\n 'aria-hidden': optional(boolean()),\n id: optional(string()),\n text: string()\n }),\n readonly()\n);\n\ntype ScreenReaderTextProps = InferInput<typeof screenReaderTextPropsSchema>;\n\n// eslint-disable-next-line prefer-arrow-callback\nconst ScreenReaderText = forwardRef<HTMLDivElement, ScreenReaderTextProps>(function ScreenReaderText(props, ref) {\n const { 'aria-hidden': ariaHidden, id, text } = validateProps(screenReaderTextPropsSchema, props);\n\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE) + '';\n\n if (ariaHidden && !id) {\n console.warn(\n 'botframework-webchat assertion: when \"aria-hidden\" is set, the screen reader text should be read by \"aria-labelledby\". Thus, \"id\" must be set.'\n );\n }\n\n return (\n <div aria-hidden={ariaHidden} className={rootClassName} id={id} ref={ref}>\n {text}\n </div>\n );\n});\n\nexport default memo(ScreenReaderText);\nexport { screenReaderTextPropsSchema, type ScreenReaderTextProps };\n","import { reactNode } from '@msinternal/botframework-webchat-react-valibot';\nimport { getActivityLivestreamingMetadata, getOrgSchemaMessage, type WebChatActivity } from 'botframework-webchat-core';\nimport { IdentifierSchema } from 'botframework-webchat-core/graph.js';\nimport React, { Fragment, memo, useMemo } from 'react';\nimport { array, custom, is, minLength, object, optional, parse, pipe, readonly, type InferOutput } from 'valibot';\n\nimport PartGroupingActivity from './private/PartGroupingActivity';\n\nconst partGroupingPropsSchema = pipe(\n object({\n activities: pipe(\n array(custom<Readonly<WebChatActivity>>(value => is(object({}), value))),\n minLength(1, 'botframework-webchat: \"activities\" must have at least 1 activity'),\n readonly()\n ),\n children: optional(reactNode())\n }),\n readonly()\n);\n\ntype PartGroupingProps = InferOutput<typeof partGroupingPropsSchema>;\n\nfunction PartGrouping(props: PartGroupingProps) {\n const { activities, children } = parse(partGroupingPropsSchema, props);\n\n // eslint-disable-next-line no-magic-numbers\n const lastActivity = activities.at(-1);\n\n const lastMessage = useMemo(\n () =>\n getOrgSchemaMessage(\n (\n activities\n .toReversed()\n .find(activity => getActivityLivestreamingMetadata(activity)?.type === 'informative message') ||\n lastActivity\n )?.entities\n ),\n [activities, lastActivity]\n );\n\n const isGroup = activities.length > 1 || is(IdentifierSchema, lastMessage?.isPartOf[0]?.['@id']);\n\n return isGroup ? (\n <PartGroupingActivity activities={activities}>{children}</PartGroupingActivity>\n ) : (\n <Fragment>{children}</Fragment>\n );\n}\n\nexport default memo(PartGrouping);\nexport { partGroupingPropsSchema, type PartGroupingProps };\n","import { reactNode, validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport { hooks } from 'botframework-webchat-api';\nimport { getOrgSchemaMessage, type WebChatActivity } from 'botframework-webchat-core';\nimport React, { Fragment, memo, useCallback, useMemo, useState, type MouseEventHandler } from 'react';\nimport cx from 'classnames';\nimport { array, custom, is, minLength, object, optional, pipe, readonly, string, type InferOutput } from 'valibot';\n\nimport StackedLayoutMain from '../../../../../Activity/StackedLayoutMain';\nimport StackedLayoutMessageStatus from '../../../../../Activity/StackedLayoutMessageStatus';\nimport StackedLayoutRoot from '../../../../../Activity/StackedLayoutRoot';\nimport StackedLayoutStatus from '../../../../../Activity/StackedLayoutStatus';\nimport useActivityElementMapRef from '../../../../../providers/ChatHistoryDOM/useActivityElementRef';\nimport useActiveDescendantId from '../../../../../providers/TranscriptFocus/useActiveDescendantId';\nimport useFocusByGroupKey from '../../../../../providers/TranscriptFocus/useFocusByGroupKey';\nimport useGetGroupDescendantIdByActivityKey from '../../../../../providers/TranscriptFocus/useGetGroupDescendantIdByActivityKey';\nimport FocusTrap from '../../../../../Transcript/FocusTrap';\nimport useRenderActivityProps from '../../../../../Transcript/hooks/useRenderActivityProps';\nimport {\n TranscriptActivityList,\n TranscriptFocusContent,\n TranscriptFocusContentActiveDescendant,\n TranscriptFocusContentOverlay,\n TranscriptFocusIndicator\n} from '../../../../../Transcript/TranscriptFocus';\nimport { android } from '../../../../../Utils/detectBrowser';\nimport isZeroOrPositive from '../../../../../Utils/isZeroOrPositive';\nimport CollapsibleGrouping from '../CollapsibleGrouping';\nimport CollapsibleGroupingList from '../CollapsibleGroupingList';\nimport CollapsibleGroupingTitle from '../CollapsibleGroupingTitle';\nimport usePartGroupingLogicalGroup from './usePartGroupingLogicalGroup';\n\nimport styles from './PartGroupingActivity.module.css';\n\nconst { useAvatarForBot, useGetKeyByActivity, useLocalizer, useStyleOptions } = hooks;\n\nconst partGroupingActivityPropsSchema = pipe(\n object({\n activities: pipe(\n array(pipe(custom<Readonly<WebChatActivity>>(value => is(object({}), value)))),\n minLength(1, 'botframework-webchat: \"activities\" must have at least 1 activity'),\n readonly()\n ),\n children: optional(reactNode())\n }),\n readonly()\n);\n\ntype PartGroupingActivityProps = InferOutput<typeof partGroupingActivityPropsSchema>;\n\nconst partGroupingFocusableActivityPropsSchema = pipe(\n object({\n activity: custom<WebChatActivity>(value => is(object({}), value)),\n children: optional(reactNode()),\n className: optional(string()),\n groupKey: string()\n }),\n readonly()\n);\n\ntype FocusablePartGroupingActivityProps = InferOutput<typeof partGroupingFocusableActivityPropsSchema>;\n\n// eslint-disable-next-line prefer-arrow-callback\nconst FocusablePartGroupingActivity = memo(function FocusablePartGroupingActivity(\n props: FocusablePartGroupingActivityProps\n) {\n const { activity, children, className, groupKey } = validateProps(partGroupingFocusableActivityPropsSchema, props);\n\n const [activeDescendantId] = useActiveDescendantId();\n\n const getGroupDescendantIdByActivityKey = useGetGroupDescendantIdByActivityKey();\n const focusByGroupKey = useFocusByGroupKey();\n\n const getKeyByActivity = useGetKeyByActivity();\n const groupingActivityDescendantId = getGroupDescendantIdByActivityKey(getKeyByActivity(activity));\n\n const focusSelf = useCallback<(withFocus?: boolean) => void>(\n (withFocus?: boolean) => focusByGroupKey(groupKey, withFocus),\n [groupKey, focusByGroupKey]\n );\n\n // When a child of the group receives focus, notify the transcript to set the `aria-activedescendant` to this activity.\n const handleDescendantFocus: () => void = useCallback(() => focusSelf(false), [focusSelf]);\n\n // When receive Escape key from descendant, focus back to the group.\n const handleLeaveFocusTrap = useCallback(() => focusSelf(), [focusSelf]);\n\n // When the user press UP/DOWN arrow keys, we put a visual focus indicator around the focused group.\n // We should do the same for mouse, when the user click on the activity, we should also put a visual focus indicator around the activity.\n // We are doing it in event capture phase to prevent descendants from stopping event propagation to us.\n const handleMouseDownCapture: MouseEventHandler = useCallback(() => focusSelf(false), [focusSelf]);\n\n const isActiveDescendant = groupingActivityDescendantId === activeDescendantId;\n\n const activityElementMapRef = useActivityElementMapRef();\n\n const groupCallbackRef = useCallback(\n (activityElement: HTMLElement) => {\n activityElement\n ? activityElementMapRef.current.set(groupKey, activityElement)\n : activityElementMapRef.current.delete(groupKey);\n },\n [activityElementMapRef, groupKey]\n );\n\n return (\n <TranscriptFocusContent\n className={className}\n focused={isActiveDescendant}\n onMouseDownCapture={handleMouseDownCapture}\n ref={groupCallbackRef}\n role=\"article\"\n >\n <FocusTrap\n onFocus={handleDescendantFocus}\n onLeave={handleLeaveFocusTrap}\n targetClassName=\"webchat__basic-transcript__group-focus-target\"\n >\n {children}\n </FocusTrap>\n <TranscriptFocusContentOverlay>\n {!android && <TranscriptFocusContentActiveDescendant id={groupingActivityDescendantId} />}\n <TranscriptFocusIndicator type=\"content\" />\n </TranscriptFocusContentOverlay>\n </TranscriptFocusContent>\n );\n});\n\nfunction PartGroupingActivity(props: PartGroupingActivityProps) {\n const localize = useLocalizer();\n const { activities, children } = validateProps(partGroupingActivityPropsSchema, props);\n\n const classNames = useStyles(styles);\n const getKeyByActivity = useGetKeyByActivity();\n const [{ partGroupDefaultOpen }] = useStyleOptions();\n const [isGroupOpen, setIsGroupOpen] = useState(partGroupDefaultOpen);\n\n const messages = useMemo(\n () => activities.map(activity => getOrgSchemaMessage(activity.entities)).filter(Boolean),\n [activities]\n );\n // eslint-disable-next-line no-magic-numbers\n const lastMessage = messages.at(-1);\n\n const activityKeys = useMemo(\n () => activities.map(activity => getKeyByActivity(activity)),\n [activities, getKeyByActivity]\n );\n\n const groupKey = usePartGroupingLogicalGroup({\n activityKeys,\n isCollapsed: !isGroupOpen\n });\n\n const firstActivity = activities.at(0);\n // eslint-disable-next-line no-magic-numbers\n const lastActivity = activities.at(-1);\n\n const currentMessage = useMemo(\n () => messages.find(message => message.creativeWorkStatus[0] === 'Incomplete') || lastMessage,\n [messages, lastMessage]\n );\n\n const { renderAvatar, showCallout } = useRenderActivityProps(firstActivity);\n const { renderActivityStatus, hideTimestamp } = useRenderActivityProps(lastActivity);\n const [{ initials: botInitials }] = useAvatarForBot();\n\n const hasAvatar = botInitials || typeof botInitials === 'string';\n const showAvatar = showCallout && hasAvatar && !!renderAvatar;\n const [{ bubbleNubOffset }] = useStyleOptions();\n\n const topAlignedCallout = isZeroOrPositive(bubbleNubOffset);\n\n // The HowTo entity (the group root) may carry an explicit `creativeWorkStatus` and `abstract`.\n // When present, it takes precedence over status derived from individual messages.\n const [howToAbstract, howToStatus] = useMemo<[string | undefined, string | undefined]>(() => {\n const howTo = messages.find(message => message.isPartOf[0]?.creativeWorkStatus[0])?.isPartOf[0];\n\n return [howTo?.abstract[0], howTo?.creativeWorkStatus[0]];\n }, [messages]);\n\n const defaultWorkStatus = useMemo<'Incomplete' | undefined>(\n () => (messages.some(message => message.creativeWorkStatus[0]) ? 'Incomplete' : undefined),\n [messages]\n );\n\n // Group status resolution:\n // 1. If the HowTo entity has an explicit `creativeWorkStatus`, use it.\n // 2. Otherwise, derive from the active message: find the first 'Incomplete' message's status.\n // 3. Fall back to `defaultWorkStatus` which is 'Incomplete' if any message has a `creativeWorkStatus` property.\n const currentGroupStatus: string | undefined =\n howToStatus || currentMessage?.creativeWorkStatus[0] || defaultWorkStatus;\n\n /**\n * The idea behind group header is that it displays the state of the entire group:\n * - We first check if the HowTo entity (isPartOf) has an explicit `creativeWorkStatus`.\n * - If it does, we use it directly as the group status.\n * - Otherwise, we derive status from messages: find the active 'Incomplete' message.\n * - For the title we check if the current group status is 'Incomplete'.\n * - If it is 'Incomplete', we show the abstract of the first message with 'Incomplete' status.\n * - If not, we fall back to a default title.\n */\n const groupHeader = useMemo(\n () => (\n <Fragment>\n {(howToStatus || defaultWorkStatus) && (\n <StackedLayoutMessageStatus\n className={classNames['part-grouping-activity__message-status']}\n creativeWorkStatus={currentGroupStatus}\n />\n )}\n <CollapsibleGroupingTitle>\n {currentGroupStatus === 'Incomplete' || howToAbstract\n ? howToAbstract || currentMessage?.abstract[0] || localize('COLLAPSIBLE_GROUPING_TITLE')\n : localize('COLLAPSIBLE_GROUPING_TITLE')}\n </CollapsibleGroupingTitle>\n </Fragment>\n ),\n [classNames, currentGroupStatus, currentMessage?.abstract, defaultWorkStatus, howToAbstract, howToStatus, localize]\n );\n\n return (\n <FocusablePartGroupingActivity\n activity={firstActivity}\n className={classNames['part-grouping-activity']}\n groupKey={groupKey}\n >\n <StackedLayoutRoot\n hideAvatar={hasAvatar && !showAvatar}\n isGroup={true}\n showAvatar={showAvatar}\n topCallout={topAlignedCallout}\n >\n <StackedLayoutMain avatar={showAvatar && renderAvatar && renderAvatar()}>\n <CollapsibleGrouping\n className={cx(classNames['part-grouping-activity__collapsible'], {\n [classNames['part-grouping-activity__collapsible--open']]: isGroupOpen\n })}\n header={groupHeader}\n isOpen={isGroupOpen}\n onToggle={setIsGroupOpen}\n >\n <CollapsibleGroupingList\n className={classNames['part-grouping-activity__activities']}\n tag={TranscriptActivityList}\n >\n {children}\n </CollapsibleGroupingList>\n </CollapsibleGrouping>\n </StackedLayoutMain>\n {renderActivityStatus && <StackedLayoutStatus>{renderActivityStatus({ hideTimestamp })}</StackedLayoutStatus>}\n </StackedLayoutRoot>\n </FocusablePartGroupingActivity>\n );\n}\n\nexport default memo(PartGroupingActivity);\nexport { type PartGroupingActivityProps, partGroupingActivityPropsSchema };\n","import { reactNode, validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport cx from 'classnames';\nimport React, { memo } from 'react';\nimport { object, optional, pipe, readonly, type InferOutput } from 'valibot';\n\nimport styles from './StackedLayout.module.css';\n\nconst stackedLayoutMainPropsSchema = pipe(\n object({\n avatar: optional(reactNode()),\n children: optional(reactNode())\n }),\n readonly()\n);\n\ntype StackedLayoutMainProps = InferOutput<typeof stackedLayoutMainPropsSchema>;\n\nconst StackedLayoutMain = memo((props: StackedLayoutMainProps) => {\n const { avatar, children } = validateProps(stackedLayoutMainPropsSchema, props);\n\n const classNames = useStyles(styles);\n\n return (\n <div className={classNames['stacked-layout__main']}>\n <div className={cx(classNames['stacked-layout__avatar-gutter'])}>{avatar}</div>\n <div className={cx(classNames['stacked-layout__content'])}>{children}</div>\n <div className={classNames['stacked-layout__alignment-pad']} />\n </div>\n );\n});\n\nStackedLayoutMain.displayName = 'StackedLayoutMain';\n\nexport default StackedLayoutMain;\nexport { stackedLayoutMainPropsSchema, type StackedLayoutMainProps };\n","import \"/__w/1/s/BotFramework-WebChat/packages/component/src/Activity/StackedLayout.module_built.css\";\nconst classes = {\"stacked-layout--activity\":\"wRAis8G_stacked-layout--activity\",\"stacked-layout__content\":\"wRAis8G_stacked-layout__content\",\"stacked-layout__message-status--published\":\"wRAis8G_stacked-layout__message-status--published\",\"stacked-layout__message-status-complete-icon\":\"wRAis8G_stacked-layout__message-status-complete-icon\",\"stacked-layout__alignment-pad\":\"wRAis8G_stacked-layout__alignment-pad\",\"stacked-layout__avatar-gutter\":\"wRAis8G_stacked-layout__avatar-gutter\",\"stacked-layout__message-status\":\"wRAis8G_stacked-layout__message-status\",\"stacked-layout--no-message\":\"wRAis8G_stacked-layout--no-message\",\"stacked-layout--group\":\"wRAis8G_stacked-layout--group\",\"stacked-layout__message-status--incomplete\":\"wRAis8G_stacked-layout__message-status--incomplete\",\"stacked-layout--hide-avatar\":\"wRAis8G_stacked-layout--hide-avatar\",\"stacked-layout--show-avatar\":\"wRAis8G_stacked-layout--show-avatar\",\"stacked-layout__bubble\":\"wRAis8G_stacked-layout__bubble\",\"stacked-layout__message-status--unset\":\"wRAis8G_stacked-layout__message-status--unset\",\"stacked-layout__nub-pad\":\"wRAis8G_stacked-layout__nub-pad\",\"stacked-layout__attachment\":\"wRAis8G_stacked-layout__attachment\",\"stacked-layout--top-callout\":\"wRAis8G_stacked-layout--top-callout\",\"stacked-layout__message-status-loader\":\"wRAis8G_stacked-layout__message-status-loader\",\"stacked-layout__message-status-unset-icon\":\"wRAis8G_stacked-layout__message-status-unset-icon\",\"stacked-layout__attachment-row\":\"wRAis8G_stacked-layout__attachment-row\",\"stacked-layout__main\":\"wRAis8G_stacked-layout__main\",\"stacked-layout__message\":\"wRAis8G_stacked-layout__message\",\"stacked-layout__status\":\"wRAis8G_stacked-layout__status\",\"stacked-layout__message-row\":\"wRAis8G_stacked-layout__message-row\",\"stacked-layout--show-nub\":\"wRAis8G_stacked-layout--show-nub\",\"stacked-layout\":\"wRAis8G_stacked-layout\",\"stacked-layout__title\":\"wRAis8G_stacked-layout__title\",\"stacked-layout--hide-nub\":\"wRAis8G_stacked-layout--hide-nub\",\"stacked-layout--from-user\":\"wRAis8G_stacked-layout--from-user\",\"stacked-layout--extra-trailing\":\"wRAis8G_stacked-layout--extra-trailing\",\"stacked-layout__attachment-list\":\"wRAis8G_stacked-layout__attachment-list\"}\nexport default classes\n\nconst _stacked_layout__activity0 = classes[\"stacked-layout--activity\"]\nexport { _stacked_layout__activity0 as \"stacked-layout--activity\" }\n\nconst _stacked_layout__content0 = classes[\"stacked-layout__content\"]\nexport { _stacked_layout__content0 as \"stacked-layout__content\" }\n\nconst _stacked_layout__message_status__published0 = classes[\"stacked-layout__message-status--published\"]\nexport { _stacked_layout__message_status__published0 as \"stacked-layout__message-status--published\" }\n\nconst _stacked_layout__message_status_complete_icon0 = classes[\"stacked-layout__message-status-complete-icon\"]\nexport { _stacked_layout__message_status_complete_icon0 as \"stacked-layout__message-status-complete-icon\" }\n\nconst _stacked_layout__alignment_pad0 = classes[\"stacked-layout__alignment-pad\"]\nexport { _stacked_layout__alignment_pad0 as \"stacked-layout__alignment-pad\" }\n\nconst _stacked_layout__avatar_gutter0 = classes[\"stacked-layout__avatar-gutter\"]\nexport { _stacked_layout__avatar_gutter0 as \"stacked-layout__avatar-gutter\" }\n\nconst _stacked_layout__message_status0 = classes[\"stacked-layout__message-status\"]\nexport { _stacked_layout__message_status0 as \"stacked-layout__message-status\" }\n\nconst _stacked_layout__no_message0 = classes[\"stacked-layout--no-message\"]\nexport { _stacked_layout__no_message0 as \"stacked-layout--no-message\" }\n\nconst _stacked_layout__group0 = classes[\"stacked-layout--group\"]\nexport { _stacked_layout__group0 as \"stacked-layout--group\" }\n\nconst _stacked_layout__message_status__incomplete0 = classes[\"stacked-layout__message-status--incomplete\"]\nexport { _stacked_layout__message_status__incomplete0 as \"stacked-layout__message-status--incomplete\" }\n\nconst _stacked_layout__hide_avatar0 = classes[\"stacked-layout--hide-avatar\"]\nexport { _stacked_layout__hide_avatar0 as \"stacked-layout--hide-avatar\" }\n\nconst _stacked_layout__show_avatar0 = classes[\"stacked-layout--show-avatar\"]\nexport { _stacked_layout__show_avatar0 as \"stacked-layout--show-avatar\" }\n\nconst _stacked_layout__bubble0 = classes[\"stacked-layout__bubble\"]\nexport { _stacked_layout__bubble0 as \"stacked-layout__bubble\" }\n\nconst _stacked_layout__message_status__unset0 = classes[\"stacked-layout__message-status--unset\"]\nexport { _stacked_layout__message_status__unset0 as \"stacked-layout__message-status--unset\" }\n\nconst _stacked_layout__nub_pad0 = classes[\"stacked-layout__nub-pad\"]\nexport { _stacked_layout__nub_pad0 as \"stacked-layout__nub-pad\" }\n\nconst _stacked_layout__attachment0 = classes[\"stacked-layout__attachment\"]\nexport { _stacked_layout__attachment0 as \"stacked-layout__attachment\" }\n\nconst _stacked_layout__top_callout0 = classes[\"stacked-layout--top-callout\"]\nexport { _stacked_layout__top_callout0 as \"stacked-layout--top-callout\" }\n\nconst _stacked_layout__message_status_loader0 = classes[\"stacked-layout__message-status-loader\"]\nexport { _stacked_layout__message_status_loader0 as \"stacked-layout__message-status-loader\" }\n\nconst _stacked_layout__message_status_unset_icon0 = classes[\"stacked-layout__message-status-unset-icon\"]\nexport { _stacked_layout__message_status_unset_icon0 as \"stacked-layout__message-status-unset-icon\" }\n\nconst _stacked_layout__attachment_row0 = classes[\"stacked-layout__attachment-row\"]\nexport { _stacked_layout__attachment_row0 as \"stacked-layout__attachment-row\" }\n\nconst _stacked_layout__main0 = classes[\"stacked-layout__main\"]\nexport { _stacked_layout__main0 as \"stacked-layout__main\" }\n\nconst _stacked_layout__message0 = classes[\"stacked-layout__message\"]\nexport { _stacked_layout__message0 as \"stacked-layout__message\" }\n\nconst _stacked_layout__status0 = classes[\"stacked-layout__status\"]\nexport { _stacked_layout__status0 as \"stacked-layout__status\" }\n\nconst _stacked_layout__message_row0 = classes[\"stacked-layout__message-row\"]\nexport { _stacked_layout__message_row0 as \"stacked-layout__message-row\" }\n\nconst _stacked_layout__show_nub0 = classes[\"stacked-layout--show-nub\"]\nexport { _stacked_layout__show_nub0 as \"stacked-layout--show-nub\" }\n\nconst _stacked_layout0 = classes[\"stacked-layout\"]\nexport { _stacked_layout0 as \"stacked-layout\" }\n\nconst _stacked_layout__title0 = classes[\"stacked-layout__title\"]\nexport { _stacked_layout__title0 as \"stacked-layout__title\" }\n\nconst _stacked_layout__hide_nub0 = classes[\"stacked-layout--hide-nub\"]\nexport { _stacked_layout__hide_nub0 as \"stacked-layout--hide-nub\" }\n\nconst _stacked_layout__from_user0 = classes[\"stacked-layout--from-user\"]\nexport { _stacked_layout__from_user0 as \"stacked-layout--from-user\" }\n\nconst _stacked_layout__extra_trailing0 = classes[\"stacked-layout--extra-trailing\"]\nexport { _stacked_layout__extra_trailing0 as \"stacked-layout--extra-trailing\" }\n\nconst _stacked_layout__attachment_list0 = classes[\"stacked-layout__attachment-list\"]\nexport { _stacked_layout__attachment_list0 as \"stacked-layout__attachment-list\" }\n","import { validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport cx from 'classnames';\nimport React, { memo } from 'react';\nimport { object, optional, pipe, readonly, string, type InferInput } from 'valibot';\n\nimport { ComponentIcon } from '../Icon';\nimport MessageStatusLoader from './private/MessageStatusLoader';\n\nimport styles from './StackedLayout.module.css';\n\nconst stackedLayoutMessageStatusPropsSchema = pipe(\n object({\n className: optional(string()),\n creativeWorkStatus: optional(string())\n }),\n readonly()\n);\n\ntype StackedLayoutMessageStatusProps = InferInput<typeof stackedLayoutMessageStatusPropsSchema>;\n\nconst StackedLayoutMessageStatus = (props: StackedLayoutMessageStatusProps) => {\n const { className, creativeWorkStatus } = validateProps(stackedLayoutMessageStatusPropsSchema, props);\n\n const classNames = useStyles(styles);\n\n return (\n <div\n className={cx(\n classNames['stacked-layout__message-status'],\n {\n [classNames['stacked-layout__message-status--incomplete']]: creativeWorkStatus === 'Incomplete',\n [classNames['stacked-layout__message-status--published']]: creativeWorkStatus === 'Published',\n [classNames['stacked-layout__message-status--unset']]: !creativeWorkStatus\n },\n className\n )}\n >\n <ComponentIcon\n appearance=\"text\"\n className={classNames['stacked-layout__message-status-unset-icon']}\n icon=\"unchecked-circle\"\n />\n <ComponentIcon\n appearance=\"text\"\n className={classNames['stacked-layout__message-status-complete-icon']}\n icon=\"checkmark-circle\"\n />\n <MessageStatusLoader className={classNames['stacked-layout__message-status-loader']} />\n </div>\n );\n};\n\nStackedLayoutMessageStatus.displayName = 'StackedLayoutMessageStatus';\n\nexport default memo(StackedLayoutMessageStatus);\nexport { stackedLayoutMessageStatusPropsSchema, type StackedLayoutMessageStatusProps };\n","import { validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport cx from 'classnames';\nimport React, { memo } from 'react';\nimport { object, optional, pipe, readonly, string, type InferInput } from 'valibot';\n\nimport { ComponentIcon } from '../../Icon';\nimport styles from './MessageStatusLoader.module.css';\n\nconst messageStatusLoaderPropsSchema = pipe(\n object({\n className: optional(string())\n }),\n readonly()\n);\n\ntype MessageStatusLoaderProps = InferInput<typeof messageStatusLoaderPropsSchema>;\n\nfunction MessageStatusLoader(props: MessageStatusLoaderProps) {\n const { className } = validateProps(messageStatusLoaderPropsSchema, props);\n const classNames = useStyles(styles);\n\n return <ComponentIcon appearance=\"text\" className={cx(classNames['message-status-loader'], className)} />;\n}\n\nexport default memo(MessageStatusLoader);\nexport { messageStatusLoaderPropsSchema, type MessageStatusLoaderProps };\n","import \"/__w/1/s/BotFramework-WebChat/packages/component/src/Activity/private/MessageStatusLoader.module_built.css\";\nconst classes = {\"message-status-loader\":\"wgymfeG_message-status-loader\"}\nexport default classes\n\nconst _message_status_loader0 = classes[\"message-status-loader\"]\nexport { _message_status_loader0 as \"message-status-loader\" }\n","import { reactNode, validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport cx from 'classnames';\nimport React, { memo } from 'react';\nimport { boolean, object, optional, pipe, readonly, string, type InferInput } from 'valibot';\n\nimport styles from './StackedLayout.module.css';\n\nconst stackedLayoutRootPropsSchema = pipe(\n object({\n ariaLabelId: optional(string()),\n children: optional(reactNode()),\n extraTrailing: optional(boolean()),\n fromUser: optional(boolean()),\n hideAvatar: optional(boolean()),\n hideNub: optional(boolean()),\n isActivity: optional(boolean()),\n isGroup: optional(boolean()),\n noMessage: optional(boolean()),\n showAvatar: optional(boolean()),\n showNub: optional(boolean()),\n topCallout: optional(boolean())\n }),\n readonly()\n);\n\ntype StackedLayoutRootProps = InferInput<typeof stackedLayoutRootPropsSchema>;\n\nconst StackedLayoutRoot = memo((props: StackedLayoutRootProps) => {\n const {\n ariaLabelId,\n children,\n extraTrailing,\n fromUser,\n hideAvatar,\n hideNub,\n isActivity,\n isGroup,\n noMessage,\n showAvatar,\n showNub,\n topCallout\n } = validateProps(stackedLayoutRootPropsSchema, props);\n\n const classNames = useStyles(styles);\n\n return (\n <div\n aria-labelledby={ariaLabelId}\n className={cx(classNames['stacked-layout'], {\n [classNames['stacked-layout--from-user']]: fromUser,\n [classNames['stacked-layout--extra-trailing']]: extraTrailing,\n [classNames['stacked-layout--hide-avatar']]: hideAvatar,\n [classNames['stacked-layout--hide-nub']]: hideNub,\n [classNames['stacked-layout--activity']]: isActivity,\n [classNames['stacked-layout--group']]: isGroup,\n [classNames['stacked-layout--no-message']]: noMessage,\n [classNames['stacked-layout--show-avatar']]: showAvatar,\n [classNames['stacked-layout--show-nub']]: showNub,\n [classNames['stacked-layout--top-callout']]: topCallout\n })}\n >\n {children}\n </div>\n );\n});\n\nStackedLayoutRoot.displayName = 'StackedLayoutRoot';\n\nexport default StackedLayoutRoot;\nexport { stackedLayoutRootPropsSchema, type StackedLayoutRootProps };\n","import { reactNode, validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport cx from 'classnames';\nimport React, { memo } from 'react';\nimport { object, optional, pipe, readonly, type InferInput } from 'valibot';\n\nimport styles from './StackedLayout.module.css';\n\nconst stackedLayoutStatusPropsSchema = pipe(\n object({\n children: optional(reactNode())\n }),\n readonly()\n);\n\ntype StackedLayoutStatusProps = InferInput<typeof stackedLayoutStatusPropsSchema>;\n\nconst StackedLayoutStatus = memo((props: StackedLayoutStatusProps) => {\n const { children } = validateProps(stackedLayoutStatusPropsSchema, props);\n\n const classNames = useStyles(styles);\n\n return (\n <div className={cx(classNames['stacked-layout__status'])}>\n <div className={cx(classNames['stacked-layout__avatar-gutter'])} />\n <div className={cx(classNames['stacked-layout__nub-pad'])} />\n {children}\n <div className={cx(classNames['stacked-layout__alignment-pad'])} />\n </div>\n );\n});\n\nStackedLayoutStatus.displayName = 'StackedLayoutStatus';\n\nexport default StackedLayoutStatus;\nexport { stackedLayoutStatusPropsSchema, type StackedLayoutStatusProps };\n","import { createContext, useContext as reactUseContext, type Context } from 'react';\n\nexport default function createContextAndHook<T extends object>(\n displayName: string\n): Readonly<{\n contextComponentType: Context<T>;\n useContext: () => T;\n}> {\n const contextComponentType = createContext<T>(\n new Proxy({} as T, {\n get() {\n throw new Error(`botframework-webchat: This hook can only be used under <${displayName}>`);\n }\n })\n );\n\n contextComponentType.displayName = displayName;\n\n return {\n contextComponentType,\n useContext: (): T => reactUseContext(contextComponentType)\n };\n}\n","import { type MutableRefObject } from 'react';\nimport createContextAndHook from '../../createContextAndHook';\n\ntype ChatHistoryDOMContextType = Readonly<{\n activityElementRef: MutableRefObject<Map<string, HTMLElement>>;\n}>;\n\nconst { contextComponentType, useContext } = createContextAndHook<ChatHistoryDOMContextType>('ChatHistoryDOMContext');\n\nexport default contextComponentType;\nexport { useContext as useChatHistoryDOMContext, type ChatHistoryDOMContextType };\n","import { type RefObject } from 'react';\nimport { useChatHistoryDOMContext } from './private/ChatHistoryDOMContext';\n\nexport default function useActivityElementMapRef(): RefObject<Map<string, HTMLElement>> {\n return useChatHistoryDOMContext().activityElementRef;\n}\n","import { useContext } from 'react';\n\nimport TranscriptFocusContext from './Context';\n\nexport default function useTranscriptFocusContext(throwOnUndefined = true) {\n const contextValue = useContext(TranscriptFocusContext);\n\n if (throwOnUndefined && !contextValue) {\n throw new Error('botframework-webchat internal: This hook can only be used under <TranscriptFocusComposer>.');\n }\n\n return contextValue;\n}\n","import { createContext } from 'react';\n\ntype TranscriptFocusContextType = {\n activeDescendantIdState: readonly [string];\n activeGroupDescendantIdState: readonly [string];\n focusByActivityKey: (activityKey: boolean | string | undefined, withFocus: boolean | undefined) => void;\n focusByGroupKey: (groupKey: string | undefined, withFocus: boolean | undefined) => void;\n focusedActivityKeyState: readonly [string];\n focusedExplicitlyState: readonly [boolean];\n focusedGroupKeyState: readonly [string];\n focusRelativeActivity: (delta: number) => void;\n getDescendantIdByActivityKey: (activityKey?: string) => string | undefined;\n getGroupDescendantIdByActivityKey: (activityKey?: string) => string | undefined;\n};\n\nconst TranscriptFocusContext = createContext<TranscriptFocusContextType>(undefined);\n\nexport default TranscriptFocusContext;\n\nexport type { TranscriptFocusContextType };\n","import useTranscriptFocusContext from './private/useContext';\n\nexport default function useActiveDescendantId(): readonly [string] {\n const context = useTranscriptFocusContext();\n return context.activeGroupDescendantIdState[0]\n ? context.activeGroupDescendantIdState\n : context.activeDescendantIdState;\n}\n","import useTranscriptFocusContext from './private/useContext';\n\n/**\n * Put the focus on an activity based on its activity key.\n *\n * @param {boolean | string | undefined} activityKey - The activity key to focus on, `false` to reset focus to most recent activity, `true` to focus on anything, `undefined` for not changing the focus.\n * @param {boolean} withFocus - `true` if the user agent focus should be sent to the transcript, otherwise, `false`.\n */\nexport default function useFocusByGroupKey(): (groupKey: string | undefined, withFocus?: boolean) => void {\n return useTranscriptFocusContext().focusByGroupKey;\n}\n","import useTranscriptFocusContext from './private/useContext';\n\nexport default function useGetGroupDescendantIdByActivityKey(): (activityKey?: string) => string | undefined {\n return useTranscriptFocusContext().getGroupDescendantIdByActivityKey;\n}\n","/* eslint-disable no-magic-numbers */\nimport React, {\n Fragment,\n memo,\n type FocusEvent,\n type KeyboardEventHandler,\n type ReactNode,\n useCallback,\n useRef\n} from 'react';\n\nimport tabbableElements from '../Utils/tabbableElements';\nimport { useRefFrom } from 'use-ref-from';\n\nconst FocusTrap = ({\n children,\n onFocus,\n onLeave,\n targetClassName\n}: Readonly<{\n children: ReactNode;\n onFocus: () => void;\n onLeave: () => void;\n targetClassName?: string | undefined;\n}>) => {\n const bodyRef = useRef<HTMLDivElement>();\n const lastFocused = useRef<HTMLElement>();\n const onFocusRef = useRefFrom(onFocus);\n const onLeaveRef = useRefFrom(onLeave);\n\n const getTabbableElementsInBody = useCallback(() => {\n const nestedTraps = Array.from(bodyRef.current?.querySelectorAll('.webchat__focus-trap'));\n return tabbableElements(bodyRef.current)\n .filter(element => element.getAttribute('aria-disabled') !== 'true')\n .filter(element => !nestedTraps.some(trap => trap.contains(element)));\n }, [bodyRef]);\n\n const focusOrTriggerLeave = useCallback(\n (element: HTMLElement | undefined) => (element ? element.focus() : onLeaveRef.current?.()),\n [onLeaveRef]\n );\n\n const handleBodyKeyDown: KeyboardEventHandler = useCallback(\n event => {\n if (event.key === 'Escape') {\n event.preventDefault();\n event.stopPropagation();\n\n onLeaveRef.current?.();\n } else if (event.key === 'Tab') {\n const activeElement = document.activeElement as HTMLElement;\n const focusables = getTabbableElementsInBody();\n const focusedIndex = focusables.indexOf(activeElement);\n\n if (event.shiftKey && focusedIndex === 0) {\n event.preventDefault();\n\n focusOrTriggerLeave(focusables.at(-1));\n } else if (!event.shiftKey && focusedIndex === focusables.length - 1) {\n event.preventDefault();\n\n focusOrTriggerLeave(focusables.at(0));\n }\n }\n },\n [focusOrTriggerLeave, getTabbableElementsInBody, onLeaveRef]\n );\n\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLDivElement, Element>) => {\n onFocusRef.current?.();\n\n lastFocused.current = event.target;\n },\n [lastFocused, onFocusRef]\n );\n\n const handleBlur = useCallback(\n event => {\n const { target } = event;\n const focusables = getTabbableElementsInBody();\n\n // When blurred element became non-focusable, move to the first focusable element if available.\n // Otherwise trigger leave.\n if (!focusables.includes(target)) {\n event.preventDefault();\n event.stopPropagation();\n\n focusOrTriggerLeave(focusables.at(0));\n } else if (bodyRef.current.contains(target)) {\n event.stopPropagation();\n }\n },\n [focusOrTriggerLeave, getTabbableElementsInBody]\n );\n\n const handleTrapFocus = useCallback(\n event => {\n event.preventDefault();\n event.stopPropagation();\n event.target.blur();\n\n const focusables = getTabbableElementsInBody();\n\n if (lastFocused.current && focusables.includes(lastFocused.current)) {\n lastFocused.current.focus();\n } else {\n focusOrTriggerLeave(focusables.at(0));\n }\n },\n [focusOrTriggerLeave, getTabbableElementsInBody]\n );\n\n return (\n <Fragment>\n <div\n className=\"webchat__focus-trap\"\n onBlur={handleBlur}\n onFocus={handleFocus}\n onKeyDown={handleBodyKeyDown}\n ref={bodyRef}\n >\n {children}\n </div>\n <div aria-hidden=\"true\" className={targetClassName} onFocus={handleTrapFocus} tabIndex={-1} />\n </Fragment>\n );\n};\n\nFocusTrap.displayName = 'FocusTrap';\n\nexport default memo(FocusTrap);\n","export default function tabbableElements(element?: HTMLElement): HTMLElement[] {\n // This is an incomplete list, due to the complexity of testing for every scenario.\n // For full-list, please refer to https://allyjs.io/data-tables/focusable.html\n const candidates: ArrayLike<HTMLElement> =\n element?.querySelectorAll(\n 'a[href], area[href], audio[controls], button:not(:disabled), iframe, input:not(:disabled), keygen, select:not(:disabled), summary, textarea:not(:disabled), video[controls], [contenteditable], [tabindex]'\n ) || [];\n\n return ([] as HTMLElement[]).filter.call(candidates, (element: HTMLElement) => {\n const style = window.getComputedStyle(element);\n\n if (style.visibility === 'hidden' || style.display === 'none' || style.display === 'contents') {\n return false;\n }\n\n const tabIndexAttribute = element.attributes.getNamedItem('tabindex');\n\n if (tabIndexAttribute) {\n const value = parseInt(tabIndexAttribute.value, 10);\n\n return value >= 0 || (isNaN(value) && element.nodeName.toLowerCase() === 'input');\n }\n\n return true;\n });\n}\n","import { hooks } from 'botframework-webchat-api';\nimport { useBuildRenderAvatarCallback } from 'botframework-webchat-api/middleware.js';\nimport { type WebChatActivity } from 'botframework-webchat-core';\nimport { useMemo, type ReactNode } from 'react';\n\nimport useFirstActivityInSenderGroup from '../../Middleware/ActivityGrouping/ui/SenderGrouping/useFirstActivity';\nimport useLastActivityInSenderGroup from '../../Middleware/ActivityGrouping/ui/SenderGrouping/useLastActivity';\nimport useFirstActivityInStatusGroup from '../../Middleware/ActivityGrouping/ui/StatusGrouping/useFirstActivity';\nimport useLastActivityInStatusGroup from '../../Middleware/ActivityGrouping/ui/StatusGrouping/useLastActivity';\nimport isZeroOrPositive from '../../Utils/isZeroOrPositive';\n\nconst { useCreateActivityStatusRenderer, useStyleOptions } = hooks;\n\ntype RenderActivityProps = {\n hideTimestamp: boolean;\n renderActivityStatus: ((options: { hideTimestamp: boolean }) => ReactNode) | undefined;\n renderAvatar: false | (() => Exclude<ReactNode, boolean | null | undefined>) | undefined;\n showCallout: boolean;\n};\n\nconst useRenderActivityProps = (activity: WebChatActivity): RenderActivityProps => {\n const [styleOptions] = useStyleOptions();\n const [firstActivityInSenderGroup] = useFirstActivityInSenderGroup();\n const [firstActivityInStatusGroup] = useFirstActivityInStatusGroup();\n const [lastActivityInSenderGroup] = useLastActivityInSenderGroup();\n const [lastActivityInStatusGroup] = useLastActivityInStatusGroup();\n const createActivityStatusRenderer = useCreateActivityStatusRenderer();\n const buildRenderAvatar = useBuildRenderAvatarCallback();\n\n const { bubbleFromUserNubOffset, bubbleNubOffset, groupTimestamp, showAvatarInGroup } = styleOptions;\n\n const hideAllTimestamps = groupTimestamp === false;\n const isFirstInSenderGroup =\n firstActivityInSenderGroup === activity || typeof firstActivityInSenderGroup === 'undefined';\n const isFirstInStatusGroup =\n firstActivityInStatusGroup === activity || typeof firstActivityInStatusGroup === 'undefined';\n const isLastInSenderGroup =\n lastActivityInSenderGroup === activity || typeof lastActivityInSenderGroup === 'undefined';\n const isLastInStatusGroup =\n lastActivityInStatusGroup === activity || typeof lastActivityInStatusGroup === 'undefined';\n\n const renderAvatarForSenderGroup = useMemo<false | (() => Exclude<ReactNode, boolean | null | undefined>)>(() => {\n // Pass styleOptions through the runtime object (not typed in public request) for internal use\n // by the core middleware and legacy bridge handlers.\n const renderer = buildRenderAvatar(Object.freeze({ activity }));\n\n return renderer ? (): ReactNode => renderer({}) : false;\n }, [activity, buildRenderAvatar]);\n\n const isTopSideBotNub = isZeroOrPositive(bubbleNubOffset);\n const isTopSideUserNub = isZeroOrPositive(bubbleFromUserNubOffset);\n\n const renderActivityStatus = useMemo(\n () => createActivityStatusRenderer({ activity }),\n [activity, createActivityStatusRenderer]\n );\n\n const hideTimestamp = hideAllTimestamps || !isLastInStatusGroup;\n const isTopSideNub = activity.from?.role === 'user' ? isTopSideUserNub : isTopSideBotNub;\n\n let showCallout: boolean;\n\n // Depending on the \"showAvatarInGroup\" setting, the avatar will render in different positions.\n if (showAvatarInGroup === 'sender') {\n if (isTopSideNub) {\n showCallout = isFirstInSenderGroup && isFirstInStatusGroup;\n } else {\n showCallout = isLastInSenderGroup && isLastInStatusGroup;\n }\n } else if (showAvatarInGroup === 'status') {\n if (isTopSideNub) {\n showCallout = isFirstInStatusGroup;\n } else {\n showCallout = isLastInStatusGroup;\n }\n } else {\n showCallout = true;\n }\n\n return {\n hideTimestamp,\n renderActivityStatus,\n renderAvatar: renderAvatarForSenderGroup,\n showCallout\n };\n};\n\nexport default useRenderActivityProps;\n","import { useContext } from 'react';\nimport SenderGroupingContext, { type SenderGroupingContextType } from './SenderGroupingContext';\n\nexport default function useSenderGroupingContext(): SenderGroupingContextType {\n return useContext(SenderGroupingContext);\n}\n","import { type WebChatActivity } from 'botframework-webchat-core';\nimport { createContext } from 'react';\n\ntype SenderGroupingContextType = Readonly<{\n firstActivityState: readonly [WebChatActivity];\n lastActivityState: readonly [WebChatActivity];\n}>;\n\nconst EMPTY_STATE = Object.freeze([undefined] as const);\n\n// SenderGroupingContext may not available if `styleOptions.groupActivitiesBy` does not have `sender`.\nconst SenderGroupingContext = createContext<SenderGroupingContextType>({\n firstActivityState: EMPTY_STATE,\n lastActivityState: EMPTY_STATE\n});\n\nexport default SenderGroupingContext;\nexport { type SenderGroupingContextType };\n","import { type WebChatActivity } from 'botframework-webchat-core';\nimport useSenderGroupingContext from './private/useSenderGroupingContext';\n\nexport default function useFirstActivity(): readonly [WebChatActivity] {\n return useSenderGroupingContext().firstActivityState;\n}\n","import { type WebChatActivity } from 'botframework-webchat-core';\nimport useSenderGroupingContext from './private/useSenderGroupingContext';\n\nexport default function useLastActivity(): readonly [WebChatActivity] {\n return useSenderGroupingContext().lastActivityState;\n}\n","import { useContext } from 'react';\nimport StatusGroupingContext, { type StatusGroupingContextType } from './StatusGroupingContext';\n\nexport default function useStatusGroupingContext(): StatusGroupingContextType {\n return useContext(StatusGroupingContext);\n}\n","import { type WebChatActivity } from 'botframework-webchat-core';\nimport { createContext } from 'react';\n\ntype StatusGroupingContextType = Readonly<{\n firstActivityState: readonly [WebChatActivity];\n lastActivityState: readonly [WebChatActivity];\n}>;\n\nconst EMPTY_STATE = Object.freeze([undefined] as const);\n\n// StatusGroupingContext may not available if `styleOptions.groupActivitiesBy` does not have `status`.\nconst StatusGroupingContext = createContext<StatusGroupingContextType>({\n firstActivityState: EMPTY_STATE,\n lastActivityState: EMPTY_STATE\n});\n\nexport default StatusGroupingContext;\nexport { type StatusGroupingContextType };\n","import { type WebChatActivity } from 'botframework-webchat-core';\nimport useStatusGroupingContext from './private/useStatusGroupingContext';\n\nexport default function useFirstActivity(): readonly [WebChatActivity] {\n return useStatusGroupingContext().firstActivityState;\n}\n","import { type WebChatActivity } from 'botframework-webchat-core';\nimport useStatusGroupingContext from './private/useStatusGroupingContext';\n\nexport default function useLastActivity(): readonly [WebChatActivity] {\n return useStatusGroupingContext().lastActivityState;\n}\n","/**\n * Returns `true`, if the number is zero or positive, otherwise, `false`, including minus zeroes.\n */\nexport default function isZeroOrPositive(value: number): boolean {\n // This will handle minus-zero.\n return 1 / value >= 0;\n}\n","import { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport cx from 'classnames';\nimport React, { forwardRef, memo, type HTMLAttributes } from 'react';\n\nimport styles from './TranscriptFocus.module.css';\n\ntype TranscriptActivityListProps = HTMLAttributes<HTMLDivElement>;\n\nconst TranscriptActivityList = forwardRef<HTMLDivElement, TranscriptActivityListProps>(\n ({ className, ...props }, ref) => {\n const classNames = useStyles(styles);\n\n return (\n <section {...props} className={cx(classNames['transcript-focus-area__activity-list'], className)} ref={ref} />\n );\n }\n);\n\nTranscriptActivityList.displayName = 'TranscriptActivityList';\n\nexport default memo(TranscriptActivityList);\nexport { type TranscriptActivityListProps };\n","import \"/__w/1/s/BotFramework-WebChat/packages/component/src/Transcript/TranscriptFocus/TranscriptFocus.module_built.css\";\nconst classes = {\"transcript-focus-area__root\":\"wHUVgzG_transcript-focus-area__root\",\"transcript-focus-area__content--focused\":\"wHUVgzG_transcript-focus-area__content--focused\",\"transcript-focus-area\":\"wHUVgzG_transcript-focus-area\",\"transcript-focus-area__content-root\":\"wHUVgzG_transcript-focus-area__content-root\",\"transcript-focus-area__content-overlay\":\"wHUVgzG_transcript-focus-area__content-overlay\",\"transcript-focus-area__terminator\":\"wHUVgzG_transcript-focus-area__terminator\",\"transcript-focus-area__activity-list\":\"wHUVgzG_transcript-focus-area__activity-list\",\"transcript-focus-area__content\":\"wHUVgzG_transcript-focus-area__content\",\"transcript-focus-area__transcript-indicator\":\"wHUVgzG_transcript-focus-area__transcript-indicator\",\"transcript-focus-area__content-active-descendant\":\"wHUVgzG_transcript-focus-area__content-active-descendant\",\"transcript-focus-area__terminator-body\":\"wHUVgzG_transcript-focus-area__terminator-body\",\"transcript-focus-area__terminator-text\":\"wHUVgzG_transcript-focus-area__terminator-text\",\"transcript-focus-area__indicator\":\"wHUVgzG_transcript-focus-area__indicator\"}\nexport default classes\n\nconst _transcript_focus_area__root0 = classes[\"transcript-focus-area__root\"]\nexport { _transcript_focus_area__root0 as \"transcript-focus-area__root\" }\n\nconst _transcript_focus_area__content__focused0 = classes[\"transcript-focus-area__content--focused\"]\nexport { _transcript_focus_area__content__focused0 as \"transcript-focus-area__content--focused\" }\n\nconst _transcript_focus_area0 = classes[\"transcript-focus-area\"]\nexport { _transcript_focus_area0 as \"transcript-focus-area\" }\n\nconst _transcript_focus_area__content_root0 = classes[\"transcript-focus-area__content-root\"]\nexport { _transcript_focus_area__content_root0 as \"transcript-focus-area__content-root\" }\n\nconst _transcript_focus_area__content_overlay0 = classes[\"transcript-focus-area__content-overlay\"]\nexport { _transcript_focus_area__content_overlay0 as \"transcript-focus-area__content-overlay\" }\n\nconst _transcript_focus_area__terminator0 = classes[\"transcript-focus-area__terminator\"]\nexport { _transcript_focus_area__terminator0 as \"transcript-focus-area__terminator\" }\n\nconst _transcript_focus_area__activity_list0 = classes[\"transcript-focus-area__activity-list\"]\nexport { _transcript_focus_area__activity_list0 as \"transcript-focus-area__activity-list\" }\n\nconst _transcript_focus_area__content0 = classes[\"transcript-focus-area__content\"]\nexport { _transcript_focus_area__content0 as \"transcript-focus-area__content\" }\n\nconst _transcript_focus_area__transcript_indicator0 = classes[\"transcript-focus-area__transcript-indicator\"]\nexport { _transcript_focus_area__transcript_indicator0 as \"transcript-focus-area__transcript-indicator\" }\n\nconst _transcript_focus_area__content_active_descendant0 = classes[\"transcript-focus-area__content-active-descendant\"]\nexport { _transcript_focus_area__content_active_descendant0 as \"transcript-focus-area__content-active-descendant\" }\n\nconst _transcript_focus_area__terminator_body0 = classes[\"transcript-focus-area__terminator-body\"]\nexport { _transcript_focus_area__terminator_body0 as \"transcript-focus-area__terminator-body\" }\n\nconst _transcript_focus_area__terminator_text0 = classes[\"transcript-focus-area__terminator-text\"]\nexport { _transcript_focus_area__terminator_text0 as \"transcript-focus-area__terminator-text\" }\n\nconst _transcript_focus_area__indicator0 = classes[\"transcript-focus-area__indicator\"]\nexport { _transcript_focus_area__indicator0 as \"transcript-focus-area__indicator\" }\n","import { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport cx from 'classnames';\nimport React, { forwardRef, type HTMLAttributes } from 'react';\n\nimport TranscriptFocusIndicator from './TranscriptFocusIndicator';\n\nimport styles from './TranscriptFocus.module.css';\n\ntype TranscriptFocusAreaProps = HTMLAttributes<HTMLDivElement>;\n\nconst TranscriptFocusArea = forwardRef<HTMLDivElement, TranscriptFocusAreaProps>(\n ({ className, children, ...props }, ref) => {\n const classNames = useStyles(styles);\n\n return (\n <div {...props} className={cx(classNames['transcript-focus-area'], className)} ref={ref}>\n <div className={classNames['transcript-focus-area__root']}>{children}</div>\n <TranscriptFocusIndicator type=\"transcript\" />\n </div>\n );\n }\n);\n\nTranscriptFocusArea.displayName = 'TranscriptFocusArea';\n\nexport default TranscriptFocusArea;\nexport { type TranscriptFocusAreaProps };\n","import { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport cx from 'classnames';\nimport React, { forwardRef, type HTMLAttributes } from 'react';\n\nimport styles from './TranscriptFocus.module.css';\n\ntype TranscriptFocusIndicatorProps = HTMLAttributes<HTMLDivElement> &\n Readonly<{\n type?: 'content' | 'transcript';\n }>;\n\nconst TranscriptFocusIndicator = forwardRef<HTMLDivElement, TranscriptFocusIndicatorProps>(\n ({ className, type = 'content', ...props }, ref) => {\n const classNames = useStyles(styles);\n\n const indicatorClass =\n type === 'content'\n ? classNames['transcript-focus-area__indicator']\n : classNames['transcript-focus-area__transcript-indicator'];\n\n return <div {...props} className={cx(indicatorClass, className)} ref={ref} />;\n }\n);\n\nTranscriptFocusIndicator.displayName = 'TranscriptFocusIndicator';\n\nexport default TranscriptFocusIndicator;\nexport { type TranscriptFocusIndicatorProps };\n","/* eslint-disable react/require-default-props */\nimport { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport cx from 'classnames';\nimport React, { forwardRef, type HTMLAttributes } from 'react';\n\nimport styles from './TranscriptFocus.module.css';\n\ntype TranscriptFocusContentProps = HTMLAttributes<HTMLDivElement> & {\n readonly focused?: boolean;\n readonly tag?: string | React.JSXElementConstructor<any>;\n};\n\nconst TranscriptFocusContent = forwardRef<HTMLDivElement, TranscriptFocusContentProps>(\n ({ className, focused, tag: Tag = 'div', ...props }, ref) => {\n const classNames = useStyles(styles);\n\n return (\n <Tag\n {...props}\n className={cx(\n classNames['transcript-focus-area__content'],\n { [classNames['transcript-focus-area__content--focused']]: focused },\n className\n )}\n ref={ref}\n />\n );\n }\n);\n\nTranscriptFocusContent.displayName = 'TranscriptFocusContent';\n\nexport default TranscriptFocusContent;\nexport { type TranscriptFocusContentProps };\n","import { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport cx from 'classnames';\nimport React, { forwardRef, type HTMLAttributes } from 'react';\n\nimport styles from './TranscriptFocus.module.css';\n\ntype TranscriptFocusContentOverlayProps = HTMLAttributes<HTMLDivElement>;\n\nconst TranscriptFocusContentOverlay = forwardRef<HTMLDivElement, TranscriptFocusContentOverlayProps>(\n ({ className, ...props }, ref) => {\n const classNames = useStyles(styles);\n\n return <div {...props} className={cx(classNames['transcript-focus-area__content-overlay'], className)} ref={ref} />;\n }\n);\n\nTranscriptFocusContentOverlay.displayName = 'TranscriptFocusContentOverlay';\n\nexport default TranscriptFocusContentOverlay;\nexport { type TranscriptFocusContentOverlayProps };\n","import { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport cx from 'classnames';\nimport React, { forwardRef, type HTMLAttributes } from 'react';\n\nimport styles from './TranscriptFocus.module.css';\n\ntype TranscriptFocusContentActiveDescendantProps = HTMLAttributes<HTMLDivElement>;\n\nconst TranscriptFocusContentActiveDescendant = forwardRef<HTMLDivElement, TranscriptFocusContentActiveDescendantProps>(\n ({ className, ...props }, ref) => {\n const classNames = useStyles(styles);\n\n return (\n <div\n {...props}\n className={cx(classNames['transcript-focus-area__content-active-descendant'], className)}\n ref={ref}\n />\n );\n }\n);\n\nTranscriptFocusContentActiveDescendant.displayName = 'TranscriptFocusContentActiveDescendant';\n\nexport default TranscriptFocusContentActiveDescendant;\nexport { type TranscriptFocusContentActiveDescendantProps };\n","import { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport cx from 'classnames';\nimport React, { forwardRef, type HTMLAttributes } from 'react';\n\nimport styles from './TranscriptFocus.module.css';\n\ntype TranscriptFocusContentBodyProps = HTMLAttributes<HTMLDivElement>;\n\nconst TranscriptFocusContentBody = forwardRef<HTMLDivElement, TranscriptFocusContentBodyProps>(\n ({ className, ...props }, ref) => {\n const classNames = useStyles(styles);\n\n return <div {...props} className={cx(classNames['transcript-focus-area__content-body'], className)} ref={ref} />;\n }\n);\n\nTranscriptFocusContentBody.displayName = 'TranscriptFocusContentBody';\n\nexport default TranscriptFocusContentBody;\nexport { type TranscriptFocusContentBodyProps };\n","import { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport { hooks } from 'botframework-webchat-api';\nimport cx from 'classnames';\nimport React, { forwardRef, type HTMLAttributes } from 'react';\n\nimport styles from './TranscriptFocus.module.css';\nimport useUniqueId from '../../hooks/internal/useUniqueId';\n\ntype TranscriptFocusTerminatorProps = HTMLAttributes<HTMLDivElement>;\n\nconst { useLocalizer } = hooks;\n\nconst TranscriptFocusTerminator = forwardRef<HTMLDivElement, TranscriptFocusTerminatorProps>(\n ({ className, ...props }, ref) => {\n const classNames = useStyles(styles);\n const localize = useLocalizer();\n const terminatorText = localize('TRANSCRIPT_TERMINATOR_TEXT');\n const terminatorLabelId = useUniqueId('webchat__basic-transcript__terminator-label');\n\n return (\n <div\n {...props}\n aria-labelledby={terminatorLabelId}\n className={cx(classNames['transcript-focus-area__terminator'], className)}\n ref={ref}\n >\n <div className={cx(classNames['transcript-focus-area__terminator-body'])}>\n {/* `id` is required for `aria-labelledby` */}\n {/* eslint-disable-next-line react/forbid-dom-props */}\n <div className={cx(classNames['transcript-focus-area__terminator-text'])} id={terminatorLabelId}>\n {terminatorText}\n </div>\n </div>\n </div>\n );\n }\n);\n\nTranscriptFocusTerminator.displayName = 'TranscriptFocusTerminator';\n\nexport default TranscriptFocusTerminator;\nexport { type TranscriptFocusTerminatorProps };\n","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [2, 5, 36] }] */\n\nimport { useMemo } from 'react';\nimport random from 'math-random';\n\nexport default function useUniqueId(prefix?: string): string {\n const id = useMemo(() => random().toString(36).substr(2, 5), []);\n\n prefix = prefix ? `${prefix}--` : '';\n\n return `${prefix}${id}`;\n}\n","import { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport cx from 'classnames';\nimport React, { forwardRef, type HTMLAttributes } from 'react';\n\nimport styles from './TranscriptFocus.module.css';\n\ntype TranscriptFocusTerminatorBodyProps = HTMLAttributes<HTMLDivElement>;\n\nconst TranscriptFocusTerminatorBody = forwardRef<HTMLDivElement, TranscriptFocusTerminatorBodyProps>(\n ({ className, ...props }, ref) => {\n const classNames = useStyles(styles);\n\n return <div {...props} className={cx(classNames['transcript-focus-area__terminator-body'], className)} ref={ref} />;\n }\n);\n\nTranscriptFocusTerminatorBody.displayName = 'TranscriptFocusTerminatorBody';\n\nexport default TranscriptFocusTerminatorBody;\nexport { type TranscriptFocusTerminatorBodyProps };\n","import { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport cx from 'classnames';\nimport React, { forwardRef, type HTMLAttributes } from 'react';\n\nimport styles from './TranscriptFocus.module.css';\n\ntype TranscriptFocusTerminatorTextProps = HTMLAttributes<HTMLDivElement>;\n\nconst TranscriptFocusTerminatorText = forwardRef<HTMLDivElement, TranscriptFocusTerminatorTextProps>(\n ({ className, ...props }, ref) => {\n const classNames = useStyles(styles);\n\n return <div {...props} className={cx(classNames['transcript-focus-area__terminator-text'], className)} ref={ref} />;\n }\n);\n\nTranscriptFocusTerminatorText.displayName = 'TranscriptFocusTerminatorText';\n\nexport default TranscriptFocusTerminatorText;\nexport { type TranscriptFocusTerminatorTextProps };\n","const { userAgent } = navigator;\n\n// not DRY so that list can be alphabetical\nconst android = /Linux; Android/u.test(userAgent);\nconst chromium = !/Edge\\//u.test(userAgent) && /Chrome\\//u.test(userAgent);\nconst edgeAnaheim = /Edg\\//u.test(userAgent);\nconst edgeUWP = /Edge\\//u.test(userAgent);\nconst firefox = /Firefox\\//u.test(userAgent);\nconst ie11 = /Trident\\/7.0/u.test(userAgent);\n\nconst chrome = chromium && !edgeAnaheim;\nconst safari = !(chrome || edgeUWP || ie11 || firefox);\n\nexport { android, chrome, chromium, edgeAnaheim, edgeUWP, firefox, ie11, safari };\n","import { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport { reactNode, validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport { hooks } from 'botframework-webchat-api';\nimport cx from 'classnames';\nimport random from 'math-random';\nimport React, { memo, useCallback, useRef, useState } from 'react';\nimport { boolean, custom, object, optional, pipe, readonly, string, type InferInput } from 'valibot';\nimport { useRefFrom } from 'use-ref-from';\n\nimport ActivityButton from '../../../../Attachment/Text/private/ActivityButton';\nimport { ComponentIcon } from '../../../../Icon';\n\nimport styles from './CollapsibleGrouping.module.css';\n\nconst { useLocalizer } = hooks;\n\nconst collapsibleGroupingPropsSchema = pipe(\n object({\n children: reactNode(),\n className: optional(string()),\n header: optional(reactNode()),\n isOpen: optional(boolean()),\n onToggle: optional(custom<(isOpen: boolean) => void>(toggle => typeof toggle === 'function'))\n }),\n readonly()\n);\n\ntype CollapsibleGroupingProps = InferInput<typeof collapsibleGroupingPropsSchema>;\n\nfunction uniqueId(count = Infinity) {\n return (\n random()\n // eslint-disable-next-line no-magic-numbers\n .toString(36)\n // eslint-disable-next-line no-magic-numbers\n .substring(2, 2 + count)\n );\n}\n\nfunction CollapsibleGrouping(props: CollapsibleGroupingProps) {\n const { children, className, header, isOpen = true, onToggle } = validateProps(collapsibleGroupingPropsSchema, props);\n const [id] = useState(() => `webchat-collapsible-grouping-${uniqueId()}`);\n const classNames = useStyles(styles);\n const buttonRef = useRef<HTMLButtonElement>(null);\n const isOpenRef = useRefFrom(isOpen);\n const onToggleRef = useRefFrom(onToggle);\n const localize = useLocalizer();\n\n const handleToggle = useCallback(() => {\n const newIsOpen = !isOpenRef.current;\n const button = buttonRef.current;\n if (button) {\n button.setAttribute('aria-expanded', newIsOpen.toString());\n button.setAttribute('aria-pressed', newIsOpen.toString());\n }\n onToggleRef.current?.(newIsOpen);\n }, [isOpenRef, onToggleRef]);\n\n const text = isOpen ? localize('COLLAPSE_BUTTON_LESS') : localize('COLLAPSE_BUTTON_MORE');\n\n return (\n <div\n className={cx(\n classNames['collapsible-grouping'],\n { [classNames['collapsible-grouping--open']]: isOpen },\n className\n )}\n >\n <div className={cx(classNames['collapsible-grouping__header'])}>\n {header}\n <ActivityButton\n aria-controls={id}\n aria-expanded={isOpen}\n aria-pressed={isOpen}\n className={cx(classNames['collapsible-grouping__toggle'])}\n onClick={handleToggle}\n ref={buttonRef}\n text={text}\n >\n <ComponentIcon appearance=\"text\" className={classNames['collapsible-grouping__chevron']} icon=\"chevron\" />\n </ActivityButton>\n </div>\n <div\n className={cx(classNames['collapsible-grouping__content'], {\n [classNames['collapsible-grouping__content--open']]: isOpen\n })}\n // eslint-disable-next-line react/forbid-dom-props\n id={id}\n >\n {children}\n </div>\n </div>\n );\n}\n\nexport default memo(CollapsibleGrouping);\nexport { collapsibleGroupingPropsSchema, type CollapsibleGroupingProps };\n","import { reactNode, validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport cx from 'classnames';\nimport React, { forwardRef, memo, useCallback } from 'react';\nimport { useRefFrom } from 'use-ref-from';\nimport { boolean, custom, function_, is, object, optional, pipe, readonly, string, type InferInput } from 'valibot';\n\nimport { ComponentIcon, componentIconPropsSchema } from '../../../Icon';\n\nimport styles from './ActivityButton.module.css';\n\nconst activityButtonPropsSchema = pipe(\n object({\n 'aria-controls': optional(string()),\n 'aria-expanded': optional(boolean()),\n 'aria-pressed': optional(boolean()),\n children: optional(reactNode()),\n className: optional(string()),\n 'data-testid': optional(string()),\n disabled: optional(boolean()),\n icon: componentIconPropsSchema.entries.icon,\n onClick: optional(custom<() => void>(value => is(function_(), value))),\n text: optional(string())\n }),\n readonly()\n);\n\ntype ActivityButtonProps = InferInput<typeof activityButtonPropsSchema>;\n\nconst ActivityButton = forwardRef<HTMLButtonElement, ActivityButtonProps>((props, ref) => {\n const {\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-pressed': ariaPressed,\n children,\n className,\n 'data-testid': dataTestId,\n disabled,\n icon,\n onClick,\n text\n } = validateProps(activityButtonPropsSchema, props);\n\n const classNames = useStyles(styles);\n const onClickRef = useRefFrom(onClick);\n\n const handleClick = useCallback(() => onClickRef.current?.(), [onClickRef]);\n\n return (\n <button\n aria-controls={ariaControls}\n aria-disabled={disabled ? 'true' : undefined}\n aria-expanded={ariaExpanded}\n aria-pressed={ariaPressed}\n className={cx(classNames['activity-button'], className)}\n data-testid={dataTestId}\n onClick={disabled ? undefined : handleClick}\n ref={ref}\n // eslint-disable-next-line no-magic-numbers\n tabIndex={disabled ? -1 : undefined}\n type=\"button\"\n >\n {icon && <ComponentIcon appearance=\"text\" className={classNames['activity-button__icon']} icon={icon} />}\n {text && <span className=\"activity-button__text\">{text}</span>}\n {children}\n </button>\n );\n});\n\nexport default memo(ActivityButton);\nexport { activityButtonPropsSchema, type ActivityButtonProps };\n","import \"/__w/1/s/BotFramework-WebChat/packages/component/src/Attachment/Text/private/ActivityButton.module_built.css\";\nconst classes = {\"activity-button__icon\":\"wMObAfW_activity-button__icon\",\"activity-button\":\"wMObAfW_activity-button\"}\nexport default classes\n\nconst _activity_button__icon0 = classes[\"activity-button__icon\"]\nexport { _activity_button__icon0 as \"activity-button__icon\" }\n\nconst _activity_button0 = classes[\"activity-button\"]\nexport { _activity_button0 as \"activity-button\" }\n","import \"/__w/1/s/BotFramework-WebChat/packages/component/src/Middleware/ActivityGrouping/ui/PartGrouping/CollapsibleGrouping.module_built.css\";\nconst classes = {\"collapsible-grouping__chevron\":\"wDvoJHW_collapsible-grouping__chevron\",\"collapsible-grouping__header\":\"wDvoJHW_collapsible-grouping__header\",\"collapsible-grouping__title\":\"wDvoJHW_collapsible-grouping__title\",\"collapsible-grouping__content--open\":\"wDvoJHW_collapsible-grouping__content--open\",\"collapsible-grouping__content\":\"wDvoJHW_collapsible-grouping__content\",\"collapsible-grouping__list\":\"wDvoJHW_collapsible-grouping__list\",\"collapsible-grouping\":\"wDvoJHW_collapsible-grouping\",\"collapsible-grouping__toggle\":\"wDvoJHW_collapsible-grouping__toggle\",\"collapsible-grouping--open\":\"wDvoJHW_collapsible-grouping--open\"}\nexport default classes\n\nconst _collapsible_grouping__chevron0 = classes[\"collapsible-grouping__chevron\"]\nexport { _collapsible_grouping__chevron0 as \"collapsible-grouping__chevron\" }\n\nconst _collapsible_grouping__header0 = classes[\"collapsible-grouping__header\"]\nexport { _collapsible_grouping__header0 as \"collapsible-grouping__header\" }\n\nconst _collapsible_grouping__title0 = classes[\"collapsible-grouping__title\"]\nexport { _collapsible_grouping__title0 as \"collapsible-grouping__title\" }\n\nconst _collapsible_grouping__content__open0 = classes[\"collapsible-grouping__content--open\"]\nexport { _collapsible_grouping__content__open0 as \"collapsible-grouping__content--open\" }\n\nconst _collapsible_grouping__content0 = classes[\"collapsible-grouping__content\"]\nexport { _collapsible_grouping__content0 as \"collapsible-grouping__content\" }\n\nconst _collapsible_grouping__list0 = classes[\"collapsible-grouping__list\"]\nexport { _collapsible_grouping__list0 as \"collapsible-grouping__list\" }\n\nconst _collapsible_grouping0 = classes[\"collapsible-grouping\"]\nexport { _collapsible_grouping0 as \"collapsible-grouping\" }\n\nconst _collapsible_grouping__toggle0 = classes[\"collapsible-grouping__toggle\"]\nexport { _collapsible_grouping__toggle0 as \"collapsible-grouping__toggle\" }\n\nconst _collapsible_grouping__open0 = classes[\"collapsible-grouping--open\"]\nexport { _collapsible_grouping__open0 as \"collapsible-grouping--open\" }\n","import { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport { reactNode, validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport cx from 'classnames';\nimport React, { memo } from 'react';\nimport { any, object, optional, pipe, readonly, string, type InferInput } from 'valibot';\n\nimport styles from './CollapsibleGrouping.module.css';\n\nconst collapsibleGroupingListPropsSchema = pipe(\n object({\n children: optional(reactNode()),\n className: optional(string()),\n tag: optional(any())\n }),\n readonly()\n);\n\ntype CollapsibleGroupingListProps = InferInput<typeof collapsibleGroupingListPropsSchema>;\n\nconst CollapsibleGroupingList = (props: CollapsibleGroupingListProps) => {\n const { className, children, tag: Tag = 'div' } = validateProps(collapsibleGroupingListPropsSchema, props);\n const classNames = useStyles(styles);\n\n return <Tag className={cx(classNames['collapsible-grouping__list'], className)}>{children}</Tag>;\n};\n\nCollapsibleGroupingList.displayName = 'CollapsibleGroupingList';\n\nexport default memo(CollapsibleGroupingList);\nexport { collapsibleGroupingListPropsSchema, type CollapsibleGroupingListProps };\n","import { useStyles } from '@msinternal/botframework-webchat-styles/react';\nimport { reactNode, validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport cx from 'classnames';\nimport React, { memo } from 'react';\nimport { object, optional, pipe, readonly, string, type InferInput } from 'valibot';\n\nimport styles from './CollapsibleGrouping.module.css';\n\nconst collapsibleGroupingTitlePropsSchema = pipe(\n object({\n children: optional(reactNode()),\n className: optional(string())\n }),\n readonly()\n);\n\ntype CollapsibleGroupingTitleProps = InferInput<typeof collapsibleGroupingTitlePropsSchema>;\n\nconst CollapsibleGroupingTitle = (props: CollapsibleGroupingTitleProps) => {\n const { className, children } = validateProps(collapsibleGroupingTitlePropsSchema, props);\n const classNames = useStyles(styles);\n\n return <div className={cx(classNames['collapsible-grouping__title'], className)}>{children}</div>;\n};\n\nCollapsibleGroupingTitle.displayName = 'CollapsibleGroupingTitle';\n\nexport default memo(CollapsibleGroupingTitle);\nexport { collapsibleGroupingTitlePropsSchema, type CollapsibleGroupingTitleProps };\n","import random from 'math-random';\nimport { useCallback, useEffect, useMemo } from 'react';\nimport { useRefFrom } from 'use-ref-from';\nimport { useStateWithRef } from 'use-state-with-ref';\n\nimport { useAddLogicalGrouping, useRemoveLogicalGrouping } from '../../../../../providers/ActivityLogicalGrouping';\n\ntype UsePartGroupingLogicalGroupOptions = {\n activityKeys: readonly string[];\n isCollapsed: boolean;\n};\n\nfunction usePartGroupingLogicalGroup({ activityKeys, isCollapsed }: UsePartGroupingLogicalGroupOptions): string {\n // eslint-disable-next-line no-magic-numbers\n const [partGroupKey, _setPartKey, partKeyRef] = useStateWithRef(() => `part-${random().toString(36).slice(2, 11)}`);\n const addLogicalGrouping = useAddLogicalGrouping();\n const removeLogicalGrouping = useRemoveLogicalGrouping();\n\n const isCollapsedRef = useRefFrom(isCollapsed);\n\n const getGroupState = useCallback(() => ({ isCollapsed: isCollapsedRef.current }), [isCollapsedRef]);\n\n useMemo(\n () =>\n addLogicalGrouping({\n key: partKeyRef.current,\n activityKeys: Array.from(activityKeys),\n getGroupState\n }),\n [activityKeys, addLogicalGrouping, getGroupState, partKeyRef]\n );\n\n const removeLogicalGroupingRef = useRefFrom(removeLogicalGrouping);\n\n useEffect(() => () => removeLogicalGroupingRef.current(partKeyRef.current), [partKeyRef, removeLogicalGroupingRef]);\n\n return partGroupKey;\n}\n\nexport default usePartGroupingLogicalGroup;\nexport { type UsePartGroupingLogicalGroupOptions };\n","import { reactNode, validateProps } from '@msinternal/botframework-webchat-react-valibot';\nimport { createElement, memo, useCallback, useMemo, useRef } from 'react';\nimport { object, optional, pipe, readonly, type InferInput } from 'valibot';\n\nimport ActivityLogicalGroupingContext, {\n type ActivityLogicalGroupingContextType,\n type GroupState,\n type LogicalGrouping\n} from './private/ActivityLogicalGroupingContext';\nimport useStateWithOptimisticRef from './private/useStateWithOptimisticRef';\n\nconst activityLogicalGroupingComposerPropsSchema = pipe(\n object({\n children: optional(reactNode())\n }),\n readonly()\n);\n\ntype ActivityLogicalGroupingComposerProps = InferInput<typeof activityLogicalGroupingComposerPropsSchema>;\n\nconst ActivityLogicalGroupingComposer = (props: ActivityLogicalGroupingComposerProps) => {\n const { children } = validateProps(activityLogicalGroupingComposerPropsSchema, props);\n\n const logicalGroupingsRef = useRef<Map<string, LogicalGrouping>>(new Map());\n const [_activityToGroupMap, setActivityToGroupMap, activityToGroupMapRef] = useStateWithOptimisticRef<\n ReadonlyMap<string, string | undefined>\n >(new Map());\n\n const addLogicalGrouping = useCallback(\n (grouping: LogicalGrouping) => {\n const prevGroupingKeys = logicalGroupingsRef.current.get(grouping.key)?.activityKeys ?? [];\n\n logicalGroupingsRef.current.set(grouping.key, grouping);\n\n const toRemoveSet = new Set(prevGroupingKeys).difference(new Set(grouping.activityKeys));\n const toAddSet = new Set(grouping.activityKeys).difference(new Set(prevGroupingKeys));\n\n setActivityToGroupMap(\n new Map(\n [].concat(\n Array.from(activityToGroupMapRef.current).filter(([, value]) => !!value && !toRemoveSet.has(value)),\n Array.from(toAddSet).map(activityKey => [activityKey, grouping.key] as const)\n )\n )\n );\n },\n [activityToGroupMapRef, setActivityToGroupMap]\n );\n\n const removeLogicalGrouping = useCallback(\n (key: string) => {\n logicalGroupingsRef.current.delete(key);\n setActivityToGroupMap(new Map([...activityToGroupMapRef.current].filter(([, value]) => value !== key)));\n },\n [activityToGroupMapRef, setActivityToGroupMap]\n );\n\n const getLogicalGroupKey = useCallback(\n (activityKey: string): string | undefined => activityToGroupMapRef.current.get(activityKey),\n [activityToGroupMapRef]\n );\n\n const getGroupState = useCallback(\n (groupKey: string): GroupState | undefined => {\n const group = logicalGroupingsRef.current.get(groupKey);\n return group?.getGroupState?.();\n },\n [logicalGroupingsRef]\n );\n\n const getGroupBoundaries = useCallback(\n (groupKey: string): [string, string] => {\n const group = logicalGroupingsRef.current.get(groupKey);\n if (!group || !group.activityKeys.length) {\n return [undefined, undefined];\n }\n // eslint-disable-next-line no-magic-numbers\n return [group.activityKeys.at(0), group.activityKeys.at(-1)];\n },\n [logicalGroupingsRef]\n );\n\n const contextValue: ActivityLogicalGroupingContextType = useMemo(\n () => ({\n addLogicalGrouping,\n getLogicalGroupKey,\n getGroupState,\n getGroupBoundaries,\n removeLogicalGrouping\n }),\n [addLogicalGrouping, getLogicalGroupKey, getGroupState, getGroupBoundaries, removeLogicalGrouping]\n );\n\n return createElement(ActivityLogicalGroupingContext.Provider, { value: contextValue }, children);\n};\n\nActivityLogicalGroupingComposer.displayName = 'ActivityLogicalGroupingComposer';\n\nexport default memo(ActivityLogicalGroupingComposer);\nexport { activityLogicalGroupingComposerPropsSchema, type ActivityLogicalGroupingComposerProps };\n","import createContextAndHook from '../../createContextAndHook';\n\ntype GroupState = Readonly<{\n isCollapsed: boolean;\n}>;\n\ntype LogicalGrouping = Readonly<{\n activityKeys: string[];\n getGroupState?: () => GroupState;\n key: string;\n}>;\n\ntype ActivityLogicalGroupingContextType = Readonly<{\n addLogicalGrouping: (grouping: LogicalGrouping) => void;\n getGroupBoundaries: (groupKey: string) => [string | undefined, string | undefined];\n getGroupState: (groupKey: string) => GroupState | undefined;\n getLogicalGroupKey: (activityKey: string) => string | undefined;\n removeLogicalGrouping: (key: string) => void;\n}>;\n\nconst { contextComponentType, useContext } = createContextAndHook<ActivityLogicalGroupingContextType>(\n 'ActivityLogicalGroupingContext'\n);\n\nexport default contextComponentType;\nexport {\n useContext as useActivityLogicalGroupingContext,\n type ActivityLogicalGroupingContextType,\n type GroupState,\n type LogicalGrouping\n};\n","import { useCallback, useRef, useState } from 'react';\n\nexport default function useStateWithOptimisticRef<T>(initialState: T | (() => T)) {\n const [state, setState] = useState(initialState);\n const stateRef = useRef<T>(state);\n\n const setStateWithRefUpdate = useCallback((newState: T) => {\n setState(newState);\n stateRef.current = newState;\n }, []);\n\n return [state, setStateWithRefUpdate, stateRef] as const;\n}\n","import { useActivityLogicalGroupingContext, type LogicalGrouping } from './private/ActivityLogicalGroupingContext';\n\nexport default function useAddLogicalGrouping(): (grouping: LogicalGrouping) => void {\n return useActivityLogicalGroupingContext().addLogicalGrouping;\n}\n","import { useActivityLogicalGroupingContext } from './private/ActivityLogicalGroupingContext';\n\nexport default function useRemoveLogicalGrouping(): (key: string) => void {\n return useActivityLogicalGroupingContext().removeLogicalGrouping;\n}\n","import { useActivityLogicalGroupingContext } from './private/ActivityLogicalGroupingContext';\n\nexport default function useGetLogicalGroupKey(): (activityKey: string) => string | undefined {\n return useActivityLogicalGroupingContext().getLogicalGroupKey;\n}\n","import { useActivityLogicalGroupingContext, type GroupState } from './private/ActivityLogicalGroupingContext';\n\nexport default function useGetGroupState(): (groupKey: string) => GroupState | undefined {\n return useActivityLogicalGroupingContext().getGroupState;\n}\n","import \"/__w/1/s/BotFramework-WebChat/packages/component/src/Middleware/ActivityGrouping/ui/PartGrouping/private/PartGroupingActivity.module_built.css\";\nconst classes = {\"part-grouping-activity\":\"wjtNCTG_part-grouping-activity\",\"part-grouping-activity__activities\":\"wjtNCTG_part-grouping-activity__activities\",\"part-grouping-activity__message-status\":\"wjtNCTG_part-grouping-activity__message-status\",\"part-grouping-activity__collapsible--open\":\"wjtNCTG_part-grouping-activity__collapsible--open\",\"part-grouping-activity__collapsible\":\"wjtNCTG_part-grouping-activity__collapsible\"}\nexport default classes\n\nconst _part_grouping_activity0 = classes[\"part-grouping-activity\"]\nexport { _part_grouping_activity0 as \"part-grouping-activity\" }\n\nconst _part_grouping_activity__activities0 = classes[\"part-grouping-activity__activities\"]\nexport { _part_grouping_activity__activities0 as \"part-grouping-activity__activities\" }\n\nconst _part_grouping_activity__message_status0 = classes[\"part-grouping-activity__message-status\"]\nexport { _part_grouping_activity__message_status0 as \"part-grouping-activity__message-status\" }\n\nconst _part_grouping_activity__collapsible__open0 = classes[\"part-grouping-activity__collapsible--open\"]\nexport { _part_grouping_activity__collapsible__open0 as \"part-grouping-activity__collapsible--open\" }\n\nconst _part_grouping_activity__collapsible0 = classes[\"part-grouping-activity__collapsible\"]\nexport { _part_grouping_activity__collapsible0 as \"part-grouping-activity__collapsible\" }\n","import { createContext, useContext, memo } from 'react';\n\nimport createCodeHighlighterComposer from './createCodeHighlighterComposer';\nimport { defaultHighlightCode } from './defaultHighlightCode';\n\nexport type HighlightCodeFn = (\n code: string,\n language?: string | undefined,\n options?:\n | {\n theme: string;\n }\n | undefined\n) => string | DocumentFragment;\n\nexport type CodeHighlighterContextType = {\n highlightCode: HighlightCodeFn;\n};\n\nconst CodeHighlighterContext = createContext<CodeHighlighterContextType>(\n Object.freeze({\n highlightCode: defaultHighlightCode\n })\n);\n\nexport function useCodeHighlighter() {\n return useContext(CodeHighlighterContext).highlightCode;\n}\n\nexport const CodeHighlighterComposer = memo(createCodeHighlighterComposer(CodeHighlighterContext));\n\nCodeHighlighterComposer.displayName = 'CodeHighlighterComposer';\n","import React, { type ReactNode, useCallback, useMemo } from 'react';\n\nimport { useCodeHighlighter, type CodeHighlighterContextType, type HighlightCodeFn } from './CodeHighlighterComposer';\n\nconst createCodeHighlighterComposer =\n ({ Provider }: React.Context<CodeHighlighterContextType>) =>\n ({ children, highlightCode }: Readonly<{ children: ReactNode; highlightCode: HighlightCodeFn }>) => {\n const previousCodeHighlighter = useCodeHighlighter();\n\n const safeHighlightCode = useCallback<HighlightCodeFn>(\n (...args) => {\n try {\n return highlightCode(...args);\n } catch (error) {\n console.warn(`botframework-webchat: Failed to highlight code using ${highlightCode.name}`, error);\n return previousCodeHighlighter(...args);\n }\n },\n [highlightCode, previousCodeHighlighter]\n );\n\n const CodeHighlighterContextValue = useMemo(\n () => ({\n highlightCode: safeHighlightCode\n }),\n [safeHighlightCode]\n );\n\n return <Provider value={CodeHighlighterContextValue}>{children}</Provider>;\n };\n\nexport default createCodeHighlighterComposer;\n","import type { HighlightCodeFn } from './CodeHighlighterComposer';\n\nexport const defaultHighlightCode: HighlightCodeFn = (source, language) => {\n try {\n const fragment = document.createDocumentFragment();\n const pre = document.createElement('pre');\n const code = document.createElement('code');\n\n code.textContent = source;\n\n // Follow commonmark convention\n language && code.classList.add(`language-${language}`);\n\n pre.append(code);\n fragment.append(pre);\n\n return fragment;\n } catch (error) {\n console.warn(`botframework-webchat: Failed to display code`, error);\n return '<pre></pre>';\n }\n};\n"],"mappings":"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","names":["React","forwardRef","memo","boolean","object","optional","pipe","readonly","string","ROOT_STYLE","screenReaderTextPropsSchema","pipe","object","optional","boolean","string","readonly","ScreenReaderText","forwardRef","props","ref","ariaHidden","id","text","o","rootClassName","useStyleToEmotionObject","React","ScreenReaderText_default","memo","getActivityLivestreamingMetadata","getOrgSchemaMessage","IdentifierSchema","React","Fragment","memo","useMemo","array","custom","is","minLength","object","optional","parse","pipe","readonly","hooks","getOrgSchemaMessage","React","Fragment","memo","useCallback","useMemo","useState","cx","array","custom","is","minLength","object","optional","pipe","readonly","string","cx","React","memo","object","optional","pipe","readonly","classes","StackedLayout_module_default","_stacked_layout__activity0","_stacked_layout__content0","classes","_stacked_layout__message_status__published0","classes","_stacked_layout__message_status_complete_icon0","classes","_stacked_layout__alignment_pad0","classes","_stacked_layout__avatar_gutter0","classes","_stacked_layout__message_status0","classes","_stacked_layout__no_message0","classes","_stacked_layout__group0","classes","_stacked_layout__message_status__incomplete0","classes","_stacked_layout__hide_avatar0","classes","_stacked_layout__show_avatar0","classes","_stacked_layout__bubble0","classes","_stacked_layout__message_status__unset0","classes","_stacked_layout__nub_pad0","classes","_stacked_layout__attachment0","classes","_stacked_layout__top_callout0","classes","_stacked_layout__message_status_loader0","classes","_stacked_layout__message_status_unset_icon0","classes","_stacked_layout__attachment_row0","classes","_stacked_layout__main0","classes","_stacked_layout__message0","classes","_stacked_layout__status0","classes","_stacked_layout__message_row0","classes","_stacked_layout__show_nub0","classes","_stacked_layout0","classes","_stacked_layout__title0","classes","_stacked_layout__hide_nub0","classes","_stacked_layout__from_user0","classes","_stacked_layout__extra_trailing0","classes","_stacked_layout__attachment_list0","classes","stackedLayoutMainPropsSchema","pipe","object","optional","c","readonly","StackedLayoutMain","memo","props","avatar","children","o","classNames","St","StackedLayout_module_default","React","cx","StackedLayoutMain_default","cx","React","memo","object","optional","pipe","readonly","string","cx","React","memo","object","optional","pipe","readonly","string","classes","MessageStatusLoader_module_default","_message_status_loader0","messageStatusLoaderPropsSchema","pipe","object","optional","string","readonly","MessageStatusLoader","props","className","o","classNames","St","MessageStatusLoader_module_default","React","ComponentIcon_default","cx","MessageStatusLoader_default","memo","stackedLayoutMessageStatusPropsSchema","pipe","object","optional","string","readonly","StackedLayoutMessageStatus","props","className","creativeWorkStatus","o","classNames","St","StackedLayout_module_default","React","cx","ComponentIcon_default","MessageStatusLoader_default","StackedLayoutMessageStatus_default","memo","cx","React","memo","boolean","object","optional","pipe","readonly","string","stackedLayoutRootPropsSchema","pipe","object","optional","string","c","boolean","readonly","StackedLayoutRoot","memo","props","ariaLabelId","children","extraTrailing","fromUser","hideAvatar","hideNub","isActivity","isGroup","noMessage","showAvatar","showNub","topCallout","o","classNames","St","StackedLayout_module_default","React","cx","StackedLayoutRoot_default","cx","React","memo","object","optional","pipe","readonly","stackedLayoutStatusPropsSchema","pipe","object","optional","c","readonly","StackedLayoutStatus","memo","props","children","o","classNames","St","StackedLayout_module_default","React","cx","StackedLayoutStatus_default","createContext","reactUseContext","createContextAndHook","displayName","contextComponentType","contextComponentType","useContext","createContextAndHook","ChatHistoryDOMContext_default","useActivityElementMapRef","useContext","useContext","createContext","TranscriptFocusContext","Context_default","useTranscriptFocusContext","throwOnUndefined","contextValue","useContext","Context_default","useActiveDescendantId","context","useTranscriptFocusContext","useFocusByGroupKey","useTranscriptFocusContext","useGetGroupDescendantIdByActivityKey","useTranscriptFocusContext","React","Fragment","memo","useCallback","useRef","tabbableElements","element","candidates","style","tabIndexAttribute","value","useRefFrom","FocusTrap","children","onFocus","onLeave","targetClassName","bodyRef","useRef","lastFocused","onFocusRef","onLeaveRef","getTabbableElementsInBody","useCallback","nestedTraps","tabbableElements","element","trap","focusOrTriggerLeave","handleBodyKeyDown","event","activeElement","focusables","focusedIndex","handleFocus","handleBlur","target","handleTrapFocus","React","Fragment","FocusTrap_default","memo","hooks","useBuildRenderAvatarCallback","useMemo","useContext","createContext","EMPTY_STATE","SenderGroupingContext","SenderGroupingContext_default","useSenderGroupingContext","useContext","SenderGroupingContext_default","useFirstActivity","useSenderGroupingContext","useLastActivity","useSenderGroupingContext","useContext","createContext","EMPTY_STATE","StatusGroupingContext","StatusGroupingContext_default","useStatusGroupingContext","useContext","StatusGroupingContext_default","useFirstActivity","useStatusGroupingContext","useLastActivity","useStatusGroupingContext","isZeroOrPositive","value","useCreateActivityStatusRenderer","useStyleOptions","hooks","useRenderActivityProps","activity","styleOptions","firstActivityInSenderGroup","useFirstActivity","firstActivityInStatusGroup","lastActivityInSenderGroup","useLastActivity","lastActivityInStatusGroup","createActivityStatusRenderer","buildRenderAvatar","useBuildRenderAvatarCallback","bubbleFromUserNubOffset","bubbleNubOffset","groupTimestamp","showAvatarInGroup","hideAllTimestamps","isFirstInSenderGroup","isFirstInStatusGroup","isLastInSenderGroup","isLastInStatusGroup","renderAvatarForSenderGroup","useMemo","renderer","isTopSideBotNub","isZeroOrPositive","isTopSideUserNub","renderActivityStatus","hideTimestamp","isTopSideNub","showCallout","useRenderActivityProps_default","cx","React","forwardRef","memo","classes","TranscriptFocus_module_default","_transcript_focus_area__root0","_transcript_focus_area__content__focused0","classes","_transcript_focus_area0","classes","_transcript_focus_area__content_root0","classes","_transcript_focus_area__content_overlay0","classes","_transcript_focus_area__terminator0","classes","_transcript_focus_area__activity_list0","classes","_transcript_focus_area__content0","classes","_transcript_focus_area__transcript_indicator0","classes","_transcript_focus_area__content_active_descendant0","classes","_transcript_focus_area__terminator_body0","classes","_transcript_focus_area__terminator_text0","classes","_transcript_focus_area__indicator0","classes","TranscriptActivityList","forwardRef","className","props","ref","classNames","St","TranscriptFocus_module_default","React","cx","TranscriptActivityList_default","memo","cx","React","forwardRef","cx","React","forwardRef","TranscriptFocusIndicator","forwardRef","className","type","props","ref","classNames","St","TranscriptFocus_module_default","indicatorClass","React","cx","TranscriptFocusIndicator_default","TranscriptFocusArea","forwardRef","className","children","props","ref","classNames","St","TranscriptFocus_module_default","React","cx","TranscriptFocusIndicator_default","TranscriptFocusArea_default","cx","React","forwardRef","TranscriptFocusContent","forwardRef","className","focused","Tag","props","ref","classNames","St","TranscriptFocus_module_default","React","cx","TranscriptFocusContent_default","cx","React","forwardRef","TranscriptFocusContentOverlay","forwardRef","className","props","ref","classNames","St","TranscriptFocus_module_default","React","cx","TranscriptFocusContentOverlay_default","cx","React","forwardRef","TranscriptFocusContentActiveDescendant","forwardRef","className","props","ref","classNames","St","TranscriptFocus_module_default","React","cx","TranscriptFocusContentActiveDescendant_default","cx","React","forwardRef","TranscriptFocusContentBody","forwardRef","className","props","ref","classNames","St","TranscriptFocus_module_default","React","cx","hooks","cx","React","forwardRef","useMemo","random","useUniqueId","prefix","id","useLocalizer","hooks","TranscriptFocusTerminator","forwardRef","className","props","ref","classNames","St","TranscriptFocus_module_default","terminatorText","terminatorLabelId","useUniqueId","React","cx","TranscriptFocusTerminator_default","cx","React","forwardRef","TranscriptFocusTerminatorBody","forwardRef","className","props","ref","classNames","St","TranscriptFocus_module_default","React","cx","cx","React","forwardRef","TranscriptFocusTerminatorText","forwardRef","className","props","ref","classNames","St","TranscriptFocus_module_default","React","cx","userAgent","android","chromium","edgeAnaheim","edgeUWP","firefox","ie11","hooks","cx","random","React","memo","useCallback","useRef","useState","boolean","custom","object","optional","pipe","readonly","string","useRefFrom","cx","React","forwardRef","memo","useCallback","useRefFrom","boolean","custom","function_","is","object","optional","pipe","readonly","string","classes","ActivityButton_module_default","_activity_button__icon0","_activity_button0","classes","activityButtonPropsSchema","pipe","object","optional","string","boolean","c","componentIconPropsSchema","custom","value","is","function_","readonly","ActivityButton","forwardRef","props","ref","ariaControls","ariaExpanded","ariaPressed","children","className","dataTestId","disabled","icon","onClick","text","o","classNames","St","ActivityButton_module_default","onClickRef","useRefFrom","handleClick","useCallback","React","cx","ComponentIcon_default","ActivityButton_default","memo","classes","CollapsibleGrouping_module_default","_collapsible_grouping__chevron0","_collapsible_grouping__header0","classes","_collapsible_grouping__title0","classes","_collapsible_grouping__content__open0","classes","_collapsible_grouping__content0","classes","_collapsible_grouping__list0","classes","_collapsible_grouping0","classes","_collapsible_grouping__toggle0","classes","_collapsible_grouping__open0","classes","useLocalizer","hooks","collapsibleGroupingPropsSchema","pipe","object","c","optional","string","boolean","custom","toggle","readonly","uniqueId","count","random","CollapsibleGrouping","props","children","className","header","isOpen","onToggle","o","id","useState","classNames","St","CollapsibleGrouping_module_default","buttonRef","useRef","isOpenRef","useRefFrom","onToggleRef","localize","handleToggle","useCallback","newIsOpen","button","text","React","cx","ActivityButton_default","ComponentIcon_default","CollapsibleGrouping_default","memo","cx","React","memo","any","object","optional","pipe","readonly","string","collapsibleGroupingListPropsSchema","pipe","object","optional","c","string","any","readonly","CollapsibleGroupingList","props","className","children","Tag","o","classNames","St","CollapsibleGrouping_module_default","React","cx","CollapsibleGroupingList_default","memo","cx","React","memo","object","optional","pipe","readonly","string","collapsibleGroupingTitlePropsSchema","pipe","object","optional","c","string","readonly","CollapsibleGroupingTitle","props","className","children","o","classNames","St","CollapsibleGrouping_module_default","React","cx","CollapsibleGroupingTitle_default","memo","random","useCallback","useEffect","useMemo","useRefFrom","useStateWithRef","createElement","memo","useCallback","useMemo","useRef","object","optional","pipe","readonly","contextComponentType","useContext","createContextAndHook","ActivityLogicalGroupingContext_default","useCallback","useRef","useState","useStateWithOptimisticRef","initialState","state","setState","stateRef","setStateWithRefUpdate","newState","activityLogicalGroupingComposerPropsSchema","pipe","object","optional","c","readonly","ActivityLogicalGroupingComposer","props","children","o","logicalGroupingsRef","useRef","_activityToGroupMap","setActivityToGroupMap","activityToGroupMapRef","useStateWithOptimisticRef","addLogicalGrouping","useCallback","grouping","prevGroupingKeys","toRemoveSet","toAddSet","value","activityKey","removeLogicalGrouping","key","getLogicalGroupKey","getGroupState","groupKey","getGroupBoundaries","group","contextValue","useMemo","createElement","ActivityLogicalGroupingContext_default","ActivityLogicalGroupingComposer_default","memo","useAddLogicalGrouping","useContext","useRemoveLogicalGrouping","useContext","useGetLogicalGroupKey","useContext","useGetGroupState","useContext","usePartGroupingLogicalGroup","activityKeys","isCollapsed","partGroupKey","_setPartKey","partKeyRef","useStateWithRef","random","addLogicalGrouping","useAddLogicalGrouping","removeLogicalGrouping","useRemoveLogicalGrouping","isCollapsedRef","useRefFrom","getGroupState","useCallback","useMemo","removeLogicalGroupingRef","useEffect","usePartGroupingLogicalGroup_default","classes","PartGroupingActivity_module_default","_part_grouping_activity0","_part_grouping_activity__activities0","classes","_part_grouping_activity__message_status0","classes","_part_grouping_activity__collapsible__open0","classes","_part_grouping_activity__collapsible0","classes","useAvatarForBot","useGetKeyByActivity","useLocalizer","useStyleOptions","hooks","partGroupingActivityPropsSchema","pipe","object","array","custom","value","is","minLength","readonly","optional","c","partGroupingFocusableActivityPropsSchema","string","FocusablePartGroupingActivity","memo","props","activity","children","className","groupKey","o","activeDescendantId","useActiveDescendantId","getGroupDescendantIdByActivityKey","useGetGroupDescendantIdByActivityKey","focusByGroupKey","useFocusByGroupKey","getKeyByActivity","groupingActivityDescendantId","focusSelf","useCallback","withFocus","handleDescendantFocus","handleLeaveFocusTrap","handleMouseDownCapture","isActiveDescendant","activityElementMapRef","useActivityElementMapRef","groupCallbackRef","activityElement","React","TranscriptFocusContent_default","FocusTrap_default","TranscriptFocusContentOverlay_default","android","TranscriptFocusContentActiveDescendant_default","TranscriptFocusIndicator_default","PartGroupingActivity","localize","activities","classNames","St","PartGroupingActivity_module_default","partGroupDefaultOpen","isGroupOpen","setIsGroupOpen","useState","messages","useMemo","getOrgSchemaMessage","lastMessage","activityKeys","usePartGroupingLogicalGroup_default","firstActivity","lastActivity","currentMessage","message","renderAvatar","showCallout","useRenderActivityProps_default","renderActivityStatus","hideTimestamp","botInitials","hasAvatar","showAvatar","bubbleNubOffset","topAlignedCallout","isZeroOrPositive","howToAbstract","howToStatus","howTo","defaultWorkStatus","currentGroupStatus","groupHeader","Fragment","StackedLayoutMessageStatus_default","CollapsibleGroupingTitle_default","StackedLayoutRoot_default","StackedLayoutMain_default","CollapsibleGrouping_default","cx","CollapsibleGroupingList_default","TranscriptActivityList_default","StackedLayoutStatus_default","PartGroupingActivity_default","partGroupingPropsSchema","pipe","object","array","custom","value","is","minLength","readonly","optional","c","PartGrouping","props","activities","children","parse","lastActivity","lastMessage","useMemo","getOrgSchemaMessage","activity","getActivityLivestreamingMetadata","IdentifierSchema","React","PartGroupingActivity_default","Fragment","PartGrouping_default","memo","createContext","useContext","memo","React","useCallback","useMemo","createCodeHighlighterComposer","Provider","children","highlightCode","previousCodeHighlighter","useCodeHighlighter","safeHighlightCode","useCallback","args","error","CodeHighlighterContextValue","useMemo","React","createCodeHighlighterComposer_default","defaultHighlightCode","source","language","fragment","pre","code","error","CodeHighlighterContext","createContext","defaultHighlightCode","useCodeHighlighter","useContext","CodeHighlighterComposer","memo","createCodeHighlighterComposer_default"]}
@@ -1,2 +0,0 @@
1
- import{a as E,e as R,f as kt,g as Bt,j as It}from"./chunk-THSKGXBF.mjs";import{b as G,c as y,f as k}from"./chunk-I6DJ35K3.mjs";import{createContext as Qo}from"react";var en=Qo(void 0),Lt=en;import{useContext as tn}from"react";function g(){let e=tn(Lt);if(!e)throw new Error("This hook can only be used on a component that is a descendant of <Composer>");return e}function w(){return Object.freeze([g().styleSet])}import{hooks as dn}from"botframework-webchat-api";import{useCallback as un}from"react";import{createElement as rn,memo as an,useMemo as sn}from"react";import{useContext as nn}from"react";import{createContext as on}from"react";var Pt=on(new Proxy({},{get(){throw new Error("botframework-webchat: Cannot use this hook outside of <CustomElementsComposer>.")}}));Pt.displayName="CustomElementsContext";var Nt=Pt;function Re(){return nn(Nt)}function He(){let{codeBlockTagName:e}=Re();return sn(()=>Object.freeze([e,an(t=>rn(e,{...t,class:t.className,className:void 0}))]),[e])}import{useContext as ln}from"react";import{createContext as cn}from"react";var mn=cn(new Proxy({},{get(){throw new Error("botframework-webchat: This hook can only be used under <HTMLContentTransformComposer>.")}})),Mt=mn;function Fe(){return ln(Mt)}var{useLocalizer:pn}=dn,fn=Object.freeze(new Map([["a",["aria-label","class","href","name","rel","target"]],["b",[]],["blockquote",[]],["br",[]],["button",["aria-label","class","type","value"]],["caption",[]],["code",["data-math-type"]],["del",[]],["div",[]],["em",[]],["figure",["data-math-type","tabindex"]],["h1",[]],["h2",[]],["h3",[]],["h4",[]],["h5",[]],["h6",[]],["hr",[]],["i",[]],["img",["alt","aria-label","class","src","title"]],["ins",[]],["li",[]],["nl",[]],["ol",[]],["p",[]],["pre",["class","data-math-type"]],["s",[]],["span",["aria-label","data-math-type"]],["strike",[]],["strong",[]],["table",[]],["tbody",[]],["td",[]],["tfoot",[]],["th",[]],["thead",[]],["tr",[]],["ul",[]],["annotation-xml",["encoding","src","name","definitionURL"]],["annotation",["encoding","src","name","definitionURL"]],["math",["display","xmlns","mode","overflow","alttext","mathbackground","mathcolor"]],["merror",["mathbackground","mathcolor"]],["mfenced",["close","open","separators"]],["mfrac",["linethickness","numalign","denomalign","bevelled"]],["mi",["mathvariant","mathsize","mathbackground","mathcolor"]],["mmultiscripts",["subscriptshift","superscriptshift"]],["mn",["mathvariant","mathsize","mathbackground","mathcolor"]],["mo",["form","fence","separator","lspace","rspace","stretchy","symmetric","maxsize","minsize","largeop","movablelimits","accent","linebreak","mathvariant","mathsize","mathbackground","mathcolor"]],["mover",["accent","align"]],["mpadded",["height","width","depth","lspace","voffset"]],["mphantom",["mathbackground"]],["mprescripts",[]],["mroot",["mathbackground","mathcolor"]],["mrow",["dir","mathbackground","mathcolor"]],["ms",["lquote","rquote","mathvariant","mathsize","mathbackground","mathcolor"]],["mspace",["linebreak","width","height","depth","mediummathspace","negativemediummathspace","negativethickmathspace","negativethinmathspace","negativeverythickmathspace","negativeverythinmathspace","thickmathspace","thinmathspace","verythickmathspace","verythinmathspace"]],["msqrt",["mathbackground","mathcolor"]],["mstyle",["scriptlevel","displaystyle","scriptsizemultiplier","scriptminsize","infixlinebreakstyle","decimalpoint","mathvariant","mathsize","mathbackground","mathcolor","dir"]],["msub",["subscriptshift"]],["msubsup",["subscriptshift","superscriptshift"]],["msup",["superscriptshift"]],["mtable",["align","rowalign","columnalign","groupalign","alignmentscope","columnwidth","width","rowspacing","columnspacing","rowlines","columnlines","frame","framespacing","equalrows","equalcolumns","displaystyle","side","minlabelspacing"]],["mtd",["rowspan","columnspan","rowalign","columnalign","groupalign"]],["mtext",["mathvariant","mathsize","mathbackground","mathcolor"]],["mtr",["rowalign","columnalign","groupalign"]],["munder",["accentunder","align"]],["munderover",["accent","accentunder","align"]],["semantics",["definitionURL","encoding"]]].map(([e,t])=>[e,Object.freeze({attributes:Object.freeze(new Set(t))})])));function oe(){let[e]=He(),{transform:t}=Fe(),n=pn()("MARKDOWN_EXTERNAL_LINK_ALT");return un(r=>t({allowedTags:fn,codeBlockTagName:e,documentFragment:r,externalLinkAlt:n}),[e,n,t])}import{cx as bn}from"@emotion/css";import{hooks as hn}from"botframework-webchat-api";import{useMemo as Ht}from"react";var be={"render-markdown--adaptive-cards":"wlkyN3a_render-markdown--adaptive-cards","render-markdown--message-activity":"wlkyN3a_render-markdown--message-activity","render-markdown":"wlkyN3a_render-markdown"},Rt=be,Em=be["render-markdown--adaptive-cards"];var km=be["render-markdown--message-activity"];var Bm=be["render-markdown"];var{useLocalizer:xn,useStyleOptions:yn}=hn;function Ft(e="message activity"){let{renderMarkdown:t}=g(),[o]=yn(),n=xn(),r=oe(),a=k(Rt),i=n("MARKDOWN_EXTERNAL_LINK_ALT"),s=Ht(()=>bn(a["render-markdown"],{[a["render-markdown--adaptive-cards"]]:e==="adaptive cards",[a["render-markdown--citation"]]:e==="citation modal",[a["render-markdown--message-activity"]]:e!=="accessible name"&&e!=="adaptive cards"&&e!=="citation modal"}),[a,e]);return Ht(()=>t&&(c=>{let l=t(c,o,{externalLinkAlt:i}),d=r(kt(l)),f=document.createElement("div");return s&&f.classList.add(...s.split(" ").filter(Boolean)),f.append(...d.childNodes),d.append(f),Bt(d)}),[s,i,t,o,r])}import{useContext as wn}from"react";import{createContext as gn}from"react";var _n={shouldReduceMotionState:{get(){throw new Error("shouldReduceMotionState cannot be used outside of <ReducedMotionComposer>.")}}},Dt=gn(Object.create({},_n));Dt.displayName="ReducedMotionComposer";var Ot=Dt;function De(){return wn(Ot)}function Ut(){return De().shouldReduceMotionState}function Oe(){let{dictateAbortable:e,setDictateAbortable:t}=g();return[e,t]}function he(){let[e]=Oe();return[e]}import{createPropagation as vn}from"use-propagate";var{PropagationScope:el,useListen:Ue,usePropagate:Kt}=vn();import{useCallback as Tn}from"react";function xe(e){let t=[];return Object.freeze([{...e,waitUntil(o){t.push(o)}},async()=>{for(let o=0;await Promise.all(t).then(()=>{}),o!==t.length;o=t.length);}])}function P(){let e=Kt(),{focusTranscriptCallbacksRef:t}=g();return Tn(async o=>{if(o==="sendBox"||o==="sendBoxWithoutKeyboard"){let[n,r]=xe({noKeyboard:o==="sendBoxWithoutKeyboard"});e(n),await r()}else{let[,n]=xe({});t.current.forEach(r=>r()),await n()}},[e,t])}import{hooks as In}from"botframework-webchat-api";import{useCallback as Ln}from"react";import{useRefFrom as Pn}from"use-ref-from";function Cn(e,t,o,n){if(e<o&&t<n)return{height:t,width:e};let r=e/t;return r>o/n?{height:o/r,width:o}:{height:n,width:n*r}}function Sn(e,t){let o=document.createElement("canvas");return o.height=t,o.width=e,o}function An(e){let t=URL.createObjectURL(e);return new Promise((o,n)=>{let r=document.createElement("img");r.addEventListener("error",({error:a})=>n(a)),r.addEventListener("load",()=>o(r)),r.setAttribute("src",t)}).finally(()=>{URL.revokeObjectURL(t)})}async function Ke(e,t,o,n,r){let a=await An(e),{height:i,width:s}=Cn(a.width,a.height,t,o),c=Sn(s,i),l=c.getContext("2d");if(!l)throw new Error("botframework-webchat: Failed to get 2D context.");return l.drawImage(a,0,0,s,i),new URL(c.toDataURL(n,r))}function jt(){function e(o){return new Promise(function(n,r){let a=new FileReader;a.onerror=function(i){r(i.error||new Error(i.message))},a.onloadend=function(){n(a.result)},a.readAsDataURL(o)})}function t(o,n,r,a){if(o<r&&n<a)return{height:n,width:o};let i=o/n;return i>r/a?{height:r/i,width:r}:{height:a,width:a*i}}onmessage=function(o){let n=o.data,r=n.arrayBuffer,a=n.maxHeight,i=n.maxWidth,s=n.type,c=n.quality,l=o.ports[0];return Promise.resolve().then(function(){return createImageBitmap(new Blob([r]),{resizeQuality:"high"})}).then(function(d){let f=t(d.width,d.height,i,a),u=f.height,m=f.width,p=new OffscreenCanvas(m,u);return p.getContext("2d").drawImage(d,0,0,m,u),(p.convertToBlob||p.toBlob).bind(p)({type:s,quality:c})}).then(function(d){return e(d)}).then(function(d){return l.postMessage({result:d})}).catch(function(d){console.error(d),l.postMessage({error:{message:d.message,stack:d.stack}})})},postMessage("ready")}function zt(e){let t=new Blob([`(${e})()`],{type:"text/javascript"}),o=window.URL.createObjectURL(t);return new Promise((n,r)=>{let a=new Worker(o);a.onerror=({error:i,message:s})=>r(i||new Error(s)),a.onmessage=({data:i})=>i==="ready"&&n(a)}).finally(()=>{window.URL.revokeObjectURL(o)})}var ne;async function En(){let e;return ne?e=await ne:(ne=zt(jt),e=await ne,e.addEventListener("error",()=>{ne=null,e.terminate()})),e}var kn=()=>{let e=typeof window.OffscreenCanvas<"u"&&(typeof window.OffscreenCanvas.prototype.convertToBlob<"u"||typeof window.OffscreenCanvas.prototype.toBlob<"u"),t;if(e)try{new OffscreenCanvas(1,1).getContext("2d"),t=!0}catch{t=!1}return typeof window.createImageBitmap<"u"&&e&&t},Wt;function Bn(){return Wt||(Wt=(async()=>{if(typeof window.MessageChannel>"u"||typeof window.Worker>"u")return!1;let e;try{e=await zt('function(){postMessage("ready")}')}catch{return!1}return e.terminate(),!0})())}var Vt;function qt(){return Vt||(Vt=(async()=>{try{return(await Promise.all([kn(),Bn()])).every(t=>t)}catch{return!1}})())}function je(e,t,o,n,r){return new Promise((a,i)=>{let{port1:s,port2:c}=new MessageChannel;s.onmessage=({data:l})=>{if("error"in l){let{message:d,stack:f}=l.error,u=new Error(d);u.stack=f,i(u)}else a(new URL(l.result));s.close(),c.close()},Promise.all([e.arrayBuffer(),En()]).then(([l,d])=>d.postMessage({arrayBuffer:l,maxHeight:o,maxWidth:t,quality:r,type:n},[l,c]))})}async function We(e,t,o,n,r){return await qt()?je(e,t,o,n,r):Ke(e,t,o,n,r)}var{useStyleOptions:Nn,useTrackTiming:Mn}=In;async function Rn(e,t,o,n,r){try{return await We(e,t,o,n,r)}catch(a){console.warn(`Web Chat: Failed to downscale image due to ${a}.`)}}function Y(){let[e]=Nn(),t=Mn(),o=Pn(e);return Ln((n,r)=>{let{current:{enableUploadThumbnail:a,uploadThumbnailContentType:i,uploadThumbnailHeight:s,uploadThumbnailQuality:c,uploadThumbnailWidth:l}}=o;return a&&(r||(n instanceof File?n.type:"")).startsWith("image/")?t("sendFiles:makeThumbnail",Rn(n,l,s,i,c)):Promise.resolve(void 0)},[o,t])}import{useEffect as Hn}from"react";function Jt(e,t){typeof e!="function"?(e=void 0,console.warn('botframework-webchat: First argument passed to "useObserveScrollPosition" must be a function.')):typeof t<"u"&&!Array.isArray(t)&&console.warn('botframework-webchat: Second argument passed to "useObserveScrollPosition" must be an array if specified.');let{observeScrollPosition:o}=g();Hn(()=>e&&o(e),[...t||[],e,o])}import{useEffect as Fn}from"react";function Gt(e,t){typeof e!="function"?(e=void 0,console.warn('botframework-webchat: First argument passed to "useObserveTranscriptFocus" must be a function.')):typeof t<"u"&&!Array.isArray(t)&&console.warn('botframework-webchat: Second argument passed to "useObserveTranscriptFocus" must be an array if specified.');let{observeTranscriptFocus:o}=g();Fn(()=>e&&o(e),[...t||[],e,o])}import{useCallback as On}from"react";import{createPropagation as Dn}from"use-propagate";var{PropagationScope:El,useListen:kl,usePropagate:ye}=Dn();function ge(){let e=ye();return On(t=>e({direction:"down",...t}),[e])}import{useCallback as Un}from"react";function Yt(){let{scrollToCallbacksRef:e}=g();return Un((...t)=>e.current.forEach(o=>o(...t)),[e])}import{useCallback as Kn}from"react";function _e(){let{scrollToEndCallbacksRef:e}=g();return Kn(()=>e.current.forEach(t=>t({behavior:"smooth"})),[e])}import{useCallback as jn}from"react";function we(){let e=ye();return jn(t=>e({direction:"up",...t}),[e])}import{hooks as Wn}from"botframework-webchat-api";import{useCallback as Vn}from"react";var{useSendFiles:zn}=Wn;function Zt(){let e=Y(),t=zn();return Vn(o=>{(async function(){o&&o.length&&t(await Promise.all(o.map(n=>e(n,/\.(gif|jpe?g|png)$/iu.test(n.name)?"image/*":"application/octet-stream").then(r=>({name:n.name,size:n.size,thumbnail:r?.toString(),url:URL.createObjectURL(new Blob([n],{type:"application/octet-stream"}))})))))})()},[e,t])}import{hooks as qn}from"botframework-webchat-api";import{useCallback as Jn}from"react";var{useSendMessage:Gn}=qn;function Xt(){let e=Y(),t=Gn();return Jn(async(o,n,{channelData:r,attachments:a}={})=>{t(o,n,{attachments:a?await Promise.all([...a].map(async({blob:i,thumbnailURL:s})=>(!s&&i instanceof File&&(s=await e(i)),{blob:i,thumbnailURL:s}))):[],channelData:r})},[e,t])}function Z(){return[g().webSpeechPonyfill]}import{hooks as Yn}from"botframework-webchat-api";import Zn,{Fragment as Xn,useMemo as $n}from"react";var{useActiveTyping:Ve,useRenderTypingIndicator:Qn}=Yn;function $t(){let[e]=Ve();return $n(()=>Object.freeze([!!Object.values(e).some(({role:t,type:o})=>t!=="user"&&o!=="livestream")]),[e])}var er=()=>{let[e]=Ve(),[t]=$t(),[o]=Ve(1/0),n=Qn();return Zn.createElement(Xn,null,n({activeTyping:e,typing:o,visible:t}))},ed=er;var tr={codeBlockCopyButton:"code block copy button",copyButton:"copy button",feedbackButton:"feedback button",feedbackSendBox:"feedback sendbox",sendBoxAttachmentBar:"send box attachment bar",sendBoxAttachmentBarItem:"send box attachment bar item",sendBoxAttachmentBarItemDeleteButton:"send box attachment bar item delete button",sendBoxMicrophoneButton:"send box microphone button",sendBoxSpeechBox:"send box speech box",sendBoxTextBox:"send box text area",suggestedActionButton:"suggested action button",typingIndicator:"typing indicator",viewCodeButton:"view code button"},A=tr;import{hooks as Hc}from"botframework-webchat-api";import Fc from"classnames";import At,{memo as Dc,useCallback as Oc,useMemo as Uc}from"react";import{useRefFrom as Kc}from"use-ref-from";import{object as jc,optional as Wc,pipe as Vc,readonly as zc,string as qc}from"valibot";var re={"send-box-attachment-bar":"wAcnLYa_send-box-attachment-bar","send-box-attachment-bar--as-thumbnail":"wAcnLYa_send-box-attachment-bar--as-thumbnail","send-box-attachment-bar--as-list-item":"wAcnLYa_send-box-attachment-bar--as-list-item","send-box-attachment-bar__box":"wAcnLYa_send-box-attachment-bar__box"},Qt=re,sd=re["send-box-attachment-bar"];var id=re["send-box-attachment-bar--as-thumbnail"];var cd=re["send-box-attachment-bar--as-list-item"];var md=re["send-box-attachment-bar__box"];import{hooks as vc}from"botframework-webchat-api";import Tc from"classnames";import Ct,{memo as Cc,useCallback as Sc,useEffect as Ac,useMemo as Ec,useRef as qo}from"react";import{useRefFrom as Jo}from"use-ref-from";import{custom as kc,function_ as Bc,instance as St,is as Ic,object as Go,optional as Yo,picklist as Lc,pipe as Zo,readonly as Xo,union as Pc}from"valibot";import{SendBoxToolbarMiddlewareProxy as gi,hooks as _i}from"botframework-webchat-api";import{Constants as wi}from"botframework-webchat-core";import wt from"classnames";import M,{memo as vi}from"react";import{object as Ti,optional as Ci,pipe as Si,readonly as Ai,string as Ei}from"valibot";import{useContext as rr}from"react";import{createContext as or}from"react";var nr=or(void 0),eo=nr;function ae(){let e=rr(eo);if(!e)throw new Error("botframework-webchat internal: This hook can only be used under <SendBoxComposer>.");return e}function ze(){return ae().submitErrorMessageIdState}import{hooks as ar}from"botframework-webchat-api";import{Constants as sr}from"botframework-webchat-core";import Je from"classnames";import ve,{memo as ir}from"react";import{object as cr,optional as mr,pipe as lr,readonly as dr,string as ur}from"valibot";var{DictateState:{DICTATING:pr,STARTING:to,STOPPING:fr}}=sr,{useDictateInterims:br,useDictateState:hr,useLocalizer:xr}=ar,yr={alignItems:"center",display:"flex"},gr=lr(cr({className:mr(ur())}),dr());function _r(e){let{className:t}=y(gr,e),[o]=br(),[n]=hr(),[{dictationInterims:r}]=w(),a=xr(),i=E()(yr)+"";return n===to||n===fr?ve.createElement("p",{className:Je(r+"",i,t,"status"),"data-testid":A.sendBoxSpeechBox},n===to&&a("SPEECH_INPUT_STARTING")):n===pr&&(o.length?ve.createElement("p",{className:Je(r+"",i,t,"dictating"),"data-testid":A.sendBoxSpeechBox},o.map((s,c)=>ve.createElement("span",{key:c},s,"\xA0"))):ve.createElement("p",{className:Je(r+"",i,t,"status"),"data-testid":A.sendBoxSpeechBox},a("SPEECH_INPUT_LISTENING")))}var oo=ir(_r);import{hooks as ra}from"botframework-webchat-api";import{Constants as aa}from"botframework-webchat-core";import sa from"classnames";import ia from"memoize-one";import ce,{memo as ca,useCallback as ma,useState as la}from"react";import{hooks as Vr}from"botframework-webchat-api";import zr from"classnames";import Xe,{memo as qr,useRef as Jr}from"react";import{boolean as Gr,custom as Yr,function_ as Zr,is as Xr,object as $r,optional as X,pipe as Qr,readonly as ea,string as $e}from"valibot";import{useCallback as ro,useEffect as Ir,useState as Lr}from"react";import{hooks as Tr}from"botframework-webchat-api";import{useCallback as K,useEffect as Te,useMemo as no,useRef as Ce}from"react";function Ge(e,t){let o=document.createElement("style");t&&o.setAttribute("nonce",t),document.head.appendChild(o);try{return o.sheet.insertRule("html"+e+"{}",0),!0}catch{return!1}finally{document.head.removeChild(o)}}function se(){let{nonce:e}=g();return Object.freeze([e])}import{useMemo as wr,useRef as vr}from"react";function Ye(e){let t=vr(),o=wr(()=>Object.create({},{current:{get:()=>t.current}}),[]);return t.current=e,o}var{usePonyfill:Cr}=Tr,Sr=["date","datetime-local","datetime","email","month","number","password","search","tel","text","time","url","week"];function Ar(e){let{isContentEditable:t,readOnly:o,tagName:n,type:r}=e;return n==="INPUT"&&Sr.includes(r)&&!o||n==="TEXTAREA"&&!o||t}function Er(e,t,o){let n;return{pause:()=>{n&&(t.forEach(i=>e.removeEventListener(i,o)),n=void 0)},resume:()=>{n||(t.forEach(i=>e.addEventListener(i,o)),n=!0)}}}function kr(e,t){let[{Date:o}]=Cr(),n=Ce(0),r=Ce(!0),a=Ce(!1),i=no(()=>Er(document,["mousemove","mousedown","mouseup","pointermove","pointerdown","pointerup","touchmove","touchstart","touchend"],m=>{m.target.nodeName?.toLowerCase()!=="html"&&(r.current=!1,i.pause())}),[r]),s=K(m=>{a.current!==m&&(a.current=m,m&&t?.current())},[a,t]),c=K(m=>{m.altKey||m.ctrlKey||m.metaKey||(m.target===e.current&&s(!0),r.current=!0)},[r,s,e]),l=K(()=>{r.current=!1},[r]),d=K(({target:m})=>{m===e.current&&(r.current||Ar(m))&&s(!0)},[r,s,e]),f=K(m=>{m.target===e.current&&a.current&&(n.current=o.now(),s(!1))},[n,o,a,s,e]),u=K(()=>{document.visibilityState==="hidden"&&(o.now()-n.current<100&&(r.current=!0),i.resume())},[n,o,i,r]);Te(()=>(document.addEventListener("keydown",c,!0),document.addEventListener("mousedown",l,!0),document.addEventListener("pointerdown",l,!0),document.addEventListener("touchstart",l,!0),document.addEventListener("visibilitychange",u,!0),()=>{document.removeEventListener("keydown",c),document.removeEventListener("mousedown",l),document.removeEventListener("pointerdown",l),document.removeEventListener("touchstart",l),document.removeEventListener("visibilitychange",u)}),[c,l,u]),Te(()=>{let{current:m}=e;return m.addEventListener("blur",f,!0),m.addEventListener("focus",d,!0),()=>{m.removeEventListener("blur",f),m.removeEventListener("focus",d)}},[f,d,e]),Te(()=>(i.resume(),()=>i.pause()),[i])}function Br(e,t){let o=K(()=>{let{current:n}=e;(n.matches||n.msMatchesSelector).call(n,":focus-visible")&&t?.current()},[t,e]);Te(()=>{let{current:n}=e;return n.addEventListener("focus",o),()=>n.removeEventListener("focus",o)},[o,e,e.current])}function Ze(e,t){let[o]=se(),n=Ye(t),r=Ce(o);no(()=>Ge(":focus-visible",r.current),[r])?Br(e,n):kr(e,n)}function ie(e){let[t,o]=Lr(!1),n=ro(()=>o(!1),[o]),r=ro(()=>o(!0),[o]);return Ze(e,r),Ir(()=>{let{current:a}=e;return a.addEventListener("blur",n),()=>a.removeEventListener("blur",n)},[n,e]),[t]}import Pr,{forwardRef as Nr,memo as Mr}from"react";import{boolean as ao,custom as Rr,function_ as Hr,is as Fr,literal as Dr,number as Or,object as Ur,optional as D,pipe as Kr,readonly as jr,string as Se}from"valibot";var Wr=e=>e.preventDefault(),Xd=Kr(Ur({"aria-hidden":D(ao()),"aria-keyshortcuts":D(Se()),children:D(G()),className:D(Se()),"data-testid":D(Se()),disabled:D(ao()),onClick:Rr(e=>Fr(Hr(),e)),tabIndex:D(Or()),title:D(Se()),type:Dr("button")}),jr()),so=Nr(({"aria-hidden":e,"aria-keyshortcuts":t,children:o,className:n,"data-testid":r,disabled:a,onClick:i,tabIndex:s,title:c},l)=>Pr.createElement("button",{"aria-disabled":a||void 0,"aria-hidden":e,"aria-keyshortcuts":t,className:n,"data-testid":r,onClick:a?Wr:i,ref:l,tabIndex:a?-1:s,title:c,type:"button"},o));so.displayName="AccessibleButton";var Ae=Mr(so);var{useStyleOptions:ta}=Vr,oa=Qr($r({alt:X($e()),children:X(G()),className:X($e()),"data-testid":X($e()),disabled:X(Gr()),onClick:X(Yr(e=>Xr(Zr(),e)))}),ea());function na(e){let{alt:t,children:o,className:n,"data-testid":r,disabled:a,onClick:i}=y(oa,e),[{sendBoxButton:s}]=w(),[{sendBoxButtonAlignment:c}]=ta(),l=Jr(),[d]=ie(l);return Xe.createElement(Ae,{className:zr(s+"","webchat__icon-button",{"webchat__icon-button--focus-visible":d,"webchat__icon-button--stretch":c!=="bottom"&&c!=="top"},n),"data-testid":r,disabled:a,onClick:a?void 0:i,ref:l,title:t,type:"button"},Xe.createElement("div",{className:"webchat__icon-button__shade"}),o,Xe.createElement("div",{className:"webchat__icon-button__keyboard-focus-indicator"}))}var Ee=qr(na);var{DictateState:$}=aa,{useDictateInterims:da,useDictateState:Qe,useLocalizer:ua,useSendBoxValue:pa,useShouldSpeakIncomingActivity:fa,useStartDictate:ba,useStopDictate:ha,useUIState:xa}=ra,ya={display:"flex","& > .sr-only":{color:"transparent",height:1,left:-1e4,overflow:"hidden",position:"absolute",top:0,whiteSpace:"nowrap",width:1}};function io(){let[,e]=pa(),[,t]=fa(),[o]=da(),[n]=Qe(),[r]=Z(),a=ba(),i=ha(),{speechSynthesis:s,SpeechSynthesisUtterance:c}=r||{},[l]=la(()=>ia((d,f)=>{if(d&&f){let u=new f("");[u.voice]=d.getVoices(),d.speak(u)}}));return ma(()=>{n===$.WILL_START?t(!1):n===$.DICTATING?(i(),e(o.join(" "))):(t(!1),a()),l(s,c)},[o,n,l,e,t,s,c,a,i])}function co(){let[e]=he(),[t]=Qe(),[o]=xa();return[o==="disabled"||t===$.STARTING||t===$.STOPPING||t===$.DICTATING&&!e]}var mo=({className:e})=>{let[{microphoneButton:t}]=w(),[o]=Qe(),[n]=co(),r=io(),a=ua(),i=E()(ya)+"",s=o===$.DICTATING,c=a(s?"SPEECH_INPUT_MICROPHONE_BUTTON_OPEN_ALT":"SPEECH_INPUT_MICROPHONE_BUTTON_CLOSE_ALT");return It(()=>c&&ce.createElement("div",{className:"webchat__microphone-button__status"},c),[c]),ce.createElement("div",{"aria-controls":"webchatSendBoxMicrophoneButton",className:sa("webchat__microphone-button",{"webchat__microphone-button--dictating":s},t+"",i,(e||"")+"")},ce.createElement(Ee,{alt:a("TEXT_INPUT_SPEAK_BUTTON_ALT"),className:"webchat__microphone-button__button","data-testid":A.sendBoxMicrophoneButton,disabled:n,onClick:r},ce.createElement(R,{appearance:"text",className:"webchat__microphone-icon webchat__microphone-button__icon",icon:"microphone"})),ce.createElement("div",{className:"sr-only",id:"webchatSendBoxMicrophoneButton"},c))};mo.displayName="MicrophoneButton";var lo=ca(mo);import{hooks as ga}from"botframework-webchat-api";import _a from"classnames";import uo,{useCallback as wa}from"react";import{object as va,optional as Ta,pipe as Ca,readonly as Sa,string as Aa}from"valibot";function me(){return ae().submit}var{useDirection:Ea,useLocalizer:ka,useUIState:Ba}=ga,Ia=Ca(va({className:Ta(Aa())}),Sa());function La(e){let[t]=Ea(),{className:o}=y(Ia,e),[n]=Ba(),r=ka(),a=me(),i=wa(()=>a({setFocus:"sendBoxWithoutKeyboard"}),[a]);return uo.createElement(Ee,{alt:r("TEXT_INPUT_SEND_BUTTON_ALT"),className:_a("webchat__send-button",o),disabled:n==="disabled",onClick:i},uo.createElement(R,{appearance:"text",className:"webchat__send-icon",direction:t==="rtl"?"rtl":"follow",icon:"send"}))}var po=La;import{hooks as ks}from"botframework-webchat-api";import dt from"classnames";import H from"prop-types";import _,{useCallback as Bs,useMemo as Is,useRef as Ls}from"react";import{createBasicStyleSet as Ps,ReactFilm as Ns}from"react-film";function et(e){let{title:t}=e,{type:o,value:n}=e;return o==="messageBack"?t||e.displayText:t||(typeof n=="string"?n:JSON.stringify(n))}import{useCallback as fo,useEffect as Pa,useState as Na}from"react";function tt(e){let[t,o]=Na(!1),n=fo(()=>o(!1),[o]),r=fo(({target:a})=>{let i=a;o(e.current===i||!!e.current?.contains(i))},[o,e]);return Pa(()=>(document.addEventListener("blur",n),document.addEventListener("focus",r),()=>{document.removeEventListener("blur",n),document.removeEventListener("focus",r)}),[n,r]),Object.freeze([t])}import Ha,{memo as Fa,useCallback as le,useEffect as Da,useMemo as Oa,useRef as bo}from"react";import{custom as Ua,function_ as Ka,is as ja,literal as ho,object as Wa,optional as ot,pipe as Va,readonly as za,union as qa}from"valibot";import{createContext as Ma}from"react";var Ra=Ma({itemEffector:()=>{throw new Error("botframework-webchat internal: Not implemented.")}}),ke=Ra;var Ja=Va(Wa({children:ot(G()),onEscapeKey:ot(Ua(e=>ja(Ka(),e))),orientation:ot(qa([ho("horizontal"),ho("vertical")]),"horizontal")}),za());function Ga(e){let{children:t,onEscapeKey:o,orientation:n}=y(Ja,e),r=bo(0),a=bo([]),i=le(()=>{let{current:u}=r;a.current.forEach(({current:m},p)=>{m?.setAttribute("tabindex",u===p?"0":"-1")})},[r]),s=le(u=>{let m;typeof u=="number"?m=u:m=u(r.current),m&&!a.current[+m]?.current&&(m=0),r.current!==m&&(r.current=m,i(),a.current[+m]?.current?.focus())},[r,a,i]),c=le(u=>{let{target:m}=u,p=a.current.findIndex(({current:h})=>h===m);~p&&s(p)},[a,s]),l=le(u=>{let{key:m}=u,p=n==="vertical";switch(m){case"ArrowDown":case"ArrowRight":case"Down":case"Right":if(p&&m==="ArrowRight"||!p&&m==="ArrowDown")return;s(h=>{let b=a.current.map((v,C)=>C),x=b.indexOf(h)+1;return x>=b.length?b[0]:b[+x]});break;case"ArrowLeft":case"ArrowUp":case"Left":case"Up":if(p&&m==="ArrowLeft"||!p&&m==="ArrowUp")return;s(h=>{let b=a.current.map((v,C)=>C),x=b.indexOf(h)-1;return x<0?b[b.length-1]:b[+x]});break;case"Home":s(0);break;case"End":s(1/0);break;case"Escape":if(!o)return;o();break;default:return}u.preventDefault(),u.stopPropagation()},[s,o,n]),d=le((u,m)=>{let{current:p}=u;return a.current[+m]=u,p.addEventListener("focus",c),p.addEventListener("keydown",l),p.setAttribute("tabindex",r.current===m?"0":"-1"),()=>{p.removeEventListener("focus",c),p.removeEventListener("keydown",l),delete a.current[+m]}},[r,c,l]),f=Oa(()=>({itemEffector:d}),[d]);return Da(()=>{s(u=>u)}),Ha.createElement(ke.Provider,{value:f},t)}var Be=Fa(Ga);import{hooks as ds}from"botframework-webchat-api";import lt from"classnames";import Ie,{memo as us,useCallback as ps}from"react";import{any as fs,literal as N,number as bs,object as hs,optional as j,pipe as xs,readonly as ys,string as W,union as gs}from"valibot";import{hooks as es}from"botframework-webchat-api";import{useCallback as ts}from"react";import{useMemo as Ya}from"react";var Za=/^(android|linux armv7l)/giu,Xa=/^(mac|ipad|iphone|ipod)/giu,$a=/^linux/giu,Qa=/^win/giu;function nt(){let{navigator:{platform:e}}=window;return Ya(()=>{let t=Za.test(e),o=Xa.test(e),n=Qa.test(e),r=!t&&$a.test(e);return[{android:t,apple:o,linux:r,windows:n}]},[e])}var{useLocalizer:os}=es;function rt(e){let[{apple:t}]=nt(),o=os();return ts(n=>{if(!n||typeof n!="string"||!n.length)throw new Error('useLocalizeAccessKey: "accessKey" must be a non-empty string');return e==="accessible name"?o(t?"ACCESS_KEY_FOR_MAC_ALT":"ACCESS_KEY_ALT",n[0]):(t?"Control+AltGraph+":"Alt+Shift+")+n[0]},[t,o,e])}function at(){let{suggestedActionsAccessKey:e}=g();return[e]}import{useEffect as rs,useRef as as}from"react";import{useContext as ns}from"react";function st(e=!0){let t=ns(ke);if(e&&!t)throw new Error("botframework-webchat internal: This hook can only be used under <RovingTabIndexComposer>.");return t}function it(e){let t=as(),{itemEffector:o}=st();return rs(()=>o(t,e)),t}import{useEffect as ms}from"react";import{useContext as cs}from"react";import{createContext as ss}from"react";var is=ss(),xo=is;function ct(){return cs(xo)}function ls(e,t){let o=e.indexOf(t);~o&&e.splice(o,1)}function mt(e,t){if(e&&typeof e!="string")throw new Error('useFocusAccessKeyEffect: If defined, "key" must be of type "string".');if(!t||!("current"in t))throw new Error('useFocusAccessKeyEffect: "ref" must be defined and has "current" property.');let o=ct();ms(()=>{if(e){let n={keys:e.split(/\s+/gu),ref:t};return o.focii.push(n),()=>ls(o.focii,n)}},[o,e,t])}var{useDirection:_s,usePerformCardAction:ws,useStyleOptions:vs,useSuggestedActionsHooks:Ts,useUIState:Cs}=ds,Ss={"&.webchat__suggested-action":{display:"flex",overflow:"hidden"}},As=xs(hs({buttonText:W(),className:j(W()),displayText:j(W()),image:j(W()),imageAlt:j(W()),itemIndex:bs(),text:j(W()),textClassName:j(W()),type:j(gs([N("call"),N("downloadFile"),N("imBack"),N("messageBack"),N("openUrl"),N("playAudio"),N("playVideo"),N("postBack"),N("showImage"),N("signin")])),value:fs()}),ys());function Es(e){let{buttonText:t,className:o,displayText:n="",image:r="",imageAlt:a,itemIndex:i,text:s="",textClassName:c,type:l,value:d}=y(As,e),[f,u]=Ts().useSuggestedActions(),[{suggestedActionsStackedLayoutButtonTextWrap:m}]=vs(),[{suggestedAction:p}]=w(),[h]=at(),[b]=_s(),[x]=Cs(),v=P(),C=it(i),B=rt("aria-keyshortcuts"),I=ws(),F=E()(Ss)+"",te=_e(),[fe]=ie(C),S=ps(({target:U})=>{(async function(){await v("sendBoxWithoutKeyboard"),I({displayText:n,text:s,type:l,value:d},{target:U}),l==="openUrl"&&u([]),te()})()},[n,v,I,te,u,s,l,d]);return mt(h,C),Ie.createElement(Ae,{...h?{"aria-keyshortcuts":B(h)}:{},className:lt("webchat__suggested-action",{"webchat__suggested-action--focus-visible":fe,"webchat__suggested-action--rtl":b==="rtl","webchat__suggested-action--wrapping":m},F,p+"",o),"data-testid":A.suggestedActionButton,disabled:x==="disabled",onClick:S,ref:C,type:"button"},r&&Ie.createElement("img",{alt:a,className:lt("webchat__suggested-action__image",b==="rtl"&&"webchat__suggested-action__image--rtl"),src:r}),Ie.createElement("span",{className:lt("webchat__suggested-action__text",c)},t),Ie.createElement("div",{className:"webchat__suggested-action__keyboard-focus-indicator"}))}var yo=us(Es);var{useDirection:Ms,useLocalizer:go,useStyleOptions:_o,useSuggestedActionsHooks:Rs}=ks,ut={"&.webchat__suggested-actions":{"&.webchat__suggested-actions--flow-layout .webchat__suggested-actions__flow-box":{display:"flex",flexWrap:"wrap"},"&.webchat__suggested-actions--stack-layout .webchat__suggested-actions__stack":{display:"flex",flexDirection:"column"}}},pt=({children:e,className:t,label:o})=>{let[{suggestedActionsCarouselFlipperBoxWidth:n,suggestedActionsCarouselFlipperCursor:r,suggestedActionsCarouselFlipperSize:a}]=_o(),[{suggestedActions:i}]=w(),[s]=Ms(),[c]=se(),l=go(),d=Ls(),f=E()(ut)+"",u=Is(()=>Ps({autoHide:!1,cursor:r,flipperBoxWidth:n,flipperSize:a}),[n,r,a]),m=l("SUGGESTED_ACTIONS_FLIPPER_NEXT_ALT"),p=l("SUGGESTED_ACTIONS_FLIPPER_PREVIOUS_ALT"),[h]=tt(d),b=s==="rtl"?m:p,x=s==="rtl"?p:m;return _.createElement("div",{"aria-label":o,"aria-orientation":"horizontal",className:dt("webchat__suggested-actions","webchat__suggested-actions--carousel-layout",{"webchat__suggested-actions--focus-within":h,"webchat__suggested-actions--rtl":s==="rtl"},f,i+"",(t||"")+""),ref:d,role:"toolbar"},!!e&&!!_.Children.count(e)&&_.createElement(Ns,{autoCenter:!1,className:"webchat__suggested-actions__carousel",dir:s,flipperBlurFocusOnClick:!0,leftFlipperAriaLabel:b,nonce:c,rightFlipperAriaLabel:x,showDots:!1,showScrollBar:!1,styleSet:u},e),_.createElement("div",{className:"webchat__suggested-actions__focus-indicator"}))};pt.defaultProps={children:void 0,className:void 0};pt.propTypes={children:H.any,className:H.string,label:H.string.isRequired};var ft=({children:e,className:t,label:o})=>{let[{suggestedActions:n}]=w(),r=E()(ut)+"";return _.createElement("div",{"aria-label":o,"aria-orientation":"horizontal",className:dt("webchat__suggested-actions","webchat__suggested-actions--flow-layout",r,n+"",(t||"")+""),role:"toolbar"},!!e&&!!_.Children.count(e)&&_.createElement("div",{className:"webchat__suggested-actions__flow-box"},_.Children.map(e,a=>_.createElement("div",{className:"webchat__suggested-actions__flow-item-box"},a))),_.createElement("div",{className:"webchat__suggested-actions__focus-indicator"}))};ft.defaultProps={children:void 0,className:void 0};ft.propTypes={children:H.any,className:H.string,label:H.string.isRequired};var bt=({children:e,className:t,label:o})=>{let[{suggestedActions:n}]=w(),r=E()(ut)+"";return _.createElement("div",{"aria-label":o,"aria-orientation":"vertical",className:dt("webchat__suggested-actions","webchat__suggested-actions--stacked-layout",r,n+"",(t||"")+""),role:"toolbar"},!!e&&!!_.Children.count(e)&&_.createElement("div",{className:"webchat__suggested-actions__stack"},e),_.createElement("div",{className:"webchat__suggested-actions__focus-indicator"}))};bt.defaultProps={children:void 0,className:void 0};bt.propTypes={children:H.any,className:H.string,label:H.string.isRequired};var Hs=({className:e})=>{let[t]=Rs().useSuggestedActions(),[{suggestedActionLayout:o,suggestedActionsStackedLayoutButtonTextWrap:n}]=_o(),r=go(),a=P(),i=Bs(()=>{a("sendBox")},[a]),s=r("SUGGESTED_ACTIONS_LABEL_ALT"),c=t.map((l,d)=>{let{displayText:f,image:u,imageAltText:m,text:p,type:h,value:b}=l;return _.createElement("div",{className:"webchat__suggested-actions__item-box",key:d},_.createElement(yo,{buttonText:et(l),className:"webchat__suggested-actions__button",displayText:f,image:u,imageAlt:u&&(m||p),itemIndex:d,text:p,textClassName:o==="stacked"&&n?"webchat__suggested-actions__button-text-stacked-text-wrap":"webchat__suggested-actions__button-text",type:h,value:b}))});return c.length?o==="flow"?_.createElement(Be,{onEscapeKey:i},_.createElement(ft,{className:e,label:s},c)):o==="stacked"?_.createElement(Be,{onEscapeKey:i,orientation:"vertical"},_.createElement(bt,{className:e,label:s},c)):_.createElement(Be,{onEscapeKey:i},_.createElement(pt,{className:e,label:s},c)):null},wo=Hs;import{hooks as ai}from"botframework-webchat-api";import{usePonyfill as si}from"botframework-webchat-api/hook.js";import ii from"classnames";import Pe,{useCallback as z,useMemo as Po,useRef as ci}from"react";import Ds,{forwardRef as Os,useRef as Us}from"react";import{boolean as vo,custom as V,literal as Ks,number as js,object as Ws,optional as T,picklist as Vs,pipe as zs,readonly as qs,string as O}from"valibot";import{useEffect as Fs}from"react";function de(e,t){Fs(()=>{let{current:o}=e;o&&(o.enterKeyHint=t)},[t,e])}var Js=zs(Ws({"aria-errormessage":T(O()),"aria-label":T(O()),className:T(O()),"data-id":T(O()),"data-testid":T(O()),disabled:T(vo()),enterKeyHint:T(O()),inputMode:T(Vs(["decimal","email","none","numeric","search","tel","text","url"])),onChange:T(V(e=>typeof e=="function")),onClick:T(V(e=>typeof e=="function")),onFocus:T(V(e=>typeof e=="function")),onKeyDown:T(V(e=>typeof e=="function")),onKeyDownCapture:T(V(e=>typeof e=="function")),onKeyPress:T(V(e=>typeof e=="function")),onSelect:T(V(e=>typeof e=="function")),placeholder:T(O()),readOnly:T(vo()),tabIndex:T(js()),type:Ks("text"),value:T(O())}),qs()),To=Os((e,t)=>{let{"aria-errormessage":o,"aria-label":n,className:r,"data-id":a,"data-testid":i,disabled:s,enterKeyHint:c,onChange:l,onClick:d,onFocus:f,onKeyDown:u,onKeyDownCapture:m,onKeyPress:p,onSelect:h,placeholder:b,readOnly:x,tabIndex:v,value:C,...B}=y(Js,e),I=Us(null),F=t||I;return de(F,c),Ds.createElement("input",{"aria-disabled":s||void 0,"aria-errormessage":o,"aria-label":n,className:r,"data-id":a,"data-testid":i,onChange:s?void 0:l,onClick:d,onFocus:s?void 0:f,onKeyDown:s?void 0:u,onKeyDownCapture:s?void 0:m,onKeyPress:s?void 0:p,onSelect:s?void 0:h,placeholder:b,readOnly:x||s,ref:F,tabIndex:s?-1:v,value:C,...B,type:"text"})});To.displayName="AccessibleInputText";var Co=To;function ht(e){let{altKey:t,target:o,target:{tagName:n}}=e,r=o.getAttribute("autocomplete"),a=r&&r!=="off";if(n==="INPUT"){let{list:i,type:s,value:c}=o;if(s==="button"||s==="checkbox"||s==="file"||s==="image"||s==="radio"||s==="reset"||s==="submit")return!0;if(s==="email"||s==="password"||s==="search"||s==="tel"||s==="text"||s==="url"){if(a||i)return!0;if(t||!c)return!0}}else{if(n==="SELECT")return!1;if(n==="TEXTAREA"){if(!a&&(t||!o.value))return!0}else if(o.getAttribute("contenteditable")==="true"){if(t||!o.innerHTML)return!0}else return!0}}import{useRefFrom as Ao}from"use-ref-from";import Ys from"merge-refs";import Eo,{forwardRef as Zs,useCallback as yt,useMemo as Xs,useRef as $s}from"react";import{useCallback as So,useRef as Gs}from"react";var ue=class{constructor(t,o,n,r){this.#e=r,this.#t=n,this.#o=o,this.#n=t}#e;#t;#o;#n;get group(){return this.#e}get selectionStart(){return this.#o}get selectionEnd(){return this.#t}get value(){return this.#n}};function xt(e){let t=Gs([]),o=So(r=>{let{current:a}=e;if(!a)return;let{current:i}=t,[s]=i,{selectionEnd:c,selectionStart:l,value:d}=a;(!r||r!==s?.group)&&(d===s?.value&&i.shift(),i.unshift(new ue(d,l,c,r)))},[e,t]),n=So(()=>{let{current:r}=e;if(!r)return;let{current:a}=t,i;for(;a.length&&([i]=a,i?.value===r.value);)a.shift();i?(r.value=i.value,r.selectionStart=i.selectionStart,r.selectionEnd=i.selectionEnd):r.value=""},[e,t]);return Object.freeze({push:o,undo:n})}function Qs({componentProps:e,componentType:t,emojiMap:o=new Map,innerRef:n,onChange:r}){let{value:a}=e,i=$s(null),s=Ao(r),{push:c,undo:l}=xt(i),d=Ao(a),f=yt(({currentTarget:p})=>{let{selectionEnd:h,selectionStart:b,value:x}=p;if(typeof h=="number"&&typeof b=="number"&&b===h&&x&&x.length===(d.current||"").length+1)for(let[v,C]of o.entries()){let{length:B}=v;if(x.slice(h-B,h)===v){c();let I=`${x.slice(0,h-B)}${C}${x.slice(h)}`,F=h+C.length-B;p.value=I,p.selectionStart=b,p.selectionEnd=F;break}}x||c(),s.current?.(p.value)},[c,o,s,d]),u=yt(()=>c(),[c]),m=yt(p=>{let{ctrlKey:h,key:b,metaKey:x}=p,v=b.toUpperCase();(h||x)&&v==="Z"?(p.preventDefault(),l(),s.current?.(p.currentTarget.value)):b==="Backspace"?c("backspace"):b==="Delete"?c("delete"):b==="ArrowLeft"||b==="ArrowRight"||b==="ArrowUp"||b==="ArrowDown"||b==="Home"||b==="End"||b==="PageUp"||b==="PageDown"||(h||x)&&v==="A"||(h||x)&&(v==="V"||v==="X")?c():c("change")},[c,s,l]);return Xs(()=>(!i.current||i.current.value!==a)&&c(),[c,i,a]),Eo.createElement(t,{...e,onChange:f,onFocus:u,onKeyDown:m,ref:Ys(i,n)})}function Le(e){let t=Zs(({emojiMap:o,onChange:n,...r},a)=>Eo.createElement(Qs,{componentProps:r,componentType:e,emojiMap:o,innerRef:a,onChange:n}));return t.displayName=`WithEmoji<${e.displayName}>`,t}import Io from"classnames";import gt,{forwardRef as ni}from"react";import ei,{forwardRef as ti,useRef as oi}from"react";var ko=ti(({className:e,disabled:t,inputMode:o,onChange:n,onClick:r,onFocus:a,onKeyDown:i,onKeyDownCapture:s,onKeyPress:c,onSelect:l,placeholder:d,readOnly:f,rows:u,tabIndex:m,...p},h)=>{let b=oi();return ei.createElement("textarea",{"aria-disabled":t||void 0,className:e,inputMode:o,onChange:t?void 0:n,onClick:r,onFocus:t?void 0:a,onKeyDown:t?void 0:i,onKeyDownCapture:t?void 0:s,onKeyPress:t?void 0:c,onSelect:t?void 0:l,placeholder:d,readOnly:f||t,ref:h||b,rows:u,tabIndex:t?-1:m,...p})});ko.displayName="AccessibleTextArea";var Bo=ko;var ri=ni(({"aria-errormessage":e,"aria-label":t,className:o,"data-id":n,"data-testid":r,disabled:a,enterKeyHint:i,inputMode:s,onChange:c,onClick:l,onFocus:d,onKeyDown:f,onKeyDownCapture:u,onKeyPress:m,onSelect:p,placeholder:h,readOnly:b,rows:x,textAreaClassName:v,value:C},B)=>{let[{autoResizeTextArea:I}]=w();return de(B,i),gt.createElement("div",{className:Io("webchat__auto-resize-textarea",I+"",o)},gt.createElement("div",{"aria-hidden":!0,className:"webchat__auto-resize-textarea__doppelganger"},C,"\xA0"),gt.createElement(Bo,{"aria-errormessage":e,"aria-label":t,className:Io("webchat__auto-resize-textarea__textarea",v),"data-id":n,"data-testid":r,disabled:a,inputMode:s,onChange:c,onClick:l,onFocus:d,onKeyDown:f,onKeyDownCapture:u,onKeyPress:m,onSelect:p,placeholder:h,readOnly:b,ref:B,rows:x,value:C}))}),Lo=ri;var{useLocalizer:mi,useSendBoxValue:No,useStopDictate:li,useStyleOptions:di,useUIState:ui}=ai,_t="text",pi={"&.webchat__send-box-text-box":{display:"flex","& .webchat__send-box-text-box__input, & .webchat__send-box-text-box__text-area":{flex:1}}};function Mo(){let e=me();return z(t=>e({setFocus:t||void 0}),[e])}function fi(){let[e,t]=No(),o=li(),n=z(r=>{if(typeof r!="string")throw new Error("botframework-webchat: First argument passed to useTextBoxValue() must be a string.");t(r),o()},[t,o]);return[e,n]}var bi=e=>e.preventDefault(),hi=Le(Co),xi=Le(Lo),yi=({className:e=""})=>{let[t,o]=No(),[{sendBoxTextBox:n}]=w(),[{emojiSet:r,sendBoxTextWrap:a}]=di(),[i]=ui(),s=ci(),c=mi(),l=E()(pi)+"",d=ge(),f=we(),u=Mo(),m=i==="disabled",p=c("TEXT_INPUT_ALT"),h=c("TEXT_INPUT_PLACEHOLDER"),b=z(S=>{let{key:U,shiftKey:L}=S;U==="Enter"&&!L&&(S.preventDefault(),u("sendBox"))},[u]),x=z(S=>{S.preventDefault(),u()},[u]),v=z(S=>{let{ctrlKey:U,metaKey:L,shiftKey:Me}=S;if(!(U||L||Me)&&ht(S)){let Et=!0;switch(S.key){case"End":d({displacement:1/0});break;case"Home":f({displacement:1/0});break;case"PageDown":d();break;case"PageUp":f();break;default:Et=!1;break}Et&&(S.preventDefault(),S.stopPropagation())}},[d,f]),[{requestAnimationFrame:C,requestIdleCallback:B}]=si(),I=Po(()=>B??(S=>C(S)),[C,B]),F=z(({noKeyboard:S,waitUntil:U})=>{U((async()=>{let{current:L}=s;L&&(S?L.getAttribute("inputmode")!=="none"&&(L.setAttribute("inputmode","none"),await new Promise(Me=>I(Me))):L.hasAttribute("inputmode")&&L.removeAttribute("inputmode"),L?.focus())})())},[s,I]);Ue(F);let te=z(({currentTarget:S})=>S.setAttribute("inputmode",_t),[]),fe=Po(()=>new Map(Object.entries(r)),[r]);return Pe.createElement("form",{"aria-disabled":m,className:ii("webchat__send-box-text-box",l,n+"",(e||"")+""),onSubmit:m?bi:x},a?Pe.createElement(xi,{"aria-label":p,className:"webchat__send-box-text-box__text-area","data-id":"webchat-sendbox-input","data-testid":A.sendBoxTextBox,disabled:m,emojiMap:fe,enterKeyHint:"send",inputMode:_t,onChange:o,onClick:te,onKeyDownCapture:m?void 0:v,onKeyPress:m?void 0:b,placeholder:h,readOnly:m,ref:s,rows:1,textAreaClassName:"webchat__send-box-text-box__html-text-area",value:t}):Pe.createElement(hi,{"aria-label":p,className:"webchat__send-box-text-box__input","data-id":"webchat-sendbox-input","data-testid":A.sendBoxTextBox,disabled:m,emojiMap:fe,enterKeyHint:"send",inputMode:_t,onChange:o,onClick:te,onKeyDownCapture:m?void 0:v,onKeyPress:m?void 0:b,placeholder:h,readOnly:m,ref:s,type:"text",value:t}),m&&Pe.createElement("div",{className:"webchat__send-box-text-box__glass"}))},Ro=yi;var{DictateState:{DICTATING:ki,STARTING:Bi}}=wi,{useDirection:Ii,useDictateState:Li,useStyleOptions:Pi}=_i,Ni={"&.webchat__send-box":{"& .webchat__send-box__button":{flexShrink:0},"& .webchat__send-box__dictation-interims":{flex:1e4},"& .webchat__send-box__microphone-button":{flex:1},"& .webchat__send-box__text-box":{flex:1e4}}};function Ho(){let[e]=Li();return[e===Bi||e===ki]}var Mi=Si(Ti({className:Ci(Ei())}),Ai());function Ri(e){let{className:t}=y(Mi,e),[{sendBoxButtonAlignment:o}]=Pi(),[{sendBox:n}]=w(),[{SpeechRecognition:r=void 0}={}]=Z(),[a]=Ii(),[i]=ze(),[s]=Ho(),l=E()(Ni)+"",d=!!r,f=wt("webchat__send-box__button",{"webchat__send-box__button--align-bottom":o==="bottom","webchat__send-box__button--align-stretch":o!=="bottom"&&o!=="top","webchat__send-box__button--align-top":o==="top"});return M.createElement("div",{"aria-describedby":i,"aria-errormessage":i,"aria-invalid":!!i,className:wt("webchat__send-box",n+"",l+"",(t||"")+""),dir:a,role:"form"},M.createElement(wo,null),M.createElement("div",{className:"webchat__send-box__main"},M.createElement(qe,{className:"webchat__send-box__attachment-bar"}),M.createElement(gi,{className:f,request:void 0}),M.createElement("div",{className:"webchat__send-box__editable"},s?M.createElement(oo,{className:"webchat__send-box__dictation-interims"}):M.createElement(Ro,{className:"webchat__send-box__text-box"})),d?M.createElement(lo,{className:wt(f,"webchat__send-box__microphone-button")}):M.createElement(po,{className:f})))}var Zf=vi(Ri);import{hooks as Hi}from"botframework-webchat-api";import Fo,{useCallback as Fi}from"react";import{function_ as Di,object as Oi,optional as Ui,pipe as Ki,readonly as ji,string as Wi}from"valibot";var q={"send-box-attachment-bar-item":"w_D4JNa_send-box-attachment-bar-item","send-box-attachment-bar-item__delete-button":"w_D4JNa_send-box-attachment-bar-item__delete-button","send-box-attachment-bar-item--as-thumbnail":"w_D4JNa_send-box-attachment-bar-item--as-thumbnail","send-box-attachment-bar-item__dismiss-icon":"w_D4JNa_send-box-attachment-bar-item__dismiss-icon","send-box-attachment-bar-item__preview":"w_D4JNa_send-box-attachment-bar-item__preview","send-box-attachment-bar-item--as-list-item":"w_D4JNa_send-box-attachment-bar-item--as-list-item"},Q=q,Tb=q["send-box-attachment-bar-item"];var Cb=q["send-box-attachment-bar-item__delete-button"];var Sb=q["send-box-attachment-bar-item--as-thumbnail"];var Ab=q["send-box-attachment-bar-item__dismiss-icon"];var Eb=q["send-box-attachment-bar-item__preview"];var kb=q["send-box-attachment-bar-item--as-list-item"];var{useLocalizer:Vi}=Hi,zi=Ki(Oi({attachmentName:Wi(),onClick:Ui(Di())}),ji());function qi(e){let{attachmentName:t,onClick:o}=y(zi,e),n=k(Q),r=P(),a=Vi(),i=Fi(s=>{s.key==="Escape"&&(s.preventDefault(),r("sendBox"))},[r]);return Fo.createElement("button",{"aria-label":a("SEND_BOX_ATTACHMENT_BAR_DELETE_BUTTON_ALT",t),className:n["send-box-attachment-bar-item__delete-button"],"data-testid":A.sendBoxAttachmentBarItemDeleteButton,onClick:o,onKeyDown:i,title:a("SEND_BOX_ATTACHMENT_BAR_DELETE_BUTTON_TOOLTIP"),type:"button"},Fo.createElement(R,{appearance:"text",className:n["send-box-attachment-bar-item__dismiss-icon"],icon:"dismiss"}))}var Do=qi;import Tt,{memo as fc}from"react";import{object as bc,picklist as hc,pipe as xc,readonly as yc,string as gc}from"valibot";import Uo from"classnames";import pe,{memo as $i}from"react";import{object as Qi,picklist as ec,pipe as tc,readonly as oc,string as nc}from"valibot";import{instance as vt,object as Ji,optional as Gi,pipe as Yi,readonly as Zi,union as Xi}from"valibot";var ee=Yi(Ji({blob:Xi([vt(Blob),vt(File)]),thumbnailURL:Gi(vt(URL))}),Zi());var J={"send-box-attachment-bar-item-file-preview":"wrjrhMq_send-box-attachment-bar-item-file-preview","send-box-attachment-bar-item-file-preview--is-file":"wrjrhMq_send-box-attachment-bar-item-file-preview--is-file","send-box-attachment-bar-item-file-preview__text":"wrjrhMq_send-box-attachment-bar-item-file-preview__text","send-box-attachment-bar-item-file-preview--as-list-item":"wrjrhMq_send-box-attachment-bar-item-file-preview--as-list-item","send-box-attachment-bar-item-file-preview--is-image":"wrjrhMq_send-box-attachment-bar-item-file-preview--is-image","send-box-attachment-bar-item-file-preview--as-thumbnail":"wrjrhMq_send-box-attachment-bar-item-file-preview--as-thumbnail"},Oo=J,qb=J["send-box-attachment-bar-item-file-preview"];var Jb=J["send-box-attachment-bar-item-file-preview--is-file"];var Gb=J["send-box-attachment-bar-item-file-preview__text"];var Yb=J["send-box-attachment-bar-item-file-preview--as-list-item"];var Zb=J["send-box-attachment-bar-item-file-preview--is-image"];var Xb=J["send-box-attachment-bar-item-file-preview--as-thumbnail"];var rc=tc(Qi({attachment:ee,attachmentName:nc(),mode:ec(["list item","thumbnail"])}),oc());function ac(e){let{attachment:t,mode:o,attachmentName:n}=y(rc,e),r=k(Oo);return o==="list item"?pe.createElement("div",{className:Uo(r["send-box-attachment-bar-item-file-preview"],r["send-box-attachment-bar-item-file-preview--as-list-item"],{[r["send-box-attachment-bar-item-file-preview--is-file"]]:!t.thumbnailURL,[r["send-box-attachment-bar-item-file-preview--is-image"]]:t.thumbnailURL})},pe.createElement(R,null),pe.createElement("div",{className:r["send-box-attachment-bar-item-file-preview__text"]},n)):pe.createElement("div",{className:Uo(r["send-box-attachment-bar-item-file-preview"],r["send-box-attachment-bar-item-file-preview--as-thumbnail"],r["send-box-attachment-bar-item-file-preview--is-file"])},pe.createElement(R,null))}var Ne=$i(ac);import Wo,{memo as sc}from"react";import{object as ic,picklist as cc,pipe as mc,readonly as lc,string as dc}from"valibot";var Ko={"send-box-attachment-bar-item-image-preview":"wSCtrvW_send-box-attachment-bar-item-image-preview"},jo=Ko,dh=Ko["send-box-attachment-bar-item-image-preview"];var uc=mc(ic({attachment:ee,attachmentName:dc(),mode:cc(["list item","thumbnail"])}),lc());function pc(e){let{attachment:t,mode:o,attachmentName:n}=y(uc,e),r=k(jo);return o==="list item"?Wo.createElement(Ne,{attachment:t,attachmentName:n,mode:o}):Wo.createElement("img",{alt:n,className:r["send-box-attachment-bar-item-image-preview"],src:t.thumbnailURL.href})}var Vo=sc(pc);var _c=xc(bc({attachment:ee,attachmentName:gc(),mode:hc(["list item","thumbnail"])}),yc());function wc(e){let{attachment:t,attachmentName:o,mode:n}=y(_c,e),r=k(Q),a;return t.thumbnailURL?a=Tt.createElement(Vo,{attachment:t,attachmentName:o,mode:n}):a=Tt.createElement(Ne,{attachment:t,attachmentName:o,mode:n}),Tt.createElement("div",{className:r["send-box-attachment-bar-item__preview"]},a)}var zo=fc(wc);var{useLocalizer:Nc}=vc,Mc=Zo(Go({attachment:Zo(Go({blob:Pc([St(Blob),St(File)]),thumbnailURL:Yo(St(URL))}),Xo()),mode:Lc(["list item","thumbnail"]),onDelete:Yo(kc(e=>Ic(Bc(),e)))}),Xo());function Rc(e){let{attachment:t,mode:o,onDelete:n}=y(Mc,e),r=k(Q),a=Jo(t),i=qo(null),s=P(),c=Nc(),l=Jo(n),d=qo(!1),f=Ec(()=>t.blob instanceof File?t.blob.name:t.thumbnailURL?c("SEND_BOX_ATTACHMENT_BAR_GENERIC_IMAGE_ALT"):c("SEND_BOX_ATTACHMENT_BAR_GENERIC_FILE_ALT"),[t,c]),u=Sc(()=>{l.current?.({attachment:a.current}),s("sendBox")},[a,s,l]);return Ac(()=>{d.current||(d.current=!0,i.current?.scrollIntoView())},[i,d]),Ct.createElement("div",{className:Tc(r["send-box-attachment-bar-item"],{[r["send-box-attachment-bar-item--as-list-item"]]:o==="list item",[r["send-box-attachment-bar-item--as-thumbnail"]]:o==="thumbnail"}),"data-testid":A.sendBoxAttachmentBarItem,ref:i,title:f},Ct.createElement(zo,{attachment:t,attachmentName:f,mode:o}),Ct.createElement(Do,{attachmentName:f,onClick:u}))}var $o=Cc(Rc);var{useSendBoxAttachments:Jc,useStyleOptions:Gc}=Hc,Yc=Vc(jc({className:Wc(qc())}),zc());function Zc(e){let{className:t}=y(Yc,e),[o,n]=Jc(),r=k(Qt),[{sendBoxAttachmentBarMaxThumbnail:a}]=Gc(),i=Uc(()=>o.length>a?"list item":"thumbnail",[a,o]),s=Kc(o),c=Oc(({attachment:l})=>n(s.current.filter(d=>d!==l)),[n,s]);return o.length>0&&At.createElement("div",{className:Fc(r["send-box-attachment-bar"],{[r["send-box-attachment-bar--as-list-item"]]:i==="list item",[r["send-box-attachment-bar--as-thumbnail"]]:i==="thumbnail"},t),"data-testid":A.sendBoxAttachmentBar},At.createElement("div",{className:r["send-box-attachment-bar__box"]},o.map((l,d)=>At.createElement($o,{attachment:l,key:d,mode:i,onDelete:c}))))}var qe=Dc(Zc);export{Lt as a,g as b,w as c,Mt as d,Nt as e,He as f,oe as g,Rt as h,Ft as i,Ot as j,Ut as k,Oe as l,he as m,el as n,Ue as o,P as p,qt as q,We as r,Y as s,Jt as t,Gt as u,El as v,kl as w,ge as x,Yt as y,_e as z,we as A,Zt as B,Xt as C,Z as D,$t as E,ed as F,eo as G,A as H,qe as I,oo as J,se as K,Ye as L,Ze as M,Ee as N,io as O,co as P,lo as Q,me as R,po as S,et as T,nt as U,rt as V,at as W,xo as X,mt as Y,wo as Z,Le as _,Mo as $,fi as aa,Ro as ba,Ho as ca,Zf as da};
2
- //# sourceMappingURL=chunk-5OYC2I56.mjs.map