botframework-webchat-component 4.13.0 → 4.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (698) hide show
  1. package/.eslintrc.yml +4 -100
  2. package/.prettierrc.yml +1 -1
  3. package/lib/Activity/Avatar.d.ts +10 -0
  4. package/lib/Activity/Avatar.d.ts.map +1 -0
  5. package/lib/Activity/Avatar.js +2 -1
  6. package/lib/Activity/Bubble.d.ts +11 -0
  7. package/lib/Activity/Bubble.d.ts.map +1 -0
  8. package/lib/Activity/Bubble.js +2 -2
  9. package/lib/Activity/CarouselFilmStrip.js +21 -31
  10. package/lib/Activity/CarouselFilmStripAttachment.js +120 -0
  11. package/lib/Activity/CarouselLayout.js +5 -5
  12. package/lib/Activity/Speak.d.ts +10 -0
  13. package/lib/Activity/Speak.d.ts.map +1 -0
  14. package/lib/Activity/Speak.js +11 -13
  15. package/lib/Activity/StackedLayout.d.ts +18 -0
  16. package/lib/Activity/StackedLayout.d.ts.map +1 -0
  17. package/lib/Activity/StackedLayout.js +19 -15
  18. package/lib/Assets/TypingAnimation.js +2 -2
  19. package/lib/Attachment/Assets/DownloadIcon.js +3 -1
  20. package/lib/Attachment/AudioAttachment.js +2 -2
  21. package/lib/Attachment/AudioContent.d.ts +11 -0
  22. package/lib/Attachment/AudioContent.d.ts.map +1 -0
  23. package/lib/Attachment/AudioContent.js +4 -4
  24. package/lib/Attachment/FileAttachment.js +2 -2
  25. package/lib/Attachment/FileContent.d.ts +10 -0
  26. package/lib/Attachment/FileContent.d.ts.map +1 -0
  27. package/lib/Attachment/FileContent.js +14 -9
  28. package/lib/Attachment/HTMLVideoContent.d.ts +11 -0
  29. package/lib/Attachment/HTMLVideoContent.d.ts.map +1 -0
  30. package/lib/Attachment/HTMLVideoContent.js +2 -2
  31. package/lib/Attachment/ImageContent.d.ts +8 -0
  32. package/lib/Attachment/ImageContent.d.ts.map +1 -0
  33. package/lib/Attachment/ImageContent.js +2 -2
  34. package/lib/Attachment/TextContent.d.ts +8 -0
  35. package/lib/Attachment/TextContent.d.ts.map +1 -0
  36. package/lib/Attachment/TextContent.js +4 -4
  37. package/lib/Attachment/VideoAttachment.js +2 -2
  38. package/lib/Attachment/VideoContent.d.ts +11 -0
  39. package/lib/Attachment/VideoContent.d.ts.map +1 -0
  40. package/lib/Attachment/VideoContent.js +1 -1
  41. package/lib/Attachment/VimeoContent.d.ts +10 -0
  42. package/lib/Attachment/VimeoContent.d.ts.map +1 -0
  43. package/lib/Attachment/VimeoContent.js +8 -8
  44. package/lib/Attachment/YouTubeContent.d.ts +10 -0
  45. package/lib/Attachment/YouTubeContent.d.ts.map +1 -0
  46. package/lib/Attachment/YouTubeContent.js +5 -5
  47. package/lib/Avatar/ImageAvatar.js +2 -2
  48. package/lib/Avatar/InitialsAvatar.js +2 -2
  49. package/lib/BasicConnectivityStatus.js +2 -2
  50. package/lib/BasicSendBox.d.ts +9 -0
  51. package/lib/BasicSendBox.d.ts.map +1 -0
  52. package/lib/BasicSendBox.js +7 -6
  53. package/lib/BasicToast.js +4 -4
  54. package/lib/BasicToaster.js +8 -5
  55. package/lib/BasicTranscript.d.ts +7 -0
  56. package/lib/BasicTranscript.d.ts.map +1 -0
  57. package/lib/BasicTranscript.js +406 -743
  58. package/lib/BasicTypingIndicator.d.ts +6 -0
  59. package/lib/BasicTypingIndicator.d.ts.map +1 -0
  60. package/lib/BasicTypingIndicator.js +13 -5
  61. package/lib/BasicWebChat.d.ts +9 -0
  62. package/lib/BasicWebChat.d.ts.map +1 -0
  63. package/lib/BasicWebChat.js +6 -4
  64. package/lib/Composer.d.ts +23 -0
  65. package/lib/Composer.d.ts.map +1 -0
  66. package/lib/Composer.js +65 -82
  67. package/lib/ConnectivityStatus/Assets/ErrorNotificationIcon.js +2 -2
  68. package/lib/ConnectivityStatus/Assets/SpinnerAnimation.js +2 -2
  69. package/lib/ConnectivityStatus/Assets/WarningNotificationIcon.js +2 -2
  70. package/lib/ConnectivityStatus/Connected.js +1 -1
  71. package/lib/ConnectivityStatus/Connecting.js +4 -4
  72. package/lib/ConnectivityStatus/FailedToConnect.js +2 -2
  73. package/lib/ConnectivityStatus/JavaScriptError.js +2 -2
  74. package/lib/Dictation.js +13 -4
  75. package/lib/ErrorBox.d.ts +8 -0
  76. package/lib/ErrorBox.d.ts.map +1 -0
  77. package/lib/ErrorBox.js +2 -2
  78. package/lib/Middleware/Activity/createCoreMiddleware.d.ts +3 -0
  79. package/lib/Middleware/Activity/createCoreMiddleware.d.ts.map +1 -0
  80. package/lib/Middleware/Activity/createCoreMiddleware.js +1 -1
  81. package/lib/Middleware/ActivityStatus/AbsoluteTime.js +1 -1
  82. package/lib/Middleware/ActivityStatus/RelativeTime.js +1 -1
  83. package/lib/Middleware/ActivityStatus/SendStatus/SendFailedRetry.js +3 -3
  84. package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.d.ts +11 -0
  85. package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.d.ts.map +1 -0
  86. package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.js +5 -5
  87. package/lib/Middleware/ActivityStatus/Timestamp.d.ts +9 -0
  88. package/lib/Middleware/ActivityStatus/Timestamp.d.ts.map +1 -0
  89. package/lib/Middleware/ActivityStatus/Timestamp.js +2 -2
  90. package/lib/Middleware/ActivityStatus/createCoreMiddleware.d.ts +3 -0
  91. package/lib/Middleware/ActivityStatus/createCoreMiddleware.d.ts.map +1 -0
  92. package/lib/Middleware/ActivityStatus/createCoreMiddleware.js +1 -1
  93. package/lib/Middleware/ActivityStatus/createSendStatusMiddleware.js +21 -16
  94. package/lib/Middleware/ActivityStatus/createTimestampMiddleware.js +1 -1
  95. package/lib/Middleware/Attachment/createCoreMiddleware.d.ts +3 -0
  96. package/lib/Middleware/Attachment/createCoreMiddleware.d.ts.map +1 -0
  97. package/lib/Middleware/Attachment/createCoreMiddleware.js +10 -13
  98. package/lib/Middleware/AttachmentForScreenReader/AudioAttachment.js +1 -1
  99. package/lib/Middleware/AttachmentForScreenReader/FileAttachment.js +1 -1
  100. package/lib/Middleware/AttachmentForScreenReader/ImageAttachment.js +1 -1
  101. package/lib/Middleware/AttachmentForScreenReader/TextAttachment.js +1 -1
  102. package/lib/Middleware/AttachmentForScreenReader/VideoAttachment.js +1 -1
  103. package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.d.ts +3 -0
  104. package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.d.ts.map +1 -0
  105. package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.js +9 -5
  106. package/lib/Middleware/Avatar/createCoreMiddleware.d.ts +11 -0
  107. package/lib/Middleware/Avatar/createCoreMiddleware.d.ts.map +1 -0
  108. package/lib/Middleware/Avatar/createCoreMiddleware.js +3 -4
  109. package/lib/Middleware/CardAction/createCoreMiddleware.js +11 -4
  110. package/lib/Middleware/GroupActivities/createCoreMiddleware.js +1 -1
  111. package/lib/Middleware/ScrollToEndButton/ScrollToEndButton.js +71 -0
  112. package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.d.ts +3 -0
  113. package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.d.ts.map +1 -0
  114. package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.js +27 -0
  115. package/lib/Middleware/Toast/createCoreMiddleware.d.ts +4 -0
  116. package/lib/Middleware/Toast/createCoreMiddleware.d.ts.map +1 -0
  117. package/lib/Middleware/Toast/createCoreMiddleware.js +1 -1
  118. package/lib/Middleware/TypingIndicator/createCoreMiddleware.d.ts +3 -0
  119. package/lib/Middleware/TypingIndicator/createCoreMiddleware.d.ts.map +1 -0
  120. package/lib/Middleware/TypingIndicator/createCoreMiddleware.js +9 -6
  121. package/lib/ReactWebChat.d.ts +10 -0
  122. package/lib/ReactWebChat.d.ts.map +1 -0
  123. package/lib/ReactWebChat.js +19 -7
  124. package/lib/ScreenReaderActivity.js +76 -48
  125. package/lib/ScreenReaderText.d.ts +9 -0
  126. package/lib/ScreenReaderText.d.ts.map +1 -0
  127. package/lib/ScreenReaderText.js +22 -8
  128. package/lib/SendBox/Assets/AttachmentIcon.js +3 -1
  129. package/lib/SendBox/Assets/MicrophoneIcon.js +3 -1
  130. package/lib/SendBox/Assets/SendIcon.js +2 -2
  131. package/lib/SendBox/AutoResizeTextArea.d.ts +23 -0
  132. package/lib/SendBox/AutoResizeTextArea.d.ts.map +1 -0
  133. package/lib/SendBox/AutoResizeTextArea.js +6 -6
  134. package/lib/SendBox/DictationInterims.d.ts +9 -0
  135. package/lib/SendBox/DictationInterims.d.ts.map +1 -0
  136. package/lib/SendBox/DictationInterims.js +3 -3
  137. package/lib/SendBox/IconButton.d.ts +11 -0
  138. package/lib/SendBox/IconButton.d.ts.map +1 -0
  139. package/lib/SendBox/IconButton.js +27 -7
  140. package/lib/SendBox/MicrophoneButton.d.ts +11 -0
  141. package/lib/SendBox/MicrophoneButton.d.ts.map +1 -0
  142. package/lib/SendBox/MicrophoneButton.js +25 -24
  143. package/lib/SendBox/SendButton.d.ts +9 -0
  144. package/lib/SendBox/SendButton.d.ts.map +1 -0
  145. package/lib/SendBox/SendButton.js +8 -6
  146. package/lib/SendBox/SuggestedAction.d.ts +17 -0
  147. package/lib/SendBox/SuggestedAction.d.ts.map +1 -0
  148. package/lib/SendBox/SuggestedAction.js +29 -24
  149. package/lib/SendBox/SuggestedActions.d.ts +5 -0
  150. package/lib/SendBox/SuggestedActions.d.ts.map +1 -0
  151. package/lib/SendBox/SuggestedActions.js +33 -13
  152. package/lib/SendBox/TextBox.d.ts +28 -0
  153. package/lib/SendBox/TextBox.d.ts.map +1 -0
  154. package/lib/SendBox/TextBox.js +13 -8
  155. package/lib/SendBox/UploadButton.d.ts +9 -0
  156. package/lib/SendBox/UploadButton.d.ts.map +1 -0
  157. package/lib/SendBox/UploadButton.js +6 -6
  158. package/lib/Styles/StyleSet/Activities.d.ts +5 -0
  159. package/lib/Styles/StyleSet/Activities.d.ts.map +1 -0
  160. package/lib/Styles/StyleSet/AudioAttachment.d.ts +6 -0
  161. package/lib/Styles/StyleSet/AudioAttachment.d.ts.map +1 -0
  162. package/lib/Styles/StyleSet/AudioContent.d.ts +4 -0
  163. package/lib/Styles/StyleSet/AudioContent.d.ts.map +1 -0
  164. package/lib/Styles/StyleSet/AutoResizeTextArea.d.ts +37 -0
  165. package/lib/Styles/StyleSet/AutoResizeTextArea.d.ts.map +1 -0
  166. package/lib/Styles/StyleSet/Avatar.d.ts +9 -0
  167. package/lib/Styles/StyleSet/Avatar.d.ts.map +1 -0
  168. package/lib/Styles/StyleSet/BasicTranscript.d.ts +85 -0
  169. package/lib/Styles/StyleSet/BasicTranscript.d.ts.map +1 -0
  170. package/lib/Styles/StyleSet/BasicTranscript.js +21 -9
  171. package/lib/Styles/StyleSet/Bubble.d.ts +5 -0
  172. package/lib/Styles/StyleSet/Bubble.d.ts.map +1 -0
  173. package/lib/Styles/StyleSet/Bubble.js +2 -2
  174. package/lib/Styles/StyleSet/CarouselFilmStrip.d.ts +5 -0
  175. package/lib/Styles/StyleSet/CarouselFilmStrip.d.ts.map +1 -0
  176. package/lib/Styles/StyleSet/CarouselFilmStrip.js +2 -18
  177. package/lib/Styles/StyleSet/CarouselFilmStripAttachment.d.ts +3 -0
  178. package/lib/Styles/StyleSet/CarouselFilmStripAttachment.d.ts.map +1 -0
  179. package/lib/Styles/StyleSet/CarouselFilmStripAttachment.js +63 -0
  180. package/lib/Styles/StyleSet/CarouselFlipper.d.ts +27 -0
  181. package/lib/Styles/StyleSet/CarouselFlipper.d.ts.map +1 -0
  182. package/lib/Styles/StyleSet/ConnectivityNotification.d.ts +13 -0
  183. package/lib/Styles/StyleSet/ConnectivityNotification.d.ts.map +1 -0
  184. package/lib/Styles/StyleSet/DictationInterims.d.ts +13 -0
  185. package/lib/Styles/StyleSet/DictationInterims.d.ts.map +1 -0
  186. package/lib/Styles/StyleSet/ErrorBox.d.ts +33 -0
  187. package/lib/Styles/StyleSet/ErrorBox.d.ts.map +1 -0
  188. package/lib/Styles/StyleSet/ErrorNotification.d.ts +23 -0
  189. package/lib/Styles/StyleSet/ErrorNotification.d.ts.map +1 -0
  190. package/lib/Styles/StyleSet/FileContent.d.ts +32 -0
  191. package/lib/Styles/StyleSet/FileContent.d.ts.map +1 -0
  192. package/lib/Styles/StyleSet/ImageAvatar.d.ts +7 -0
  193. package/lib/Styles/StyleSet/ImageAvatar.d.ts.map +1 -0
  194. package/lib/Styles/StyleSet/InitialsAvatar.d.ts +19 -0
  195. package/lib/Styles/StyleSet/InitialsAvatar.d.ts.map +1 -0
  196. package/lib/Styles/StyleSet/KeyboardHelp.d.ts +123 -0
  197. package/lib/Styles/StyleSet/KeyboardHelp.d.ts.map +1 -0
  198. package/lib/Styles/StyleSet/KeyboardHelp.js +145 -0
  199. package/lib/Styles/StyleSet/MicrophoneButton.d.ts +13 -0
  200. package/lib/Styles/StyleSet/MicrophoneButton.d.ts.map +1 -0
  201. package/lib/Styles/StyleSet/Root.d.ts +8 -0
  202. package/lib/Styles/StyleSet/Root.d.ts.map +1 -0
  203. package/lib/Styles/StyleSet/ScrollToEndButton.d.ts +36 -0
  204. package/lib/Styles/StyleSet/ScrollToEndButton.d.ts.map +1 -0
  205. package/lib/Styles/StyleSet/ScrollToEndButton.js +36 -34
  206. package/lib/Styles/StyleSet/SendBox.d.ts +24 -0
  207. package/lib/Styles/StyleSet/SendBox.d.ts.map +1 -0
  208. package/lib/Styles/StyleSet/SendBoxButton.d.ts +79 -0
  209. package/lib/Styles/StyleSet/SendBoxButton.d.ts.map +1 -0
  210. package/lib/Styles/StyleSet/SendBoxButton.js +76 -12
  211. package/lib/Styles/StyleSet/SendBoxTextBox.d.ts +41 -0
  212. package/lib/Styles/StyleSet/SendBoxTextBox.d.ts.map +1 -0
  213. package/lib/Styles/StyleSet/SendBoxTextBox.js +3 -3
  214. package/lib/Styles/StyleSet/SendStatus.d.ts +8 -0
  215. package/lib/Styles/StyleSet/SendStatus.d.ts.map +1 -0
  216. package/lib/Styles/StyleSet/SingleAttachmentActivity.d.ts +11 -0
  217. package/lib/Styles/StyleSet/SingleAttachmentActivity.d.ts.map +1 -0
  218. package/lib/Styles/StyleSet/SpinnerAnimation.d.ts +15 -0
  219. package/lib/Styles/StyleSet/SpinnerAnimation.d.ts.map +1 -0
  220. package/lib/Styles/StyleSet/StackedLayout.d.ts +63 -0
  221. package/lib/Styles/StyleSet/StackedLayout.d.ts.map +1 -0
  222. package/lib/Styles/StyleSet/StackedLayout.js +1 -1
  223. package/lib/Styles/StyleSet/SuggestedAction.d.ts +94 -0
  224. package/lib/Styles/StyleSet/SuggestedAction.d.ts.map +1 -0
  225. package/lib/Styles/StyleSet/SuggestedAction.js +116 -41
  226. package/lib/Styles/StyleSet/SuggestedActions.d.ts +125 -0
  227. package/lib/Styles/StyleSet/SuggestedActions.d.ts.map +1 -0
  228. package/lib/Styles/StyleSet/SuggestedActions.js +13 -6
  229. package/lib/Styles/StyleSet/TextContent.d.ts +28 -0
  230. package/lib/Styles/StyleSet/TextContent.d.ts.map +1 -0
  231. package/lib/Styles/StyleSet/Toast.d.ts +65 -0
  232. package/lib/Styles/StyleSet/Toast.d.ts.map +1 -0
  233. package/lib/Styles/StyleSet/Toaster.d.ts +111 -0
  234. package/lib/Styles/StyleSet/Toaster.d.ts.map +1 -0
  235. package/lib/Styles/StyleSet/TypingAnimation.d.ts +8 -0
  236. package/lib/Styles/StyleSet/TypingAnimation.d.ts.map +1 -0
  237. package/lib/Styles/StyleSet/TypingIndicator.d.ts +11 -0
  238. package/lib/Styles/StyleSet/TypingIndicator.d.ts.map +1 -0
  239. package/lib/Styles/StyleSet/UploadButton.d.ts +14 -0
  240. package/lib/Styles/StyleSet/UploadButton.d.ts.map +1 -0
  241. package/lib/Styles/StyleSet/VideoAttachment.d.ts +2 -0
  242. package/lib/Styles/StyleSet/VideoAttachment.d.ts.map +1 -0
  243. package/lib/Styles/StyleSet/VideoContent.d.ts +6 -0
  244. package/lib/Styles/StyleSet/VideoContent.d.ts.map +1 -0
  245. package/lib/Styles/StyleSet/VimeoContent.d.ts +7 -0
  246. package/lib/Styles/StyleSet/VimeoContent.d.ts.map +1 -0
  247. package/lib/Styles/StyleSet/WarningNotification.d.ts +22 -0
  248. package/lib/Styles/StyleSet/WarningNotification.d.ts.map +1 -0
  249. package/lib/Styles/StyleSet/YouTubeContent.d.ts +7 -0
  250. package/lib/Styles/StyleSet/YouTubeContent.d.ts.map +1 -0
  251. package/lib/Styles/createStyleSet.d.ts +1372 -0
  252. package/lib/Styles/createStyleSet.d.ts.map +1 -0
  253. package/lib/Styles/createStyleSet.js +47 -41
  254. package/lib/Styles/mirrorStyle.js +13 -4
  255. package/lib/Toast/CollapseIcon.js +3 -1
  256. package/lib/Toast/DismissIcon.js +3 -1
  257. package/lib/Toast/ExpandIcon.js +3 -1
  258. package/lib/Toast/NotificationIcon.js +7 -3
  259. package/lib/Toast/createToastMiddleware.d.ts +4 -0
  260. package/lib/Toast/createToastMiddleware.d.ts.map +1 -0
  261. package/lib/Toast/createToastMiddleware.js +2 -2
  262. package/lib/Transcript/ActivityRow.d.ts +9 -0
  263. package/lib/Transcript/ActivityRow.d.ts.map +1 -0
  264. package/lib/Transcript/ActivityRow.js +157 -0
  265. package/lib/Transcript/ActivityTextAlt.js +57 -0
  266. package/lib/Transcript/FocusTrap.d.ts +8 -0
  267. package/lib/Transcript/FocusTrap.d.ts.map +1 -0
  268. package/lib/Transcript/FocusTrap.js +74 -0
  269. package/lib/Transcript/KeyboardHelp.d.ts +4 -0
  270. package/lib/Transcript/KeyboardHelp.d.ts.map +1 -0
  271. package/lib/Transcript/KeyboardHelp.js +550 -0
  272. package/lib/Transcript/LiveRegionTranscript.d.ts +8 -0
  273. package/lib/Transcript/LiveRegionTranscript.d.ts.map +1 -0
  274. package/lib/Transcript/LiveRegionTranscript.js +214 -0
  275. package/lib/Transcript/types.d.ts +2 -0
  276. package/lib/Transcript/types.d.ts.map +1 -0
  277. package/lib/Transcript/types.js +2 -0
  278. package/lib/Transcript/useActivityAccessibleName.d.ts +4 -0
  279. package/lib/Transcript/useActivityAccessibleName.d.ts.map +1 -0
  280. package/lib/Transcript/useActivityAccessibleName.js +97 -0
  281. package/lib/Utils/AccessKeySink/Surface.js +7 -5
  282. package/lib/Utils/AccessibleButton.d.ts +11 -0
  283. package/lib/Utils/AccessibleButton.d.ts.map +1 -0
  284. package/lib/Utils/AccessibleButton.js +15 -8
  285. package/lib/Utils/AccessibleInputText.d.ts +21 -0
  286. package/lib/Utils/AccessibleInputText.d.ts.map +1 -0
  287. package/lib/Utils/AccessibleInputText.js +29 -25
  288. package/lib/Utils/AccessibleTextArea.d.ts +20 -0
  289. package/lib/Utils/AccessibleTextArea.d.ts.map +1 -0
  290. package/lib/Utils/AccessibleTextArea.js +35 -24
  291. package/lib/Utils/CroppedImage.js +2 -2
  292. package/lib/Utils/Fade.js +2 -2
  293. package/lib/Utils/FocusRedirector.d.ts +9 -0
  294. package/lib/Utils/FocusRedirector.d.ts.map +1 -0
  295. package/lib/Utils/FocusRedirector.js +18 -15
  296. package/lib/Utils/InlineMarkdown.js +17 -10
  297. package/lib/Utils/TypeFocusSink/FocusBox.js +6 -4
  298. package/lib/Utils/TypeFocusSink/getTabIndex.d.ts +2 -0
  299. package/lib/Utils/TypeFocusSink/getTabIndex.d.ts.map +1 -0
  300. package/lib/Utils/TypeFocusSink/getTabIndex.js +1 -1
  301. package/lib/Utils/TypeFocusSink/inputtableKey.d.ts +2 -0
  302. package/lib/Utils/TypeFocusSink/inputtableKey.d.ts.map +1 -0
  303. package/lib/Utils/TypeFocusSink/inputtableKey.js +5 -2
  304. package/lib/Utils/TypeFocusSink/navigableEvent.js +1 -1
  305. package/lib/Utils/activityAltText.d.ts +8 -0
  306. package/lib/Utils/activityAltText.d.ts.map +1 -0
  307. package/lib/Utils/activityAltText.js +100 -0
  308. package/lib/Utils/addTargetBlankToHyperlinksMarkdown.js +1 -1
  309. package/lib/Utils/createCustomEvent.js +9 -3
  310. package/lib/Utils/debounce.js +1 -1
  311. package/lib/Utils/detectBrowser.js +4 -2
  312. package/lib/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingWorker.js +3 -3
  313. package/lib/Utils/downscaleImageToDataURL/index.js +2 -2
  314. package/lib/Utils/filterMap.js +1 -1
  315. package/lib/Utils/findAncestor.js +17 -0
  316. package/lib/Utils/getActivityUniqueId.js +4 -2
  317. package/lib/Utils/intersectionOf.d.ts +5 -0
  318. package/lib/Utils/intersectionOf.d.ts.map +1 -0
  319. package/lib/Utils/intersectionOf.js +17 -2
  320. package/lib/Utils/isZeroOrPositive.d.ts +5 -0
  321. package/lib/Utils/isZeroOrPositive.d.ts.map +1 -0
  322. package/lib/Utils/isZeroOrPositive.js +4 -1
  323. package/lib/Utils/mapMap.js +10 -3
  324. package/lib/Utils/readDataURIToBlob.js +3 -3
  325. package/lib/Utils/scrollIntoViewWithBlockNearest.d.ts +7 -0
  326. package/lib/Utils/scrollIntoViewWithBlockNearest.d.ts.map +1 -0
  327. package/lib/Utils/scrollIntoViewWithBlockNearest.js +48 -0
  328. package/lib/Utils/shallowEquals.js +7 -3
  329. package/lib/Utils/singleToArray.js +1 -1
  330. package/lib/Utils/supportPseudoClass.d.ts +2 -0
  331. package/lib/Utils/supportPseudoClass.d.ts.map +1 -0
  332. package/lib/Utils/supportPseudoClass.js +23 -0
  333. package/lib/Utils/tabbableElements.d.ts +2 -0
  334. package/lib/Utils/tabbableElements.d.ts.map +1 -0
  335. package/lib/Utils/tabbableElements.js +2 -2
  336. package/lib/connectToWebChat.js +17 -7
  337. package/lib/hooks/index.d.ts +21 -0
  338. package/lib/hooks/index.d.ts.map +1 -0
  339. package/lib/hooks/index.js +25 -25
  340. package/lib/hooks/internal/BypassSpeechSynthesisPonyfill.js +100 -41
  341. package/lib/hooks/internal/UITracker.js +2 -2
  342. package/lib/hooks/internal/useChanged.js +8 -1
  343. package/lib/hooks/internal/useDispatchScrollPosition.js +3 -7
  344. package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.d.ts +2 -0
  345. package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.d.ts.map +1 -0
  346. package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.js +15 -0
  347. package/lib/hooks/internal/useEnterKeyHint.js +1 -1
  348. package/lib/hooks/internal/useFocusVisible.d.ts +3 -0
  349. package/lib/hooks/internal/useFocusVisible.d.ts.map +1 -0
  350. package/lib/hooks/internal/useFocusVisible.js +48 -0
  351. package/lib/hooks/internal/useForceRender.js +2 -2
  352. package/lib/hooks/internal/useForceRenderAtInterval.js +2 -2
  353. package/lib/hooks/internal/useInternalRenderMarkdownInline.js +1 -1
  354. package/lib/hooks/internal/useLocalizeAccessKey.js +2 -2
  355. package/lib/hooks/internal/useMemoWithPrevious.d.ts +3 -0
  356. package/lib/hooks/internal/useMemoWithPrevious.d.ts.map +1 -0
  357. package/lib/hooks/internal/useMemoWithPrevious.js +22 -0
  358. package/lib/hooks/internal/useMemoize.d.ts +14 -0
  359. package/lib/hooks/internal/useMemoize.d.ts.map +1 -0
  360. package/lib/hooks/internal/useMemoize.js +12 -3
  361. package/lib/hooks/internal/useNavigatorPlatform.js +1 -1
  362. package/lib/hooks/internal/useNonce.js +1 -1
  363. package/lib/hooks/internal/useObserveFocusVisible.d.ts +3 -0
  364. package/lib/hooks/internal/useObserveFocusVisible.d.ts.map +1 -0
  365. package/lib/hooks/internal/useObserveFocusVisible.js +208 -0
  366. package/lib/hooks/internal/usePrevious.d.ts +2 -0
  367. package/lib/hooks/internal/usePrevious.d.ts.map +1 -0
  368. package/lib/hooks/internal/usePrevious.js +18 -0
  369. package/lib/hooks/internal/useRegisterFocusSendBox.js +1 -1
  370. package/lib/hooks/internal/useRegisterFocusTranscript.js +1 -1
  371. package/lib/hooks/internal/useRegisterScrollRelative.js +1 -1
  372. package/lib/hooks/internal/useRegisterScrollTo.js +1 -1
  373. package/lib/hooks/internal/useRegisterScrollToEnd.js +1 -1
  374. package/lib/hooks/internal/useReplaceEmoticon.js +2 -2
  375. package/lib/hooks/internal/useResumeAudioContext.js +33 -0
  376. package/lib/hooks/internal/useScrollRelative.js +1 -1
  377. package/lib/hooks/internal/useSettableDictateAbortable.js +1 -1
  378. package/lib/hooks/internal/useStateRef.d.ts +3 -0
  379. package/lib/hooks/internal/useStateRef.d.ts.map +1 -0
  380. package/lib/hooks/internal/useStateRef.js +40 -0
  381. package/lib/hooks/internal/useSuggestedActionsAccessKey.js +1 -1
  382. package/lib/hooks/internal/useUniqueId.d.ts +2 -0
  383. package/lib/hooks/internal/useUniqueId.d.ts.map +1 -0
  384. package/lib/hooks/internal/useUniqueId.js +1 -1
  385. package/lib/hooks/internal/useValueRef.d.ts +3 -0
  386. package/lib/hooks/internal/useValueRef.d.ts.map +1 -0
  387. package/lib/hooks/internal/useValueRef.js +25 -0
  388. package/lib/hooks/useDictateAbortable.d.ts +2 -0
  389. package/lib/hooks/useDictateAbortable.d.ts.map +1 -0
  390. package/lib/hooks/useDictateAbortable.js +2 -2
  391. package/lib/hooks/useFocus.d.ts +2 -0
  392. package/lib/hooks/useFocus.d.ts.map +1 -0
  393. package/lib/hooks/useFocus.js +1 -1
  394. package/lib/hooks/useFocusSendBox.d.ts +3 -0
  395. package/lib/hooks/useFocusSendBox.d.ts.map +1 -0
  396. package/lib/hooks/useFocusSendBox.js +2 -1
  397. package/lib/hooks/useObserveScrollPosition.d.ts +3 -0
  398. package/lib/hooks/useObserveScrollPosition.d.ts.map +1 -0
  399. package/lib/hooks/useObserveScrollPosition.js +2 -2
  400. package/lib/hooks/useObserveTranscriptFocus.d.ts +5 -0
  401. package/lib/hooks/useObserveTranscriptFocus.d.ts.map +1 -0
  402. package/lib/hooks/useObserveTranscriptFocus.js +2 -2
  403. package/lib/hooks/useRenderMarkdownAsHTML.d.ts +5 -0
  404. package/lib/hooks/useRenderMarkdownAsHTML.d.ts.map +1 -0
  405. package/lib/hooks/useRenderMarkdownAsHTML.js +2 -2
  406. package/lib/hooks/useScrollDown.d.ts +4 -0
  407. package/lib/hooks/useScrollDown.d.ts.map +1 -0
  408. package/lib/hooks/useScrollDown.js +1 -1
  409. package/lib/hooks/useScrollTo.d.ts +5 -0
  410. package/lib/hooks/useScrollTo.d.ts.map +1 -0
  411. package/lib/hooks/useScrollTo.js +1 -1
  412. package/lib/hooks/useScrollToEnd.d.ts +2 -0
  413. package/lib/hooks/useScrollToEnd.d.ts.map +1 -0
  414. package/lib/hooks/useScrollToEnd.js +1 -1
  415. package/lib/hooks/useScrollUp.d.ts +4 -0
  416. package/lib/hooks/useScrollUp.d.ts.map +1 -0
  417. package/lib/hooks/useScrollUp.js +1 -1
  418. package/lib/hooks/useSendFiles.d.ts +2 -0
  419. package/lib/hooks/useSendFiles.d.ts.map +1 -0
  420. package/lib/hooks/useSendFiles.js +3 -3
  421. package/lib/hooks/useStyleSet.d.ts +2 -0
  422. package/lib/hooks/useStyleSet.d.ts.map +1 -0
  423. package/lib/hooks/useStyleSet.js +1 -1
  424. package/lib/hooks/useWebSpeechPonyfill.d.ts +3 -0
  425. package/lib/hooks/useWebSpeechPonyfill.d.ts.map +1 -0
  426. package/lib/hooks/useWebSpeechPonyfill.js +1 -1
  427. package/lib/index.d.ts +219 -22
  428. package/lib/index.d.ts.map +1 -1
  429. package/lib/index.js +22 -20
  430. package/lib/providers/ActivityTree/ActivityTreeComposer.d.ts +5 -0
  431. package/lib/providers/ActivityTree/ActivityTreeComposer.d.ts.map +1 -0
  432. package/lib/providers/ActivityTree/ActivityTreeComposer.js +86 -0
  433. package/lib/providers/ActivityTree/private/Context.d.ts +9 -0
  434. package/lib/providers/ActivityTree/private/Context.d.ts.map +1 -0
  435. package/lib/providers/ActivityTree/private/Context.js +13 -0
  436. package/lib/providers/ActivityTree/private/types.d.ts +10 -0
  437. package/lib/providers/ActivityTree/private/types.d.ts.map +1 -0
  438. package/lib/providers/ActivityTree/private/types.js +2 -0
  439. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.d.ts +4 -0
  440. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.d.ts.map +1 -0
  441. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.js +58 -0
  442. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.d.ts +5 -0
  443. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.d.ts.map +1 -0
  444. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.js +166 -0
  445. package/lib/providers/ActivityTree/private/useContext.d.ts +3 -0
  446. package/lib/providers/ActivityTree/private/useContext.d.ts.map +1 -0
  447. package/lib/providers/ActivityTree/private/useContext.js +24 -0
  448. package/lib/providers/ActivityTree/useActivityTreeWithRenderer.d.ts +8 -0
  449. package/lib/providers/ActivityTree/useActivityTreeWithRenderer.d.ts.map +1 -0
  450. package/lib/providers/ActivityTree/useActivityTreeWithRenderer.js +17 -0
  451. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.d.ts +35 -0
  452. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.d.ts.map +1 -0
  453. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.js +156 -0
  454. package/lib/providers/LiveRegionTwin/private/Context.d.ts +10 -0
  455. package/lib/providers/LiveRegionTwin/private/Context.d.ts.map +1 -0
  456. package/lib/providers/LiveRegionTwin/private/Context.js +13 -0
  457. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.d.ts +11 -0
  458. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.d.ts.map +1 -0
  459. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.js +86 -0
  460. package/lib/providers/LiveRegionTwin/private/types.d.ts +8 -0
  461. package/lib/providers/LiveRegionTwin/private/types.d.ts.map +1 -0
  462. package/lib/providers/LiveRegionTwin/private/types.js +2 -0
  463. package/lib/providers/LiveRegionTwin/private/useContext.d.ts +3 -0
  464. package/lib/providers/LiveRegionTwin/private/useContext.d.ts.map +1 -0
  465. package/lib/providers/LiveRegionTwin/private/useContext.js +24 -0
  466. package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.d.ts +2 -0
  467. package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.d.ts.map +1 -0
  468. package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.js +24 -0
  469. package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.d.ts +3 -0
  470. package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.d.ts.map +1 -0
  471. package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.js +15 -0
  472. package/lib/providers/LiveRegionTwin/useQueueStaticElement.d.ts +8 -0
  473. package/lib/providers/LiveRegionTwin/useQueueStaticElement.d.ts.map +1 -0
  474. package/lib/providers/LiveRegionTwin/useQueueStaticElement.js +20 -0
  475. package/lib/providers/TranscriptFocus/TranscriptFocusComposer.d.ts +7 -0
  476. package/lib/providers/TranscriptFocus/TranscriptFocusComposer.d.ts.map +1 -0
  477. package/lib/providers/TranscriptFocus/TranscriptFocusComposer.js +184 -0
  478. package/lib/providers/TranscriptFocus/private/Context.d.ts +12 -0
  479. package/lib/providers/TranscriptFocus/private/Context.d.ts.map +1 -0
  480. package/lib/providers/TranscriptFocus/private/Context.js +13 -0
  481. package/lib/providers/TranscriptFocus/private/useContext.d.ts +2 -0
  482. package/lib/providers/TranscriptFocus/private/useContext.d.ts.map +1 -0
  483. package/lib/providers/TranscriptFocus/private/useContext.js +24 -0
  484. package/lib/providers/TranscriptFocus/useActiveDescendantId.d.ts +2 -0
  485. package/lib/providers/TranscriptFocus/useActiveDescendantId.d.ts.map +1 -0
  486. package/lib/providers/TranscriptFocus/useActiveDescendantId.js +15 -0
  487. package/lib/providers/TranscriptFocus/useFocusByActivityKey.d.ts +8 -0
  488. package/lib/providers/TranscriptFocus/useFocusByActivityKey.d.ts.map +1 -0
  489. package/lib/providers/TranscriptFocus/useFocusByActivityKey.js +21 -0
  490. package/lib/providers/TranscriptFocus/useFocusRelativeActivity.d.ts +2 -0
  491. package/lib/providers/TranscriptFocus/useFocusRelativeActivity.d.ts.map +1 -0
  492. package/lib/providers/TranscriptFocus/useFocusRelativeActivity.js +15 -0
  493. package/lib/providers/TranscriptFocus/useFocusedActivityKey.d.ts +2 -0
  494. package/lib/providers/TranscriptFocus/useFocusedActivityKey.d.ts.map +1 -0
  495. package/lib/providers/TranscriptFocus/useFocusedActivityKey.js +15 -0
  496. package/lib/providers/TranscriptFocus/useFocusedExplicitly.d.ts +2 -0
  497. package/lib/providers/TranscriptFocus/useFocusedExplicitly.d.ts.map +1 -0
  498. package/lib/providers/TranscriptFocus/useFocusedExplicitly.js +15 -0
  499. package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.d.ts +2 -0
  500. package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.d.ts.map +1 -0
  501. package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.js +15 -0
  502. package/lib/tsconfig.json +1 -1
  503. package/lib/types/ScrollPosition.d.ts +6 -0
  504. package/lib/types/ScrollPosition.d.ts.map +1 -0
  505. package/lib/types/ScrollPosition.js +2 -0
  506. package/package.json +33 -40
  507. package/src/Activity/{Avatar.js → Avatar.tsx} +9 -2
  508. package/src/Activity/{Bubble.js → Bubble.tsx} +10 -2
  509. package/src/Activity/CarouselFilmStrip.js +20 -29
  510. package/src/Activity/CarouselFilmStripAttachment.js +91 -0
  511. package/src/Activity/{Speak.js → Speak.tsx} +12 -5
  512. package/src/Activity/{StackedLayout.js → StackedLayout.tsx} +46 -20
  513. package/src/Attachment/Assets/DownloadIcon.js +8 -1
  514. package/src/Attachment/{AudioContent.js → AudioContent.tsx} +12 -3
  515. package/src/Attachment/FileAttachment.js +1 -1
  516. package/src/Attachment/{FileContent.js → FileContent.tsx} +22 -7
  517. package/src/Attachment/{HTMLVideoContent.js → HTMLVideoContent.tsx} +10 -2
  518. package/src/Attachment/{ImageContent.js → ImageContent.tsx} +7 -2
  519. package/src/Attachment/{TextContent.js → TextContent.tsx} +14 -7
  520. package/src/Attachment/{VideoContent.js → VideoContent.tsx} +10 -2
  521. package/src/Attachment/{VimeoContent.js → VimeoContent.tsx} +15 -8
  522. package/src/Attachment/{YouTubeContent.js → YouTubeContent.tsx} +12 -5
  523. package/src/{BasicSendBox.js → BasicSendBox.tsx} +9 -5
  524. package/src/BasicToaster.js +9 -5
  525. package/src/BasicTranscript.tsx +878 -0
  526. package/src/{BasicTypingIndicator.js → BasicTypingIndicator.tsx} +4 -3
  527. package/src/{BasicWebChat.js → BasicWebChat.tsx} +13 -4
  528. package/src/{Composer.js → Composer.tsx} +82 -71
  529. package/src/Dictation.js +13 -4
  530. package/src/{ErrorBox.js → ErrorBox.tsx} +7 -2
  531. package/src/Middleware/Activity/createCoreMiddleware.tsx +78 -0
  532. package/src/Middleware/ActivityStatus/SendStatus/{SendStatus.js → SendStatus.tsx} +8 -3
  533. package/src/Middleware/ActivityStatus/{Timestamp.js → Timestamp.tsx} +8 -2
  534. package/src/Middleware/ActivityStatus/{createCoreMiddleware.js → createCoreMiddleware.tsx} +3 -1
  535. package/src/Middleware/ActivityStatus/createSendStatusMiddleware.js +10 -6
  536. package/src/Middleware/ActivityStatus/createTimestampMiddleware.js +10 -8
  537. package/src/Middleware/Attachment/createCoreMiddleware.tsx +44 -0
  538. package/src/Middleware/AttachmentForScreenReader/createCoreMiddleware.tsx +40 -0
  539. package/src/Middleware/Avatar/{createCoreMiddleware.js → createCoreMiddleware.tsx} +19 -11
  540. package/src/Middleware/CardAction/createCoreMiddleware.js +51 -42
  541. package/src/Middleware/GroupActivities/createCoreMiddleware.js +6 -4
  542. package/src/Middleware/ScrollToEndButton/ScrollToEndButton.js +45 -0
  543. package/src/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.ts +19 -0
  544. package/src/Middleware/Toast/createCoreMiddleware.tsx +24 -0
  545. package/src/Middleware/TypingIndicator/{createCoreMiddleware.js → createCoreMiddleware.tsx} +10 -5
  546. package/src/{ReactWebChat.js → ReactWebChat.tsx} +25 -7
  547. package/src/ScreenReaderActivity.js +65 -40
  548. package/src/{ScreenReaderText.js → ScreenReaderText.tsx} +27 -9
  549. package/src/SendBox/Assets/AttachmentIcon.js +1 -1
  550. package/src/SendBox/Assets/MicrophoneIcon.js +1 -1
  551. package/src/SendBox/{AutoResizeTextArea.js → AutoResizeTextArea.tsx} +30 -4
  552. package/src/SendBox/{DictationInterims.js → DictationInterims.tsx} +6 -2
  553. package/src/SendBox/{IconButton.js → IconButton.tsx} +19 -3
  554. package/src/SendBox/{MicrophoneButton.js → MicrophoneButton.tsx} +35 -25
  555. package/src/SendBox/{SendButton.js → SendButton.tsx} +8 -3
  556. package/src/SendBox/{SuggestedAction.js → SuggestedAction.tsx} +62 -39
  557. package/src/SendBox/{SuggestedActions.js → SuggestedActions.tsx} +70 -22
  558. package/src/SendBox/{TextBox.js → TextBox.tsx} +21 -7
  559. package/src/SendBox/{UploadButton.js → UploadButton.tsx} +7 -3
  560. package/src/Styles/StyleSet/BasicTranscript.ts +34 -20
  561. package/src/Styles/StyleSet/Bubble.ts +0 -1
  562. package/src/Styles/StyleSet/CarouselFilmStrip.ts +12 -30
  563. package/src/Styles/StyleSet/CarouselFilmStripAttachment.ts +57 -0
  564. package/src/Styles/StyleSet/KeyboardHelp.ts +157 -0
  565. package/src/Styles/StyleSet/ScrollToEndButton.ts +33 -31
  566. package/src/Styles/StyleSet/SendBoxButton.ts +84 -13
  567. package/src/Styles/StyleSet/SendBoxTextBox.ts +1 -2
  568. package/src/Styles/StyleSet/StackedLayout.ts +13 -11
  569. package/src/Styles/StyleSet/SuggestedAction.ts +130 -43
  570. package/src/Styles/StyleSet/SuggestedActions.ts +13 -5
  571. package/src/Styles/createStyleSet.ts +43 -40
  572. package/src/Styles/mirrorStyle.js +10 -2
  573. package/src/Toast/CollapseIcon.js +9 -1
  574. package/src/Toast/DismissIcon.js +9 -1
  575. package/src/Toast/ExpandIcon.js +9 -1
  576. package/src/Toast/NotificationIcon.js +4 -1
  577. package/src/Toast/createToastMiddleware.tsx +15 -0
  578. package/src/Transcript/ActivityRow.tsx +124 -0
  579. package/src/Transcript/ActivityTextAlt.tsx +32 -0
  580. package/src/Transcript/FocusTrap.tsx +64 -0
  581. package/src/Transcript/KeyboardHelp.tsx +282 -0
  582. package/src/Transcript/LiveRegionTranscript.tsx +181 -0
  583. package/src/Transcript/types.ts +1 -0
  584. package/src/Transcript/useActivityAccessibleName.ts +85 -0
  585. package/src/Utils/{AccessibleButton.js → AccessibleButton.tsx} +19 -4
  586. package/src/Utils/{AccessibleInputText.js → AccessibleInputText.tsx} +48 -5
  587. package/src/Utils/{AccessibleTextArea.js → AccessibleTextArea.tsx} +67 -6
  588. package/src/Utils/{FocusRedirector.js → FocusRedirector.tsx} +21 -8
  589. package/src/Utils/InlineMarkdown.js +18 -2
  590. package/src/Utils/TypeFocusSink/FocusBox.js +4 -4
  591. package/src/Utils/TypeFocusSink/getTabIndex.ts +1 -1
  592. package/src/Utils/TypeFocusSink/inputtableKey.ts +5 -1
  593. package/src/Utils/activityAltText.ts +135 -0
  594. package/src/Utils/createCustomEvent.js +7 -1
  595. package/src/Utils/detectBrowser.js +2 -1
  596. package/src/Utils/findAncestor.ts +12 -0
  597. package/src/Utils/getActivityUniqueId.ts +5 -0
  598. package/src/Utils/intersectionOf.spec.js +2 -0
  599. package/src/Utils/intersectionOf.ts +14 -0
  600. package/src/Utils/isZeroOrPositive.ts +7 -0
  601. package/src/Utils/mapMap.js +7 -1
  602. package/src/Utils/mapMap.spec.js +2 -0
  603. package/src/Utils/removeInline.spec.js +2 -0
  604. package/src/Utils/scrollIntoViewWithBlockNearest.ts +20 -0
  605. package/src/Utils/shallowEquals.js +8 -1
  606. package/src/Utils/{singleToArray.js → singleToArray.ts} +1 -1
  607. package/src/Utils/supportPseudoClass.ts +17 -0
  608. package/src/Utils/{tabbableElements.js → tabbableElements.ts} +6 -5
  609. package/src/Utils/walkMarkdownTokens.spec.js +3 -3
  610. package/src/connectToWebChat.js +11 -4
  611. package/src/hooks/{index.js → index.ts} +1 -0
  612. package/src/hooks/internal/BypassSpeechSynthesisPonyfill.js +70 -17
  613. package/src/hooks/internal/useChanged.ts +17 -0
  614. package/src/hooks/internal/useDispatchScrollPosition.js +1 -3
  615. package/src/hooks/internal/useDispatchTranscriptFocusByActivityKey.ts +5 -0
  616. package/src/hooks/internal/useFocusVisible.ts +22 -0
  617. package/src/hooks/internal/useMemoWithPrevious.ts +16 -0
  618. package/src/hooks/internal/useMemoize.spec.js +3 -1
  619. package/src/hooks/internal/useMemoize.ts +53 -0
  620. package/src/hooks/internal/useObserveFocusVisible.ts +252 -0
  621. package/src/hooks/internal/usePrevious.ts +12 -0
  622. package/src/hooks/internal/useResumeAudioContext.ts +7 -0
  623. package/src/hooks/internal/useScrollRelative.js +4 -3
  624. package/src/hooks/internal/useStateRef.ts +31 -0
  625. package/src/hooks/internal/{useUniqueId.js → useUniqueId.ts} +1 -1
  626. package/src/hooks/internal/useValueRef.ts +22 -0
  627. package/src/hooks/{useDictateAbortable.js → useDictateAbortable.ts} +1 -1
  628. package/src/hooks/{useFocus.js → useFocus.ts} +1 -1
  629. package/src/hooks/{useFocusSendBox.js → useFocusSendBox.ts} +2 -1
  630. package/src/hooks/{useObserveScrollPosition.js → useObserveScrollPosition.ts} +6 -1
  631. package/src/hooks/{useObserveTranscriptFocus.js → useObserveTranscriptFocus.ts} +6 -1
  632. package/src/hooks/useRenderMarkdownAsHTML.ts +23 -0
  633. package/src/hooks/{useScrollDown.js → useScrollDown.ts} +1 -1
  634. package/src/hooks/useScrollTo.ts +16 -0
  635. package/src/hooks/useScrollToEnd.ts +12 -0
  636. package/src/hooks/{useScrollUp.js → useScrollUp.ts} +1 -1
  637. package/src/hooks/{useSendFiles.js → useSendFiles.ts} +3 -2
  638. package/src/hooks/{useStyleSet.js → useStyleSet.ts} +1 -1
  639. package/src/hooks/useWebSpeechPonyfill.ts +7 -0
  640. package/src/index.ts +7 -12
  641. package/src/providers/ActivityTree/ActivityTreeComposer.tsx +74 -0
  642. package/src/providers/ActivityTree/private/Context.ts +12 -0
  643. package/src/providers/ActivityTree/private/types.ts +12 -0
  644. package/src/providers/ActivityTree/private/useActivitiesWithRenderer.ts +66 -0
  645. package/src/providers/ActivityTree/private/useActivityTreeWithRenderer.ts +140 -0
  646. package/src/providers/ActivityTree/private/useContext.ts +15 -0
  647. package/src/providers/ActivityTree/useActivityTreeWithRenderer.ts +16 -0
  648. package/src/providers/LiveRegionTwin/LiveRegionTwinComposer.tsx +154 -0
  649. package/src/providers/LiveRegionTwin/private/Context.ts +15 -0
  650. package/src/providers/LiveRegionTwin/private/LiveRegionTwinContainer.tsx +64 -0
  651. package/src/providers/LiveRegionTwin/private/types.ts +10 -0
  652. package/src/providers/LiveRegionTwin/private/useContext.ts +15 -0
  653. package/src/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.ts +13 -0
  654. package/src/providers/LiveRegionTwin/private/useStaticElementEntries.ts +7 -0
  655. package/src/providers/LiveRegionTwin/useQueueStaticElement.ts +12 -0
  656. package/src/providers/TranscriptFocus/TranscriptFocusComposer.tsx +180 -0
  657. package/src/providers/TranscriptFocus/private/Context.ts +16 -0
  658. package/src/providers/TranscriptFocus/private/useContext.ts +13 -0
  659. package/src/providers/TranscriptFocus/useActiveDescendantId.ts +5 -0
  660. package/src/providers/TranscriptFocus/useFocusByActivityKey.ts +14 -0
  661. package/src/providers/TranscriptFocus/useFocusRelativeActivity.ts +5 -0
  662. package/src/providers/TranscriptFocus/useFocusedActivityKey.ts +5 -0
  663. package/src/providers/TranscriptFocus/useFocusedExplicitly.ts +5 -0
  664. package/src/providers/TranscriptFocus/useGetDescendantIdByActivityKey.ts +5 -0
  665. package/src/tsconfig.json +1 -1
  666. package/src/types/ScrollPosition.ts +6 -0
  667. package/.eslintignore +0 -9
  668. package/lib/Activity/ScrollToEndButton.js +0 -81
  669. package/lib/Attachment/Assets/ErrorIcon.js +0 -22
  670. package/lib/Utils/findLastIndex.js +0 -32
  671. package/lib/Utils/remarkStripMarkdown.js +0 -26
  672. package/lib/hooks/internal/useAcknowledgedActivity.js +0 -90
  673. package/lib/hooks/internal/useDispatchTranscriptFocus.js +0 -19
  674. package/lib/hooks/internal/useStripMarkdown.js +0 -19
  675. package/src/Activity/ScrollToEndButton.js +0 -58
  676. package/src/Attachment/Assets/ErrorIcon.js +0 -9
  677. package/src/BasicTranscript.js +0 -1123
  678. package/src/Middleware/Activity/createCoreMiddleware.js +0 -71
  679. package/src/Middleware/Attachment/createCoreMiddleware.js +0 -43
  680. package/src/Middleware/AttachmentForScreenReader/createCoreMiddleware.js +0 -37
  681. package/src/Middleware/Toast/createCoreMiddleware.js +0 -20
  682. package/src/Toast/createToastMiddleware.js +0 -11
  683. package/src/Utils/findLastIndex.js +0 -11
  684. package/src/Utils/findLastIndex.spec.js +0 -29
  685. package/src/Utils/getActivityUniqueId.js +0 -3
  686. package/src/Utils/intersectionOf.js +0 -11
  687. package/src/Utils/isZeroOrPositive.js +0 -4
  688. package/src/Utils/remarkStripMarkdown.js +0 -13
  689. package/src/hooks/internal/useAcknowledgedActivity.js +0 -65
  690. package/src/hooks/internal/useChanged.js +0 -10
  691. package/src/hooks/internal/useDispatchTranscriptFocus.js +0 -7
  692. package/src/hooks/internal/useMemoize.js +0 -37
  693. package/src/hooks/internal/useStripMarkdown.js +0 -7
  694. package/src/hooks/useRenderMarkdownAsHTML.js +0 -20
  695. package/src/hooks/useScrollTo.js +0 -11
  696. package/src/hooks/useScrollToEnd.js +0 -11
  697. package/src/hooks/useWebSpeechPonyfill.js +0 -5
  698. package/src/index.tsx +0 -35
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createStyleSet.d.ts","sourceRoot":"","sources":["../../src/Styles/createStyleSet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAgD/E,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,YAAY,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+ChE"}
@@ -23,6 +23,8 @@ var _Bubble = _interopRequireDefault(require("./StyleSet/Bubble"));
23
23
 
24
24
  var _CarouselFilmStrip = _interopRequireDefault(require("./StyleSet/CarouselFilmStrip"));
25
25
 
26
+ var _CarouselFilmStripAttachment = _interopRequireDefault(require("./StyleSet/CarouselFilmStripAttachment"));
27
+
26
28
  var _CarouselFlipper = _interopRequireDefault(require("./StyleSet/CarouselFlipper"));
27
29
 
28
30
  var _ConnectivityNotification = _interopRequireDefault(require("./StyleSet/ConnectivityNotification"));
@@ -39,6 +41,8 @@ var _ImageAvatar = _interopRequireDefault(require("./StyleSet/ImageAvatar"));
39
41
 
40
42
  var _InitialsAvatar = _interopRequireDefault(require("./StyleSet/InitialsAvatar"));
41
43
 
44
+ var _KeyboardHelp = _interopRequireDefault(require("./StyleSet/KeyboardHelp"));
45
+
42
46
  var _MicrophoneButton = _interopRequireDefault(require("./StyleSet/MicrophoneButton"));
43
47
 
44
48
  var _Root = _interopRequireDefault(require("./StyleSet/Root"));
@@ -87,7 +91,7 @@ var _YouTubeContent = _interopRequireDefault(require("./StyleSet/YouTubeContent"
87
91
 
88
92
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
89
93
 
90
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
94
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
91
95
 
92
96
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
93
97
 
@@ -96,50 +100,52 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
96
100
  // TODO: [P4] We should add a notice for people who want to use "styleSet" instead of "styleOptions".
97
101
  // "styleSet" is actually CSS stylesheet and it is based on the DOM tree.
98
102
  // DOM tree may change from time to time, thus, maintaining "styleSet" becomes a constant effort.
99
- function createStyleSet(options) {
100
- options = (0, _botframeworkWebchatApi.normalizeStyleOptions)(options);
103
+ function createStyleSet(styleOptions) {
104
+ var strictStyleOptions = (0, _botframeworkWebchatApi.normalizeStyleOptions)(styleOptions);
101
105
  return {
102
106
  activities: (0, _Activities.default)(),
103
- audioAttachment: (0, _AudioAttachment.default)(options),
107
+ audioAttachment: (0, _AudioAttachment.default)(strictStyleOptions),
104
108
  audioContent: (0, _AudioContent.default)(),
105
- autoResizeTextArea: (0, _AutoResizeTextArea.default)(options),
106
- avatar: (0, _Avatar.default)(options),
107
- basicTranscript: (0, _BasicTranscript.default)(options),
108
- bubble: (0, _Bubble.default)(options),
109
- carouselFilmStrip: (0, _CarouselFilmStrip.default)(options),
110
- carouselFlipper: (0, _CarouselFlipper.default)(options),
111
- connectivityNotification: (0, _ConnectivityNotification.default)(options),
112
- dictationInterims: (0, _DictationInterims.default)(options),
113
- errorBox: (0, _ErrorBox.default)(options),
114
- errorNotification: (0, _ErrorNotification.default)(options),
115
- fileContent: (0, _FileContent.default)(options),
116
- imageAvatar: (0, _ImageAvatar.default)(options),
117
- initialsAvatar: (0, _InitialsAvatar.default)(options),
118
- microphoneButton: (0, _MicrophoneButton.default)(options),
119
- options: _objectSpread({}, options),
109
+ autoResizeTextArea: (0, _AutoResizeTextArea.default)(strictStyleOptions),
110
+ avatar: (0, _Avatar.default)(strictStyleOptions),
111
+ basicTranscript: (0, _BasicTranscript.default)(strictStyleOptions),
112
+ bubble: (0, _Bubble.default)(strictStyleOptions),
113
+ carouselFilmStrip: (0, _CarouselFilmStrip.default)(strictStyleOptions),
114
+ carouselFilmStripAttachment: (0, _CarouselFilmStripAttachment.default)(strictStyleOptions),
115
+ carouselFlipper: (0, _CarouselFlipper.default)(strictStyleOptions),
116
+ connectivityNotification: (0, _ConnectivityNotification.default)(strictStyleOptions),
117
+ dictationInterims: (0, _DictationInterims.default)(strictStyleOptions),
118
+ errorBox: (0, _ErrorBox.default)(strictStyleOptions),
119
+ errorNotification: (0, _ErrorNotification.default)(strictStyleOptions),
120
+ fileContent: (0, _FileContent.default)(strictStyleOptions),
121
+ imageAvatar: (0, _ImageAvatar.default)(strictStyleOptions),
122
+ initialsAvatar: (0, _InitialsAvatar.default)(strictStyleOptions),
123
+ keyboardHelp: (0, _KeyboardHelp.default)(strictStyleOptions),
124
+ microphoneButton: (0, _MicrophoneButton.default)(strictStyleOptions),
125
+ options: _objectSpread({}, strictStyleOptions),
120
126
  // Cloned to make sure no additional modifications will propagate up.
121
- root: (0, _Root.default)(options),
122
- scrollToEndButton: (0, _ScrollToEndButton.default)(options),
123
- sendBox: (0, _SendBox.default)(options),
124
- sendBoxButton: (0, _SendBoxButton.default)(options),
125
- sendBoxTextBox: (0, _SendBoxTextBox.default)(options),
126
- sendStatus: (0, _SendStatus.default)(options),
127
- singleAttachmentActivity: (0, _SingleAttachmentActivity.default)(options),
128
- spinnerAnimation: (0, _SpinnerAnimation.default)(options),
129
- stackedLayout: (0, _StackedLayout.default)(options),
130
- suggestedAction: (0, _SuggestedAction.default)(options),
131
- suggestedActions: (0, _SuggestedActions.default)(options),
132
- textContent: (0, _TextContent.default)(options),
133
- toast: (0, _Toast.default)(options),
134
- toaster: (0, _Toaster.default)(options),
135
- typingAnimation: (0, _TypingAnimation.default)(options),
136
- typingIndicator: (0, _TypingIndicator.default)(options),
137
- uploadButton: (0, _UploadButton.default)(options),
127
+ root: (0, _Root.default)(strictStyleOptions),
128
+ scrollToEndButton: (0, _ScrollToEndButton.default)(strictStyleOptions),
129
+ sendBox: (0, _SendBox.default)(strictStyleOptions),
130
+ sendBoxButton: (0, _SendBoxButton.default)(strictStyleOptions),
131
+ sendBoxTextBox: (0, _SendBoxTextBox.default)(strictStyleOptions),
132
+ sendStatus: (0, _SendStatus.default)(strictStyleOptions),
133
+ singleAttachmentActivity: (0, _SingleAttachmentActivity.default)(strictStyleOptions),
134
+ spinnerAnimation: (0, _SpinnerAnimation.default)(strictStyleOptions),
135
+ stackedLayout: (0, _StackedLayout.default)(strictStyleOptions),
136
+ suggestedAction: (0, _SuggestedAction.default)(strictStyleOptions),
137
+ suggestedActions: (0, _SuggestedActions.default)(strictStyleOptions),
138
+ textContent: (0, _TextContent.default)(strictStyleOptions),
139
+ toast: (0, _Toast.default)(strictStyleOptions),
140
+ toaster: (0, _Toaster.default)(strictStyleOptions),
141
+ typingAnimation: (0, _TypingAnimation.default)(strictStyleOptions),
142
+ typingIndicator: (0, _TypingIndicator.default)(strictStyleOptions),
143
+ uploadButton: (0, _UploadButton.default)(strictStyleOptions),
138
144
  videoAttachment: (0, _VideoAttachment.default)(),
139
- videoContent: (0, _VideoContent.default)(options),
140
- vimeoContent: (0, _VimeoContent.default)(options),
141
- warningNotification: (0, _WarningNotification.default)(options),
142
- youTubeContent: (0, _YouTubeContent.default)(options)
145
+ videoContent: (0, _VideoContent.default)(strictStyleOptions),
146
+ vimeoContent: (0, _VimeoContent.default)(strictStyleOptions),
147
+ warningNotification: (0, _WarningNotification.default)(strictStyleOptions),
148
+ youTubeContent: (0, _YouTubeContent.default)(strictStyleOptions)
143
149
  };
144
150
  }
145
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TdHlsZXMvY3JlYXRlU3R5bGVTZXQudHMiXSwibmFtZXMiOlsiY3JlYXRlU3R5bGVTZXQiLCJvcHRpb25zIiwiYWN0aXZpdGllcyIsImF1ZGlvQXR0YWNobWVudCIsImF1ZGlvQ29udGVudCIsImF1dG9SZXNpemVUZXh0QXJlYSIsImF2YXRhciIsImJhc2ljVHJhbnNjcmlwdCIsImJ1YmJsZSIsImNhcm91c2VsRmlsbVN0cmlwIiwiY2Fyb3VzZWxGbGlwcGVyIiwiY29ubmVjdGl2aXR5Tm90aWZpY2F0aW9uIiwiZGljdGF0aW9uSW50ZXJpbXMiLCJlcnJvckJveCIsImVycm9yTm90aWZpY2F0aW9uIiwiZmlsZUNvbnRlbnQiLCJpbWFnZUF2YXRhciIsImluaXRpYWxzQXZhdGFyIiwibWljcm9waG9uZUJ1dHRvbiIsInJvb3QiLCJzY3JvbGxUb0VuZEJ1dHRvbiIsInNlbmRCb3giLCJzZW5kQm94QnV0dG9uIiwic2VuZEJveFRleHRCb3giLCJzZW5kU3RhdHVzIiwic2luZ2xlQXR0YWNobWVudEFjdGl2aXR5Iiwic3Bpbm5lckFuaW1hdGlvbiIsInN0YWNrZWRMYXlvdXQiLCJzdWdnZXN0ZWRBY3Rpb24iLCJzdWdnZXN0ZWRBY3Rpb25zIiwidGV4dENvbnRlbnQiLCJ0b2FzdCIsInRvYXN0ZXIiLCJ0eXBpbmdBbmltYXRpb24iLCJ0eXBpbmdJbmRpY2F0b3IiLCJ1cGxvYWRCdXR0b24iLCJ2aWRlb0F0dGFjaG1lbnQiLCJ2aWRlb0NvbnRlbnQiLCJ2aW1lb0NvbnRlbnQiLCJ3YXJuaW5nTm90aWZpY2F0aW9uIiwieW91VHViZUNvbnRlbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBO0FBQ0E7QUFDQTtBQUVlLFNBQVNBLGNBQVQsQ0FBd0JDLE9BQXhCLEVBQStDO0FBQzVEQSxFQUFBQSxPQUFPLEdBQUcsbURBQXNCQSxPQUF0QixDQUFWO0FBRUEsU0FBTztBQUNMQyxJQUFBQSxVQUFVLEVBQUUsMEJBRFA7QUFFTEMsSUFBQUEsZUFBZSxFQUFFLDhCQUEyQkYsT0FBM0IsQ0FGWjtBQUdMRyxJQUFBQSxZQUFZLEVBQUUsNEJBSFQ7QUFJTEMsSUFBQUEsa0JBQWtCLEVBQUUsaUNBQThCSixPQUE5QixDQUpmO0FBS0xLLElBQUFBLE1BQU0sRUFBRSxxQkFBa0JMLE9BQWxCLENBTEg7QUFNTE0sSUFBQUEsZUFBZSxFQUFFLDhCQUEyQk4sT0FBM0IsQ0FOWjtBQU9MTyxJQUFBQSxNQUFNLEVBQUUscUJBQWtCUCxPQUFsQixDQVBIO0FBUUxRLElBQUFBLGlCQUFpQixFQUFFLGdDQUF3QlIsT0FBeEIsQ0FSZDtBQVNMUyxJQUFBQSxlQUFlLEVBQUUsOEJBQXNCVCxPQUF0QixDQVRaO0FBVUxVLElBQUFBLHdCQUF3QixFQUFFLHVDQUErQlYsT0FBL0IsQ0FWckI7QUFXTFcsSUFBQUEsaUJBQWlCLEVBQUUsZ0NBQTZCWCxPQUE3QixDQVhkO0FBWUxZLElBQUFBLFFBQVEsRUFBRSx1QkFBb0JaLE9BQXBCLENBWkw7QUFhTGEsSUFBQUEsaUJBQWlCLEVBQUUsZ0NBQTZCYixPQUE3QixDQWJkO0FBY0xjLElBQUFBLFdBQVcsRUFBRSwwQkFBdUJkLE9BQXZCLENBZFI7QUFlTGUsSUFBQUEsV0FBVyxFQUFFLDBCQUF1QmYsT0FBdkIsQ0FmUjtBQWdCTGdCLElBQUFBLGNBQWMsRUFBRSw2QkFBMEJoQixPQUExQixDQWhCWDtBQWlCTGlCLElBQUFBLGdCQUFnQixFQUFFLCtCQUE0QmpCLE9BQTVCLENBakJiO0FBa0JMQSxJQUFBQSxPQUFPLG9CQUFPQSxPQUFQLENBbEJGO0FBa0JvQjtBQUN6QmtCLElBQUFBLElBQUksRUFBRSxtQkFBZ0JsQixPQUFoQixDQW5CRDtBQW9CTG1CLElBQUFBLGlCQUFpQixFQUFFLGdDQUE2Qm5CLE9BQTdCLENBcEJkO0FBcUJMb0IsSUFBQUEsT0FBTyxFQUFFLHNCQUFtQnBCLE9BQW5CLENBckJKO0FBc0JMcUIsSUFBQUEsYUFBYSxFQUFFLDRCQUF5QnJCLE9BQXpCLENBdEJWO0FBdUJMc0IsSUFBQUEsY0FBYyxFQUFFLDZCQUEwQnRCLE9BQTFCLENBdkJYO0FBd0JMdUIsSUFBQUEsVUFBVSxFQUFFLHlCQUFzQnZCLE9BQXRCLENBeEJQO0FBeUJMd0IsSUFBQUEsd0JBQXdCLEVBQUUsdUNBQW9DeEIsT0FBcEMsQ0F6QnJCO0FBMEJMeUIsSUFBQUEsZ0JBQWdCLEVBQUUsK0JBQTRCekIsT0FBNUIsQ0ExQmI7QUEyQkwwQixJQUFBQSxhQUFhLEVBQUUsNEJBQXlCMUIsT0FBekIsQ0EzQlY7QUE0QkwyQixJQUFBQSxlQUFlLEVBQUUsOEJBQTJCM0IsT0FBM0IsQ0E1Qlo7QUE2Qkw0QixJQUFBQSxnQkFBZ0IsRUFBRSwrQkFBNEI1QixPQUE1QixDQTdCYjtBQThCTDZCLElBQUFBLFdBQVcsRUFBRSwwQkFBdUI3QixPQUF2QixDQTlCUjtBQStCTDhCLElBQUFBLEtBQUssRUFBRSxvQkFBaUI5QixPQUFqQixDQS9CRjtBQWdDTCtCLElBQUFBLE9BQU8sRUFBRSxzQkFBbUIvQixPQUFuQixDQWhDSjtBQWlDTGdDLElBQUFBLGVBQWUsRUFBRSw4QkFBMkJoQyxPQUEzQixDQWpDWjtBQWtDTGlDLElBQUFBLGVBQWUsRUFBRSw4QkFBMkJqQyxPQUEzQixDQWxDWjtBQW1DTGtDLElBQUFBLFlBQVksRUFBRSwyQkFBd0JsQyxPQUF4QixDQW5DVDtBQW9DTG1DLElBQUFBLGVBQWUsRUFBRSwrQkFwQ1o7QUFxQ0xDLElBQUFBLFlBQVksRUFBRSwyQkFBd0JwQyxPQUF4QixDQXJDVDtBQXNDTHFDLElBQUFBLFlBQVksRUFBRSwyQkFBd0JyQyxPQUF4QixDQXRDVDtBQXVDTHNDLElBQUFBLG1CQUFtQixFQUFFLGtDQUErQnRDLE9BQS9CLENBdkNoQjtBQXdDTHVDLElBQUFBLGNBQWMsRUFBRSw2QkFBMEJ2QyxPQUExQjtBQXhDWCxHQUFQO0FBMENEIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBjb21wbGV4aXR5ICovXG5pbXBvcnQgeyBub3JtYWxpemVTdHlsZU9wdGlvbnMsIFN0eWxlT3B0aW9ucyB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWFwaSc7XG5cbmltcG9ydCBjcmVhdGVBY3Rpdml0aWVzU3R5bGUgZnJvbSAnLi9TdHlsZVNldC9BY3Rpdml0aWVzJztcbmltcG9ydCBjcmVhdGVBdWRpb0F0dGFjaG1lbnRTdHlsZSBmcm9tICcuL1N0eWxlU2V0L0F1ZGlvQXR0YWNobWVudCc7XG5pbXBvcnQgY3JlYXRlQXVkaW9Db250ZW50U3R5bGUgZnJvbSAnLi9TdHlsZVNldC9BdWRpb0NvbnRlbnQnO1xuaW1wb3J0IGNyZWF0ZUF1dG9SZXNpemVUZXh0QXJlYVN0eWxlIGZyb20gJy4vU3R5bGVTZXQvQXV0b1Jlc2l6ZVRleHRBcmVhJztcbmltcG9ydCBjcmVhdGVBdmF0YXJTdHlsZSBmcm9tICcuL1N0eWxlU2V0L0F2YXRhcic7XG5pbXBvcnQgY3JlYXRlQmFzaWNUcmFuc2NyaXB0U3R5bGUgZnJvbSAnLi9TdHlsZVNldC9CYXNpY1RyYW5zY3JpcHQnO1xuaW1wb3J0IGNyZWF0ZUJ1YmJsZVN0eWxlIGZyb20gJy4vU3R5bGVTZXQvQnViYmxlJztcbmltcG9ydCBjcmVhdGVDYXJvdXNlbEZpbG1TdHJpcCBmcm9tICcuL1N0eWxlU2V0L0Nhcm91c2VsRmlsbVN0cmlwJztcbmltcG9ydCBjcmVhdGVDYXJvdXNlbEZsaXBwZXIgZnJvbSAnLi9TdHlsZVNldC9DYXJvdXNlbEZsaXBwZXInO1xuaW1wb3J0IGNyZWF0ZUNvbm5lY3Rpdml0eU5vdGlmaWNhdGlvbiBmcm9tICcuL1N0eWxlU2V0L0Nvbm5lY3Rpdml0eU5vdGlmaWNhdGlvbic7XG5pbXBvcnQgY3JlYXRlRGljdGF0aW9uSW50ZXJpbXNTdHlsZSBmcm9tICcuL1N0eWxlU2V0L0RpY3RhdGlvbkludGVyaW1zJztcbmltcG9ydCBjcmVhdGVFcnJvckJveFN0eWxlIGZyb20gJy4vU3R5bGVTZXQvRXJyb3JCb3gnO1xuaW1wb3J0IGNyZWF0ZUVycm9yTm90aWZpY2F0aW9uU3R5bGUgZnJvbSAnLi9TdHlsZVNldC9FcnJvck5vdGlmaWNhdGlvbic7XG5pbXBvcnQgY3JlYXRlRmlsZUNvbnRlbnRTdHlsZSBmcm9tICcuL1N0eWxlU2V0L0ZpbGVDb250ZW50JztcbmltcG9ydCBjcmVhdGVJbWFnZUF2YXRhclN0eWxlIGZyb20gJy4vU3R5bGVTZXQvSW1hZ2VBdmF0YXInO1xuaW1wb3J0IGNyZWF0ZUluaXRpYWxzQXZhdGFyU3R5bGUgZnJvbSAnLi9TdHlsZVNldC9Jbml0aWFsc0F2YXRhcic7XG5pbXBvcnQgY3JlYXRlTWljcm9waG9uZUJ1dHRvblN0eWxlIGZyb20gJy4vU3R5bGVTZXQvTWljcm9waG9uZUJ1dHRvbic7XG5pbXBvcnQgY3JlYXRlUm9vdFN0eWxlIGZyb20gJy4vU3R5bGVTZXQvUm9vdCc7XG5pbXBvcnQgY3JlYXRlU2Nyb2xsVG9FbmRCdXR0b25TdHlsZSBmcm9tICcuL1N0eWxlU2V0L1Njcm9sbFRvRW5kQnV0dG9uJztcbmltcG9ydCBjcmVhdGVTZW5kQm94QnV0dG9uU3R5bGUgZnJvbSAnLi9TdHlsZVNldC9TZW5kQm94QnV0dG9uJztcbmltcG9ydCBjcmVhdGVTZW5kQm94U3R5bGUgZnJvbSAnLi9TdHlsZVNldC9TZW5kQm94JztcbmltcG9ydCBjcmVhdGVTZW5kQm94VGV4dEJveFN0eWxlIGZyb20gJy4vU3R5bGVTZXQvU2VuZEJveFRleHRCb3gnO1xuaW1wb3J0IGNyZWF0ZVNlbmRTdGF0dXNTdHlsZSBmcm9tICcuL1N0eWxlU2V0L1NlbmRTdGF0dXMnO1xuaW1wb3J0IGNyZWF0ZVNpbmdsZUF0dGFjaG1lbnRBY3Rpdml0eVN0eWxlIGZyb20gJy4vU3R5bGVTZXQvU2luZ2xlQXR0YWNobWVudEFjdGl2aXR5JztcbmltcG9ydCBjcmVhdGVTcGlubmVyQW5pbWF0aW9uU3R5bGUgZnJvbSAnLi9TdHlsZVNldC9TcGlubmVyQW5pbWF0aW9uJztcbmltcG9ydCBjcmVhdGVTdGFja2VkTGF5b3V0U3R5bGUgZnJvbSAnLi9TdHlsZVNldC9TdGFja2VkTGF5b3V0JztcbmltcG9ydCBjcmVhdGVTdWdnZXN0ZWRBY3Rpb25zU3R5bGUgZnJvbSAnLi9TdHlsZVNldC9TdWdnZXN0ZWRBY3Rpb25zJztcbmltcG9ydCBjcmVhdGVTdWdnZXN0ZWRBY3Rpb25TdHlsZSBmcm9tICcuL1N0eWxlU2V0L1N1Z2dlc3RlZEFjdGlvbic7XG5pbXBvcnQgY3JlYXRlVGV4dENvbnRlbnRTdHlsZSBmcm9tICcuL1N0eWxlU2V0L1RleHRDb250ZW50JztcbmltcG9ydCBjcmVhdGVUb2FzdGVyU3R5bGUgZnJvbSAnLi9TdHlsZVNldC9Ub2FzdGVyJztcbmltcG9ydCBjcmVhdGVUb2FzdFN0eWxlIGZyb20gJy4vU3R5bGVTZXQvVG9hc3QnO1xuaW1wb3J0IGNyZWF0ZVR5cGluZ0FuaW1hdGlvblN0eWxlIGZyb20gJy4vU3R5bGVTZXQvVHlwaW5nQW5pbWF0aW9uJztcbmltcG9ydCBjcmVhdGVUeXBpbmdJbmRpY2F0b3JTdHlsZSBmcm9tICcuL1N0eWxlU2V0L1R5cGluZ0luZGljYXRvcic7XG5pbXBvcnQgY3JlYXRlVXBsb2FkQnV0dG9uU3R5bGUgZnJvbSAnLi9TdHlsZVNldC9VcGxvYWRCdXR0b24nO1xuaW1wb3J0IGNyZWF0ZVZpZGVvQXR0YWNobWVudFN0eWxlIGZyb20gJy4vU3R5bGVTZXQvVmlkZW9BdHRhY2htZW50JztcbmltcG9ydCBjcmVhdGVWaWRlb0NvbnRlbnRTdHlsZSBmcm9tICcuL1N0eWxlU2V0L1ZpZGVvQ29udGVudCc7XG5pbXBvcnQgY3JlYXRlVmltZW9Db250ZW50U3R5bGUgZnJvbSAnLi9TdHlsZVNldC9WaW1lb0NvbnRlbnQnO1xuaW1wb3J0IGNyZWF0ZVdhcm5pbmdOb3RpZmljYXRpb25TdHlsZSBmcm9tICcuL1N0eWxlU2V0L1dhcm5pbmdOb3RpZmljYXRpb24nO1xuaW1wb3J0IGNyZWF0ZVlvdVR1YmVDb250ZW50U3R5bGUgZnJvbSAnLi9TdHlsZVNldC9Zb3VUdWJlQ29udGVudCc7XG5cbi8vIFRPRE86IFtQNF0gV2Ugc2hvdWxkIGFkZCBhIG5vdGljZSBmb3IgcGVvcGxlIHdobyB3YW50IHRvIHVzZSBcInN0eWxlU2V0XCIgaW5zdGVhZCBvZiBcInN0eWxlT3B0aW9uc1wiLlxuLy8gICAgICAgXCJzdHlsZVNldFwiIGlzIGFjdHVhbGx5IENTUyBzdHlsZXNoZWV0IGFuZCBpdCBpcyBiYXNlZCBvbiB0aGUgRE9NIHRyZWUuXG4vLyAgICAgICBET00gdHJlZSBtYXkgY2hhbmdlIGZyb20gdGltZSB0byB0aW1lLCB0aHVzLCBtYWludGFpbmluZyBcInN0eWxlU2V0XCIgYmVjb21lcyBhIGNvbnN0YW50IGVmZm9ydC5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlU3R5bGVTZXQob3B0aW9uczogU3R5bGVPcHRpb25zKSB7XG4gIG9wdGlvbnMgPSBub3JtYWxpemVTdHlsZU9wdGlvbnMob3B0aW9ucyk7XG5cbiAgcmV0dXJuIHtcbiAgICBhY3Rpdml0aWVzOiBjcmVhdGVBY3Rpdml0aWVzU3R5bGUoKSxcbiAgICBhdWRpb0F0dGFjaG1lbnQ6IGNyZWF0ZUF1ZGlvQXR0YWNobWVudFN0eWxlKG9wdGlvbnMpLFxuICAgIGF1ZGlvQ29udGVudDogY3JlYXRlQXVkaW9Db250ZW50U3R5bGUoKSxcbiAgICBhdXRvUmVzaXplVGV4dEFyZWE6IGNyZWF0ZUF1dG9SZXNpemVUZXh0QXJlYVN0eWxlKG9wdGlvbnMpLFxuICAgIGF2YXRhcjogY3JlYXRlQXZhdGFyU3R5bGUob3B0aW9ucyksXG4gICAgYmFzaWNUcmFuc2NyaXB0OiBjcmVhdGVCYXNpY1RyYW5zY3JpcHRTdHlsZShvcHRpb25zKSxcbiAgICBidWJibGU6IGNyZWF0ZUJ1YmJsZVN0eWxlKG9wdGlvbnMpLFxuICAgIGNhcm91c2VsRmlsbVN0cmlwOiBjcmVhdGVDYXJvdXNlbEZpbG1TdHJpcChvcHRpb25zKSxcbiAgICBjYXJvdXNlbEZsaXBwZXI6IGNyZWF0ZUNhcm91c2VsRmxpcHBlcihvcHRpb25zKSxcbiAgICBjb25uZWN0aXZpdHlOb3RpZmljYXRpb246IGNyZWF0ZUNvbm5lY3Rpdml0eU5vdGlmaWNhdGlvbihvcHRpb25zKSxcbiAgICBkaWN0YXRpb25JbnRlcmltczogY3JlYXRlRGljdGF0aW9uSW50ZXJpbXNTdHlsZShvcHRpb25zKSxcbiAgICBlcnJvckJveDogY3JlYXRlRXJyb3JCb3hTdHlsZShvcHRpb25zKSxcbiAgICBlcnJvck5vdGlmaWNhdGlvbjogY3JlYXRlRXJyb3JOb3RpZmljYXRpb25TdHlsZShvcHRpb25zKSxcbiAgICBmaWxlQ29udGVudDogY3JlYXRlRmlsZUNvbnRlbnRTdHlsZShvcHRpb25zKSxcbiAgICBpbWFnZUF2YXRhcjogY3JlYXRlSW1hZ2VBdmF0YXJTdHlsZShvcHRpb25zKSxcbiAgICBpbml0aWFsc0F2YXRhcjogY3JlYXRlSW5pdGlhbHNBdmF0YXJTdHlsZShvcHRpb25zKSxcbiAgICBtaWNyb3Bob25lQnV0dG9uOiBjcmVhdGVNaWNyb3Bob25lQnV0dG9uU3R5bGUob3B0aW9ucyksXG4gICAgb3B0aW9uczogeyAuLi5vcHRpb25zIH0sIC8vIENsb25lZCB0byBtYWtlIHN1cmUgbm8gYWRkaXRpb25hbCBtb2RpZmljYXRpb25zIHdpbGwgcHJvcGFnYXRlIHVwLlxuICAgIHJvb3Q6IGNyZWF0ZVJvb3RTdHlsZShvcHRpb25zKSxcbiAgICBzY3JvbGxUb0VuZEJ1dHRvbjogY3JlYXRlU2Nyb2xsVG9FbmRCdXR0b25TdHlsZShvcHRpb25zKSxcbiAgICBzZW5kQm94OiBjcmVhdGVTZW5kQm94U3R5bGUob3B0aW9ucyksXG4gICAgc2VuZEJveEJ1dHRvbjogY3JlYXRlU2VuZEJveEJ1dHRvblN0eWxlKG9wdGlvbnMpLFxuICAgIHNlbmRCb3hUZXh0Qm94OiBjcmVhdGVTZW5kQm94VGV4dEJveFN0eWxlKG9wdGlvbnMpLFxuICAgIHNlbmRTdGF0dXM6IGNyZWF0ZVNlbmRTdGF0dXNTdHlsZShvcHRpb25zKSxcbiAgICBzaW5nbGVBdHRhY2htZW50QWN0aXZpdHk6IGNyZWF0ZVNpbmdsZUF0dGFjaG1lbnRBY3Rpdml0eVN0eWxlKG9wdGlvbnMpLFxuICAgIHNwaW5uZXJBbmltYXRpb246IGNyZWF0ZVNwaW5uZXJBbmltYXRpb25TdHlsZShvcHRpb25zKSxcbiAgICBzdGFja2VkTGF5b3V0OiBjcmVhdGVTdGFja2VkTGF5b3V0U3R5bGUob3B0aW9ucyksXG4gICAgc3VnZ2VzdGVkQWN0aW9uOiBjcmVhdGVTdWdnZXN0ZWRBY3Rpb25TdHlsZShvcHRpb25zKSxcbiAgICBzdWdnZXN0ZWRBY3Rpb25zOiBjcmVhdGVTdWdnZXN0ZWRBY3Rpb25zU3R5bGUob3B0aW9ucyksXG4gICAgdGV4dENvbnRlbnQ6IGNyZWF0ZVRleHRDb250ZW50U3R5bGUob3B0aW9ucyksXG4gICAgdG9hc3Q6IGNyZWF0ZVRvYXN0U3R5bGUob3B0aW9ucyksXG4gICAgdG9hc3RlcjogY3JlYXRlVG9hc3RlclN0eWxlKG9wdGlvbnMpLFxuICAgIHR5cGluZ0FuaW1hdGlvbjogY3JlYXRlVHlwaW5nQW5pbWF0aW9uU3R5bGUob3B0aW9ucyksXG4gICAgdHlwaW5nSW5kaWNhdG9yOiBjcmVhdGVUeXBpbmdJbmRpY2F0b3JTdHlsZShvcHRpb25zKSxcbiAgICB1cGxvYWRCdXR0b246IGNyZWF0ZVVwbG9hZEJ1dHRvblN0eWxlKG9wdGlvbnMpLFxuICAgIHZpZGVvQXR0YWNobWVudDogY3JlYXRlVmlkZW9BdHRhY2htZW50U3R5bGUoKSxcbiAgICB2aWRlb0NvbnRlbnQ6IGNyZWF0ZVZpZGVvQ29udGVudFN0eWxlKG9wdGlvbnMpLFxuICAgIHZpbWVvQ29udGVudDogY3JlYXRlVmltZW9Db250ZW50U3R5bGUob3B0aW9ucyksXG4gICAgd2FybmluZ05vdGlmaWNhdGlvbjogY3JlYXRlV2FybmluZ05vdGlmaWNhdGlvblN0eWxlKG9wdGlvbnMpLFxuICAgIHlvdVR1YmVDb250ZW50OiBjcmVhdGVZb3VUdWJlQ29udGVudFN0eWxlKG9wdGlvbnMpXG4gIH07XG59XG4iXX0=
151
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TdHlsZXMvY3JlYXRlU3R5bGVTZXQudHMiXSwibmFtZXMiOlsiY3JlYXRlU3R5bGVTZXQiLCJzdHlsZU9wdGlvbnMiLCJzdHJpY3RTdHlsZU9wdGlvbnMiLCJhY3Rpdml0aWVzIiwiYXVkaW9BdHRhY2htZW50IiwiYXVkaW9Db250ZW50IiwiYXV0b1Jlc2l6ZVRleHRBcmVhIiwiYXZhdGFyIiwiYmFzaWNUcmFuc2NyaXB0IiwiYnViYmxlIiwiY2Fyb3VzZWxGaWxtU3RyaXAiLCJjYXJvdXNlbEZpbG1TdHJpcEF0dGFjaG1lbnQiLCJjYXJvdXNlbEZsaXBwZXIiLCJjb25uZWN0aXZpdHlOb3RpZmljYXRpb24iLCJkaWN0YXRpb25JbnRlcmltcyIsImVycm9yQm94IiwiZXJyb3JOb3RpZmljYXRpb24iLCJmaWxlQ29udGVudCIsImltYWdlQXZhdGFyIiwiaW5pdGlhbHNBdmF0YXIiLCJrZXlib2FyZEhlbHAiLCJtaWNyb3Bob25lQnV0dG9uIiwib3B0aW9ucyIsInJvb3QiLCJzY3JvbGxUb0VuZEJ1dHRvbiIsInNlbmRCb3giLCJzZW5kQm94QnV0dG9uIiwic2VuZEJveFRleHRCb3giLCJzZW5kU3RhdHVzIiwic2luZ2xlQXR0YWNobWVudEFjdGl2aXR5Iiwic3Bpbm5lckFuaW1hdGlvbiIsInN0YWNrZWRMYXlvdXQiLCJzdWdnZXN0ZWRBY3Rpb24iLCJzdWdnZXN0ZWRBY3Rpb25zIiwidGV4dENvbnRlbnQiLCJ0b2FzdCIsInRvYXN0ZXIiLCJ0eXBpbmdBbmltYXRpb24iLCJ0eXBpbmdJbmRpY2F0b3IiLCJ1cGxvYWRCdXR0b24iLCJ2aWRlb0F0dGFjaG1lbnQiLCJ2aWRlb0NvbnRlbnQiLCJ2aW1lb0NvbnRlbnQiLCJ3YXJuaW5nTm90aWZpY2F0aW9uIiwieW91VHViZUNvbnRlbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7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QW1DTG1DLElBQUFBLGVBQWUsRUFBRSw4QkFBMkJuQyxrQkFBM0IsQ0FuQ1o7QUFvQ0xvQyxJQUFBQSxlQUFlLEVBQUUsOEJBQTJCcEMsa0JBQTNCLENBcENaO0FBcUNMcUMsSUFBQUEsWUFBWSxFQUFFLDJCQUF3QnJDLGtCQUF4QixDQXJDVDtBQXNDTHNDLElBQUFBLGVBQWUsRUFBRSwrQkF0Q1o7QUF1Q0xDLElBQUFBLFlBQVksRUFBRSwyQkFBd0J2QyxrQkFBeEIsQ0F2Q1Q7QUF3Q0x3QyxJQUFBQSxZQUFZLEVBQUUsMkJBQXdCeEMsa0JBQXhCLENBeENUO0FBeUNMeUMsSUFBQUEsbUJBQW1CLEVBQUUsa0NBQStCekMsa0JBQS9CLENBekNoQjtBQTBDTDBDLElBQUFBLGNBQWMsRUFBRSw2QkFBMEIxQyxrQkFBMUI7QUExQ1gsR0FBUDtBQTRDRCIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbm9ybWFsaXplU3R5bGVPcHRpb25zLCBTdHlsZU9wdGlvbnMgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1hcGknO1xuXG5pbXBvcnQgY3JlYXRlQWN0aXZpdGllc1N0eWxlIGZyb20gJy4vU3R5bGVTZXQvQWN0aXZpdGllcyc7XG5pbXBvcnQgY3JlYXRlQXVkaW9BdHRhY2htZW50U3R5bGUgZnJvbSAnLi9TdHlsZVNldC9BdWRpb0F0dGFjaG1lbnQnO1xuaW1wb3J0IGNyZWF0ZUF1ZGlvQ29udGVudFN0eWxlIGZyb20gJy4vU3R5bGVTZXQvQXVkaW9Db250ZW50JztcbmltcG9ydCBjcmVhdGVBdXRvUmVzaXplVGV4dEFyZWFTdHlsZSBmcm9tICcuL1N0eWxlU2V0L0F1dG9SZXNpemVUZXh0QXJlYSc7XG5pbXBvcnQgY3JlYXRlQXZhdGFyU3R5bGUgZnJvbSAnLi9TdHlsZVNldC9BdmF0YXInO1xuaW1wb3J0IGNyZWF0ZUJhc2ljVHJhbnNjcmlwdFN0eWxlIGZyb20gJy4vU3R5bGVTZXQvQmFzaWNUcmFuc2NyaXB0JztcbmltcG9ydCBjcmVhdGVCdWJibGVTdHlsZSBmcm9tICcuL1N0eWxlU2V0L0J1YmJsZSc7XG5pbXBvcnQgY3JlYXRlQ2Fyb3VzZWxGaWxtU3RyaXAgZnJvbSAnLi9TdHlsZVNldC9DYXJvdXNlbEZpbG1TdHJpcCc7XG5pbXBvcnQgY3JlYXRlQ2Fyb3VzZWxGaWxtU3RyaXBBdHRhY2htZW50IGZyb20gJy4vU3R5bGVTZXQvQ2Fyb3VzZWxGaWxtU3RyaXBBdHRhY2htZW50JztcbmltcG9ydCBjcmVhdGVDYXJvdXNlbEZsaXBwZXIgZnJvbSAnLi9TdHlsZVNldC9DYXJvdXNlbEZsaXBwZXInO1xuaW1wb3J0IGNyZWF0ZUNvbm5lY3Rpdml0eU5vdGlmaWNhdGlvbiBmcm9tICcuL1N0eWxlU2V0L0Nvbm5lY3Rpdml0eU5vdGlmaWNhdGlvbic7XG5pbXBvcnQgY3JlYXRlRGljdGF0aW9uSW50ZXJpbXNTdHlsZSBmcm9tICcuL1N0eWxlU2V0L0RpY3RhdGlvbkludGVyaW1zJztcbmltcG9ydCBjcmVhdGVFcnJvckJveFN0eWxlIGZyb20gJy4vU3R5bGVTZXQvRXJyb3JCb3gnO1xuaW1wb3J0IGNyZWF0ZUVycm9yTm90aWZpY2F0aW9uU3R5bGUgZnJvbSAnLi9TdHlsZVNldC9FcnJvck5vdGlmaWNhdGlvbic7XG5pbXBvcnQgY3JlYXRlRmlsZUNvbnRlbnRTdHlsZSBmcm9tICcuL1N0eWxlU2V0L0ZpbGVDb250ZW50JztcbmltcG9ydCBjcmVhdGVJbWFnZUF2YXRhclN0eWxlIGZyb20gJy4vU3R5bGVTZXQvSW1hZ2VBdmF0YXInO1xuaW1wb3J0IGNyZWF0ZUluaXRpYWxzQXZhdGFyU3R5bGUgZnJvbSAnLi9TdHlsZVNldC9Jbml0aWFsc0F2YXRhcic7XG5pbXBvcnQgY3JlYXRlS2V5Ym9hcmRIZWxwU3R5bGUgZnJvbSAnLi9TdHlsZVNldC9LZXlib2FyZEhlbHAnO1xuaW1wb3J0IGNyZWF0ZU1pY3JvcGhvbmVCdXR0b25TdHlsZSBmcm9tICcuL1N0eWxlU2V0L01pY3JvcGhvbmVCdXR0b24nO1xuaW1wb3J0IGNyZWF0ZVJvb3RTdHlsZSBmcm9tICcuL1N0eWxlU2V0L1Jvb3QnO1xuaW1wb3J0IGNyZWF0ZVNjcm9sbFRvRW5kQnV0dG9uU3R5bGUgZnJvbSAnLi9TdHlsZVNldC9TY3JvbGxUb0VuZEJ1dHRvbic7XG5pbXBvcnQgY3JlYXRlU2VuZEJveEJ1dHRvblN0eWxlIGZyb20gJy4vU3R5bGVTZXQvU2VuZEJveEJ1dHRvbic7XG5pbXBvcnQgY3JlYXRlU2VuZEJveFN0eWxlIGZyb20gJy4vU3R5bGVTZXQvU2VuZEJveCc7XG5pbXBvcnQgY3JlYXRlU2VuZEJveFRleHRCb3hTdHlsZSBmcm9tICcuL1N0eWxlU2V0L1NlbmRCb3hUZXh0Qm94JztcbmltcG9ydCBjcmVhdGVTZW5kU3RhdHVzU3R5bGUgZnJvbSAnLi9TdHlsZVNldC9TZW5kU3RhdHVzJztcbmltcG9ydCBjcmVhdGVTaW5nbGVBdHRhY2htZW50QWN0aXZpdHlTdHlsZSBmcm9tICcuL1N0eWxlU2V0L1NpbmdsZUF0dGFjaG1lbnRBY3Rpdml0eSc7XG5pbXBvcnQgY3JlYXRlU3Bpbm5lckFuaW1hdGlvblN0eWxlIGZyb20gJy4vU3R5bGVTZXQvU3Bpbm5lckFuaW1hdGlvbic7XG5pbXBvcnQgY3JlYXRlU3RhY2tlZExheW91dFN0eWxlIGZyb20gJy4vU3R5bGVTZXQvU3RhY2tlZExheW91dCc7XG5pbXBvcnQgY3JlYXRlU3VnZ2VzdGVkQWN0aW9uc1N0eWxlIGZyb20gJy4vU3R5bGVTZXQvU3VnZ2VzdGVkQWN0aW9ucyc7XG5pbXBvcnQgY3JlYXRlU3VnZ2VzdGVkQWN0aW9uU3R5bGUgZnJvbSAnLi9TdHlsZVNldC9TdWdnZXN0ZWRBY3Rpb24nO1xuaW1wb3J0IGNyZWF0ZVRleHRDb250ZW50U3R5bGUgZnJvbSAnLi9TdHlsZVNldC9UZXh0Q29udGVudCc7XG5pbXBvcnQgY3JlYXRlVG9hc3RlclN0eWxlIGZyb20gJy4vU3R5bGVTZXQvVG9hc3Rlcic7XG5pbXBvcnQgY3JlYXRlVG9hc3RTdHlsZSBmcm9tICcuL1N0eWxlU2V0L1RvYXN0JztcbmltcG9ydCBjcmVhdGVUeXBpbmdBbmltYXRpb25TdHlsZSBmcm9tICcuL1N0eWxlU2V0L1R5cGluZ0FuaW1hdGlvbic7XG5pbXBvcnQgY3JlYXRlVHlwaW5nSW5kaWNhdG9yU3R5bGUgZnJvbSAnLi9TdHlsZVNldC9UeXBpbmdJbmRpY2F0b3InO1xuaW1wb3J0IGNyZWF0ZVVwbG9hZEJ1dHRvblN0eWxlIGZyb20gJy4vU3R5bGVTZXQvVXBsb2FkQnV0dG9uJztcbmltcG9ydCBjcmVhdGVWaWRlb0F0dGFjaG1lbnRTdHlsZSBmcm9tICcuL1N0eWxlU2V0L1ZpZGVvQXR0YWNobWVudCc7XG5pbXBvcnQgY3JlYXRlVmlkZW9Db250ZW50U3R5bGUgZnJvbSAnLi9TdHlsZVNldC9WaWRlb0NvbnRlbnQnO1xuaW1wb3J0IGNyZWF0ZVZpbWVvQ29udGVudFN0eWxlIGZyb20gJy4vU3R5bGVTZXQvVmltZW9Db250ZW50JztcbmltcG9ydCBjcmVhdGVXYXJuaW5nTm90aWZpY2F0aW9uU3R5bGUgZnJvbSAnLi9TdHlsZVNldC9XYXJuaW5nTm90aWZpY2F0aW9uJztcbmltcG9ydCBjcmVhdGVZb3VUdWJlQ29udGVudFN0eWxlIGZyb20gJy4vU3R5bGVTZXQvWW91VHViZUNvbnRlbnQnO1xuXG4vLyBUT0RPOiBbUDRdIFdlIHNob3VsZCBhZGQgYSBub3RpY2UgZm9yIHBlb3BsZSB3aG8gd2FudCB0byB1c2UgXCJzdHlsZVNldFwiIGluc3RlYWQgb2YgXCJzdHlsZU9wdGlvbnNcIi5cbi8vICAgICAgIFwic3R5bGVTZXRcIiBpcyBhY3R1YWxseSBDU1Mgc3R5bGVzaGVldCBhbmQgaXQgaXMgYmFzZWQgb24gdGhlIERPTSB0cmVlLlxuLy8gICAgICAgRE9NIHRyZWUgbWF5IGNoYW5nZSBmcm9tIHRpbWUgdG8gdGltZSwgdGh1cywgbWFpbnRhaW5pbmcgXCJzdHlsZVNldFwiIGJlY29tZXMgYSBjb25zdGFudCBlZmZvcnQuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZVN0eWxlU2V0KHN0eWxlT3B0aW9uczogU3R5bGVPcHRpb25zKSB7XG4gIGNvbnN0IHN0cmljdFN0eWxlT3B0aW9ucyA9IG5vcm1hbGl6ZVN0eWxlT3B0aW9ucyhzdHlsZU9wdGlvbnMpO1xuXG4gIHJldHVybiB7XG4gICAgYWN0aXZpdGllczogY3JlYXRlQWN0aXZpdGllc1N0eWxlKCksXG4gICAgYXVkaW9BdHRhY2htZW50OiBjcmVhdGVBdWRpb0F0dGFjaG1lbnRTdHlsZShzdHJpY3RTdHlsZU9wdGlvbnMpLFxuICAgIGF1ZGlvQ29udGVudDogY3JlYXRlQXVkaW9Db250ZW50U3R5bGUoKSxcbiAgICBhdXRvUmVzaXplVGV4dEFyZWE6IGNyZWF0ZUF1dG9SZXNpemVUZXh0QXJlYVN0eWxlKHN0cmljdFN0eWxlT3B0aW9ucyksXG4gICAgYXZhdGFyOiBjcmVhdGVBdmF0YXJTdHlsZShzdHJpY3RTdHlsZU9wdGlvbnMpLFxuICAgIGJhc2ljVHJhbnNjcmlwdDogY3JlYXRlQmFzaWNUcmFuc2NyaXB0U3R5bGUoc3RyaWN0U3R5bGVPcHRpb25zKSxcbiAgICBidWJibGU6IGNyZWF0ZUJ1YmJsZVN0eWxlKHN0cmljdFN0eWxlT3B0aW9ucyksXG4gICAgY2Fyb3VzZWxGaWxtU3RyaXA6IGNyZWF0ZUNhcm91c2VsRmlsbVN0cmlwKHN0cmljdFN0eWxlT3B0aW9ucyksXG4gICAgY2Fyb3VzZWxGaWxtU3RyaXBBdHRhY2htZW50OiBjcmVhdGVDYXJvdXNlbEZpbG1TdHJpcEF0dGFjaG1lbnQoc3RyaWN0U3R5bGVPcHRpb25zKSxcbiAgICBjYXJvdXNlbEZsaXBwZXI6IGNyZWF0ZUNhcm91c2VsRmxpcHBlcihzdHJpY3RTdHlsZU9wdGlvbnMpLFxuICAgIGNvbm5lY3Rpdml0eU5vdGlmaWNhdGlvbjogY3JlYXRlQ29ubmVjdGl2aXR5Tm90aWZpY2F0aW9uKHN0cmljdFN0eWxlT3B0aW9ucyksXG4gICAgZGljdGF0aW9uSW50ZXJpbXM6IGNyZWF0ZURpY3RhdGlvbkludGVyaW1zU3R5bGUoc3RyaWN0U3R5bGVPcHRpb25zKSxcbiAgICBlcnJvckJveDogY3JlYXRlRXJyb3JCb3hTdHlsZShzdHJpY3RTdHlsZU9wdGlvbnMpLFxuICAgIGVycm9yTm90aWZpY2F0aW9uOiBjcmVhdGVFcnJvck5vdGlmaWNhdGlvblN0eWxlKHN0cmljdFN0eWxlT3B0aW9ucyksXG4gICAgZmlsZUNvbnRlbnQ6IGNyZWF0ZUZpbGVDb250ZW50U3R5bGUoc3RyaWN0U3R5bGVPcHRpb25zKSxcbiAgICBpbWFnZUF2YXRhcjogY3JlYXRlSW1hZ2VBdmF0YXJTdHlsZShzdHJpY3RTdHlsZU9wdGlvbnMpLFxuICAgIGluaXRpYWxzQXZhdGFyOiBjcmVhdGVJbml0aWFsc0F2YXRhclN0eWxlKHN0cmljdFN0eWxlT3B0aW9ucyksXG4gICAga2V5Ym9hcmRIZWxwOiBjcmVhdGVLZXlib2FyZEhlbHBTdHlsZShzdHJpY3RTdHlsZU9wdGlvbnMpLFxuICAgIG1pY3JvcGhvbmVCdXR0b246IGNyZWF0ZU1pY3JvcGhvbmVCdXR0b25TdHlsZShzdHJpY3RTdHlsZU9wdGlvbnMpLFxuICAgIG9wdGlvbnM6IHsgLi4uc3RyaWN0U3R5bGVPcHRpb25zIH0sIC8vIENsb25lZCB0byBtYWtlIHN1cmUgbm8gYWRkaXRpb25hbCBtb2RpZmljYXRpb25zIHdpbGwgcHJvcGFnYXRlIHVwLlxuICAgIHJvb3Q6IGNyZWF0ZVJvb3RTdHlsZShzdHJpY3RTdHlsZU9wdGlvbnMpLFxuICAgIHNjcm9sbFRvRW5kQnV0dG9uOiBjcmVhdGVTY3JvbGxUb0VuZEJ1dHRvblN0eWxlKHN0cmljdFN0eWxlT3B0aW9ucyksXG4gICAgc2VuZEJveDogY3JlYXRlU2VuZEJveFN0eWxlKHN0cmljdFN0eWxlT3B0aW9ucyksXG4gICAgc2VuZEJveEJ1dHRvbjogY3JlYXRlU2VuZEJveEJ1dHRvblN0eWxlKHN0cmljdFN0eWxlT3B0aW9ucyksXG4gICAgc2VuZEJveFRleHRCb3g6IGNyZWF0ZVNlbmRCb3hUZXh0Qm94U3R5bGUoc3RyaWN0U3R5bGVPcHRpb25zKSxcbiAgICBzZW5kU3RhdHVzOiBjcmVhdGVTZW5kU3RhdHVzU3R5bGUoc3RyaWN0U3R5bGVPcHRpb25zKSxcbiAgICBzaW5nbGVBdHRhY2htZW50QWN0aXZpdHk6IGNyZWF0ZVNpbmdsZUF0dGFjaG1lbnRBY3Rpdml0eVN0eWxlKHN0cmljdFN0eWxlT3B0aW9ucyksXG4gICAgc3Bpbm5lckFuaW1hdGlvbjogY3JlYXRlU3Bpbm5lckFuaW1hdGlvblN0eWxlKHN0cmljdFN0eWxlT3B0aW9ucyksXG4gICAgc3RhY2tlZExheW91dDogY3JlYXRlU3RhY2tlZExheW91dFN0eWxlKHN0cmljdFN0eWxlT3B0aW9ucyksXG4gICAgc3VnZ2VzdGVkQWN0aW9uOiBjcmVhdGVTdWdnZXN0ZWRBY3Rpb25TdHlsZShzdHJpY3RTdHlsZU9wdGlvbnMpLFxuICAgIHN1Z2dlc3RlZEFjdGlvbnM6IGNyZWF0ZVN1Z2dlc3RlZEFjdGlvbnNTdHlsZShzdHJpY3RTdHlsZU9wdGlvbnMpLFxuICAgIHRleHRDb250ZW50OiBjcmVhdGVUZXh0Q29udGVudFN0eWxlKHN0cmljdFN0eWxlT3B0aW9ucyksXG4gICAgdG9hc3Q6IGNyZWF0ZVRvYXN0U3R5bGUoc3RyaWN0U3R5bGVPcHRpb25zKSxcbiAgICB0b2FzdGVyOiBjcmVhdGVUb2FzdGVyU3R5bGUoc3RyaWN0U3R5bGVPcHRpb25zKSxcbiAgICB0eXBpbmdBbmltYXRpb246IGNyZWF0ZVR5cGluZ0FuaW1hdGlvblN0eWxlKHN0cmljdFN0eWxlT3B0aW9ucyksXG4gICAgdHlwaW5nSW5kaWNhdG9yOiBjcmVhdGVUeXBpbmdJbmRpY2F0b3JTdHlsZShzdHJpY3RTdHlsZU9wdGlvbnMpLFxuICAgIHVwbG9hZEJ1dHRvbjogY3JlYXRlVXBsb2FkQnV0dG9uU3R5bGUoc3RyaWN0U3R5bGVPcHRpb25zKSxcbiAgICB2aWRlb0F0dGFjaG1lbnQ6IGNyZWF0ZVZpZGVvQXR0YWNobWVudFN0eWxlKCksXG4gICAgdmlkZW9Db250ZW50OiBjcmVhdGVWaWRlb0NvbnRlbnRTdHlsZShzdHJpY3RTdHlsZU9wdGlvbnMpLFxuICAgIHZpbWVvQ29udGVudDogY3JlYXRlVmltZW9Db250ZW50U3R5bGUoc3RyaWN0U3R5bGVPcHRpb25zKSxcbiAgICB3YXJuaW5nTm90aWZpY2F0aW9uOiBjcmVhdGVXYXJuaW5nTm90aWZpY2F0aW9uU3R5bGUoc3RyaWN0U3R5bGVPcHRpb25zKSxcbiAgICB5b3VUdWJlQ29udGVudDogY3JlYXRlWW91VHViZUNvbnRlbnRTdHlsZShzdHJpY3RTdHlsZU9wdGlvbnMpXG4gIH07XG59XG4iXX0=
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = mirrorStyle;
7
7
 
8
+ var _botframeworkWebchatCore = require("botframework-webchat-core");
9
+
8
10
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
11
 
10
12
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
@@ -15,7 +17,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
15
17
 
16
18
  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
19
 
18
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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; }
20
+ 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; }
19
21
 
20
22
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
21
23
 
@@ -33,8 +35,15 @@ function mirrorStyle(mirrorSelector, styles) {
33
35
  var patchedKey = key.replace(/(^left|^right|Left|Right)/, function (match) {
34
36
  return match === 'Left' ? 'Right' : match === 'left' ? 'right' : match === 'Right' ? 'Left' : 'left';
35
37
  });
36
- mirrored[patchedKey] = value;
37
- } else {
38
+
39
+ if (!(0, _botframeworkWebchatCore.isForbiddenPropertyName)(patchedKey)) {
40
+ // Mitigated through denylisting.
41
+ // eslint-disable-next-line security/detect-object-injection
42
+ mirrored[patchedKey] = value;
43
+ }
44
+ } else if (!(0, _botframeworkWebchatCore.isForbiddenPropertyName)(key)) {
45
+ // Mitigated through denylisting.
46
+ // eslint-disable-next-line security/detect-object-injection
38
47
  mirrored[key] = mirrorStyle('', value);
39
48
  }
40
49
  }
@@ -42,4 +51,4 @@ function mirrorStyle(mirrorSelector, styles) {
42
51
  var relative = /^&[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*/g.exec(mirrorSelector) || '';
43
52
  return mirrorSelector ? (_ref = {}, _defineProperty(_ref, "".concat(relative, ":not(").concat(mirrorSelector.substr(relative.length), ")"), styles), _defineProperty(_ref, mirrorSelector, mirrored), _ref) : mirrored;
44
53
  }
45
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TdHlsZXMvbWlycm9yU3R5bGUuanMiXSwibmFtZXMiOlsibWlycm9yU3R5bGUiLCJtaXJyb3JTZWxlY3RvciIsInN0eWxlcyIsIm1pcnJvcmVkIiwiT2JqZWN0IiwiZW50cmllcyIsImtleSIsInZhbHVlIiwicGF0Y2hlZEtleSIsInJlcGxhY2UiLCJtYXRjaCIsInJlbGF0aXZlIiwiZXhlYyIsInN1YnN0ciIsImxlbmd0aCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQWUsU0FBU0EsV0FBVCxDQUFxQkMsY0FBckIsRUFBcUNDLE1BQXJDLEVBQTZDO0FBQUE7O0FBQzFELE1BQU1DLFFBQVEsR0FBRyxFQUFqQjs7QUFFQSxxQ0FBMkJDLE1BQU0sQ0FBQ0MsT0FBUCxDQUFlSCxNQUFmLENBQTNCLHFDQUFtRDtBQUFBO0FBQUEsUUFBdkNJLEdBQXVDO0FBQUEsUUFBbENDLEtBQWtDOztBQUNqRCxRQUFJLE9BQU9BLEtBQVAsS0FBaUIsUUFBakIsSUFBNkIsT0FBT0EsS0FBUCxLQUFpQixRQUFsRCxFQUE0RDtBQUMxRCxVQUFNQyxVQUFVLEdBQUdGLEdBQUcsQ0FBQ0csT0FBSixDQUFZLDJCQUFaLEVBQTBDLFVBQUFDLEtBQUs7QUFBQSxlQUNoRUEsS0FBSyxLQUFLLE1BQVYsR0FBbUIsT0FBbkIsR0FBNkJBLEtBQUssS0FBSyxNQUFWLEdBQW1CLE9BQW5CLEdBQTZCQSxLQUFLLEtBQUssT0FBVixHQUFvQixNQUFwQixHQUE2QixNQUR2QjtBQUFBLE9BQS9DLENBQW5CO0FBSUFQLE1BQUFBLFFBQVEsQ0FBQ0ssVUFBRCxDQUFSLEdBQXVCRCxLQUF2QjtBQUNELEtBTkQsTUFNTztBQUNMSixNQUFBQSxRQUFRLENBQUNHLEdBQUQsQ0FBUixHQUFnQk4sV0FBVyxDQUFDLEVBQUQsRUFBS08sS0FBTCxDQUEzQjtBQUNEO0FBQ0Y7O0FBRUQsTUFBTUksUUFBUSxHQUFHLDBFQUFVQyxJQUFWLENBQWVYLGNBQWYsS0FBa0MsRUFBbkQ7QUFFQSxTQUFPQSxjQUFjLCtDQUVYVSxRQUZXLGtCQUVLVixjQUFjLENBQUNZLE1BQWYsQ0FBc0JGLFFBQVEsQ0FBQ0csTUFBL0IsQ0FGTCxRQUVpRFosTUFGakQseUJBR2RELGNBSGMsRUFHR0UsUUFISCxXQUtqQkEsUUFMSjtBQU1EIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBtaXJyb3JTdHlsZShtaXJyb3JTZWxlY3Rvciwgc3R5bGVzKSB7XG4gIGNvbnN0IG1pcnJvcmVkID0ge307XG5cbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoc3R5bGVzKSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IHBhdGNoZWRLZXkgPSBrZXkucmVwbGFjZSgvKF5sZWZ0fF5yaWdodHxMZWZ0fFJpZ2h0KS91LCBtYXRjaCA9PlxuICAgICAgICBtYXRjaCA9PT0gJ0xlZnQnID8gJ1JpZ2h0JyA6IG1hdGNoID09PSAnbGVmdCcgPyAncmlnaHQnIDogbWF0Y2ggPT09ICdSaWdodCcgPyAnTGVmdCcgOiAnbGVmdCdcbiAgICAgICk7XG5cbiAgICAgIG1pcnJvcmVkW3BhdGNoZWRLZXldID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1pcnJvcmVkW2tleV0gPSBtaXJyb3JTdHlsZSgnJywgdmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJlbGF0aXZlID0gL14mXFxzKi9ndS5leGVjKG1pcnJvclNlbGVjdG9yKSB8fCAnJztcblxuICByZXR1cm4gbWlycm9yU2VsZWN0b3JcbiAgICA/IHtcbiAgICAgICAgW2Ake3JlbGF0aXZlfTpub3QoJHttaXJyb3JTZWxlY3Rvci5zdWJzdHIocmVsYXRpdmUubGVuZ3RoKX0pYF06IHN0eWxlcyxcbiAgICAgICAgW21pcnJvclNlbGVjdG9yXTogbWlycm9yZWRcbiAgICAgIH1cbiAgICA6IG1pcnJvcmVkO1xufVxuIl19
54
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TdHlsZXMvbWlycm9yU3R5bGUuanMiXSwibmFtZXMiOlsibWlycm9yU3R5bGUiLCJtaXJyb3JTZWxlY3RvciIsInN0eWxlcyIsIm1pcnJvcmVkIiwiT2JqZWN0IiwiZW50cmllcyIsImtleSIsInZhbHVlIiwicGF0Y2hlZEtleSIsInJlcGxhY2UiLCJtYXRjaCIsInJlbGF0aXZlIiwiZXhlYyIsInN1YnN0ciIsImxlbmd0aCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7O0FBRWUsU0FBU0EsV0FBVCxDQUFxQkMsY0FBckIsRUFBcUNDLE1BQXJDLEVBQTZDO0FBQUE7O0FBQzFELE1BQU1DLFFBQVEsR0FBRyxFQUFqQjs7QUFFQSxxQ0FBMkJDLE1BQU0sQ0FBQ0MsT0FBUCxDQUFlSCxNQUFmLENBQTNCLHFDQUFtRDtBQUE5QztBQUFBLFFBQU9JLEdBQVA7QUFBQSxRQUFZQyxLQUFaOztBQUNILFFBQUksT0FBT0EsS0FBUCxLQUFpQixRQUFqQixJQUE2QixPQUFPQSxLQUFQLEtBQWlCLFFBQWxELEVBQTREO0FBQzFELFVBQU1DLFVBQVUsR0FBR0YsR0FBRyxDQUFDRyxPQUFKLENBQVksMkJBQVosRUFBMEMsVUFBQUMsS0FBSztBQUFBLGVBQ2hFQSxLQUFLLEtBQUssTUFBVixHQUFtQixPQUFuQixHQUE2QkEsS0FBSyxLQUFLLE1BQVYsR0FBbUIsT0FBbkIsR0FBNkJBLEtBQUssS0FBSyxPQUFWLEdBQW9CLE1BQXBCLEdBQTZCLE1BRHZCO0FBQUEsT0FBL0MsQ0FBbkI7O0FBSUEsVUFBSSxDQUFDLHNEQUF3QkYsVUFBeEIsQ0FBTCxFQUEwQztBQUN4QztBQUNBO0FBQ0FMLFFBQUFBLFFBQVEsQ0FBQ0ssVUFBRCxDQUFSLEdBQXVCRCxLQUF2QjtBQUNEO0FBQ0YsS0FWRCxNQVVPLElBQUksQ0FBQyxzREFBd0JELEdBQXhCLENBQUwsRUFBbUM7QUFDeEM7QUFDQTtBQUNBSCxNQUFBQSxRQUFRLENBQUNHLEdBQUQsQ0FBUixHQUFnQk4sV0FBVyxDQUFDLEVBQUQsRUFBS08sS0FBTCxDQUEzQjtBQUNEO0FBQ0Y7O0FBRUQsTUFBTUksUUFBUSxHQUFHLDBFQUFVQyxJQUFWLENBQWVYLGNBQWYsS0FBa0MsRUFBbkQ7QUFFQSxTQUFPQSxjQUFjLCtDQUVYVSxRQUZXLGtCQUVLVixjQUFjLENBQUNZLE1BQWYsQ0FBc0JGLFFBQVEsQ0FBQ0csTUFBL0IsQ0FGTCxRQUVpRFosTUFGakQseUJBR2RELGNBSGMsRUFHR0UsUUFISCxXQUtqQkEsUUFMSjtBQU1EIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0ZvcmJpZGRlblByb3BlcnR5TmFtZSB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWNvcmUnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBtaXJyb3JTdHlsZShtaXJyb3JTZWxlY3Rvciwgc3R5bGVzKSB7XG4gIGNvbnN0IG1pcnJvcmVkID0ge307XG5cbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoc3R5bGVzKSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IHBhdGNoZWRLZXkgPSBrZXkucmVwbGFjZSgvKF5sZWZ0fF5yaWdodHxMZWZ0fFJpZ2h0KS91LCBtYXRjaCA9PlxuICAgICAgICBtYXRjaCA9PT0gJ0xlZnQnID8gJ1JpZ2h0JyA6IG1hdGNoID09PSAnbGVmdCcgPyAncmlnaHQnIDogbWF0Y2ggPT09ICdSaWdodCcgPyAnTGVmdCcgOiAnbGVmdCdcbiAgICAgICk7XG5cbiAgICAgIGlmICghaXNGb3JiaWRkZW5Qcm9wZXJ0eU5hbWUocGF0Y2hlZEtleSkpIHtcbiAgICAgICAgLy8gTWl0aWdhdGVkIHRocm91Z2ggZGVueWxpc3RpbmcuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWN1cml0eS9kZXRlY3Qtb2JqZWN0LWluamVjdGlvblxuICAgICAgICBtaXJyb3JlZFtwYXRjaGVkS2V5XSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIWlzRm9yYmlkZGVuUHJvcGVydHlOYW1lKGtleSkpIHtcbiAgICAgIC8vIE1pdGlnYXRlZCB0aHJvdWdoIGRlbnlsaXN0aW5nLlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlY3VyaXR5L2RldGVjdC1vYmplY3QtaW5qZWN0aW9uXG4gICAgICBtaXJyb3JlZFtrZXldID0gbWlycm9yU3R5bGUoJycsIHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCByZWxhdGl2ZSA9IC9eJlxccyovZ3UuZXhlYyhtaXJyb3JTZWxlY3RvcikgfHwgJyc7XG5cbiAgcmV0dXJuIG1pcnJvclNlbGVjdG9yXG4gICAgPyB7XG4gICAgICAgIFtgJHtyZWxhdGl2ZX06bm90KCR7bWlycm9yU2VsZWN0b3Iuc3Vic3RyKHJlbGF0aXZlLmxlbmd0aCl9KWBdOiBzdHlsZXMsXG4gICAgICAgIFttaXJyb3JTZWxlY3Rvcl06IG1pcnJvcmVkXG4gICAgICB9XG4gICAgOiBtaXJyb3JlZDtcbn1cbiJdfQ==
@@ -15,7 +15,9 @@ var CollapseIcon = function CollapseIcon(_ref) {
15
15
  var className = _ref.className;
16
16
  return /*#__PURE__*/_react.default.createElement("svg", {
17
17
  className: (className || '') + '',
18
+ focusable: false,
18
19
  height: "9",
20
+ role: "presentation",
19
21
  viewBox: "0 0 16 9",
20
22
  width: "16",
21
23
  xmlns: "http://www.w3.org/2000/svg"
@@ -32,4 +34,4 @@ CollapseIcon.propTypes = {
32
34
  };
33
35
  var _default = CollapseIcon;
34
36
  exports.default = _default;
35
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Ub2FzdC9Db2xsYXBzZUljb24uanMiXSwibmFtZXMiOlsiQ29sbGFwc2VJY29uIiwiY2xhc3NOYW1lIiwiZGVmYXVsdFByb3BzIiwidW5kZWZpbmVkIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxZQUFZLEdBQUcsU0FBZkEsWUFBZTtBQUFBLE1BQUdDLFNBQUgsUUFBR0EsU0FBSDtBQUFBLHNCQUNuQjtBQUFLLElBQUEsU0FBUyxFQUFFLENBQUNBLFNBQVMsSUFBSSxFQUFkLElBQW9CLEVBQXBDO0FBQXdDLElBQUEsTUFBTSxFQUFDLEdBQS9DO0FBQW1ELElBQUEsT0FBTyxFQUFDLFVBQTNEO0FBQXNFLElBQUEsS0FBSyxFQUFDLElBQTVFO0FBQWlGLElBQUEsS0FBSyxFQUFDO0FBQXZGLGtCQUNFO0FBQU0sSUFBQSxDQUFDLEVBQUM7QUFBUixJQURGLENBRG1CO0FBQUEsQ0FBckI7O0FBTUFELFlBQVksQ0FBQ0UsWUFBYixHQUE0QjtBQUMxQkQsRUFBQUEsU0FBUyxFQUFFRTtBQURlLENBQTVCO0FBSUFILFlBQVksQ0FBQ0ksU0FBYixHQUF5QjtBQUN2QkgsRUFBQUEsU0FBUyxFQUFFSSxtQkFBVUM7QUFERSxDQUF6QjtlQUllTixZIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuY29uc3QgQ29sbGFwc2VJY29uID0gKHsgY2xhc3NOYW1lIH0pID0+IChcbiAgPHN2ZyBjbGFzc05hbWU9eyhjbGFzc05hbWUgfHwgJycpICsgJyd9IGhlaWdodD1cIjlcIiB2aWV3Qm94PVwiMCAwIDE2IDlcIiB3aWR0aD1cIjE2XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgIDxwYXRoIGQ9XCJNMTUuMjczNCA4Ljk3NjU2TDggMS43MTA5NEwwLjcyNjU2MyA4Ljk3NjU2TDAuMDIzNDM3NSA4LjI3MzQ0TDggMC4yODkwNjJMMTUuOTc2NiA4LjI3MzQ0TDE1LjI3MzQgOC45NzY1NlpcIiAvPlxuICA8L3N2Zz5cbik7XG5cbkNvbGxhcHNlSWNvbi5kZWZhdWx0UHJvcHMgPSB7XG4gIGNsYXNzTmFtZTogdW5kZWZpbmVkXG59O1xuXG5Db2xsYXBzZUljb24ucHJvcFR5cGVzID0ge1xuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmdcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvbGxhcHNlSWNvbjtcbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Ub2FzdC9Db2xsYXBzZUljb24uanMiXSwibmFtZXMiOlsiQ29sbGFwc2VJY29uIiwiY2xhc3NOYW1lIiwiZGVmYXVsdFByb3BzIiwidW5kZWZpbmVkIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxZQUFZLEdBQUcsU0FBZkEsWUFBZTtBQUFBLE1BQUdDLFNBQUgsUUFBR0EsU0FBSDtBQUFBLHNCQUNuQjtBQUNFLElBQUEsU0FBUyxFQUFFLENBQUNBLFNBQVMsSUFBSSxFQUFkLElBQW9CLEVBRGpDO0FBRUUsSUFBQSxTQUFTLEVBQUUsS0FGYjtBQUdFLElBQUEsTUFBTSxFQUFDLEdBSFQ7QUFJRSxJQUFBLElBQUksRUFBQyxjQUpQO0FBS0UsSUFBQSxPQUFPLEVBQUMsVUFMVjtBQU1FLElBQUEsS0FBSyxFQUFDLElBTlI7QUFPRSxJQUFBLEtBQUssRUFBQztBQVBSLGtCQVNFO0FBQU0sSUFBQSxDQUFDLEVBQUM7QUFBUixJQVRGLENBRG1CO0FBQUEsQ0FBckI7O0FBY0FELFlBQVksQ0FBQ0UsWUFBYixHQUE0QjtBQUMxQkQsRUFBQUEsU0FBUyxFQUFFRTtBQURlLENBQTVCO0FBSUFILFlBQVksQ0FBQ0ksU0FBYixHQUF5QjtBQUN2QkgsRUFBQUEsU0FBUyxFQUFFSSxtQkFBVUM7QUFERSxDQUF6QjtlQUllTixZIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuY29uc3QgQ29sbGFwc2VJY29uID0gKHsgY2xhc3NOYW1lIH0pID0+IChcbiAgPHN2Z1xuICAgIGNsYXNzTmFtZT17KGNsYXNzTmFtZSB8fCAnJykgKyAnJ31cbiAgICBmb2N1c2FibGU9e2ZhbHNlfVxuICAgIGhlaWdodD1cIjlcIlxuICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxuICAgIHZpZXdCb3g9XCIwIDAgMTYgOVwiXG4gICAgd2lkdGg9XCIxNlwiXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gID5cbiAgICA8cGF0aCBkPVwiTTE1LjI3MzQgOC45NzY1Nkw4IDEuNzEwOTRMMC43MjY1NjMgOC45NzY1NkwwLjAyMzQzNzUgOC4yNzM0NEw4IDAuMjg5MDYyTDE1Ljk3NjYgOC4yNzM0NEwxNS4yNzM0IDguOTc2NTZaXCIgLz5cbiAgPC9zdmc+XG4pO1xuXG5Db2xsYXBzZUljb24uZGVmYXVsdFByb3BzID0ge1xuICBjbGFzc05hbWU6IHVuZGVmaW5lZFxufTtcblxuQ29sbGFwc2VJY29uLnByb3BUeXBlcyA9IHtcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDb2xsYXBzZUljb247XG4iXX0=
@@ -15,7 +15,9 @@ var DismissIcon = function DismissIcon(_ref) {
15
15
  var className = _ref.className;
16
16
  return /*#__PURE__*/_react.default.createElement("svg", {
17
17
  className: (className || '') + '',
18
+ focusable: false,
18
19
  height: "14",
20
+ role: "presentation",
19
21
  viewBox: "0 0 14 14",
20
22
  width: "14",
21
23
  xmlns: "http://www.w3.org/2000/svg"
@@ -32,4 +34,4 @@ DismissIcon.propTypes = {
32
34
  };
33
35
  var _default = DismissIcon;
34
36
  exports.default = _default;
35
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Ub2FzdC9EaXNtaXNzSWNvbi5qcyJdLCJuYW1lcyI6WyJEaXNtaXNzSWNvbiIsImNsYXNzTmFtZSIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOzs7O0FBRUEsSUFBTUEsV0FBVyxHQUFHLFNBQWRBLFdBQWM7QUFBQSxNQUFHQyxTQUFILFFBQUdBLFNBQUg7QUFBQSxzQkFDbEI7QUFBSyxJQUFBLFNBQVMsRUFBRSxDQUFDQSxTQUFTLElBQUksRUFBZCxJQUFvQixFQUFwQztBQUF3QyxJQUFBLE1BQU0sRUFBQyxJQUEvQztBQUFvRCxJQUFBLE9BQU8sRUFBQyxXQUE1RDtBQUF3RSxJQUFBLEtBQUssRUFBQyxJQUE5RTtBQUFtRixJQUFBLEtBQUssRUFBQztBQUF6RixrQkFDRTtBQUFNLElBQUEsQ0FBQyxFQUFDO0FBQVIsSUFERixDQURrQjtBQUFBLENBQXBCOztBQU1BRCxXQUFXLENBQUNFLFlBQVosR0FBMkI7QUFDekJELEVBQUFBLFNBQVMsRUFBRUU7QUFEYyxDQUEzQjtBQUlBSCxXQUFXLENBQUNJLFNBQVosR0FBd0I7QUFDdEJILEVBQUFBLFNBQVMsRUFBRUksbUJBQVVDO0FBREMsQ0FBeEI7ZUFJZU4sVyIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmNvbnN0IERpc21pc3NJY29uID0gKHsgY2xhc3NOYW1lIH0pID0+IChcbiAgPHN2ZyBjbGFzc05hbWU9eyhjbGFzc05hbWUgfHwgJycpICsgJyd9IGhlaWdodD1cIjE0XCIgdmlld0JveD1cIjAgMCAxNCAxNFwiIHdpZHRoPVwiMTRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgPHBhdGggZD1cIk03LjcxMDk0IDdMMTMuMTAxNiAxMi4zOTg0TDEyLjM5ODQgMTMuMTAxNkw3IDcuNzEwOTRMMS42MDE1NiAxMy4xMDE2TDAuODk4NDM4IDEyLjM5ODRMNi4yODkwNiA3TDAuODk4NDM4IDEuNjAxNTZMMS42MDE1NiAwLjg5ODQzOEw3IDYuMjg5MDZMMTIuMzk4NCAwLjg5ODQzOEwxMy4xMDE2IDEuNjAxNTZMNy43MTA5NCA3WlwiIC8+XG4gIDwvc3ZnPlxuKTtcblxuRGlzbWlzc0ljb24uZGVmYXVsdFByb3BzID0ge1xuICBjbGFzc05hbWU6IHVuZGVmaW5lZFxufTtcblxuRGlzbWlzc0ljb24ucHJvcFR5cGVzID0ge1xuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmdcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpc21pc3NJY29uO1xuIl19
37
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Ub2FzdC9EaXNtaXNzSWNvbi5qcyJdLCJuYW1lcyI6WyJEaXNtaXNzSWNvbiIsImNsYXNzTmFtZSIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOzs7O0FBRUEsSUFBTUEsV0FBVyxHQUFHLFNBQWRBLFdBQWM7QUFBQSxNQUFHQyxTQUFILFFBQUdBLFNBQUg7QUFBQSxzQkFDbEI7QUFDRSxJQUFBLFNBQVMsRUFBRSxDQUFDQSxTQUFTLElBQUksRUFBZCxJQUFvQixFQURqQztBQUVFLElBQUEsU0FBUyxFQUFFLEtBRmI7QUFHRSxJQUFBLE1BQU0sRUFBQyxJQUhUO0FBSUUsSUFBQSxJQUFJLEVBQUMsY0FKUDtBQUtFLElBQUEsT0FBTyxFQUFDLFdBTFY7QUFNRSxJQUFBLEtBQUssRUFBQyxJQU5SO0FBT0UsSUFBQSxLQUFLLEVBQUM7QUFQUixrQkFTRTtBQUFNLElBQUEsQ0FBQyxFQUFDO0FBQVIsSUFURixDQURrQjtBQUFBLENBQXBCOztBQWNBRCxXQUFXLENBQUNFLFlBQVosR0FBMkI7QUFDekJELEVBQUFBLFNBQVMsRUFBRUU7QUFEYyxDQUEzQjtBQUlBSCxXQUFXLENBQUNJLFNBQVosR0FBd0I7QUFDdEJILEVBQUFBLFNBQVMsRUFBRUksbUJBQVVDO0FBREMsQ0FBeEI7ZUFJZU4sVyIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmNvbnN0IERpc21pc3NJY29uID0gKHsgY2xhc3NOYW1lIH0pID0+IChcbiAgPHN2Z1xuICAgIGNsYXNzTmFtZT17KGNsYXNzTmFtZSB8fCAnJykgKyAnJ31cbiAgICBmb2N1c2FibGU9e2ZhbHNlfVxuICAgIGhlaWdodD1cIjE0XCJcbiAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICB2aWV3Qm94PVwiMCAwIDE0IDE0XCJcbiAgICB3aWR0aD1cIjE0XCJcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgPlxuICAgIDxwYXRoIGQ9XCJNNy43MTA5NCA3TDEzLjEwMTYgMTIuMzk4NEwxMi4zOTg0IDEzLjEwMTZMNyA3LjcxMDk0TDEuNjAxNTYgMTMuMTAxNkwwLjg5ODQzOCAxMi4zOTg0TDYuMjg5MDYgN0wwLjg5ODQzOCAxLjYwMTU2TDEuNjAxNTYgMC44OTg0MzhMNyA2LjI4OTA2TDEyLjM5ODQgMC44OTg0MzhMMTMuMTAxNiAxLjYwMTU2TDcuNzEwOTQgN1pcIiAvPlxuICA8L3N2Zz5cbik7XG5cbkRpc21pc3NJY29uLmRlZmF1bHRQcm9wcyA9IHtcbiAgY2xhc3NOYW1lOiB1bmRlZmluZWRcbn07XG5cbkRpc21pc3NJY29uLnByb3BUeXBlcyA9IHtcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nXG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaXNtaXNzSWNvbjtcbiJdfQ==
@@ -15,7 +15,9 @@ var ExpandIcon = function ExpandIcon(_ref) {
15
15
  var className = _ref.className;
16
16
  return /*#__PURE__*/_react.default.createElement("svg", {
17
17
  className: (className || '') + '',
18
+ focusable: false,
18
19
  height: "10",
20
+ role: "presentation",
19
21
  viewBox: "0 0 16 10",
20
22
  width: "16",
21
23
  xmlns: "http://www.w3.org/2000/svg"
@@ -32,4 +34,4 @@ ExpandIcon.propTypes = {
32
34
  };
33
35
  var _default = ExpandIcon;
34
36
  exports.default = _default;
35
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Ub2FzdC9FeHBhbmRJY29uLmpzIl0sIm5hbWVzIjpbIkV4cGFuZEljb24iLCJjbGFzc05hbWUiLCJkZWZhdWx0UHJvcHMiLCJ1bmRlZmluZWQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7OztBQUVBLElBQU1BLFVBQVUsR0FBRyxTQUFiQSxVQUFhO0FBQUEsTUFBR0MsU0FBSCxRQUFHQSxTQUFIO0FBQUEsc0JBQ2pCO0FBQUssSUFBQSxTQUFTLEVBQUUsQ0FBQ0EsU0FBUyxJQUFJLEVBQWQsSUFBb0IsRUFBcEM7QUFBd0MsSUFBQSxNQUFNLEVBQUMsSUFBL0M7QUFBb0QsSUFBQSxPQUFPLEVBQUMsV0FBNUQ7QUFBd0UsSUFBQSxLQUFLLEVBQUMsSUFBOUU7QUFBbUYsSUFBQSxLQUFLLEVBQUM7QUFBekYsa0JBQ0U7QUFBTSxJQUFBLENBQUMsRUFBQztBQUFSLElBREYsQ0FEaUI7QUFBQSxDQUFuQjs7QUFNQUQsVUFBVSxDQUFDRSxZQUFYLEdBQTBCO0FBQ3hCRCxFQUFBQSxTQUFTLEVBQUVFO0FBRGEsQ0FBMUI7QUFJQUgsVUFBVSxDQUFDSSxTQUFYLEdBQXVCO0FBQ3JCSCxFQUFBQSxTQUFTLEVBQUVJLG1CQUFVQztBQURBLENBQXZCO2VBSWVOLFUiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5jb25zdCBFeHBhbmRJY29uID0gKHsgY2xhc3NOYW1lIH0pID0+IChcbiAgPHN2ZyBjbGFzc05hbWU9eyhjbGFzc05hbWUgfHwgJycpICsgJyd9IGhlaWdodD1cIjEwXCIgdmlld0JveD1cIjAgMCAxNiAxMFwiIHdpZHRoPVwiMTZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgPHBhdGggZD1cIk0xNS4xNDg0IDAuNjQ4NDM3TDE1Ljg1MTYgMS4zNTE1Nkw4IDkuMjAzMTJMMC4xNDg0MzggMS4zNTE1NkwwLjg1MTU2MyAwLjY0ODQzOEw4IDcuNzk2ODdMMTUuMTQ4NCAwLjY0ODQzN1pcIiAvPlxuICA8L3N2Zz5cbik7XG5cbkV4cGFuZEljb24uZGVmYXVsdFByb3BzID0ge1xuICBjbGFzc05hbWU6IHVuZGVmaW5lZFxufTtcblxuRXhwYW5kSWNvbi5wcm9wVHlwZXMgPSB7XG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZ1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRXhwYW5kSWNvbjtcbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Ub2FzdC9FeHBhbmRJY29uLmpzIl0sIm5hbWVzIjpbIkV4cGFuZEljb24iLCJjbGFzc05hbWUiLCJkZWZhdWx0UHJvcHMiLCJ1bmRlZmluZWQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7OztBQUVBLElBQU1BLFVBQVUsR0FBRyxTQUFiQSxVQUFhO0FBQUEsTUFBR0MsU0FBSCxRQUFHQSxTQUFIO0FBQUEsc0JBQ2pCO0FBQ0UsSUFBQSxTQUFTLEVBQUUsQ0FBQ0EsU0FBUyxJQUFJLEVBQWQsSUFBb0IsRUFEakM7QUFFRSxJQUFBLFNBQVMsRUFBRSxLQUZiO0FBR0UsSUFBQSxNQUFNLEVBQUMsSUFIVDtBQUlFLElBQUEsSUFBSSxFQUFDLGNBSlA7QUFLRSxJQUFBLE9BQU8sRUFBQyxXQUxWO0FBTUUsSUFBQSxLQUFLLEVBQUMsSUFOUjtBQU9FLElBQUEsS0FBSyxFQUFDO0FBUFIsa0JBU0U7QUFBTSxJQUFBLENBQUMsRUFBQztBQUFSLElBVEYsQ0FEaUI7QUFBQSxDQUFuQjs7QUFjQUQsVUFBVSxDQUFDRSxZQUFYLEdBQTBCO0FBQ3hCRCxFQUFBQSxTQUFTLEVBQUVFO0FBRGEsQ0FBMUI7QUFJQUgsVUFBVSxDQUFDSSxTQUFYLEdBQXVCO0FBQ3JCSCxFQUFBQSxTQUFTLEVBQUVJLG1CQUFVQztBQURBLENBQXZCO2VBSWVOLFUiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5jb25zdCBFeHBhbmRJY29uID0gKHsgY2xhc3NOYW1lIH0pID0+IChcbiAgPHN2Z1xuICAgIGNsYXNzTmFtZT17KGNsYXNzTmFtZSB8fCAnJykgKyAnJ31cbiAgICBmb2N1c2FibGU9e2ZhbHNlfVxuICAgIGhlaWdodD1cIjEwXCJcbiAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICB2aWV3Qm94PVwiMCAwIDE2IDEwXCJcbiAgICB3aWR0aD1cIjE2XCJcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgPlxuICAgIDxwYXRoIGQ9XCJNMTUuMTQ4NCAwLjY0ODQzN0wxNS44NTE2IDEuMzUxNTZMOCA5LjIwMzEyTDAuMTQ4NDM4IDEuMzUxNTZMMC44NTE1NjMgMC42NDg0MzhMOCA3Ljc5Njg3TDE1LjE0ODQgMC42NDg0MzdaXCIgLz5cbiAgPC9zdmc+XG4pO1xuXG5FeHBhbmRJY29uLmRlZmF1bHRQcm9wcyA9IHtcbiAgY2xhc3NOYW1lOiB1bmRlZmluZWRcbn07XG5cbkV4cGFuZEljb24ucHJvcFR5cGVzID0ge1xuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmdcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEV4cGFuZEljb247XG4iXX0=
@@ -7,6 +7,8 @@ exports.default = void 0;
7
7
 
8
8
  var _botframeworkWebchatApi = require("botframework-webchat-api");
9
9
 
10
+ var _botframeworkWebchatCore = require("botframework-webchat-core");
11
+
10
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
13
 
12
14
  var _react = _interopRequireDefault(require("react"));
@@ -28,8 +30,10 @@ var NotificationIcon = function NotificationIcon(_ref) {
28
30
  info: localize('TOAST_ALT_INFO'),
29
31
  success: localize('TOAST_ALT_SUCCESS'),
30
32
  warn: localize('TOAST_ALT_WARN')
31
- };
32
- var prefix = prefixes[level] || '';
33
+ }; // Mitigated through denylisting.
34
+ // eslint-disable-next-line security/detect-object-injection
35
+
36
+ var prefix = !(0, _botframeworkWebchatCore.isForbiddenPropertyName)(level) && prefixes[level] || '';
33
37
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, level === 'success' ? /*#__PURE__*/_react.default.createElement(_CheckMarkIcon.default, {
34
38
  "aria-label": prefix,
35
39
  className: className
@@ -48,4 +52,4 @@ NotificationIcon.propTypes = {
48
52
  };
49
53
  var _default = NotificationIcon;
50
54
  exports.default = _default;
51
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Ub2FzdC9Ob3RpZmljYXRpb25JY29uLmpzIl0sIm5hbWVzIjpbInVzZUxvY2FsaXplciIsImhvb2tzIiwiTm90aWZpY2F0aW9uSWNvbiIsImNsYXNzTmFtZSIsImxldmVsIiwibG9jYWxpemUiLCJwcmVmaXhlcyIsImVycm9yIiwiaW5mbyIsInN1Y2Nlc3MiLCJ3YXJuIiwicHJlZml4IiwiZGVmYXVsdFByb3BzIiwidW5kZWZpbmVkIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwib25lT2YiLCJpc1JlcXVpcmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7SUFFUUEsWSxHQUFpQkMsNkIsQ0FBakJELFk7O0FBRVIsSUFBTUUsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQixPQUEwQjtBQUFBLE1BQXZCQyxTQUF1QixRQUF2QkEsU0FBdUI7QUFBQSxNQUFaQyxLQUFZLFFBQVpBLEtBQVk7QUFDakQsTUFBTUMsUUFBUSxHQUFHTCxZQUFZLEVBQTdCO0FBRUEsTUFBTU0sUUFBUSxHQUFHO0FBQ2ZDLElBQUFBLEtBQUssRUFBRUYsUUFBUSxDQUFDLGlCQUFELENBREE7QUFFZkcsSUFBQUEsSUFBSSxFQUFFSCxRQUFRLENBQUMsZ0JBQUQsQ0FGQztBQUdmSSxJQUFBQSxPQUFPLEVBQUVKLFFBQVEsQ0FBQyxtQkFBRCxDQUhGO0FBSWZLLElBQUFBLElBQUksRUFBRUwsUUFBUSxDQUFDLGdCQUFEO0FBSkMsR0FBakI7QUFPQSxNQUFNTSxNQUFNLEdBQUdMLFFBQVEsQ0FBQ0YsS0FBRCxDQUFSLElBQW1CLEVBQWxDO0FBRUEsc0JBQ0UsNkJBQUMsY0FBRCxDQUFPLFFBQVAsUUFDR0EsS0FBSyxLQUFLLFNBQVYsZ0JBQ0MsNkJBQUMsc0JBQUQ7QUFBZSxrQkFBWU8sTUFBM0I7QUFBbUMsSUFBQSxTQUFTLEVBQUVSO0FBQTlDLElBREQsZ0JBR0MsNkJBQUMsNEJBQUQ7QUFBcUIsa0JBQVlRLE1BQWpDO0FBQXlDLElBQUEsU0FBUyxFQUFFUjtBQUFwRCxJQUpKLENBREY7QUFTRCxDQXJCRDs7QUF1QkFELGdCQUFnQixDQUFDVSxZQUFqQixHQUFnQztBQUM5QlQsRUFBQUEsU0FBUyxFQUFFVTtBQURtQixDQUFoQztBQUlBWCxnQkFBZ0IsQ0FBQ1ksU0FBakIsR0FBNkI7QUFDM0JYLEVBQUFBLFNBQVMsRUFBRVksbUJBQVVDLE1BRE07QUFFM0JaLEVBQUFBLEtBQUssRUFBRVcsbUJBQVVFLEtBQVYsQ0FBZ0IsQ0FBQyxPQUFELEVBQVUsTUFBVixFQUFrQixTQUFsQixFQUE2QixNQUE3QixDQUFoQixFQUFzREM7QUFGbEMsQ0FBN0I7ZUFLZWhCLGdCIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBob29rcyB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWFwaSc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IENoZWNrTWFya0ljb24gZnJvbSAnLi9DaGVja01hcmtJY29uJztcbmltcG9ydCBFeGNsYW1hdGlvbk1hcmtJY29uIGZyb20gJy4vRXhjbGFtYXRpb25NYXJrSWNvbic7XG5cbmNvbnN0IHsgdXNlTG9jYWxpemVyIH0gPSBob29rcztcblxuY29uc3QgTm90aWZpY2F0aW9uSWNvbiA9ICh7IGNsYXNzTmFtZSwgbGV2ZWwgfSkgPT4ge1xuICBjb25zdCBsb2NhbGl6ZSA9IHVzZUxvY2FsaXplcigpO1xuXG4gIGNvbnN0IHByZWZpeGVzID0ge1xuICAgIGVycm9yOiBsb2NhbGl6ZSgnVE9BU1RfQUxUX0VSUk9SJyksXG4gICAgaW5mbzogbG9jYWxpemUoJ1RPQVNUX0FMVF9JTkZPJyksXG4gICAgc3VjY2VzczogbG9jYWxpemUoJ1RPQVNUX0FMVF9TVUNDRVNTJyksXG4gICAgd2FybjogbG9jYWxpemUoJ1RPQVNUX0FMVF9XQVJOJylcbiAgfTtcblxuICBjb25zdCBwcmVmaXggPSBwcmVmaXhlc1tsZXZlbF0gfHwgJyc7XG5cbiAgcmV0dXJuIChcbiAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICB7bGV2ZWwgPT09ICdzdWNjZXNzJyA/IChcbiAgICAgICAgPENoZWNrTWFya0ljb24gYXJpYS1sYWJlbD17cHJlZml4fSBjbGFzc05hbWU9e2NsYXNzTmFtZX0gLz5cbiAgICAgICkgOiAoXG4gICAgICAgIDxFeGNsYW1hdGlvbk1hcmtJY29uIGFyaWEtbGFiZWw9e3ByZWZpeH0gY2xhc3NOYW1lPXtjbGFzc05hbWV9IC8+XG4gICAgICApfVxuICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICk7XG59O1xuXG5Ob3RpZmljYXRpb25JY29uLmRlZmF1bHRQcm9wcyA9IHtcbiAgY2xhc3NOYW1lOiB1bmRlZmluZWRcbn07XG5cbk5vdGlmaWNhdGlvbkljb24ucHJvcFR5cGVzID0ge1xuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGxldmVsOiBQcm9wVHlwZXMub25lT2YoWydlcnJvcicsICdpbmZvJywgJ3N1Y2Nlc3MnLCAnd2FybiddKS5pc1JlcXVpcmVkXG59O1xuXG5leHBvcnQgZGVmYXVsdCBOb3RpZmljYXRpb25JY29uO1xuIl19
55
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Ub2FzdC9Ob3RpZmljYXRpb25JY29uLmpzIl0sIm5hbWVzIjpbInVzZUxvY2FsaXplciIsImhvb2tzIiwiTm90aWZpY2F0aW9uSWNvbiIsImNsYXNzTmFtZSIsImxldmVsIiwibG9jYWxpemUiLCJwcmVmaXhlcyIsImVycm9yIiwiaW5mbyIsInN1Y2Nlc3MiLCJ3YXJuIiwicHJlZml4IiwiZGVmYXVsdFByb3BzIiwidW5kZWZpbmVkIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwib25lT2YiLCJpc1JlcXVpcmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7QUFFQSxJQUFRQSxZQUFSLEdBQXlCQyw2QkFBekIsQ0FBUUQsWUFBUjs7QUFFQSxJQUFNRSxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CLE9BQTBCO0FBQUEsTUFBdkJDLFNBQXVCLFFBQXZCQSxTQUF1QjtBQUFBLE1BQVpDLEtBQVksUUFBWkEsS0FBWTtBQUNqRCxNQUFNQyxRQUFRLEdBQUdMLFlBQVksRUFBN0I7QUFFQSxNQUFNTSxRQUFRLEdBQUc7QUFDZkMsSUFBQUEsS0FBSyxFQUFFRixRQUFRLENBQUMsaUJBQUQsQ0FEQTtBQUVmRyxJQUFBQSxJQUFJLEVBQUVILFFBQVEsQ0FBQyxnQkFBRCxDQUZDO0FBR2ZJLElBQUFBLE9BQU8sRUFBRUosUUFBUSxDQUFDLG1CQUFELENBSEY7QUFJZkssSUFBQUEsSUFBSSxFQUFFTCxRQUFRLENBQUMsZ0JBQUQ7QUFKQyxHQUFqQixDQUhpRCxDQVVqRDtBQUNBOztBQUNBLE1BQU1NLE1BQU0sR0FBSSxDQUFDLHNEQUF3QlAsS0FBeEIsQ0FBRCxJQUFtQ0UsUUFBUSxDQUFDRixLQUFELENBQTVDLElBQXdELEVBQXZFO0FBRUEsc0JBQ0UsNkJBQUMsY0FBRCxDQUFPLFFBQVAsUUFDR0EsS0FBSyxLQUFLLFNBQVYsZ0JBQ0MsNkJBQUMsc0JBQUQ7QUFBZSxrQkFBWU8sTUFBM0I7QUFBbUMsSUFBQSxTQUFTLEVBQUVSO0FBQTlDLElBREQsZ0JBR0MsNkJBQUMsNEJBQUQ7QUFBcUIsa0JBQVlRLE1BQWpDO0FBQXlDLElBQUEsU0FBUyxFQUFFUjtBQUFwRCxJQUpKLENBREY7QUFTRCxDQXZCRDs7QUF5QkFELGdCQUFnQixDQUFDVSxZQUFqQixHQUFnQztBQUM5QlQsRUFBQUEsU0FBUyxFQUFFVTtBQURtQixDQUFoQztBQUlBWCxnQkFBZ0IsQ0FBQ1ksU0FBakIsR0FBNkI7QUFDM0JYLEVBQUFBLFNBQVMsRUFBRVksbUJBQVVDLE1BRE07QUFFM0JaLEVBQUFBLEtBQUssRUFBRVcsbUJBQVVFLEtBQVYsQ0FBZ0IsQ0FBQyxPQUFELEVBQVUsTUFBVixFQUFrQixTQUFsQixFQUE2QixNQUE3QixDQUFoQixFQUFzREM7QUFGbEMsQ0FBN0I7ZUFLZWhCLGdCIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBob29rcyB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWFwaSc7XG5pbXBvcnQgeyBpc0ZvcmJpZGRlblByb3BlcnR5TmFtZSB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWNvcmUnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBDaGVja01hcmtJY29uIGZyb20gJy4vQ2hlY2tNYXJrSWNvbic7XG5pbXBvcnQgRXhjbGFtYXRpb25NYXJrSWNvbiBmcm9tICcuL0V4Y2xhbWF0aW9uTWFya0ljb24nO1xuXG5jb25zdCB7IHVzZUxvY2FsaXplciB9ID0gaG9va3M7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbkljb24gPSAoeyBjbGFzc05hbWUsIGxldmVsIH0pID0+IHtcbiAgY29uc3QgbG9jYWxpemUgPSB1c2VMb2NhbGl6ZXIoKTtcblxuICBjb25zdCBwcmVmaXhlcyA9IHtcbiAgICBlcnJvcjogbG9jYWxpemUoJ1RPQVNUX0FMVF9FUlJPUicpLFxuICAgIGluZm86IGxvY2FsaXplKCdUT0FTVF9BTFRfSU5GTycpLFxuICAgIHN1Y2Nlc3M6IGxvY2FsaXplKCdUT0FTVF9BTFRfU1VDQ0VTUycpLFxuICAgIHdhcm46IGxvY2FsaXplKCdUT0FTVF9BTFRfV0FSTicpXG4gIH07XG5cbiAgLy8gTWl0aWdhdGVkIHRocm91Z2ggZGVueWxpc3RpbmcuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWN1cml0eS9kZXRlY3Qtb2JqZWN0LWluamVjdGlvblxuICBjb25zdCBwcmVmaXggPSAoIWlzRm9yYmlkZGVuUHJvcGVydHlOYW1lKGxldmVsKSAmJiBwcmVmaXhlc1tsZXZlbF0pIHx8ICcnO1xuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAge2xldmVsID09PSAnc3VjY2VzcycgPyAoXG4gICAgICAgIDxDaGVja01hcmtJY29uIGFyaWEtbGFiZWw9e3ByZWZpeH0gY2xhc3NOYW1lPXtjbGFzc05hbWV9IC8+XG4gICAgICApIDogKFxuICAgICAgICA8RXhjbGFtYXRpb25NYXJrSWNvbiBhcmlhLWxhYmVsPXtwcmVmaXh9IGNsYXNzTmFtZT17Y2xhc3NOYW1lfSAvPlxuICAgICAgKX1cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApO1xufTtcblxuTm90aWZpY2F0aW9uSWNvbi5kZWZhdWx0UHJvcHMgPSB7XG4gIGNsYXNzTmFtZTogdW5kZWZpbmVkXG59O1xuXG5Ob3RpZmljYXRpb25JY29uLnByb3BUeXBlcyA9IHtcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBsZXZlbDogUHJvcFR5cGVzLm9uZU9mKFsnZXJyb3InLCAnaW5mbycsICdzdWNjZXNzJywgJ3dhcm4nXSkuaXNSZXF1aXJlZFxufTtcblxuZXhwb3J0IGRlZmF1bHQgTm90aWZpY2F0aW9uSWNvbjtcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ import { ToastMiddleware } from 'botframework-webchat-api';
2
+ declare function createToastMiddleware(): ToastMiddleware;
3
+ export default createToastMiddleware;
4
+ //# sourceMappingURL=createToastMiddleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createToastMiddleware.d.ts","sourceRoot":"","sources":["../../src/Toast/createToastMiddleware.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAK3D,iBAAS,qBAAqB,IAAI,eAAe,CAKhD;AAED,eAAe,qBAAqB,CAAC"}
@@ -11,7 +11,7 @@ var _BasicToast = _interopRequireDefault(require("../BasicToast"));
11
11
 
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
 
14
- /* eslint react/prop-types: "off"*/
14
+ /* eslint react/prop-types: "off" */
15
15
  function createToastMiddleware() {
16
16
  return function () {
17
17
  return function () {
@@ -27,4 +27,4 @@ function createToastMiddleware() {
27
27
 
28
28
  var _default = createToastMiddleware;
29
29
  exports.default = _default;
30
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Ub2FzdC9jcmVhdGVUb2FzdE1pZGRsZXdhcmUuanMiXSwibmFtZXMiOlsiY3JlYXRlVG9hc3RNaWRkbGV3YXJlIiwibm90aWZpY2F0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUE7O0FBRUE7Ozs7QUFKQTtBQU1BLFNBQVNBLHFCQUFULEdBQWlDO0FBQy9CLFNBQU87QUFBQSxXQUFNO0FBQUEsYUFBTTtBQUFBLFlBQUdDLFlBQUgsUUFBR0EsWUFBSDtBQUFBLDRCQUFzQiw2QkFBQyxtQkFBRDtBQUFZLFVBQUEsWUFBWSxFQUFFQTtBQUExQixVQUF0QjtBQUFBLE9BQU47QUFBQSxLQUFOO0FBQUEsR0FBUDtBQUNEOztlQUVjRCxxQiIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50IHJlYWN0L3Byb3AtdHlwZXM6IFwib2ZmXCIqL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgQmFzaWNUb2FzdCBmcm9tICcuLi9CYXNpY1RvYXN0JztcblxuZnVuY3Rpb24gY3JlYXRlVG9hc3RNaWRkbGV3YXJlKCkge1xuICByZXR1cm4gKCkgPT4gKCkgPT4gKHsgbm90aWZpY2F0aW9uIH0pID0+IDxCYXNpY1RvYXN0IG5vdGlmaWNhdGlvbj17bm90aWZpY2F0aW9ufSAvPjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY3JlYXRlVG9hc3RNaWRkbGV3YXJlO1xuIl19
30
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Ub2FzdC9jcmVhdGVUb2FzdE1pZGRsZXdhcmUudHN4Il0sIm5hbWVzIjpbImNyZWF0ZVRvYXN0TWlkZGxld2FyZSIsIm5vdGlmaWNhdGlvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBOztBQUVBOzs7O0FBTEE7QUFPQSxTQUFTQSxxQkFBVCxHQUFrRDtBQUNoRCxTQUFPO0FBQUEsV0FDTDtBQUFBLGFBQ0E7QUFBQSxZQUFHQyxZQUFILFFBQUdBLFlBQUg7QUFBQSw0QkFDRSw2QkFBQyxtQkFBRDtBQUFZLFVBQUEsWUFBWSxFQUFFQTtBQUExQixVQURGO0FBQUEsT0FEQTtBQUFBLEtBREs7QUFBQSxHQUFQO0FBSUQ7O2VBRWNELHFCIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgcmVhY3QvcHJvcC10eXBlczogXCJvZmZcIiAqL1xuXG5pbXBvcnQgeyBUb2FzdE1pZGRsZXdhcmUgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1hcGknO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IEJhc2ljVG9hc3QgZnJvbSAnLi4vQmFzaWNUb2FzdCc7XG5cbmZ1bmN0aW9uIGNyZWF0ZVRvYXN0TWlkZGxld2FyZSgpOiBUb2FzdE1pZGRsZXdhcmUge1xuICByZXR1cm4gKCkgPT5cbiAgICAoKSA9PlxuICAgICh7IG5vdGlmaWNhdGlvbiB9KSA9PlxuICAgICAgPEJhc2ljVG9hc3Qgbm90aWZpY2F0aW9uPXtub3RpZmljYXRpb259IC8+O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjcmVhdGVUb2FzdE1pZGRsZXdhcmU7XG4iXX0=
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { DirectLineActivity } from 'botframework-webchat-core';
3
+ declare const ActivityRow: React.ForwardRefExoticComponent<{
4
+ activity: DirectLineActivity;
5
+ } & {
6
+ children?: React.ReactNode;
7
+ } & React.RefAttributes<HTMLLIElement>>;
8
+ export default ActivityRow;
9
+ //# sourceMappingURL=ActivityRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActivityRow.d.ts","sourceRoot":"","sources":["../../src/Transcript/ActivityRow.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAE/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAmBpE,QAAA,MAAM,WAAW;cAHL,kBAAkB;;;uCAsF5B,CAAC;AAgBH,eAAe,WAAW,CAAC"}
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _botframeworkWebchatApi = require("botframework-webchat-api");
11
+
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _detectBrowser = require("../Utils/detectBrowser");
19
+
20
+ var _FocusTrap = _interopRequireDefault(require("./FocusTrap"));
21
+
22
+ var _ScreenReaderText = _interopRequireDefault(require("../ScreenReaderText"));
23
+
24
+ var _Speak = _interopRequireDefault(require("../Activity/Speak"));
25
+
26
+ var _useActiveDescendantId = _interopRequireDefault(require("../providers/TranscriptFocus/useActiveDescendantId"));
27
+
28
+ var _useActivityAccessibleName = _interopRequireDefault(require("./useActivityAccessibleName"));
29
+
30
+ var _useFocusByActivityKey = _interopRequireDefault(require("../providers/TranscriptFocus/useFocusByActivityKey"));
31
+
32
+ var _useGetDescendantIdByActivityKey = _interopRequireDefault(require("../providers/TranscriptFocus/useGetDescendantIdByActivityKey"));
33
+
34
+ var _useValueRef = _interopRequireDefault(require("../hooks/internal/useValueRef"));
35
+
36
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
+
38
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
+
40
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
41
+
42
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
43
+
44
+ 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."); }
45
+
46
+ 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); }
47
+
48
+ 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; }
49
+
50
+ 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; }
51
+
52
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
53
+
54
+ var useActivityKeysByRead = _botframeworkWebchatApi.hooks.useActivityKeysByRead,
55
+ useGetHasAcknowledgedByActivityKey = _botframeworkWebchatApi.hooks.useGetHasAcknowledgedByActivityKey,
56
+ useGetKeyByActivity = _botframeworkWebchatApi.hooks.useGetKeyByActivity;
57
+ var ActivityRow = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
58
+ var _activity$channelData, _activity$channelData2;
59
+
60
+ var activity = _ref.activity,
61
+ children = _ref.children;
62
+
63
+ var _useActiveDescendantI = (0, _useActiveDescendantId.default)(),
64
+ _useActiveDescendantI2 = _slicedToArray(_useActiveDescendantI, 1),
65
+ activeDescendantId = _useActiveDescendantI2[0];
66
+
67
+ var _useActivityKeysByRea = useActivityKeysByRead(),
68
+ _useActivityKeysByRea2 = _slicedToArray(_useActivityKeysByRea, 1),
69
+ readActivityKeys = _useActivityKeysByRea2[0];
70
+
71
+ var bodyRef = (0, _react.useRef)();
72
+ var focusByActivityKey = (0, _useFocusByActivityKey.default)();
73
+ var getKeyByActivity = useGetKeyByActivity(); // TODO: [P2] #2858 We should use core/definitions/speakingActivity for this predicate instead
74
+
75
+ var shouldSpeak = (_activity$channelData = activity.channelData) === null || _activity$channelData === void 0 ? void 0 : _activity$channelData.speak;
76
+
77
+ var _useActivityAccessibl = (0, _useActivityAccessibleName.default)(activity, bodyRef),
78
+ _useActivityAccessibl2 = _slicedToArray(_useActivityAccessibl, 1),
79
+ accessibleName = _useActivityAccessibl2[0];
80
+
81
+ var activityKey = getKeyByActivity(activity);
82
+ var acknowledged = useGetHasAcknowledgedByActivityKey()(activityKey);
83
+ var activityKeyRef = (0, _useValueRef.default)(activityKey);
84
+ var descendantId = (0, _useGetDescendantIdByActivityKey.default)()(activityKey);
85
+ var descendantLabelId = "webchat__basic-transcript__active-descendant-label--".concat(activityKey);
86
+ var isActiveDescendant = descendantId === activeDescendantId;
87
+ var read = readActivityKeys.includes(activityKey);
88
+ var focusSelf = (0, _react.useCallback)(function (withFocus) {
89
+ return focusByActivityKey(activityKeyRef.current, withFocus);
90
+ }, [activityKeyRef, focusByActivityKey]); // When a child of the activity receives focus, notify the transcript to set the `aria-activedescendant` to this activity.
91
+
92
+ var handleDescendantFocus = (0, _react.useCallback)(function () {
93
+ return focusSelf(false);
94
+ }, [focusSelf]); // When receive Escape key from descendant, focus back to the activity.
95
+
96
+ var handleLeaveFocusTrap = (0, _react.useCallback)(function () {
97
+ return focusSelf();
98
+ }, [focusSelf]); // When the user press UP/DOWN arrow keys, we put a visual focus indicator around the focused activity.
99
+ // We should do the same for mouse, when the user click on the activity, we should also put a visual focus indicator around the activity.
100
+ // We are doing it in event capture phase to prevent descendants from stopping event propagation to us.
101
+
102
+ var handleMouseDownCapture = (0, _react.useCallback)(function () {
103
+ return focusSelf(false);
104
+ }, [focusSelf]);
105
+ return (
106
+ /*#__PURE__*/
107
+ // TODO: [P2] Add `aria-roledescription="message"` for better AX, need localization strings.
108
+ _react.default.createElement("article", {
109
+ "aria-hidden": ((_activity$channelData2 = activity.channelData) === null || _activity$channelData2 === void 0 ? void 0 : _activity$channelData2['webchat:fallback-text']) === '',
110
+ className: (0, _classnames.default)('webchat__basic-transcript__activity', {
111
+ 'webchat__basic-transcript__activity--acknowledged': acknowledged,
112
+ 'webchat__basic-transcript__activity--read': read
113
+ }) // When NVDA is in browse mode, using up/down arrow key to "browse" will dispatch "click" and "mousedown" events for <article> element (inside <ScreenReaderActivity>).
114
+ ,
115
+ onMouseDownCapture: handleMouseDownCapture,
116
+ ref: ref
117
+ }, !_detectBrowser.android && /*#__PURE__*/_react.default.createElement("div", {
118
+ "aria-labelledby": descendantLabelId,
119
+ className: "webchat__basic-transcript__activity-active-descendant" // "id" is required for "aria-labelledby"
120
+ // eslint-disable-next-line react/forbid-dom-props
121
+ ,
122
+ id: descendantId,
123
+ role: "article"
124
+ }, /*#__PURE__*/_react.default.createElement(_ScreenReaderText.default, {
125
+ "aria-hidden": true,
126
+ id: descendantLabelId,
127
+ text: accessibleName
128
+ })), /*#__PURE__*/_react.default.createElement(_FocusTrap.default, {
129
+ onFocus: handleDescendantFocus,
130
+ onLeave: handleLeaveFocusTrap
131
+ }, /*#__PURE__*/_react.default.createElement("div", {
132
+ className: "webchat__basic-transcript__activity-body",
133
+ ref: bodyRef
134
+ }, children)), shouldSpeak && /*#__PURE__*/_react.default.createElement(_Speak.default, {
135
+ activity: activity
136
+ }), /*#__PURE__*/_react.default.createElement("div", {
137
+ className: (0, _classnames.default)('webchat__basic-transcript__activity-indicator', {
138
+ 'webchat__basic-transcript__activity-indicator--focus': isActiveDescendant
139
+ })
140
+ }))
141
+ );
142
+ });
143
+ ActivityRow.defaultProps = {
144
+ children: undefined
145
+ };
146
+ ActivityRow.propTypes = {
147
+ activity: _propTypes.default.shape({
148
+ channelData: _propTypes.default.shape({
149
+ speak: _propTypes.default.bool,
150
+ 'webchat:fallback-text': _propTypes.default.string
151
+ })
152
+ }).isRequired,
153
+ children: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.arrayOf(_propTypes.default.element)])
154
+ };
155
+ var _default = ActivityRow;
156
+ exports.default = _default;
157
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9UcmFuc2NyaXB0L0FjdGl2aXR5Um93LnRzeCJdLCJuYW1lcyI6WyJ1c2VBY3Rpdml0eUtleXNCeVJlYWQiLCJob29rcyIsInVzZUdldEhhc0Fja25vd2xlZGdlZEJ5QWN0aXZpdHlLZXkiLCJ1c2VHZXRLZXlCeUFjdGl2aXR5IiwiQWN0aXZpdHlSb3ciLCJyZWYiLCJhY3Rpdml0eSIsImNoaWxkcmVuIiwiYWN0aXZlRGVzY2VuZGFudElkIiwicmVhZEFjdGl2aXR5S2V5cyIsImJvZHlSZWYiLCJmb2N1c0J5QWN0aXZpdHlLZXkiLCJnZXRLZXlCeUFjdGl2aXR5Iiwic2hvdWxkU3BlYWsiLCJjaGFubmVsRGF0YSIsInNwZWFrIiwiYWNjZXNzaWJsZU5hbWUiLCJhY3Rpdml0eUtleSIsImFja25vd2xlZGdlZCIsImFjdGl2aXR5S2V5UmVmIiwiZGVzY2VuZGFudElkIiwiZGVzY2VuZGFudExhYmVsSWQiLCJpc0FjdGl2ZURlc2NlbmRhbnQiLCJyZWFkIiwiaW5jbHVkZXMiLCJmb2N1c1NlbGYiLCJ3aXRoRm9jdXMiLCJjdXJyZW50IiwiaGFuZGxlRGVzY2VuZGFudEZvY3VzIiwiaGFuZGxlTGVhdmVGb2N1c1RyYXAiLCJoYW5kbGVNb3VzZURvd25DYXB0dXJlIiwiYW5kcm9pZCIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInNoYXBlIiwiYm9vbCIsInN0cmluZyIsImlzUmVxdWlyZWQiLCJvbmVPZlR5cGUiLCJlbGVtZW50IiwiYXJyYXlPZiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBS0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsSUFBUUEscUJBQVIsR0FBMkZDLDZCQUEzRixDQUFRRCxxQkFBUjtBQUFBLElBQStCRSxrQ0FBL0IsR0FBMkZELDZCQUEzRixD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QUFDLGtCQUFEO0FBQVcsTUFBQSxPQUFPLEVBQUVZLHFCQUFwQjtBQUEyQyxNQUFBLE9BQU8sRUFBRUM7QUFBcEQsb0JBQ0U7QUFBSyxNQUFBLFNBQVMsRUFBQywwQ0FBZjtBQUEwRCxNQUFBLEdBQUcsRUFBRW5CO0FBQS9ELE9BQ0dILFFBREgsQ0FERixDQWhDRixFQXFDR00sV0FBVyxpQkFBSSw2QkFBQyxjQUFEO0FBQWUsTUFBQSxRQUFRLEVBQUVQO0FBQXpCLE1BckNsQixlQXNDRTtBQUNFLE1BQUEsU0FBUyxFQUFFLHlCQUFXLCtDQUFYLEVBQTREO0FBQ3JFLGdFQUF3RGdCO0FBRGEsT0FBNUQ7QUFEYixNQXRDRjtBQUZGO0FBK0NELENBbkZtQixDQUFwQjtBQXFGQWxCLFdBQVcsQ0FBQzRCLFlBQVosR0FBMkI7QUFDekJ6QixFQUFBQSxRQUFRLEVBQUUwQjtBQURlLENBQTNCO0FBSUE3QixXQUFXLENBQUM4QixTQUFaLEdBQXdCO0FBQ3RCNUIsRUFBQUEsUUFBUSxFQUFFNkIsbUJBQVVDLEtBQVYsQ0FBZ0I7QUFDeEJ0QixJQUFBQSxXQUFXLEVBQUVxQixtQkFBVUMsS0FBVixDQUFnQjtBQUMzQnJCLE1BQUFBLEtBQUssRUFBRW9CLG1CQUFVRSxJQURVO0FBRTNCLCtCQUF5QkYsbUJBQVVHO0FBRlIsS0FBaEI7QUFEVyxHQUFoQixFQUtQQyxVQU5tQjtBQU90QmhDLEVBQUFBLFFBQVEsRUFBRTRCLG1CQUFVSyxTQUFWLENBQW9CLENBQUNMLG1CQUFVTSxPQUFYLEVBQW9CTixtQkFBVU8sT0FBVixDQUFrQlAsbUJBQVVNLE9BQTVCLENBQXBCLENBQXBCO0FBUFksQ0FBeEI7ZUFVZXJDLFciLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhvb2tzIH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtYXBpJztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyBmb3J3YXJkUmVmLCB1c2VDYWxsYmFjaywgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IERpcmVjdExpbmVBY3Rpdml0eSB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWNvcmUnO1xuaW1wb3J0IHR5cGUgeyBNb3VzZUV2ZW50SGFuZGxlciwgUHJvcHNXaXRoQ2hpbGRyZW4gfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IGFuZHJvaWQgfSBmcm9tICcuLi9VdGlscy9kZXRlY3RCcm93c2VyJztcbmltcG9ydCBGb2N1c1RyYXAgZnJvbSAnLi9Gb2N1c1RyYXAnO1xuaW1wb3J0IFNjcmVlblJlYWRlclRleHQgZnJvbSAnLi4vU2NyZWVuUmVhZGVyVGV4dCc7XG5pbXBvcnQgU3BlYWtBY3Rpdml0eSBmcm9tICcuLi9BY3Rpdml0eS9TcGVhayc7XG5pbXBvcnQgdXNlQWN0aXZlRGVzY2VuZGFudElkIGZyb20gJy4uL3Byb3ZpZGVycy9UcmFuc2NyaXB0Rm9jdXMvdXNlQWN0aXZlRGVzY2VuZGFudElkJztcbmltcG9ydCB1c2VBY3Rpdml0eUFjY2Vzc2libGVOYW1lIGZyb20gJy4vdXNlQWN0aXZpdHlBY2Nlc3NpYmxlTmFtZSc7XG5pbXBvcnQgdXNlRm9jdXNCeUFjdGl2aXR5S2V5IGZyb20gJy4uL3Byb3ZpZGVycy9UcmFuc2NyaXB0Rm9jdXMvdXNlRm9jdXNCeUFjdGl2aXR5S2V5JztcbmltcG9ydCB1c2VHZXREZXNjZW5kYW50SWRCeUFjdGl2aXR5S2V5IGZyb20gJy4uL3Byb3ZpZGVycy9UcmFuc2NyaXB0Rm9jdXMvdXNlR2V0RGVzY2VuZGFudElkQnlBY3Rpdml0eUtleSc7XG5pbXBvcnQgdXNlVmFsdWVSZWYgZnJvbSAnLi4vaG9va3MvaW50ZXJuYWwvdXNlVmFsdWVSZWYnO1xuXG5jb25zdCB7IHVzZUFjdGl2aXR5S2V5c0J5UmVhZCwgdXNlR2V0SGFzQWNrbm93bGVkZ2VkQnlBY3Rpdml0eUtleSwgdXNlR2V0S2V5QnlBY3Rpdml0eSB9ID0gaG9va3M7XG5cbnR5cGUgQWN0aXZpdHlSb3dQcm9wcyA9IFByb3BzV2l0aENoaWxkcmVuPHtcbiAgYWN0aXZpdHk6IERpcmVjdExpbmVBY3Rpdml0eTtcbn0+O1xuXG5jb25zdCBBY3Rpdml0eVJvdyA9IGZvcndhcmRSZWY8SFRNTExJRWxlbWVudCwgQWN0aXZpdHlSb3dQcm9wcz4oKHsgYWN0aXZpdHksIGNoaWxkcmVuIH0sIHJlZikgPT4ge1xuICBjb25zdCBbYWN0aXZlRGVzY2VuZGFudElkXSA9IHVzZUFjdGl2ZURlc2NlbmRhbnRJZCgpO1xuICBjb25zdCBbcmVhZEFjdGl2aXR5S2V5c10gPSB1c2VBY3Rpdml0eUtleXNCeVJlYWQoKTtcbiAgY29uc3QgYm9keVJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcbiAgY29uc3QgZm9jdXNCeUFjdGl2aXR5S2V5ID0gdXNlRm9jdXNCeUFjdGl2aXR5S2V5KCk7XG4gIGNvbnN0IGdldEtleUJ5QWN0aXZpdHkgPSB1c2VHZXRLZXlCeUFjdGl2aXR5KCk7XG4gIC8vIFRPRE86IFtQMl0gIzI4NTggV2Ugc2hvdWxkIHVzZSBjb3JlL2RlZmluaXRpb25zL3NwZWFraW5nQWN0aXZpdHkgZm9yIHRoaXMgcHJlZGljYXRlIGluc3RlYWRcbiAgY29uc3Qgc2hvdWxkU3BlYWsgPSBhY3Rpdml0eS5jaGFubmVsRGF0YT8uc3BlYWs7XG5cbiAgY29uc3QgW2FjY2Vzc2libGVOYW1lXSA9IHVzZUFjdGl2aXR5QWNjZXNzaWJsZU5hbWUoYWN0aXZpdHksIGJvZHlSZWYpO1xuICBjb25zdCBhY3Rpdml0eUtleSA9IGdldEtleUJ5QWN0aXZpdHkoYWN0aXZpdHkpO1xuXG4gIGNvbnN0IGFja25vd2xlZGdlZCA9IHVzZUdldEhhc0Fja25vd2xlZGdlZEJ5QWN0aXZpdHlLZXkoKShhY3Rpdml0eUtleSk7XG4gIGNvbnN0IGFjdGl2aXR5S2V5UmVmID0gdXNlVmFsdWVSZWY8c3RyaW5nPihhY3Rpdml0eUtleSk7XG4gIGNvbnN0IGRlc2NlbmRhbnRJZCA9IHVzZUdldERlc2NlbmRhbnRJZEJ5QWN0aXZpdHlLZXkoKShhY3Rpdml0eUtleSk7XG4gIGNvbnN0IGRlc2NlbmRhbnRMYWJlbElkID0gYHdlYmNoYXRfX2Jhc2ljLXRyYW5zY3JpcHRfX2FjdGl2ZS1kZXNjZW5kYW50LWxhYmVsLS0ke2FjdGl2aXR5S2V5fWA7XG5cbiAgY29uc3QgaXNBY3RpdmVEZXNjZW5kYW50ID0gZGVzY2VuZGFudElkID09PSBhY3RpdmVEZXNjZW5kYW50SWQ7XG4gIGNvbnN0IHJlYWQgPSByZWFkQWN0aXZpdHlLZXlzLmluY2x1ZGVzKGFjdGl2aXR5S2V5KTtcblxuICBjb25zdCBmb2N1c1NlbGYgPSB1c2VDYWxsYmFjazwod2l0aEZvY3VzPzogYm9vbGVhbikgPT4gdm9pZD4oXG4gICAgKHdpdGhGb2N1cz86IGJvb2xlYW4pID0+IGZvY3VzQnlBY3Rpdml0eUtleShhY3Rpdml0eUtleVJlZi5jdXJyZW50LCB3aXRoRm9jdXMpLFxuICAgIFthY3Rpdml0eUtleVJlZiwgZm9jdXNCeUFjdGl2aXR5S2V5XVxuICApO1xuXG4gIC8vIFdoZW4gYSBjaGlsZCBvZiB0aGUgYWN0aXZpdHkgcmVjZWl2ZXMgZm9jdXMsIG5vdGlmeSB0aGUgdHJhbnNjcmlwdCB0byBzZXQgdGhlIGBhcmlhLWFjdGl2ZWRlc2NlbmRhbnRgIHRvIHRoaXMgYWN0aXZpdHkuXG4gIGNvbnN0IGhhbmRsZURlc2NlbmRhbnRGb2N1czogKCkgPT4gdm9pZCA9IHVzZUNhbGxiYWNrKCgpID0+IGZvY3VzU2VsZihmYWxzZSksIFtmb2N1c1NlbGZdKTtcblxuICAvLyBXaGVuIHJlY2VpdmUgRXNjYXBlIGtleSBmcm9tIGRlc2NlbmRhbnQsIGZvY3VzIGJhY2sgdG8gdGhlIGFjdGl2aXR5LlxuICBjb25zdCBoYW5kbGVMZWF2ZUZvY3VzVHJhcCA9IHVzZUNhbGxiYWNrKCgpID0+IGZvY3VzU2VsZigpLCBbZm9jdXNTZWxmXSk7XG5cbiAgLy8gV2hlbiB0aGUgdXNlciBwcmVzcyBVUC9ET1dOIGFycm93IGtleXMsIHdlIHB1dCBhIHZpc3VhbCBmb2N1cyBpbmRpY2F0b3IgYXJvdW5kIHRoZSBmb2N1c2VkIGFjdGl2aXR5LlxuICAvLyBXZSBzaG91bGQgZG8gdGhlIHNhbWUgZm9yIG1vdXNlLCB3aGVuIHRoZSB1c2VyIGNsaWNrIG9uIHRoZSBhY3Rpdml0eSwgd2Ugc2hvdWxkIGFsc28gcHV0IGEgdmlzdWFsIGZvY3VzIGluZGljYXRvciBhcm91bmQgdGhlIGFjdGl2aXR5LlxuICAvLyBXZSBhcmUgZG9pbmcgaXQgaW4gZXZlbnQgY2FwdHVyZSBwaGFzZSB0byBwcmV2ZW50IGRlc2NlbmRhbnRzIGZyb20gc3RvcHBpbmcgZXZlbnQgcHJvcGFnYXRpb24gdG8gdXMuXG4gIGNvbnN0IGhhbmRsZU1vdXNlRG93bkNhcHR1cmU6IE1vdXNlRXZlbnRIYW5kbGVyID0gdXNlQ2FsbGJhY2soKCkgPT4gZm9jdXNTZWxmKGZhbHNlKSwgW2ZvY3VzU2VsZl0pO1xuXG4gIHJldHVybiAoXG4gICAgLy8gVE9ETzogW1AyXSBBZGQgYGFyaWEtcm9sZWRlc2NyaXB0aW9uPVwibWVzc2FnZVwiYCBmb3IgYmV0dGVyIEFYLCBuZWVkIGxvY2FsaXphdGlvbiBzdHJpbmdzLlxuICAgIDxhcnRpY2xlXG4gICAgICBhcmlhLWhpZGRlbj17YWN0aXZpdHkuY2hhbm5lbERhdGE/Llsnd2ViY2hhdDpmYWxsYmFjay10ZXh0J10gPT09ICcnfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCd3ZWJjaGF0X19iYXNpYy10cmFuc2NyaXB0X19hY3Rpdml0eScsIHtcbiAgICAgICAgJ3dlYmNoYXRfX2Jhc2ljLXRyYW5zY3JpcHRfX2FjdGl2aXR5LS1hY2tub3dsZWRnZWQnOiBhY2tub3dsZWRnZWQsXG4gICAgICAgICd3ZWJjaGF0X19iYXNpYy10cmFuc2NyaXB0X19hY3Rpdml0eS0tcmVhZCc6IHJlYWRcbiAgICAgIH0pfVxuICAgICAgLy8gV2hlbiBOVkRBIGlzIGluIGJyb3dzZSBtb2RlLCB1c2luZyB1cC9kb3duIGFycm93IGtleSB0byBcImJyb3dzZVwiIHdpbGwgZGlzcGF0Y2ggXCJjbGlja1wiIGFuZCBcIm1vdXNlZG93blwiIGV2ZW50cyBmb3IgPGFydGljbGU+IGVsZW1lbnQgKGluc2lkZSA8U2NyZWVuUmVhZGVyQWN0aXZpdHk+KS5cbiAgICAgIG9uTW91c2VEb3duQ2FwdHVyZT17aGFuZGxlTW91c2VEb3duQ2FwdHVyZX1cbiAgICAgIHJlZj17cmVmfVxuICAgID5cbiAgICAgIHsvKiBUT0RPOiBbUDFdIEZpbGUgYSBjcmJ1ZyBmb3IgVGFsa0JhY2suIEl0IHNob3VsZCBub3QgYWJsZSB0byByZWFkIHRoZSBjb250ZW50IHR3aWNlIHdoZW4gc2Nhbm5pbmcuICovfVxuXG4gICAgICB7LyogVGhlIGZvbGxvd2luZyA8ZGl2PiBpcyBkZXNpZ25lZCBmb3IgYWN0aXZlIGRlc2NlbmRhbnQgb25seS5cbiAgICAgICAgICBXZSB3YW50IHRvIHByZXZlbnQgc2NyZWVuIHJlYWRlciBmcm9tIHNjYW5uaW5nIHRoZSBjb250ZW50IHRoYXQgaXMgYXV0aG9yZWQgb25seSBmb3IgYWN0aXZlIGRlc2NlbmRhbnQuXG4gICAgICAgICAgVGhlIHNwZWNpZmljIGNvbnRlbnQgc2hvdWxkIG9ubHkgcmVhZCB3aGVuIHVzZXIgcHJlc3MgVVAvRE9XTiBhcnJvdyBrZXlzIHRvIGNoYW5nZSBgYXJpYS1hY3RpdmVkZXNjZW5kYW50YC5cbiAgICAgICAgICBIb3dldmVyLCBBbmRyb2lkIFRhbGtCYWNrIDEyLjEgaXMgYnVnZ3kgd2hlbiB0aGUgdGhlcmUgaXMgYW4gZWxlbWVudCB3aXRoIElEIG9mIG9uZSBvZiB0aGUgYGFyaWEtYWN0aXZlZGVzY2VuZGFudGAgcG90ZW50aWFsIGNhbmRpZGF0ZXMsXG4gICAgICAgICAgVGFsa0JhY2sgd2lsbCBuYXJyYXRlIHRoZSBtZXNzYWdlIGNvbnRlbnQgdHdpY2UgKGkuZS4gY29udGVudCBvZiBgYm9keVJlZmApLCByZWdhcmRsZXNzIHdoZXRoZXIgdGhlIElEIGlzIGN1cnJlbnRseSBzZXQgYXMgYGFyaWEtYWN0aXZlZGVzY2VuZGFudGAgb3Igbm90LlxuICAgICAgICAgIEFzIEFuZHJvaWQgZG9lcyBub3Qgc3VwcG9ydCBhY3RpdmUgZGVzY2VuZGFudCwgd2UgYXJlIGhpZGluZyB0aGUgd2hvbGUgRE9NIGVsZW1lbnQgYWx0b2dldGhlci4gKi99XG5cbiAgICAgIHshYW5kcm9pZCAmJiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e2Rlc2NlbmRhbnRMYWJlbElkfVxuICAgICAgICAgIGNsYXNzTmFtZT1cIndlYmNoYXRfX2Jhc2ljLXRyYW5zY3JpcHRfX2FjdGl2aXR5LWFjdGl2ZS1kZXNjZW5kYW50XCJcbiAgICAgICAgICAvLyBcImlkXCIgaXMgcmVxdWlyZWQgZm9yIFwiYXJpYS1sYWJlbGxlZGJ5XCJcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvZm9yYmlkLWRvbS1wcm9wc1xuICAgICAgICAgIGlkPXtkZXNjZW5kYW50SWR9XG4gICAgICAgICAgcm9sZT1cImFydGljbGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPFNjcmVlblJlYWRlclRleHQgYXJpYS1oaWRkZW49e3RydWV9IGlkPXtkZXNjZW5kYW50TGFiZWxJZH0gdGV4dD17YWNjZXNzaWJsZU5hbWV9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICAgIHsvKiBBZGQgdGVzdHMgZm9yIGZvY3VzIHRyYXAgKi99XG4gICAgICA8Rm9jdXNUcmFwIG9uRm9jdXM9e2hhbmRsZURlc2NlbmRhbnRGb2N1c30gb25MZWF2ZT17aGFuZGxlTGVhdmVGb2N1c1RyYXB9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIndlYmNoYXRfX2Jhc2ljLXRyYW5zY3JpcHRfX2FjdGl2aXR5LWJvZHlcIiByZWY9e2JvZHlSZWZ9PlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L0ZvY3VzVHJhcD5cbiAgICAgIHtzaG91bGRTcGVhayAmJiA8U3BlYWtBY3Rpdml0eSBhY3Rpdml0eT17YWN0aXZpdHl9IC8+fVxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoJ3dlYmNoYXRfX2Jhc2ljLXRyYW5zY3JpcHRfX2FjdGl2aXR5LWluZGljYXRvcicsIHtcbiAgICAgICAgICAnd2ViY2hhdF9fYmFzaWMtdHJhbnNjcmlwdF9fYWN0aXZpdHktaW5kaWNhdG9yLS1mb2N1cyc6IGlzQWN0aXZlRGVzY2VuZGFudFxuICAgICAgICB9KX1cbiAgICAgIC8+XG4gICAgPC9hcnRpY2xlPlxuICApO1xufSk7XG5cbkFjdGl2aXR5Um93LmRlZmF1bHRQcm9wcyA9IHtcbiAgY2hpbGRyZW46IHVuZGVmaW5lZFxufTtcblxuQWN0aXZpdHlSb3cucHJvcFR5cGVzID0ge1xuICBhY3Rpdml0eTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBjaGFubmVsRGF0YTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIHNwZWFrOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAgICd3ZWJjaGF0OmZhbGxiYWNrLXRleHQnOiBQcm9wVHlwZXMuc3RyaW5nXG4gICAgfSlcbiAgfSkuaXNSZXF1aXJlZCxcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5lbGVtZW50LCBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuZWxlbWVudCldKVxufTtcblxuZXhwb3J0IGRlZmF1bHQgQWN0aXZpdHlSb3c7XG4iXX0=