botframework-webchat-component 4.18.1-main.20260518.2a3d1d3 → 4.18.2

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 (1389) hide show
  1. package/dist/botframework-webchat-component.d.mts +2312 -64
  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 +30 -99
  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 -57
  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/_dtsroll-chunks/DP9nda2m-botframework-webchat-react-hooks.d.ts +0 -19
  1095. package/dist/botframework-webchat-component.component.css +0 -2
  1096. package/dist/botframework-webchat-component.component.css.map +0 -1
  1097. package/dist/botframework-webchat-component.component.d.mts +0 -9
  1098. package/dist/botframework-webchat-component.component.d.ts +0 -9
  1099. package/dist/botframework-webchat-component.component.js +0 -2
  1100. package/dist/botframework-webchat-component.component.js.map +0 -1
  1101. package/dist/botframework-webchat-component.component.mjs +0 -2
  1102. package/dist/botframework-webchat-component.component.mjs.map +0 -1
  1103. package/dist/botframework-webchat-component.css +0 -2
  1104. package/dist/botframework-webchat-component.css.map +0 -1
  1105. package/dist/botframework-webchat-component.d.ts +0 -90
  1106. package/dist/botframework-webchat-component.decorator.css +0 -2
  1107. package/dist/botframework-webchat-component.decorator.css.map +0 -1
  1108. package/dist/botframework-webchat-component.decorator.d.mts +0 -28
  1109. package/dist/botframework-webchat-component.decorator.d.ts +0 -28
  1110. package/dist/botframework-webchat-component.decorator.js +0 -2
  1111. package/dist/botframework-webchat-component.decorator.js.map +0 -1
  1112. package/dist/botframework-webchat-component.decorator.mjs +0 -2
  1113. package/dist/botframework-webchat-component.decorator.mjs.map +0 -1
  1114. package/dist/botframework-webchat-component.hook.css +0 -2
  1115. package/dist/botframework-webchat-component.hook.css.map +0 -1
  1116. package/dist/botframework-webchat-component.hook.d.mts +0 -8
  1117. package/dist/botframework-webchat-component.hook.d.ts +0 -8
  1118. package/dist/botframework-webchat-component.hook.js +0 -2
  1119. package/dist/botframework-webchat-component.hook.js.map +0 -1
  1120. package/dist/botframework-webchat-component.hook.mjs +0 -2
  1121. package/dist/botframework-webchat-component.hook.mjs.map +0 -1
  1122. package/dist/botframework-webchat-component.internal.css +0 -2
  1123. package/dist/botframework-webchat-component.internal.css.map +0 -1
  1124. package/dist/botframework-webchat-component.internal.d.ts +0 -70
  1125. package/dist/botframework-webchat-component.internal.js +0 -2
  1126. package/dist/botframework-webchat-component.internal.js.map +0 -1
  1127. package/dist/botframework-webchat-component.js +0 -2
  1128. package/dist/botframework-webchat-component.js.map +0 -1
  1129. package/dist/chunk-4IEFVGFY.mjs +0 -2
  1130. package/dist/chunk-4IEFVGFY.mjs.map +0 -1
  1131. package/dist/chunk-AUUHHO4G.mjs +0 -2
  1132. package/dist/chunk-AUUHHO4G.mjs.map +0 -1
  1133. package/dist/chunk-BUJ23PGG.js +0 -77
  1134. package/dist/chunk-BUJ23PGG.js.map +0 -1
  1135. package/dist/chunk-EYXG4PAK.js +0 -2
  1136. package/dist/chunk-EYXG4PAK.js.map +0 -1
  1137. package/dist/chunk-FA5SN6F3.js +0 -2
  1138. package/dist/chunk-FA5SN6F3.js.map +0 -1
  1139. package/dist/chunk-H443W2JC.mjs +0 -2
  1140. package/dist/chunk-H443W2JC.mjs.map +0 -1
  1141. package/dist/chunk-I2HRS7P3.js +0 -2
  1142. package/dist/chunk-I2HRS7P3.js.map +0 -1
  1143. package/dist/chunk-I6DJ35K3.mjs +0 -2
  1144. package/dist/chunk-I6DJ35K3.mjs.map +0 -1
  1145. package/dist/chunk-I6EXXZUN.js +0 -2
  1146. package/dist/chunk-I6EXXZUN.js.map +0 -1
  1147. package/dist/chunk-IB5KEWTO.js +0 -2
  1148. package/dist/chunk-IB5KEWTO.js.map +0 -1
  1149. package/dist/chunk-NNNAE55I.mjs +0 -2
  1150. package/dist/chunk-NNNAE55I.mjs.map +0 -1
  1151. package/dist/chunk-TMUNLKZW.js +0 -2
  1152. package/dist/chunk-TMUNLKZW.js.map +0 -1
  1153. package/dist/chunk-UKBRB4EA.mjs +0 -2
  1154. package/dist/chunk-UKBRB4EA.mjs.map +0 -1
  1155. package/dist/chunk-UXADOWHM.mjs +0 -77
  1156. package/dist/chunk-UXADOWHM.mjs.map +0 -1
  1157. package/dist/component-BtSxgJS5.d.mts +0 -539
  1158. package/dist/component-Fyy8iCRE.d.ts +0 -539
  1159. package/dist/hook-B7KuomGm.d.mts +0 -2259
  1160. package/dist/hook-o9AgRedV.d.ts +0 -2259
  1161. package/dist/metafile-cjs.json +0 -1
  1162. package/hook.js +0 -3
  1163. package/src/Activity/AttachmentRow.tsx +0 -56
  1164. package/src/Activity/Bubble.module.css +0 -131
  1165. package/src/Activity/CarouselFilmStrip.module.css +0 -155
  1166. package/src/Activity/CarouselFilmStripAttachment.module.css +0 -38
  1167. package/src/Activity/CarouselLayout.module.css +0 -30
  1168. package/src/Activity/CodeBlockContent.module.css +0 -40
  1169. package/src/Activity/CodeBlockContent.tsx +0 -42
  1170. package/src/Activity/CollapsibleContent.module.css +0 -43
  1171. package/src/Activity/CollapsibleContent.tsx +0 -68
  1172. package/src/Activity/SayAlt.module.css +0 -4
  1173. package/src/Activity/SayAlt.tsx +0 -25
  1174. package/src/Activity/StackedLayout.module.css +0 -233
  1175. package/src/Activity/StackedLayoutMain.tsx +0 -36
  1176. package/src/Activity/StackedLayoutMessageStatus.tsx +0 -57
  1177. package/src/Activity/StackedLayoutRoot.tsx +0 -71
  1178. package/src/Activity/StackedLayoutStatus.tsx +0 -36
  1179. package/src/Activity/private/MessageStatusLoader.module.css +0 -18
  1180. package/src/Activity/private/MessageStatusLoader.tsx +0 -27
  1181. package/src/ActivityDebug/RestrictedActivityDebugAPI.ts +0 -15
  1182. package/src/ActivityDebug/index.ts +0 -1
  1183. package/src/ActivityFeedback/ActivityFeedback.tsx +0 -88
  1184. package/src/ActivityFeedback/private/FeedbackForm.module.css +0 -123
  1185. package/src/ActivityFeedback/private/FeedbackForm.tsx +0 -83
  1186. package/src/ActivityFeedback/private/FeedbackVoteButton.tsx +0 -88
  1187. package/src/ActivityFeedback/private/FeedbackVoteButtonBar.tsx +0 -40
  1188. package/src/ActivityFeedback/private/ThumbButton.Image.tsx +0 -35
  1189. package/src/ActivityFeedback/private/ThumbButton.module.css +0 -91
  1190. package/src/ActivityFeedback/private/ThumbButton.tsx +0 -103
  1191. package/src/ActivityFeedback/private/canActionResubmit.ts +0 -6
  1192. package/src/ActivityFeedback/private/getDisclaimerFromFeedbackLoop.ts +0 -10
  1193. package/src/ActivityFeedback/private/getDisclaimerFromReviewAction.ts +0 -12
  1194. package/src/ActivityFeedback/private/hasFeedbackLoop.ts +0 -42
  1195. package/src/ActivityFeedback/private/isActionRequireReview.ts +0 -10
  1196. package/src/ActivityFeedback/providers/ActivityFeedbackComposer.tsx +0 -372
  1197. package/src/ActivityFeedback/providers/private/ActivityFeedbackContext.ts +0 -24
  1198. package/src/ActivityFeedback/providers/private/FocusPropagation.ts +0 -10
  1199. package/src/ActivityFeedback/providers/useActivityFeedbackHooks.ts +0 -6
  1200. package/src/ActivityStatus/AbsoluteTime.tsx +0 -37
  1201. package/src/ActivityStatus/ActivityStatus.module.css +0 -31
  1202. package/src/ActivityStatus/StatusSlot.tsx +0 -17
  1203. package/src/ActivityStatus/private/RelativeTime.tsx +0 -43
  1204. package/src/Attachment/ImageAttachment.tsx +0 -58
  1205. package/src/Attachment/Text/TextContent.module.css +0 -45
  1206. package/src/Attachment/Text/private/ActivityButton.module.css +0 -45
  1207. package/src/Attachment/Text/private/ActivityButton.tsx +0 -71
  1208. package/src/Attachment/Text/private/ActivityCopyButton.module.css +0 -45
  1209. package/src/Attachment/Text/private/ActivityCopyButton.tsx +0 -109
  1210. package/src/Attachment/Text/private/ActivityViewCodeButton.tsx +0 -66
  1211. package/src/Attachment/Text/private/CitationModal.module.css +0 -9
  1212. package/src/Attachment/Text/private/CodeContent.tsx +0 -44
  1213. package/src/Attachment/Text/private/Markdownable.tsx +0 -39
  1214. package/src/Attachment/Text/private/ViewCodeDialog.module.css +0 -59
  1215. package/src/Attachment/Text/private/isAIGeneratedActivity.ts +0 -5
  1216. package/src/Avatar/ImageAvatar.tsx +0 -48
  1217. package/src/Avatar/InitialsAvatar.tsx +0 -55
  1218. package/src/BuiltInDecorator.tsx +0 -17
  1219. package/src/ChatHistory/ChatHistoryBox.tsx +0 -27
  1220. package/src/ChatHistory/ChatHistoryToolbar.tsx +0 -36
  1221. package/src/ChatHistory/private/ScrollToEndButton.tsx +0 -105
  1222. package/src/ConnectivityStatus/Connecting.tsx +0 -77
  1223. package/src/Icon/ComponentIcon.module.css +0 -113
  1224. package/src/Icon/ComponentIcon.tsx +0 -59
  1225. package/src/Icon/index.ts +0 -1
  1226. package/src/LinkDefinition/LinkDefinitions.module.css +0 -209
  1227. package/src/Middleware/Activity/defaultActivityPolymiddleware.tsx +0 -104
  1228. package/src/Middleware/ActivityGrouping/createDefaultActivityGroupingDecoratorMiddleware.tsx +0 -21
  1229. package/src/Middleware/ActivityGrouping/ui/LegacyActivityBridgeComposer.tsx +0 -91
  1230. package/src/Middleware/ActivityGrouping/ui/PartGrouping/CollapsibleGrouping.module.css +0 -76
  1231. package/src/Middleware/ActivityGrouping/ui/PartGrouping/CollapsibleGrouping.tsx +0 -97
  1232. package/src/Middleware/ActivityGrouping/ui/PartGrouping/CollapsibleGroupingList.tsx +0 -30
  1233. package/src/Middleware/ActivityGrouping/ui/PartGrouping/CollapsibleGroupingTitle.tsx +0 -29
  1234. package/src/Middleware/ActivityGrouping/ui/PartGrouping/PartGrouping.tsx +0 -52
  1235. package/src/Middleware/ActivityGrouping/ui/PartGrouping/private/PartGroupingActivity.module.css +0 -29
  1236. package/src/Middleware/ActivityGrouping/ui/PartGrouping/private/PartGroupingActivity.tsx +0 -258
  1237. package/src/Middleware/ActivityGrouping/ui/PartGrouping/private/usePartGroupingLogicalGroup.ts +0 -41
  1238. package/src/Middleware/ActivityGrouping/ui/RenderActivity.tsx +0 -37
  1239. package/src/Middleware/ActivityGrouping/ui/RenderActivityGrouping.tsx +0 -41
  1240. package/src/Middleware/ActivityGrouping/ui/SenderGrouping/SenderGrouping.tsx +0 -49
  1241. package/src/Middleware/ActivityGrouping/ui/SenderGrouping/private/SenderGroupingContext.ts +0 -18
  1242. package/src/Middleware/ActivityGrouping/ui/SenderGrouping/private/useSenderGroupingContext.ts +0 -6
  1243. package/src/Middleware/ActivityGrouping/ui/SenderGrouping/useFirstActivity.ts +0 -6
  1244. package/src/Middleware/ActivityGrouping/ui/SenderGrouping/useLastActivity.ts +0 -6
  1245. package/src/Middleware/ActivityGrouping/ui/StatusGrouping/StatusGrouping.tsx +0 -49
  1246. package/src/Middleware/ActivityGrouping/ui/StatusGrouping/private/StatusGroupingContext.ts +0 -18
  1247. package/src/Middleware/ActivityGrouping/ui/StatusGrouping/private/useStatusGroupingContext.ts +0 -6
  1248. package/src/Middleware/ActivityGrouping/ui/StatusGrouping/useFirstActivity.ts +0 -6
  1249. package/src/Middleware/ActivityGrouping/ui/StatusGrouping/useLastActivity.ts +0 -6
  1250. package/src/Middleware/Avatar/DefaultAvatar.tsx +0 -61
  1251. package/src/Middleware/Avatar/createDefaultAvatarPolymiddleware.tsx +0 -22
  1252. package/src/Middleware/ScrollToEndButton/ScrollToEndButton.tsx +0 -58
  1253. package/src/SendBox/AttachmentBar/AttachmentBar.module.css +0 -32
  1254. package/src/SendBox/AttachmentBar/AttachmentBar.tsx +0 -71
  1255. package/src/SendBox/AttachmentBar/AttachmentBarItem.module.css +0 -137
  1256. package/src/SendBox/AttachmentBar/AttachmentBarItem.tsx +0 -103
  1257. package/src/SendBox/AttachmentBar/ItemDeleteButton.tsx +0 -61
  1258. package/src/SendBox/AttachmentBar/ItemPreview.tsx +0 -52
  1259. package/src/SendBox/AttachmentBar/Preview/FilePreview.module.css +0 -35
  1260. package/src/SendBox/AttachmentBar/Preview/FilePreview.tsx +0 -63
  1261. package/src/SendBox/AttachmentBar/Preview/ImagePreview.module.css +0 -5
  1262. package/src/SendBox/AttachmentBar/Preview/ImagePreview.tsx +0 -46
  1263. package/src/SendBox/AttachmentBar/Preview/sendBoxAttachment.ts +0 -13
  1264. package/src/SendBox/AttachmentBar/index.ts +0 -3
  1265. package/src/SendBox/DropZone.tsx +0 -64
  1266. package/src/Styles/CSSCustomPropertiesContainer.tsx +0 -195
  1267. package/src/Styles/StyleSet/ActivityButton.ts +0 -49
  1268. package/src/Styles/StyleSet/ActivityCopyButton.ts +0 -40
  1269. package/src/Styles/StyleSet/ChatHistoryBox.ts +0 -22
  1270. package/src/Styles/StyleSet/CodeBlock.ts +0 -39
  1271. package/src/Styles/StyleSet/CodeBlockCopyButton.ts +0 -71
  1272. package/src/Styles/StyleSet/Tooltip.ts +0 -66
  1273. package/src/Styles/StyleSet/ViewCodeDialog.ts +0 -70
  1274. package/src/Styles/StyleSet/types/StyleSet.ts +0 -11
  1275. package/src/TextArea/TextArea.module.css +0 -75
  1276. package/src/TextArea/TextArea.tsx +0 -126
  1277. package/src/TextArea/index.ts +0 -1
  1278. package/src/Tooltip/index.ts +0 -1
  1279. package/src/Tooltip/private/Tooltip.tsx +0 -26
  1280. package/src/Transcript/ActivityTree.tsx +0 -35
  1281. package/src/Transcript/TranscriptFocus/TranscriptActivityList.tsx +0 -22
  1282. package/src/Transcript/TranscriptFocus/TranscriptFocus.module.css +0 -117
  1283. package/src/Transcript/TranscriptFocus/TranscriptFocusArea.tsx +0 -27
  1284. package/src/Transcript/TranscriptFocus/TranscriptFocusContent.tsx +0 -34
  1285. package/src/Transcript/TranscriptFocus/TranscriptFocusContentActiveDescendant.tsx +0 -26
  1286. package/src/Transcript/TranscriptFocus/TranscriptFocusContentBody.tsx +0 -20
  1287. package/src/Transcript/TranscriptFocus/TranscriptFocusContentOverlay.tsx +0 -20
  1288. package/src/Transcript/TranscriptFocus/TranscriptFocusIndicator.tsx +0 -28
  1289. package/src/Transcript/TranscriptFocus/TranscriptFocusTerminator.tsx +0 -42
  1290. package/src/Transcript/TranscriptFocus/TranscriptFocusTerminatorBody.tsx +0 -20
  1291. package/src/Transcript/TranscriptFocus/TranscriptFocusTerminatorText.tsx +0 -20
  1292. package/src/Transcript/TranscriptFocus/index.ts +0 -25
  1293. package/src/Transcript/hooks/useRenderActivityProps.ts +0 -88
  1294. package/src/Utils/AccessKeySink/Surface.tsx +0 -63
  1295. package/src/Utils/FixedWidthImage.tsx +0 -60
  1296. package/src/Utils/createIconComponent.tsx +0 -126
  1297. package/src/Utils/orgSchema/getFirstBaseOfSoftwareSourceCode.ts +0 -15
  1298. package/src/Utils/parseDocumentFragmentFromString.ts +0 -9
  1299. package/src/Utils/readDataURIToBlob.ts +0 -37
  1300. package/src/Utils/serializeDocumentFragmentIntoString.ts +0 -3
  1301. package/src/Utils/textFormatToContentType.ts +0 -14
  1302. package/src/__tests__/addMetaTag.spec.js +0 -8
  1303. package/src/__tests__/addMetaTag.spec.mjs +0 -8
  1304. package/src/boot/component.ts +0 -45
  1305. package/src/boot/decorator.ts +0 -1
  1306. package/src/boot/hook.ts +0 -118
  1307. package/src/boot/internal.ts +0 -15
  1308. package/src/buildInfo.ts +0 -9
  1309. package/src/decorator/index.ts +0 -3
  1310. package/src/decorator/private/BorderFlair.module.css +0 -566
  1311. package/src/decorator/private/BorderFlair.tsx +0 -39
  1312. package/src/decorator/private/BorderLoader.module.css +0 -53
  1313. package/src/decorator/private/BorderLoader.tsx +0 -24
  1314. package/src/decorator/private/WebChatDecorator.tsx +0 -64
  1315. package/src/decorator/stylesheet/DecoratorStylesheet.tsx +0 -33
  1316. package/src/decorator/stylesheet/createDecoratorStyleElements.ts +0 -8
  1317. package/src/env.d.ts +0 -11
  1318. package/src/hooks/RenderMarkdown.module.css +0 -102
  1319. package/src/hooks/internal/codeHighlighter/index.ts +0 -3
  1320. package/src/hooks/internal/codeHighlighter/private/CodeHighlighterComposer.tsx +0 -32
  1321. package/src/hooks/internal/codeHighlighter/private/createCodeHighlighterComposer.tsx +0 -32
  1322. package/src/hooks/internal/codeHighlighter/private/defaultHighlightCode.tsx +0 -22
  1323. package/src/hooks/internal/styleToEmotionObject/index.ts +0 -1
  1324. package/src/hooks/internal/styleToEmotionObject/private/StyleToEmotionObjectComposer.tsx +0 -20
  1325. package/src/hooks/internal/styleToEmotionObject/private/createStyleToEmotionObjectComposer.tsx +0 -22
  1326. package/src/hooks/internal/useEmotion.ts +0 -37
  1327. package/src/hooks/internal/useFeedbackActions.ts +0 -120
  1328. package/src/hooks/internal/useNonce.ts +0 -7
  1329. package/src/hooks/internal/useSanitizeHrefCallback.ts +0 -37
  1330. package/src/hooks/useStreamingMarkdownWithDefinitions.ts +0 -193
  1331. package/src/providers/ActivityLogicalGrouping/ActivityLogicalGroupingComposer.ts +0 -100
  1332. package/src/providers/ActivityLogicalGrouping/index.ts +0 -7
  1333. package/src/providers/ActivityLogicalGrouping/private/ActivityLogicalGroupingContext.ts +0 -31
  1334. package/src/providers/ActivityLogicalGrouping/private/useStateWithOptimisticRef.ts +0 -13
  1335. package/src/providers/ActivityLogicalGrouping/useAddLogicalGrouping.ts +0 -5
  1336. package/src/providers/ActivityLogicalGrouping/useGetGroupState.ts +0 -5
  1337. package/src/providers/ActivityLogicalGrouping/useGetLogicalGroupBoundaries.ts +0 -5
  1338. package/src/providers/ActivityLogicalGrouping/useGetLogicalGroupKey.ts +0 -5
  1339. package/src/providers/ActivityLogicalGrouping/useRemoveLogicalGrouping.ts +0 -5
  1340. package/src/providers/ChatHistoryDOM/ChatHistoryDOMComposer.tsx +0 -18
  1341. package/src/providers/ChatHistoryDOM/private/ChatHistoryDOMContext.ts +0 -11
  1342. package/src/providers/ChatHistoryDOM/useActivityElementRef.ts +0 -6
  1343. package/src/providers/CustomElements/CustomElementsComposer.tsx +0 -58
  1344. package/src/providers/CustomElements/customElements/CodeBlock.module.css +0 -35
  1345. package/src/providers/CustomElements/customElements/CodeBlock.ts +0 -230
  1346. package/src/providers/CustomElements/customElements/CodeBlockCopyButton.module.css +0 -63
  1347. package/src/providers/CustomElements/customElements/CodeBlockCopyButton.tsx +0 -108
  1348. package/src/providers/CustomElements/customElements/wrapAsCustomElement.ts +0 -85
  1349. package/src/providers/CustomElements/private/CustomElementsContext.ts +0 -15
  1350. package/src/providers/CustomElements/private/useCustomElementsContext.ts +0 -6
  1351. package/src/providers/CustomElements/useCodeBlockCopyButtonTagName.ts +0 -8
  1352. package/src/providers/CustomElements/useCodeBlockTagName.ts +0 -19
  1353. package/src/providers/GroupedRenderingActivities/GroupedRenderingActivities.ts +0 -10
  1354. package/src/providers/GroupedRenderingActivities/GroupedRenderingActivitiesComposer.tsx +0 -87
  1355. package/src/providers/GroupedRenderingActivities/private/GroupedRenderingActivitiesContext.ts +0 -14
  1356. package/src/providers/GroupedRenderingActivities/private/group.spec.ts +0 -31
  1357. package/src/providers/GroupedRenderingActivities/private/group.ts +0 -19
  1358. package/src/providers/GroupedRenderingActivities/private/pick.spec.ts +0 -35
  1359. package/src/providers/GroupedRenderingActivities/private/pick.ts +0 -20
  1360. package/src/providers/GroupedRenderingActivities/useGroupedRenderingActivities.ts +0 -6
  1361. package/src/providers/GroupedRenderingActivities/useNumRenderingActivities.ts +0 -5
  1362. package/src/providers/HTMLContentTransformCOR/HTMLContentTransformComposer.tsx +0 -41
  1363. package/src/providers/HTMLContentTransformCOR/index.ts +0 -8
  1364. package/src/providers/HTMLContentTransformCOR/private/HTMLContentTransformContext.ts +0 -34
  1365. package/src/providers/HTMLContentTransformCOR/private/useHTMLContentTransformContext.ts +0 -6
  1366. package/src/providers/HTMLContentTransformCOR/useTransformHTMLContent.ts +0 -187
  1367. package/src/providers/LiveRegionTwin/index.ts +0 -3
  1368. package/src/providers/LiveRegionTwin/private/LiveRegionTwinComposer.ts +0 -27
  1369. package/src/providers/LiveRegionTwin/private/createLiveRegionTwinComposer.tsx +0 -155
  1370. package/src/providers/LiveRegionTwin/useLiveRegion.ts +0 -27
  1371. package/src/providers/ReducedMotion/ReducedMotionComposer.tsx +0 -35
  1372. package/src/providers/ReducedMotion/private/Context.ts +0 -22
  1373. package/src/providers/ReducedMotion/private/useContext.ts +0 -8
  1374. package/src/providers/ReducedMotion/useShouldReduceMotion.ts +0 -5
  1375. package/src/providers/RenderingActivities/RenderingActivitiesComposer.tsx +0 -103
  1376. package/src/providers/RenderingActivities/private/RenderingActivitiesContext.ts +0 -15
  1377. package/src/providers/RenderingActivities/useActivityRendererMap.ts +0 -9
  1378. package/src/providers/RenderingActivities/useRenderingActivities.ts +0 -7
  1379. package/src/providers/RenderingActivities/useRenderingActivityKeys.ts +0 -5
  1380. package/src/providers/TranscriptFocus/TranscriptFocusComposer.spec.tsx +0 -611
  1381. package/src/providers/TranscriptFocus/useFocusByGroupKey.ts +0 -11
  1382. package/src/providers/TranscriptFocus/useFocusedKey.ts +0 -6
  1383. package/src/providers/TranscriptFocus/useGetGroupDescendantIdByActivityKey.ts +0 -5
  1384. package/src/providers/createContextAndHook.ts +0 -23
  1385. package/src/stylesheet/ComponentStylesheet.tsx +0 -33
  1386. package/src/stylesheet/createComponentStyleElements.ts +0 -8
  1387. package/src/testIds.ts +0 -18
  1388. package/src/types/internal/mutableRefObject.ts +0 -40
  1389. package/src/types/internal/refObject.ts +0 -40
@@ -0,0 +1,159 @@
1
+ /** @jest-environment jsdom */
2
+ /* eslint-disable react/prop-types */
3
+ /* eslint-disable no-undef */
4
+ /* eslint no-magic-numbers: "off" */
5
+ import React from 'react';
6
+ import { render } from 'react-dom';
7
+ import { act } from 'react-dom/test-utils';
8
+ import useMemoized from './useMemoized';
9
+
10
+ const testHook = fun => {
11
+ let state;
12
+ const UseComponent = ({ useTest }) => {
13
+ useTest();
14
+ return null;
15
+ };
16
+ const TestComponent = () => {
17
+ state = React.useState();
18
+ const [useTest] = state;
19
+ if (useTest) {
20
+ return <UseComponent useTest={useTest} />;
21
+ }
22
+
23
+ return <React.Fragment />;
24
+ };
25
+
26
+ const root = document.createElement('div');
27
+ render(<TestComponent />, root);
28
+
29
+ return (...args) => {
30
+ const [_useTest, setTest] = state;
31
+ return new Promise(resolve => {
32
+ act(() => {
33
+ setTest(() => () => resolve(fun(...args)));
34
+ });
35
+ });
36
+ };
37
+ };
38
+
39
+ test('useMemoized should cache result across runs', async () => {
40
+ const expensiveSum = jest.fn((x, y) => x + y);
41
+
42
+ const render = testHook(doMemoChecks => {
43
+ // Start a run, all calls to sum() will be cached.
44
+ const sum = useMemoized(expensiveSum, []);
45
+ doMemoChecks(sum);
46
+ });
47
+
48
+ await render(sum => {
49
+ expect(sum(1, 2)).toBe(3); // Not cached, return 3.
50
+ expect(sum(1, 2)).toBe(3); // Cached, return 3.
51
+ expect(sum(2, 4)).toBe(6); // Not cached, return 6.
52
+ expect(sum(1, 2)).toBe(3); // Cached, return 3. This is cached because it is inside the same run.
53
+ });
54
+ expect(expensiveSum).toHaveBeenCalledTimes(2);
55
+
56
+ expect(expensiveSum.mock.calls[0]).toEqual([1, 2]);
57
+ expect(expensiveSum.mock.calls[1]).toEqual([2, 4]);
58
+
59
+ // After the run, 1 + 2 = 3, and 2 + 4 = 6 is cached.
60
+
61
+ // Start another run with previous cache
62
+ await render(sum => {
63
+ expect(sum(1, 2)).toBe(3); // Cached from previous run, return 3.
64
+ expect(sum(3, 6)).toBe(9); // Not cached, return 9.
65
+ });
66
+
67
+ expect(expensiveSum).toHaveBeenCalledTimes(3);
68
+ expect(expensiveSum.mock.calls[2]).toEqual([3, 6]);
69
+
70
+ // After the run, only 1 + 2 = 3 and 3 + 6 = 9 is cached. 2 + 4 is dropped.
71
+
72
+ // Start another run with previous cache
73
+ await render(sum => {
74
+ expect(sum(2, 4)).toBe(6); // Not cached, return 6
75
+ });
76
+
77
+ expect(expensiveSum).toHaveBeenCalledTimes(4);
78
+ expect(expensiveSum.mock.calls[3]).toEqual([2, 4]);
79
+ });
80
+
81
+ test('useMemoized should flush cache if deps change', async () => {
82
+ const expensiveSum = jest.fn((x, y) => x + y);
83
+
84
+ const render = testHook((doMemoChecks, deps) => {
85
+ // Start a run, all calls to sum() will be cached.
86
+ const sum = useMemoized(expensiveSum, deps);
87
+ doMemoChecks(sum);
88
+ });
89
+
90
+ // Start a run, all calls to sum() will be cached.
91
+ await render(
92
+ sum => {
93
+ expect(sum(1, 2)).toBe(3); // Not cached, return 3.
94
+ expect(sum(1, 2)).toBe(3); // Cached, return 3.
95
+ expect(sum(2, 4)).toBe(6); // Not cached, return 6.
96
+ expect(sum(1, 2)).toBe(3); // Cached, return 3. This is cached because it is inside the same run.
97
+ },
98
+ [{}]
99
+ );
100
+
101
+ expect(expensiveSum).toHaveBeenCalledTimes(2);
102
+
103
+ expect(expensiveSum.mock.calls[0]).toEqual([1, 2]);
104
+ expect(expensiveSum.mock.calls[1]).toEqual([2, 4]);
105
+
106
+ // Start another run without the previous cache
107
+ await render(
108
+ sum => {
109
+ expect(sum(1, 2)).toBe(3); // Not cached, deps changed
110
+ expect(sum(3, 6)).toBe(9); // Not cached, return 9.
111
+ },
112
+ [null]
113
+ );
114
+
115
+ expect(expensiveSum).toHaveBeenCalledTimes(4);
116
+ expect(expensiveSum.mock.calls[2]).toEqual([1, 2]);
117
+ expect(expensiveSum.mock.calls[3]).toEqual([3, 6]);
118
+
119
+ // After the run, only 1 + 2 = 3 and 3 + 6 = 9 is cached. 2 + 4 is dropped.
120
+
121
+ // Start another run with previous cache
122
+ await render(
123
+ sum => {
124
+ expect(sum(1, 2)).toBe(3); // Cached from previous run, return 3.
125
+ expect(sum(2, 4)).toBe(6); // Not cached, return 6
126
+ },
127
+ [null]
128
+ );
129
+
130
+ expect(expensiveSum).toHaveBeenCalledTimes(5);
131
+ expect(expensiveSum.mock.calls[4]).toEqual([2, 4]);
132
+ });
133
+
134
+ test('useMemoized should not share cache across hooks', async () => {
135
+ const expensiveSum = jest.fn((x, y) => x + y);
136
+
137
+ const render = testHook(doMemoChecks => {
138
+ // Start a run, all calls to sum() will be cached.
139
+ const sum1 = useMemoized(expensiveSum, []);
140
+ doMemoChecks(sum1);
141
+ const sum2 = useMemoized(expensiveSum, []);
142
+ doMemoChecks(sum2);
143
+ });
144
+
145
+ // Start a run, all calls to sum() will be cached.
146
+ await render(sum => {
147
+ expect(sum(1, 2)).toBe(3); // Not cached, return 3.
148
+ expect(sum(1, 2)).toBe(3); // Cached, return 3.
149
+ expect(sum(2, 4)).toBe(6); // Not cached, return 6.
150
+ expect(sum(1, 2)).toBe(3); // Cached, return 3. This is cached because it is inside the same run.
151
+ });
152
+
153
+ expect(expensiveSum).toHaveBeenCalledTimes(4);
154
+
155
+ expect(expensiveSum.mock.calls[0]).toEqual([1, 2]);
156
+ expect(expensiveSum.mock.calls[1]).toEqual([2, 4]);
157
+ expect(expensiveSum.mock.calls[2]).toEqual(expensiveSum.mock.calls[0]);
158
+ expect(expensiveSum.mock.calls[3]).toEqual(expensiveSum.mock.calls[1]);
159
+ });
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useNavigatorPlatform;
7
+ var _react = require("react");
8
+ var ANDROID_PATTERN = /^(android|linux armv7l)/gi;
9
+ var APPLE_PATTERN = /^(mac|ipad|iphone|ipod)/gi;
10
+ var LINUX_PATTERN = /^linux/gi;
11
+ var WINDOWS_PATTERN = /^win/gi;
12
+ function useNavigatorPlatform() {
13
+ var _window = window,
14
+ platform = _window.navigator.platform;
15
+ return (0, _react.useMemo)(function () {
16
+ // This list is very limited. Please use with care. Please refer to this link for details.
17
+ // https://stackoverflow.com/questions/19877924/what-is-the-list-of-possible-values-for-navigator-platform-as-of-today
18
+
19
+ var android = ANDROID_PATTERN.test(platform);
20
+ var apple = APPLE_PATTERN.test(platform);
21
+ var windows = WINDOWS_PATTERN.test(platform);
22
+ var linux = !android && LINUX_PATTERN.test(platform);
23
+ return [{
24
+ android: android,
25
+ apple: apple,
26
+ linux: linux,
27
+ windows: windows
28
+ }];
29
+ }, [platform]);
30
+ }
31
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiQU5EUk9JRF9QQVRURVJOIiwiQVBQTEVfUEFUVEVSTiIsIkxJTlVYX1BBVFRFUk4iLCJXSU5ET1dTX1BBVFRFUk4iLCJ1c2VOYXZpZ2F0b3JQbGF0Zm9ybSIsIl93aW5kb3ciLCJ3aW5kb3ciLCJwbGF0Zm9ybSIsIm5hdmlnYXRvciIsInVzZU1lbW8iLCJhbmRyb2lkIiwidGVzdCIsImFwcGxlIiwid2luZG93cyIsImxpbnV4Il0sInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvaW50ZXJuYWwvdXNlTmF2aWdhdG9yUGxhdGZvcm0uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcblxuY29uc3QgQU5EUk9JRF9QQVRURVJOID0gL14oYW5kcm9pZHxsaW51eCBhcm12N2wpL2dpdTtcbmNvbnN0IEFQUExFX1BBVFRFUk4gPSAvXihtYWN8aXBhZHxpcGhvbmV8aXBvZCkvZ2l1O1xuY29uc3QgTElOVVhfUEFUVEVSTiA9IC9ebGludXgvZ2l1O1xuY29uc3QgV0lORE9XU19QQVRURVJOID0gL153aW4vZ2l1O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VOYXZpZ2F0b3JQbGF0Zm9ybSgpIHtcbiAgY29uc3Qge1xuICAgIG5hdmlnYXRvcjogeyBwbGF0Zm9ybSB9XG4gIH0gPSB3aW5kb3c7XG5cbiAgcmV0dXJuIHVzZU1lbW8oKCkgPT4ge1xuICAgIC8vIFRoaXMgbGlzdCBpcyB2ZXJ5IGxpbWl0ZWQuIFBsZWFzZSB1c2Ugd2l0aCBjYXJlLiBQbGVhc2UgcmVmZXIgdG8gdGhpcyBsaW5rIGZvciBkZXRhaWxzLlxuICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE5ODc3OTI0L3doYXQtaXMtdGhlLWxpc3Qtb2YtcG9zc2libGUtdmFsdWVzLWZvci1uYXZpZ2F0b3ItcGxhdGZvcm0tYXMtb2YtdG9kYXlcblxuICAgIGNvbnN0IGFuZHJvaWQgPSBBTkRST0lEX1BBVFRFUk4udGVzdChwbGF0Zm9ybSk7XG4gICAgY29uc3QgYXBwbGUgPSBBUFBMRV9QQVRURVJOLnRlc3QocGxhdGZvcm0pO1xuICAgIGNvbnN0IHdpbmRvd3MgPSBXSU5ET1dTX1BBVFRFUk4udGVzdChwbGF0Zm9ybSk7XG5cbiAgICBjb25zdCBsaW51eCA9ICFhbmRyb2lkICYmIExJTlVYX1BBVFRFUk4udGVzdChwbGF0Zm9ybSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBhbmRyb2lkLFxuICAgICAgICBhcHBsZSxcbiAgICAgICAgbGludXgsXG4gICAgICAgIHdpbmRvd3NcbiAgICAgIH1cbiAgICBdO1xuICB9LCBbcGxhdGZvcm1dKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBRUEsSUFBTUMsZUFBZSxHQUFHLDJCQUE0QjtBQUNwRCxJQUFNQyxhQUFhLEdBQUcsMkJBQTRCO0FBQ2xELElBQU1DLGFBQWEsR0FBRyxVQUFXO0FBQ2pDLElBQU1DLGVBQWUsR0FBRyxRQUFTO0FBRWxCLFNBQVNDLG9CQUFvQkEsQ0FBQSxFQUFHO0VBQzdDLElBQUFDLE9BQUEsR0FFSUMsTUFBTTtJQURLQyxRQUFRLEdBQUFGLE9BQUEsQ0FBckJHLFNBQVMsQ0FBSUQsUUFBUTtFQUd2QixPQUFPLElBQUFFLGNBQU8sRUFBQyxZQUFNO0lBQ25CO0lBQ0E7O0lBRUEsSUFBTUMsT0FBTyxHQUFHVixlQUFlLENBQUNXLElBQUksQ0FBQ0osUUFBUSxDQUFDO0lBQzlDLElBQU1LLEtBQUssR0FBR1gsYUFBYSxDQUFDVSxJQUFJLENBQUNKLFFBQVEsQ0FBQztJQUMxQyxJQUFNTSxPQUFPLEdBQUdWLGVBQWUsQ0FBQ1EsSUFBSSxDQUFDSixRQUFRLENBQUM7SUFFOUMsSUFBTU8sS0FBSyxHQUFHLENBQUNKLE9BQU8sSUFBSVIsYUFBYSxDQUFDUyxJQUFJLENBQUNKLFFBQVEsQ0FBQztJQUV0RCxPQUFPLENBQ0w7TUFDRUcsT0FBTyxFQUFQQSxPQUFPO01BQ1BFLEtBQUssRUFBTEEsS0FBSztNQUNMRSxLQUFLLEVBQUxBLEtBQUs7TUFDTEQsT0FBTyxFQUFQQTtJQUNGLENBQUMsQ0FDRjtFQUNILENBQUMsRUFBRSxDQUFDTixRQUFRLENBQUMsQ0FBQztBQUNoQiJ9
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useNonce;
7
+ var _useWebChatUIContext2 = _interopRequireDefault(require("./useWebChatUIContext"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ function useNonce() {
10
+ var _useWebChatUIContext = (0, _useWebChatUIContext2.default)(),
11
+ nonce = _useWebChatUIContext.nonce;
12
+ return [nonce];
13
+ }
14
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdXNlV2ViQ2hhdFVJQ29udGV4dDIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidXNlTm9uY2UiLCJfdXNlV2ViQ2hhdFVJQ29udGV4dCIsInVzZVdlYkNoYXRVSUNvbnRleHQiLCJub25jZSJdLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL2ludGVybmFsL3VzZU5vbmNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB1c2VXZWJDaGF0VUlDb250ZXh0IGZyb20gJy4vdXNlV2ViQ2hhdFVJQ29udGV4dCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZU5vbmNlKCkge1xuICBjb25zdCB7IG5vbmNlIH0gPSB1c2VXZWJDaGF0VUlDb250ZXh0KCk7XG5cbiAgcmV0dXJuIFtub25jZV07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLHFCQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBd0QsU0FBQUQsdUJBQUFFLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFFekMsU0FBU0csUUFBUUEsQ0FBQSxFQUFHO0VBQ2pDLElBQUFDLG9CQUFBLEdBQWtCLElBQUFDLDZCQUFtQixFQUFDLENBQUM7SUFBL0JDLEtBQUssR0FBQUYsb0JBQUEsQ0FBTEUsS0FBSztFQUViLE9BQU8sQ0FBQ0EsS0FBSyxDQUFDO0FBQ2hCIn0=
@@ -0,0 +1,3 @@
1
+ import { RefObject } from 'react';
2
+ export default function useObserveFocusVisible(targetRef: RefObject<HTMLElement>, onFocusVisible: () => void): void;
3
+ //# sourceMappingURL=useObserveFocusVisible.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useObserveFocusVisible.d.ts","sourceRoot":"","sources":["../../../src/hooks/internal/useObserveFocusVisible.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,SAAS,EAA2C,MAAM,OAAO,CAAC;AAkP7F,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,MAAM,IAAI,QAqB3G"}
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useObserveFocusVisible;
7
+ var _botframeworkWebchatApi = require("botframework-webchat-api");
8
+ var _react = require("react");
9
+ var _supportPseudoClass = _interopRequireDefault(require("../../Utils/supportPseudoClass"));
10
+ var _useNonce3 = _interopRequireDefault(require("./useNonce"));
11
+ var _useValueRef = _interopRequireDefault(require("./useValueRef"));
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
14
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
15
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
17
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
18
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
19
+ var usePonyfill = _botframeworkWebchatApi.hooks.usePonyfill;
20
+ var INPUT_TYPES_ALLOW_LIST = ['date', 'datetime-local', 'datetime', 'email', 'month', 'number', 'password', 'search', 'tel', 'text', 'time', 'url', 'week'];
21
+
22
+ /**
23
+ * Computes whether the given element should automatically trigger the
24
+ * `focus-visible` class being added, i.e. whether it should always match
25
+ * `:focus-visible` when focused.
26
+ * @param {Element} el
27
+ * @return {boolean}
28
+ */
29
+ function focusTriggersKeyboardModality(el) {
30
+ var isContentEditable = el.isContentEditable,
31
+ readOnly = el.readOnly,
32
+ tagName = el.tagName,
33
+ type = el.type;
34
+ return tagName === 'INPUT' && INPUT_TYPES_ALLOW_LIST.includes(type) && !readOnly || tagName === 'TEXTAREA' && !readOnly || isContentEditable;
35
+ }
36
+ function createEventSubscription(target, types, handler) {
37
+ var subscribed;
38
+ var subscribe = function subscribe() {
39
+ if (!subscribed) {
40
+ types.forEach(function (type) {
41
+ return target.addEventListener(type, handler);
42
+ });
43
+ subscribed = true;
44
+ }
45
+ };
46
+ var unsubscribe = function unsubscribe() {
47
+ if (subscribed) {
48
+ types.forEach(function (type) {
49
+ return target.removeEventListener(type, handler);
50
+ });
51
+ subscribed = undefined;
52
+ }
53
+ };
54
+ return {
55
+ pause: unsubscribe,
56
+ resume: subscribe
57
+ };
58
+ }
59
+
60
+ // TODO: Add tests
61
+ // 1. Focus via keyboard vs. mouse
62
+ // 2. Focus via keyboard, switch app, switch back (expect to get another focusVisible after switch back)
63
+ // 3. Focus via mouse, switch app, switch back (do NOT expect to get another focusVisible after switch back)
64
+ function useObserveFocusVisibleForLegacyBrowsers(targetRef, onFocusVisibleRef) {
65
+ var _usePonyfill = usePonyfill(),
66
+ _usePonyfill2 = _slicedToArray(_usePonyfill, 1),
67
+ Date = _usePonyfill2[0].Date;
68
+ // This polyfill algorithm is adopted from https://github.com/WICG/focus-visible.
69
+ var blurSinceRef = (0, _react.useRef)(0);
70
+ var hadKeyboardEventRef = (0, _react.useRef)(true);
71
+ var hasFocusVisibleRef = (0, _react.useRef)(false);
72
+ var eventSubscription = (0, _react.useMemo)(function () {
73
+ return createEventSubscription(document, ['mousemove', 'mousedown', 'mouseup', 'pointermove', 'pointerdown', 'pointerup', 'touchmove', 'touchstart', 'touchend'], function (event) {
74
+ var _nodeName;
75
+ if (((_nodeName = event.target.nodeName) === null || _nodeName === void 0 ? void 0 : _nodeName.toLowerCase()) !== 'html') {
76
+ hadKeyboardEventRef.current = false;
77
+ eventSubscription.pause();
78
+ }
79
+ });
80
+ }, [hadKeyboardEventRef]);
81
+ var setHasFocusVisible = (0, _react.useCallback)(function (nextHasFocusVisible) {
82
+ if (hasFocusVisibleRef.current !== nextHasFocusVisible) {
83
+ hasFocusVisibleRef.current = nextHasFocusVisible;
84
+ nextHasFocusVisible && (onFocusVisibleRef === null || onFocusVisibleRef === void 0 ? void 0 : onFocusVisibleRef.current());
85
+ }
86
+ }, [hasFocusVisibleRef, onFocusVisibleRef]);
87
+ var handleKeyDown = (0, _react.useCallback)(function (event) {
88
+ if (event.altKey || event.ctrlKey || event.metaKey) {
89
+ return;
90
+ }
91
+ if (event.target === targetRef.current) {
92
+ setHasFocusVisible(true);
93
+ }
94
+ hadKeyboardEventRef.current = true;
95
+ }, [hadKeyboardEventRef, setHasFocusVisible, targetRef]);
96
+ var handlePointerDown = (0, _react.useCallback)(function () {
97
+ hadKeyboardEventRef.current = false;
98
+ }, [hadKeyboardEventRef]);
99
+ var handleFocus = (0, _react.useCallback)(function (_ref) {
100
+ var target = _ref.target;
101
+ target === targetRef.current && (hadKeyboardEventRef.current || focusTriggersKeyboardModality(target)) && setHasFocusVisible(true);
102
+ }, [hadKeyboardEventRef, setHasFocusVisible, targetRef]);
103
+ var handleBlur = (0, _react.useCallback)(function (event) {
104
+ if (event.target === targetRef.current && hasFocusVisibleRef.current) {
105
+ blurSinceRef.current = Date.now();
106
+ setHasFocusVisible(false);
107
+ }
108
+ }, [blurSinceRef, Date, hasFocusVisibleRef, setHasFocusVisible, targetRef]);
109
+ var handleVisibilityChange = (0, _react.useCallback)(function () {
110
+ if (document.visibilityState === 'hidden') {
111
+ // The element is blurred due to "visibilityState" set to "hidden".
112
+ // 100ms is referenced from the WICG polyfill.
113
+ // eslint-disable-next-line no-magic-numbers
114
+ if (Date.now() - blurSinceRef.current < 100) {
115
+ hadKeyboardEventRef.current = true;
116
+ }
117
+ eventSubscription.resume();
118
+ }
119
+ }, [blurSinceRef, Date, eventSubscription, hadKeyboardEventRef]);
120
+ (0, _react.useEffect)(function () {
121
+ document.addEventListener('keydown', handleKeyDown, true);
122
+ document.addEventListener('mousedown', handlePointerDown, true);
123
+ document.addEventListener('pointerdown', handlePointerDown, true);
124
+ document.addEventListener('touchstart', handlePointerDown, true);
125
+ document.addEventListener('visibilitychange', handleVisibilityChange, true);
126
+ return function () {
127
+ document.removeEventListener('keydown', handleKeyDown);
128
+ document.removeEventListener('mousedown', handlePointerDown);
129
+ document.removeEventListener('pointerdown', handlePointerDown);
130
+ document.removeEventListener('touchstart', handlePointerDown);
131
+ document.removeEventListener('visibilitychange', handleVisibilityChange);
132
+ };
133
+ }, [handleKeyDown, handlePointerDown, handleVisibilityChange]);
134
+ (0, _react.useEffect)(function () {
135
+ var target = targetRef.current;
136
+ target.addEventListener('blur', handleBlur, true);
137
+ target.addEventListener('focus', handleFocus, true);
138
+ return function () {
139
+ target.removeEventListener('blur', handleBlur);
140
+ target.removeEventListener('focus', handleFocus);
141
+ };
142
+
143
+ // We specifically add "targetRef.current" here.
144
+ // If the target element changed, we should reattach our event listeners.
145
+ }, [handleBlur, handleFocus, targetRef]);
146
+ (0, _react.useEffect)(function () {
147
+ eventSubscription.resume();
148
+ return function () {
149
+ return eventSubscription.pause();
150
+ };
151
+ }, [eventSubscription]);
152
+ }
153
+ function useObserveFocusVisibleForModernBrowsers(targetRef, onFocusVisibleRef) {
154
+ var handleFocus = (0, _react.useCallback)(function () {
155
+ var current = targetRef.current;
156
+ if (
157
+ // "msMatchesSelector" is vendor-prefixed version of "matches".
158
+ // eslint-disable-next-line dot-notation
159
+ (current.matches || current['msMatchesSelector']).call(current, ':focus-visible')) {
160
+ onFocusVisibleRef === null || onFocusVisibleRef === void 0 ? void 0 : onFocusVisibleRef.current();
161
+ }
162
+ }, [onFocusVisibleRef, targetRef]);
163
+ (0, _react.useEffect)(function () {
164
+ var target = targetRef.current;
165
+ target.addEventListener('focus', handleFocus);
166
+ return function () {
167
+ return target.removeEventListener('focus', handleFocus);
168
+ };
169
+
170
+ // We specifically add "targetRef.current" here.
171
+ // If the target element changed, we should reattach our event listeners.
172
+ // eslint-disable-next-line react-hooks/exhaustive-deps
173
+ }, [handleFocus, targetRef, targetRef.current]);
174
+ }
175
+ function useObserveFocusVisible(targetRef, onFocusVisible) {
176
+ var _useNonce = (0, _useNonce3.default)(),
177
+ _useNonce2 = _slicedToArray(_useNonce, 1),
178
+ nonce = _useNonce2[0];
179
+ var onFocusVisibleRef = (0, _useValueRef.default)(onFocusVisible);
180
+
181
+ // The nonce is use for browser capabilities. Just in case the "nonce" had changed unexpectedly, the capabilities of the browser should never change.
182
+ // Thus, we are using an initial version of "nonce". In case web devs changed the "nonce" to an invalid value, we won't break rules of hooks (as stated below).
183
+ var nonceRef = (0, _react.useRef)(nonce);
184
+
185
+ // ":focus-visible" selector is supported from Chrome/Edge 86+ and not supported in IE11 or Safari.
186
+ // Doing a capability check on pseudo classes requires injecting a stylesheet, thus nonce is needed.
187
+ var supportFocusVisible = (0, _react.useMemo)(function () {
188
+ return (0, _supportPseudoClass.default)(':focus-visible', nonceRef.current);
189
+ }, [nonceRef]);
190
+
191
+ // Since "supportPseudoClass" is a browser capability, the result should be constant during the page lifetime.
192
+ // Thus, running hooks conditionally is okay here.
193
+ if (supportFocusVisible) {
194
+ // eslint-disable-next-line react-hooks/rules-of-hooks
195
+ useObserveFocusVisibleForModernBrowsers(targetRef, onFocusVisibleRef);
196
+ } else {
197
+ // eslint-disable-next-line react-hooks/rules-of-hooks
198
+ useObserveFocusVisibleForLegacyBrowsers(targetRef, onFocusVisibleRef);
199
+ }
200
+ }
201
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYm90ZnJhbWV3b3JrV2ViY2hhdEFwaSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfc3VwcG9ydFBzZXVkb0NsYXNzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl91c2VOb25jZTMiLCJfdXNlVmFsdWVSZWYiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9zbGljZWRUb0FycmF5IiwiYXJyIiwiaSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJUeXBlRXJyb3IiLCJvIiwibWluTGVuIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJuIiwiT2JqZWN0IiwicHJvdG90eXBlIiwidG9TdHJpbmciLCJjYWxsIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJBcnJheSIsImZyb20iLCJ0ZXN0IiwibGVuIiwibGVuZ3RoIiwiYXJyMiIsIl9pIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJfYXJyIiwiX24iLCJfZCIsIl9zIiwiX2UiLCJuZXh0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImVyciIsImlzQXJyYXkiLCJ1c2VQb255ZmlsbCIsImhvb2tzIiwiSU5QVVRfVFlQRVNfQUxMT1dfTElTVCIsImZvY3VzVHJpZ2dlcnNLZXlib2FyZE1vZGFsaXR5IiwiZWwiLCJpc0NvbnRlbnRFZGl0YWJsZSIsInJlYWRPbmx5IiwidGFnTmFtZSIsInR5cGUiLCJpbmNsdWRlcyIsImNyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uIiwidGFyZ2V0IiwidHlwZXMiLCJoYW5kbGVyIiwic3Vic2NyaWJlZCIsInN1YnNjcmliZSIsImZvckVhY2giLCJhZGRFdmVudExpc3RlbmVyIiwidW5zdWJzY3JpYmUiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwidW5kZWZpbmVkIiwicGF1c2UiLCJyZXN1bWUiLCJ1c2VPYnNlcnZlRm9jdXNWaXNpYmxlRm9yTGVnYWN5QnJvd3NlcnMiLCJ0YXJnZXRSZWYiLCJvbkZvY3VzVmlzaWJsZVJlZiIsIl91c2VQb255ZmlsbCIsIl91c2VQb255ZmlsbDIiLCJEYXRlIiwiYmx1clNpbmNlUmVmIiwidXNlUmVmIiwiaGFkS2V5Ym9hcmRFdmVudFJlZiIsImhhc0ZvY3VzVmlzaWJsZVJlZiIsImV2ZW50U3Vic2NyaXB0aW9uIiwidXNlTWVtbyIsImRvY3VtZW50IiwiZXZlbnQiLCJfbm9kZU5hbWUiLCJub2RlTmFtZSIsInRvTG93ZXJDYXNlIiwiY3VycmVudCIsInNldEhhc0ZvY3VzVmlzaWJsZSIsInVzZUNhbGxiYWNrIiwibmV4dEhhc0ZvY3VzVmlzaWJsZSIsImhhbmRsZUtleURvd24iLCJhbHRLZXkiLCJjdHJsS2V5IiwibWV0YUtleSIsImhhbmRsZVBvaW50ZXJEb3duIiwiaGFuZGxlRm9jdXMiLCJfcmVmIiwiaGFuZGxlQmx1ciIsIm5vdyIsImhhbmRsZVZpc2liaWxpdHlDaGFuZ2UiLCJ2aXNpYmlsaXR5U3RhdGUiLCJ1c2VFZmZlY3QiLCJ1c2VPYnNlcnZlRm9jdXNWaXNpYmxlRm9yTW9kZXJuQnJvd3NlcnMiLCJtYXRjaGVzIiwidXNlT2JzZXJ2ZUZvY3VzVmlzaWJsZSIsIm9uRm9jdXNWaXNpYmxlIiwiX3VzZU5vbmNlIiwidXNlTm9uY2UiLCJfdXNlTm9uY2UyIiwibm9uY2UiLCJ1c2VWYWx1ZVJlZiIsIm5vbmNlUmVmIiwic3VwcG9ydEZvY3VzVmlzaWJsZSIsInN1cHBvcnRQc2V1ZG9DbGFzcyJdLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL2ludGVybmFsL3VzZU9ic2VydmVGb2N1c1Zpc2libGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaG9va3MgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1hcGknO1xuaW1wb3J0IHsgTXV0YWJsZVJlZk9iamVjdCwgUmVmT2JqZWN0LCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBzdXBwb3J0UHNldWRvQ2xhc3MgZnJvbSAnLi4vLi4vVXRpbHMvc3VwcG9ydFBzZXVkb0NsYXNzJztcbmltcG9ydCB1c2VOb25jZSBmcm9tICcuL3VzZU5vbmNlJztcbmltcG9ydCB1c2VWYWx1ZVJlZiBmcm9tICcuL3VzZVZhbHVlUmVmJztcblxuY29uc3QgeyB1c2VQb255ZmlsbCB9ID0gaG9va3M7XG5cbmNvbnN0IElOUFVUX1RZUEVTX0FMTE9XX0xJU1QgPSBbXG4gICdkYXRlJyxcbiAgJ2RhdGV0aW1lLWxvY2FsJyxcbiAgJ2RhdGV0aW1lJyxcbiAgJ2VtYWlsJyxcbiAgJ21vbnRoJyxcbiAgJ251bWJlcicsXG4gICdwYXNzd29yZCcsXG4gICdzZWFyY2gnLFxuICAndGVsJyxcbiAgJ3RleHQnLFxuICAndGltZScsXG4gICd1cmwnLFxuICAnd2Vlaydcbl07XG5cbi8qKlxuICogQ29tcHV0ZXMgd2hldGhlciB0aGUgZ2l2ZW4gZWxlbWVudCBzaG91bGQgYXV0b21hdGljYWxseSB0cmlnZ2VyIHRoZVxuICogYGZvY3VzLXZpc2libGVgIGNsYXNzIGJlaW5nIGFkZGVkLCBpLmUuIHdoZXRoZXIgaXQgc2hvdWxkIGFsd2F5cyBtYXRjaFxuICogYDpmb2N1cy12aXNpYmxlYCB3aGVuIGZvY3VzZWQuXG4gKiBAcGFyYW0ge0VsZW1lbnR9IGVsXG4gKiBAcmV0dXJuIHtib29sZWFufVxuICovXG5mdW5jdGlvbiBmb2N1c1RyaWdnZXJzS2V5Ym9hcmRNb2RhbGl0eShlbDogSFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQpOiBib29sZWFuIHtcbiAgY29uc3QgeyBpc0NvbnRlbnRFZGl0YWJsZSwgcmVhZE9ubHksIHRhZ05hbWUsIHR5cGUgfSA9IGVsO1xuXG4gIHJldHVybiAoXG4gICAgKHRhZ05hbWUgPT09ICdJTlBVVCcgJiYgSU5QVVRfVFlQRVNfQUxMT1dfTElTVC5pbmNsdWRlcyh0eXBlKSAmJiAhcmVhZE9ubHkpIHx8XG4gICAgKHRhZ05hbWUgPT09ICdURVhUQVJFQScgJiYgIXJlYWRPbmx5KSB8fFxuICAgIGlzQ29udGVudEVkaXRhYmxlXG4gICk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uKFxuICB0YXJnZXQ6IEVsZW1lbnQgfCBOb2RlLFxuICB0eXBlczogc3RyaW5nW10sXG4gIGhhbmRsZXI6IChldmVudDogRXZlbnQpID0+IHZvaWRcbik6IHtcbiAgcGF1c2U6ICgpID0+IHZvaWQ7XG4gIHJlc3VtZTogKCkgPT4gdm9pZDtcbn0ge1xuICBsZXQgc3Vic2NyaWJlZDogdHJ1ZTtcblxuICBjb25zdCBzdWJzY3JpYmUgPSAoKSA9PiB7XG4gICAgaWYgKCFzdWJzY3JpYmVkKSB7XG4gICAgICB0eXBlcy5mb3JFYWNoKHR5cGUgPT4gdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIodHlwZSwgaGFuZGxlcikpO1xuICAgICAgc3Vic2NyaWJlZCA9IHRydWU7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHVuc3Vic2NyaWJlID0gKCkgPT4ge1xuICAgIGlmIChzdWJzY3JpYmVkKSB7XG4gICAgICB0eXBlcy5mb3JFYWNoKHR5cGUgPT4gdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIodHlwZSwgaGFuZGxlcikpO1xuICAgICAgc3Vic2NyaWJlZCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICBwYXVzZTogdW5zdWJzY3JpYmUsXG4gICAgcmVzdW1lOiBzdWJzY3JpYmVcbiAgfTtcbn1cblxuLy8gVE9ETzogQWRkIHRlc3RzXG4vLyAgICAgICAxLiBGb2N1cyB2aWEga2V5Ym9hcmQgdnMuIG1vdXNlXG4vLyAgICAgICAyLiBGb2N1cyB2aWEga2V5Ym9hcmQsIHN3aXRjaCBhcHAsIHN3aXRjaCBiYWNrIChleHBlY3QgdG8gZ2V0IGFub3RoZXIgZm9jdXNWaXNpYmxlIGFmdGVyIHN3aXRjaCBiYWNrKVxuLy8gICAgICAgMy4gRm9jdXMgdmlhIG1vdXNlLCBzd2l0Y2ggYXBwLCBzd2l0Y2ggYmFjayAoZG8gTk9UIGV4cGVjdCB0byBnZXQgYW5vdGhlciBmb2N1c1Zpc2libGUgYWZ0ZXIgc3dpdGNoIGJhY2spXG5mdW5jdGlvbiB1c2VPYnNlcnZlRm9jdXNWaXNpYmxlRm9yTGVnYWN5QnJvd3NlcnMoXG4gIHRhcmdldFJlZjogUmVmT2JqZWN0PEhUTUxFbGVtZW50PixcbiAgb25Gb2N1c1Zpc2libGVSZWY6IE11dGFibGVSZWZPYmplY3Q8KCkgPT4gdm9pZD5cbikge1xuICBjb25zdCBbeyBEYXRlIH1dID0gdXNlUG9ueWZpbGwoKTtcbiAgLy8gVGhpcyBwb2x5ZmlsbCBhbGdvcml0aG0gaXMgYWRvcHRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL2ZvY3VzLXZpc2libGUuXG4gIGNvbnN0IGJsdXJTaW5jZVJlZiA9IHVzZVJlZigwKTtcbiAgY29uc3QgaGFkS2V5Ym9hcmRFdmVudFJlZiA9IHVzZVJlZih0cnVlKTtcbiAgY29uc3QgaGFzRm9jdXNWaXNpYmxlUmVmID0gdXNlUmVmKGZhbHNlKTtcblxuICBjb25zdCBldmVudFN1YnNjcmlwdGlvbiA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIGNyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uKFxuICAgICAgICBkb2N1bWVudCxcbiAgICAgICAgW1xuICAgICAgICAgICdtb3VzZW1vdmUnLFxuICAgICAgICAgICdtb3VzZWRvd24nLFxuICAgICAgICAgICdtb3VzZXVwJyxcbiAgICAgICAgICAncG9pbnRlcm1vdmUnLFxuICAgICAgICAgICdwb2ludGVyZG93bicsXG4gICAgICAgICAgJ3BvaW50ZXJ1cCcsXG4gICAgICAgICAgJ3RvdWNobW92ZScsXG4gICAgICAgICAgJ3RvdWNoc3RhcnQnLFxuICAgICAgICAgICd0b3VjaGVuZCdcbiAgICAgICAgXSxcbiAgICAgICAgZXZlbnQgPT4ge1xuICAgICAgICAgIGlmICgoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5ub2RlTmFtZT8udG9Mb3dlckNhc2UoKSAhPT0gJ2h0bWwnKSB7XG4gICAgICAgICAgICBoYWRLZXlib2FyZEV2ZW50UmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIGV2ZW50U3Vic2NyaXB0aW9uLnBhdXNlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApLFxuICAgIFtoYWRLZXlib2FyZEV2ZW50UmVmXVxuICApO1xuXG4gIGNvbnN0IHNldEhhc0ZvY3VzVmlzaWJsZSA9IHVzZUNhbGxiYWNrKFxuICAgIG5leHRIYXNGb2N1c1Zpc2libGUgPT4ge1xuICAgICAgaWYgKGhhc0ZvY3VzVmlzaWJsZVJlZi5jdXJyZW50ICE9PSBuZXh0SGFzRm9jdXNWaXNpYmxlKSB7XG4gICAgICAgIGhhc0ZvY3VzVmlzaWJsZVJlZi5jdXJyZW50ID0gbmV4dEhhc0ZvY3VzVmlzaWJsZTtcbiAgICAgICAgbmV4dEhhc0ZvY3VzVmlzaWJsZSAmJiBvbkZvY3VzVmlzaWJsZVJlZj8uY3VycmVudCgpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2hhc0ZvY3VzVmlzaWJsZVJlZiwgb25Gb2N1c1Zpc2libGVSZWZdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlS2V5RG93biA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LmFsdEtleSB8fCBldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZXZlbnQudGFyZ2V0ID09PSB0YXJnZXRSZWYuY3VycmVudCkge1xuICAgICAgICBzZXRIYXNGb2N1c1Zpc2libGUodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIGhhZEtleWJvYXJkRXZlbnRSZWYuY3VycmVudCA9IHRydWU7XG4gICAgfSxcbiAgICBbaGFkS2V5Ym9hcmRFdmVudFJlZiwgc2V0SGFzRm9jdXNWaXNpYmxlLCB0YXJnZXRSZWZdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlUG9pbnRlckRvd24gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaGFkS2V5Ym9hcmRFdmVudFJlZi5jdXJyZW50ID0gZmFsc2U7XG4gIH0sIFtoYWRLZXlib2FyZEV2ZW50UmVmXSk7XG5cbiAgY29uc3QgaGFuZGxlRm9jdXMgPSB1c2VDYWxsYmFjayhcbiAgICAoeyB0YXJnZXQgfTogRXZlbnQpID0+IHtcbiAgICAgIHRhcmdldCA9PT0gdGFyZ2V0UmVmLmN1cnJlbnQgJiZcbiAgICAgICAgKGhhZEtleWJvYXJkRXZlbnRSZWYuY3VycmVudCB8fCBmb2N1c1RyaWdnZXJzS2V5Ym9hcmRNb2RhbGl0eSh0YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkpICYmXG4gICAgICAgIHNldEhhc0ZvY3VzVmlzaWJsZSh0cnVlKTtcbiAgICB9LFxuICAgIFtoYWRLZXlib2FyZEV2ZW50UmVmLCBzZXRIYXNGb2N1c1Zpc2libGUsIHRhcmdldFJlZl1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVCbHVyID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LnRhcmdldCA9PT0gdGFyZ2V0UmVmLmN1cnJlbnQgJiYgaGFzRm9jdXNWaXNpYmxlUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgYmx1clNpbmNlUmVmLmN1cnJlbnQgPSBEYXRlLm5vdygpO1xuXG4gICAgICAgIHNldEhhc0ZvY3VzVmlzaWJsZShmYWxzZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbYmx1clNpbmNlUmVmLCBEYXRlLCBoYXNGb2N1c1Zpc2libGVSZWYsIHNldEhhc0ZvY3VzVmlzaWJsZSwgdGFyZ2V0UmVmXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZVZpc2liaWxpdHlDaGFuZ2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSA9PT0gJ2hpZGRlbicpIHtcbiAgICAgIC8vIFRoZSBlbGVtZW50IGlzIGJsdXJyZWQgZHVlIHRvIFwidmlzaWJpbGl0eVN0YXRlXCIgc2V0IHRvIFwiaGlkZGVuXCIuXG4gICAgICAvLyAxMDBtcyBpcyByZWZlcmVuY2VkIGZyb20gdGhlIFdJQ0cgcG9seWZpbGwuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbWFnaWMtbnVtYmVyc1xuICAgICAgaWYgKERhdGUubm93KCkgLSBibHVyU2luY2VSZWYuY3VycmVudCA8IDEwMCkge1xuICAgICAgICBoYWRLZXlib2FyZEV2ZW50UmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBldmVudFN1YnNjcmlwdGlvbi5yZXN1bWUoKTtcbiAgICB9XG4gIH0sIFtibHVyU2luY2VSZWYsIERhdGUsIGV2ZW50U3Vic2NyaXB0aW9uLCBoYWRLZXlib2FyZEV2ZW50UmVmXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgaGFuZGxlS2V5RG93biwgdHJ1ZSk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlUG9pbnRlckRvd24sIHRydWUpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgaGFuZGxlUG9pbnRlckRvd24sIHRydWUpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBoYW5kbGVQb2ludGVyRG93biwgdHJ1ZSk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndmlzaWJpbGl0eWNoYW5nZScsIGhhbmRsZVZpc2liaWxpdHlDaGFuZ2UsIHRydWUpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVLZXlEb3duKTtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZVBvaW50ZXJEb3duKTtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgaGFuZGxlUG9pbnRlckRvd24pO1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIGhhbmRsZVBvaW50ZXJEb3duKTtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLCBoYW5kbGVWaXNpYmlsaXR5Q2hhbmdlKTtcbiAgICB9O1xuICB9LCBbaGFuZGxlS2V5RG93biwgaGFuZGxlUG9pbnRlckRvd24sIGhhbmRsZVZpc2liaWxpdHlDaGFuZ2VdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudDogdGFyZ2V0IH0gPSB0YXJnZXRSZWY7XG5cbiAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsIGhhbmRsZUJsdXIsIHRydWUpO1xuICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIGhhbmRsZUZvY3VzLCB0cnVlKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB0YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignYmx1cicsIGhhbmRsZUJsdXIpO1xuICAgICAgdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgaGFuZGxlRm9jdXMpO1xuICAgIH07XG5cbiAgICAvLyBXZSBzcGVjaWZpY2FsbHkgYWRkIFwidGFyZ2V0UmVmLmN1cnJlbnRcIiBoZXJlLlxuICAgIC8vIElmIHRoZSB0YXJnZXQgZWxlbWVudCBjaGFuZ2VkLCB3ZSBzaG91bGQgcmVhdHRhY2ggb3VyIGV2ZW50IGxpc3RlbmVycy5cbiAgfSwgW2hhbmRsZUJsdXIsIGhhbmRsZUZvY3VzLCB0YXJnZXRSZWZdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGV2ZW50U3Vic2NyaXB0aW9uLnJlc3VtZSgpO1xuXG4gICAgcmV0dXJuICgpID0+IGV2ZW50U3Vic2NyaXB0aW9uLnBhdXNlKCk7XG4gIH0sIFtldmVudFN1YnNjcmlwdGlvbl0pO1xufVxuXG5mdW5jdGlvbiB1c2VPYnNlcnZlRm9jdXNWaXNpYmxlRm9yTW9kZXJuQnJvd3NlcnMoXG4gIHRhcmdldFJlZjogUmVmT2JqZWN0PEhUTUxFbGVtZW50PixcbiAgb25Gb2N1c1Zpc2libGVSZWY6IE11dGFibGVSZWZPYmplY3Q8KCkgPT4gdm9pZD5cbikge1xuICBjb25zdCBoYW5kbGVGb2N1cyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCB7IGN1cnJlbnQgfSA9IHRhcmdldFJlZjtcblxuICAgIGlmIChcbiAgICAgIC8vIFwibXNNYXRjaGVzU2VsZWN0b3JcIiBpcyB2ZW5kb3ItcHJlZml4ZWQgdmVyc2lvbiBvZiBcIm1hdGNoZXNcIi5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBkb3Qtbm90YXRpb25cbiAgICAgIChjdXJyZW50Lm1hdGNoZXMgfHwgKGN1cnJlbnRbJ21zTWF0Y2hlc1NlbGVjdG9yJ10gYXMgKHNlbGVjdG9yOiBzdHJpbmcpID0+IGJvb2xlYW4pKS5jYWxsKFxuICAgICAgICBjdXJyZW50LFxuICAgICAgICAnOmZvY3VzLXZpc2libGUnXG4gICAgICApXG4gICAgKSB7XG4gICAgICBvbkZvY3VzVmlzaWJsZVJlZj8uY3VycmVudCgpO1xuICAgIH1cbiAgfSwgW29uRm9jdXNWaXNpYmxlUmVmLCB0YXJnZXRSZWZdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudDogdGFyZ2V0IH0gPSB0YXJnZXRSZWY7XG5cbiAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCBoYW5kbGVGb2N1cyk7XG5cbiAgICByZXR1cm4gKCkgPT4gdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgaGFuZGxlRm9jdXMpO1xuXG4gICAgLy8gV2Ugc3BlY2lmaWNhbGx5IGFkZCBcInRhcmdldFJlZi5jdXJyZW50XCIgaGVyZS5cbiAgICAvLyBJZiB0aGUgdGFyZ2V0IGVsZW1lbnQgY2hhbmdlZCwgd2Ugc2hvdWxkIHJlYXR0YWNoIG91ciBldmVudCBsaXN0ZW5lcnMuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbaGFuZGxlRm9jdXMsIHRhcmdldFJlZiwgdGFyZ2V0UmVmLmN1cnJlbnRdKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlT2JzZXJ2ZUZvY3VzVmlzaWJsZSh0YXJnZXRSZWY6IFJlZk9iamVjdDxIVE1MRWxlbWVudD4sIG9uRm9jdXNWaXNpYmxlOiAoKSA9PiB2b2lkKSB7XG4gIGNvbnN0IFtub25jZV0gPSB1c2VOb25jZSgpO1xuICBjb25zdCBvbkZvY3VzVmlzaWJsZVJlZiA9IHVzZVZhbHVlUmVmKG9uRm9jdXNWaXNpYmxlKTtcblxuICAvLyBUaGUgbm9uY2UgaXMgdXNlIGZvciBicm93c2VyIGNhcGFiaWxpdGllcy4gSnVzdCBpbiBjYXNlIHRoZSBcIm5vbmNlXCIgaGFkIGNoYW5nZWQgdW5leHBlY3RlZGx5LCB0aGUgY2FwYWJpbGl0aWVzIG9mIHRoZSBicm93c2VyIHNob3VsZCBuZXZlciBjaGFuZ2UuXG4gIC8vIFRodXMsIHdlIGFyZSB1c2luZyBhbiBpbml0aWFsIHZlcnNpb24gb2YgXCJub25jZVwiLiBJbiBjYXNlIHdlYiBkZXZzIGNoYW5nZWQgdGhlIFwibm9uY2VcIiB0byBhbiBpbnZhbGlkIHZhbHVlLCB3ZSB3b24ndCBicmVhayBydWxlcyBvZiBob29rcyAoYXMgc3RhdGVkIGJlbG93KS5cbiAgY29uc3Qgbm9uY2VSZWYgPSB1c2VSZWYobm9uY2UpO1xuXG4gIC8vIFwiOmZvY3VzLXZpc2libGVcIiBzZWxlY3RvciBpcyBzdXBwb3J0ZWQgZnJvbSBDaHJvbWUvRWRnZSA4NisgYW5kIG5vdCBzdXBwb3J0ZWQgaW4gSUUxMSBvciBTYWZhcmkuXG4gIC8vIERvaW5nIGEgY2FwYWJpbGl0eSBjaGVjayBvbiBwc2V1ZG8gY2xhc3NlcyByZXF1aXJlcyBpbmplY3RpbmcgYSBzdHlsZXNoZWV0LCB0aHVzIG5vbmNlIGlzIG5lZWRlZC5cbiAgY29uc3Qgc3VwcG9ydEZvY3VzVmlzaWJsZSA9IHVzZU1lbW8oKCkgPT4gc3VwcG9ydFBzZXVkb0NsYXNzKCc6Zm9jdXMtdmlzaWJsZScsIG5vbmNlUmVmLmN1cnJlbnQpLCBbbm9uY2VSZWZdKTtcblxuICAvLyBTaW5jZSBcInN1cHBvcnRQc2V1ZG9DbGFzc1wiIGlzIGEgYnJvd3NlciBjYXBhYmlsaXR5LCB0aGUgcmVzdWx0IHNob3VsZCBiZSBjb25zdGFudCBkdXJpbmcgdGhlIHBhZ2UgbGlmZXRpbWUuXG4gIC8vIFRodXMsIHJ1bm5pbmcgaG9va3MgY29uZGl0aW9uYWxseSBpcyBva2F5IGhlcmUuXG4gIGlmIChzdXBwb3J0Rm9jdXNWaXNpYmxlKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXG4gICAgdXNlT2JzZXJ2ZUZvY3VzVmlzaWJsZUZvck1vZGVybkJyb3dzZXJzKHRhcmdldFJlZiwgb25Gb2N1c1Zpc2libGVSZWYpO1xuICB9IGVsc2Uge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICAgIHVzZU9ic2VydmVGb2N1c1Zpc2libGVGb3JMZWdhY3lCcm93c2Vycyh0YXJnZXRSZWYsIG9uRm9jdXNWaXNpYmxlUmVmKTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSx1QkFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsbUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLFVBQUEsR0FBQUQsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFLLFlBQUEsR0FBQUYsc0JBQUEsQ0FBQUgsT0FBQTtBQUF3QyxTQUFBRyx1QkFBQUcsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMs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
@@ -0,0 +1,2 @@
1
+ export default function usePrevious<T>(value: T): T;
2
+ //# sourceMappingURL=usePrevious.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePrevious.d.ts","sourceRoot":"","sources":["../../../src/hooks/internal/usePrevious.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAQlD"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = usePrevious;
7
+ var _react = require("react");
8
+ // TODO: [P0] #4133 Don't copy.
9
+
10
+ function usePrevious(value) {
11
+ var ref = (0, _react.useRef)();
12
+ (0, _react.useEffect)(function () {
13
+ ref.current = value;
14
+ });
15
+ return ref.current;
16
+ }
17
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlUHJldmlvdXMiLCJ2YWx1ZSIsInJlZiIsInVzZVJlZiIsInVzZUVmZmVjdCIsImN1cnJlbnQiXSwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VQcmV2aW91cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUT0RPOiBbUDBdICM0MTMzIERvbid0IGNvcHkuXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlUHJldmlvdXM8VD4odmFsdWU6IFQpOiBUIHtcbiAgY29uc3QgcmVmID0gdXNlUmVmPFQ+KCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZWYuY3VycmVudCA9IHZhbHVlO1xuICB9KTtcblxuICByZXR1cm4gcmVmLmN1cnJlbnQ7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQURBOztBQUdlLFNBQVNDLFdBQVdBLENBQUlDLEtBQVEsRUFBSztFQUNsRCxJQUFNQyxHQUFHLEdBQUcsSUFBQUMsYUFBTSxFQUFJLENBQUM7RUFFdkIsSUFBQUMsZ0JBQVMsRUFBQyxZQUFNO0lBQ2RGLEdBQUcsQ0FBQ0csT0FBTyxHQUFHSixLQUFLO0VBQ3JCLENBQUMsQ0FBQztFQUVGLE9BQU9DLEdBQUcsQ0FBQ0csT0FBTztBQUNwQiJ9
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useRegisterFocusTranscript;
7
+ var _react = require("react");
8
+ var _removeInline = _interopRequireDefault(require("../../Utils/removeInline"));
9
+ var _useWebChatUIContext2 = _interopRequireDefault(require("./useWebChatUIContext"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ // This hook is for registering and unregister a callback, used by <BasicTranscript>.
12
+ // When called, the callback should focus on the transcript.
13
+
14
+ function useRegisterFocusTranscript(callback) {
15
+ var _useWebChatUIContext = (0, _useWebChatUIContext2.default)(),
16
+ focusTranscriptCallbacksRef = _useWebChatUIContext.focusTranscriptCallbacksRef;
17
+ (0, _react.useEffect)(function () {
18
+ if (callback) {
19
+ var focusTranscriptCallbacks = focusTranscriptCallbacksRef.current;
20
+ focusTranscriptCallbacks.push(callback);
21
+ return function () {
22
+ return (0, _removeInline.default)(focusTranscriptCallbacks, callback);
23
+ };
24
+ }
25
+ }, [callback, focusTranscriptCallbacksRef]);
26
+ }
27
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3JlbW92ZUlubGluZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXNlV2ViQ2hhdFVJQ29udGV4dDIiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsInVzZVJlZ2lzdGVyRm9jdXNUcmFuc2NyaXB0IiwiY2FsbGJhY2siLCJfdXNlV2ViQ2hhdFVJQ29udGV4dCIsInVzZVdlYkNoYXRVSUNvbnRleHQiLCJmb2N1c1RyYW5zY3JpcHRDYWxsYmFja3NSZWYiLCJ1c2VFZmZlY3QiLCJmb2N1c1RyYW5zY3JpcHRDYWxsYmFja3MiLCJjdXJyZW50IiwicHVzaCIsInJlbW92ZUlubGluZSJdLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL2ludGVybmFsL3VzZVJlZ2lzdGVyRm9jdXNUcmFuc2NyaXB0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHJlbW92ZUlubGluZSBmcm9tICcuLi8uLi9VdGlscy9yZW1vdmVJbmxpbmUnO1xuaW1wb3J0IHVzZVdlYkNoYXRVSUNvbnRleHQgZnJvbSAnLi91c2VXZWJDaGF0VUlDb250ZXh0JztcblxuLy8gVGhpcyBob29rIGlzIGZvciByZWdpc3RlcmluZyBhbmQgdW5yZWdpc3RlciBhIGNhbGxiYWNrLCB1c2VkIGJ5IDxCYXNpY1RyYW5zY3JpcHQ+LlxuLy8gV2hlbiBjYWxsZWQsIHRoZSBjYWxsYmFjayBzaG91bGQgZm9jdXMgb24gdGhlIHRyYW5zY3JpcHQuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZVJlZ2lzdGVyRm9jdXNUcmFuc2NyaXB0KGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgZm9jdXNUcmFuc2NyaXB0Q2FsbGJhY2tzUmVmIH0gPSB1c2VXZWJDaGF0VUlDb250ZXh0KCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgIGNvbnN0IHsgY3VycmVudDogZm9jdXNUcmFuc2NyaXB0Q2FsbGJhY2tzIH0gPSBmb2N1c1RyYW5zY3JpcHRDYWxsYmFja3NSZWY7XG5cbiAgICAgIGZvY3VzVHJhbnNjcmlwdENhbGxiYWNrcy5wdXNoKGNhbGxiYWNrKTtcblxuICAgICAgcmV0dXJuICgpID0+IHJlbW92ZUlubGluZShmb2N1c1RyYW5zY3JpcHRDYWxsYmFja3MsIGNhbGxiYWNrKTtcbiAgICB9XG4gIH0sIFtjYWxsYmFjaywgZm9jdXNUcmFuc2NyaXB0Q2FsbGJhY2tzUmVmXSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLGFBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLHFCQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFBd0QsU0FBQUUsdUJBQUFFLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFFeEQ7QUFDQTs7QUFFZSxTQUFTRywwQkFBMEJBLENBQUNDLFFBQVEsRUFBRTtFQUMzRCxJQUFBQyxvQkFBQSxHQUF3QyxJQUFBQyw2QkFBbUIsRUFBQyxDQUFDO0lBQXJEQywyQkFBMkIsR0FBQUYsb0JBQUEsQ0FBM0JFLDJCQUEyQjtFQUVuQyxJQUFBQyxnQkFBUyxFQUFDLFlBQU07SUFDZCxJQUFJSixRQUFRLEVBQUU7TUFDWixJQUFpQkssd0JBQXdCLEdBQUtGLDJCQUEyQixDQUFqRUcsT0FBTztNQUVmRCx3QkFBd0IsQ0FBQ0UsSUFBSSxDQUFDUCxRQUFRLENBQUM7TUFFdkMsT0FBTztRQUFBLE9BQU0sSUFBQVEscUJBQVksRUFBQ0gsd0JBQXdCLEVBQUVMLFFBQVEsQ0FBQztNQUFBO0lBQy9EO0VBQ0YsQ0FBQyxFQUFFLENBQUNBLFFBQVEsRUFBRUcsMkJBQTJCLENBQUMsQ0FBQztBQUM3QyJ9
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useRegisterScrollTo;
7
+ var _react = require("react");
8
+ var _removeInline = _interopRequireDefault(require("../../Utils/removeInline"));
9
+ var _useWebChatUIContext2 = _interopRequireDefault(require("./useWebChatUIContext"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ // This hook is for registering and unregister a callback, used by <BasicTranscript>.
12
+ // When called, the callback should scroll the transcript to a specific position, for example, to an activity of specified ID.
13
+
14
+ function useRegisterScrollTo(callback) {
15
+ var _useWebChatUIContext = (0, _useWebChatUIContext2.default)(),
16
+ scrollToCallbacksRef = _useWebChatUIContext.scrollToCallbacksRef;
17
+ (0, _react.useEffect)(function () {
18
+ if (callback) {
19
+ var scrollToCallbacks = scrollToCallbacksRef.current;
20
+ scrollToCallbacks.push(callback);
21
+ return function () {
22
+ return (0, _removeInline.default)(scrollToCallbacks, callback);
23
+ };
24
+ }
25
+ }, [callback, scrollToCallbacksRef]);
26
+ }
27
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3JlbW92ZUlubGluZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXNlV2ViQ2hhdFVJQ29udGV4dDIiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsInVzZVJlZ2lzdGVyU2Nyb2xsVG8iLCJjYWxsYmFjayIsIl91c2VXZWJDaGF0VUlDb250ZXh0IiwidXNlV2ViQ2hhdFVJQ29udGV4dCIsInNjcm9sbFRvQ2FsbGJhY2tzUmVmIiwidXNlRWZmZWN0Iiwic2Nyb2xsVG9DYWxsYmFja3MiLCJjdXJyZW50IiwicHVzaCIsInJlbW92ZUlubGluZSJdLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL2ludGVybmFsL3VzZVJlZ2lzdGVyU2Nyb2xsVG8uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgcmVtb3ZlSW5saW5lIGZyb20gJy4uLy4uL1V0aWxzL3JlbW92ZUlubGluZSc7XG5pbXBvcnQgdXNlV2ViQ2hhdFVJQ29udGV4dCBmcm9tICcuL3VzZVdlYkNoYXRVSUNvbnRleHQnO1xuXG4vLyBUaGlzIGhvb2sgaXMgZm9yIHJlZ2lzdGVyaW5nIGFuZCB1bnJlZ2lzdGVyIGEgY2FsbGJhY2ssIHVzZWQgYnkgPEJhc2ljVHJhbnNjcmlwdD4uXG4vLyBXaGVuIGNhbGxlZCwgdGhlIGNhbGxiYWNrIHNob3VsZCBzY3JvbGwgdGhlIHRyYW5zY3JpcHQgdG8gYSBzcGVjaWZpYyBwb3NpdGlvbiwgZm9yIGV4YW1wbGUsIHRvIGFuIGFjdGl2aXR5IG9mIHNwZWNpZmllZCBJRC5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlUmVnaXN0ZXJTY3JvbGxUbyhjYWxsYmFjaykge1xuICBjb25zdCB7IHNjcm9sbFRvQ2FsbGJhY2tzUmVmIH0gPSB1c2VXZWJDaGF0VUlDb250ZXh0KCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgIGNvbnN0IHsgY3VycmVudDogc2Nyb2xsVG9DYWxsYmFja3MgfSA9IHNjcm9sbFRvQ2FsbGJhY2tzUmVmO1xuXG4gICAgICBzY3JvbGxUb0NhbGxiYWNrcy5wdXNoKGNhbGxiYWNrKTtcblxuICAgICAgcmV0dXJuICgpID0+IHJlbW92ZUlubGluZShzY3JvbGxUb0NhbGxiYWNrcywgY2FsbGJhY2spO1xuICAgIH1cbiAgfSwgW2NhbGxiYWNrLCBzY3JvbGxUb0NhbGxiYWNrc1JlZl0pO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxhQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxxQkFBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQXdELFNBQUFFLHVCQUFBRSxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBRXhEO0FBQ0E7O0FBRWUsU0FBU0csbUJBQW1CQSxDQUFDQyxRQUFRLEVBQUU7RUFDcEQsSUFBQUMsb0JBQUEsR0FBaUMsSUFBQUMsNkJBQW1CLEVBQUMsQ0FBQztJQUE5Q0Msb0JBQW9CLEdBQUFGLG9CQUFBLENBQXBCRSxvQkFBb0I7RUFFNUIsSUFBQUMsZ0JBQVMsRUFBQyxZQUFNO0lBQ2QsSUFBSUosUUFBUSxFQUFFO01BQ1osSUFBaUJLLGlCQUFpQixHQUFLRixvQkFBb0IsQ0FBbkRHLE9BQU87TUFFZkQsaUJBQWlCLENBQUNFLElBQUksQ0FBQ1AsUUFBUSxDQUFDO01BRWhDLE9BQU87UUFBQSxPQUFNLElBQUFRLHFCQUFZLEVBQUNILGlCQUFpQixFQUFFTCxRQUFRLENBQUM7TUFBQTtJQUN4RDtFQUNGLENBQUMsRUFBRSxDQUFDQSxRQUFRLEVBQUVHLG9CQUFvQixDQUFDLENBQUM7QUFDdEMifQ==
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useRegisterScrollTo;
7
+ var _react = require("react");
8
+ var _removeInline = _interopRequireDefault(require("../../Utils/removeInline"));
9
+ var _useWebChatUIContext2 = _interopRequireDefault(require("./useWebChatUIContext"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ // This hook is for registering and unregister a callback, used by <BasicTranscript>.
12
+ // When called, the callback should scroll the transcript to the end.
13
+
14
+ function useRegisterScrollTo(callback) {
15
+ var _useWebChatUIContext = (0, _useWebChatUIContext2.default)(),
16
+ scrollToEndCallbacksRef = _useWebChatUIContext.scrollToEndCallbacksRef;
17
+ (0, _react.useEffect)(function () {
18
+ var scrollToEndCallbacks = scrollToEndCallbacksRef.current;
19
+ scrollToEndCallbacks.push(callback);
20
+ return function () {
21
+ return (0, _removeInline.default)(scrollToEndCallbacks, callback);
22
+ };
23
+ }, [callback, scrollToEndCallbacksRef]);
24
+ }
25
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3JlbW92ZUlubGluZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXNlV2ViQ2hhdFVJQ29udGV4dDIiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsInVzZVJlZ2lzdGVyU2Nyb2xsVG8iLCJjYWxsYmFjayIsIl91c2VXZWJDaGF0VUlDb250ZXh0IiwidXNlV2ViQ2hhdFVJQ29udGV4dCIsInNjcm9sbFRvRW5kQ2FsbGJhY2tzUmVmIiwidXNlRWZmZWN0Iiwic2Nyb2xsVG9FbmRDYWxsYmFja3MiLCJjdXJyZW50IiwicHVzaCIsInJlbW92ZUlubGluZSJdLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL2ludGVybmFsL3VzZVJlZ2lzdGVyU2Nyb2xsVG9FbmQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgcmVtb3ZlSW5saW5lIGZyb20gJy4uLy4uL1V0aWxzL3JlbW92ZUlubGluZSc7XG5pbXBvcnQgdXNlV2ViQ2hhdFVJQ29udGV4dCBmcm9tICcuL3VzZVdlYkNoYXRVSUNvbnRleHQnO1xuXG4vLyBUaGlzIGhvb2sgaXMgZm9yIHJlZ2lzdGVyaW5nIGFuZCB1bnJlZ2lzdGVyIGEgY2FsbGJhY2ssIHVzZWQgYnkgPEJhc2ljVHJhbnNjcmlwdD4uXG4vLyBXaGVuIGNhbGxlZCwgdGhlIGNhbGxiYWNrIHNob3VsZCBzY3JvbGwgdGhlIHRyYW5zY3JpcHQgdG8gdGhlIGVuZC5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlUmVnaXN0ZXJTY3JvbGxUbyhjYWxsYmFjaykge1xuICBjb25zdCB7IHNjcm9sbFRvRW5kQ2FsbGJhY2tzUmVmIH0gPSB1c2VXZWJDaGF0VUlDb250ZXh0KCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB7IGN1cnJlbnQ6IHNjcm9sbFRvRW5kQ2FsbGJhY2tzIH0gPSBzY3JvbGxUb0VuZENhbGxiYWNrc1JlZjtcblxuICAgIHNjcm9sbFRvRW5kQ2FsbGJhY2tzLnB1c2goY2FsbGJhY2spO1xuXG4gICAgcmV0dXJuICgpID0+IHJlbW92ZUlubGluZShzY3JvbGxUb0VuZENhbGxiYWNrcywgY2FsbGJhY2spO1xuICB9LCBbY2FsbGJhY2ssIHNjcm9sbFRvRW5kQ2FsbGJhY2tzUmVmXSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLGFBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLHFCQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFBd0QsU0FBQUUsdUJBQUFFLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFFeEQ7QUFDQTs7QUFFZSxTQUFTRyxtQkFBbUJBLENBQUNDLFFBQVEsRUFBRTtFQUNwRCxJQUFBQyxvQkFBQSxHQUFvQyxJQUFBQyw2QkFBbUIsRUFBQyxDQUFDO0lBQWpEQyx1QkFBdUIsR0FBQUYsb0JBQUEsQ0FBdkJFLHVCQUF1QjtFQUUvQixJQUFBQyxnQkFBUyxFQUFDLFlBQU07SUFDZCxJQUFpQkMsb0JBQW9CLEdBQUtGLHVCQUF1QixDQUF6REcsT0FBTztJQUVmRCxvQkFBb0IsQ0FBQ0UsSUFBSSxDQUFDUCxRQUFRLENBQUM7SUFFbkMsT0FBTztNQUFBLE9BQU0sSUFBQVEscUJBQVksRUFBQ0gsb0JBQW9CLEVBQUVMLFFBQVEsQ0FBQztJQUFBO0VBQzNELENBQUMsRUFBRSxDQUFDQSxRQUFRLEVBQUVHLHVCQUF1QixDQUFDLENBQUM7QUFDekMifQ==