botframework-webchat-component 4.14.1 → 4.15.2-main.20220413.af6e8a3

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 (411) hide show
  1. package/.eslintrc.yml +4 -106
  2. package/.prettierrc.yml +1 -1
  3. package/lib/Activity/CarouselFilmStrip.js +1 -1
  4. package/lib/Activity/CarouselFilmStripAttachment.js +1 -1
  5. package/lib/Activity/CarouselLayout.js +3 -3
  6. package/lib/Activity/Speak.d.ts +2 -2
  7. package/lib/Activity/Speak.d.ts.map +1 -1
  8. package/lib/Activity/Speak.js +15 -8
  9. package/lib/Activity/StackedLayout.d.ts +5 -3
  10. package/lib/Activity/StackedLayout.d.ts.map +1 -1
  11. package/lib/Activity/StackedLayout.js +16 -21
  12. package/lib/Attachment/FileAttachment.js +2 -2
  13. package/lib/Attachment/FileContent.d.ts.map +1 -1
  14. package/lib/Attachment/FileContent.js +11 -1
  15. package/lib/BasicSendBox.d.ts.map +1 -1
  16. package/lib/BasicSendBox.js +8 -9
  17. package/lib/BasicToast.js +1 -1
  18. package/lib/BasicToaster.js +6 -3
  19. package/lib/BasicTranscript.d.ts +7 -0
  20. package/lib/BasicTranscript.d.ts.map +1 -0
  21. package/lib/BasicTranscript.js +386 -728
  22. package/lib/BasicTypingIndicator.d.ts +2 -1
  23. package/lib/BasicTypingIndicator.d.ts.map +1 -1
  24. package/lib/BasicTypingIndicator.js +12 -4
  25. package/lib/Composer.d.ts.map +1 -1
  26. package/lib/Composer.js +37 -32
  27. package/lib/ConnectivityStatus/Connecting.js +1 -1
  28. package/lib/Dictation.js +1 -1
  29. package/lib/Middleware/Activity/createCoreMiddleware.d.ts.map +1 -1
  30. package/lib/Middleware/Activity/createCoreMiddleware.js +9 -12
  31. package/lib/Middleware/ActivityStatus/SendStatus/SendFailedRetry.js +1 -1
  32. package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.d.ts +2 -2
  33. package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.d.ts.map +1 -1
  34. package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.js +5 -4
  35. package/lib/Middleware/ActivityStatus/Timestamp.d.ts +2 -2
  36. package/lib/Middleware/ActivityStatus/Timestamp.d.ts.map +1 -1
  37. package/lib/Middleware/ActivityStatus/Timestamp.js +4 -2
  38. package/lib/Middleware/ActivityStatus/createSendStatusMiddleware.js +20 -17
  39. package/lib/Middleware/Attachment/createCoreMiddleware.js +2 -5
  40. package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.d.ts.map +1 -1
  41. package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.js +1 -1
  42. package/lib/Middleware/Avatar/createCoreMiddleware.d.ts.map +1 -1
  43. package/lib/Middleware/Avatar/createCoreMiddleware.js +2 -3
  44. package/lib/Middleware/CardAction/createCoreMiddleware.js +10 -3
  45. package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.d.ts.map +1 -1
  46. package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.js +1 -1
  47. package/lib/Middleware/Toast/createCoreMiddleware.d.ts.map +1 -1
  48. package/lib/Middleware/Toast/createCoreMiddleware.js +1 -1
  49. package/lib/Middleware/TypingIndicator/createCoreMiddleware.d.ts.map +1 -1
  50. package/lib/Middleware/TypingIndicator/createCoreMiddleware.js +8 -6
  51. package/lib/ReactWebChat.js +2 -2
  52. package/lib/ScreenReaderActivity.js +15 -6
  53. package/lib/ScreenReaderText.d.ts +9 -0
  54. package/lib/ScreenReaderText.d.ts.map +1 -0
  55. package/lib/ScreenReaderText.js +22 -8
  56. package/lib/SendBox/AutoResizeTextArea.js +1 -1
  57. package/lib/SendBox/DictationInterims.js +1 -1
  58. package/lib/SendBox/IconButton.d.ts +11 -0
  59. package/lib/SendBox/IconButton.d.ts.map +1 -0
  60. package/lib/SendBox/IconButton.js +26 -6
  61. package/lib/SendBox/MicrophoneButton.js +2 -2
  62. package/lib/SendBox/SendButton.js +2 -2
  63. package/lib/SendBox/SuggestedAction.d.ts +17 -0
  64. package/lib/SendBox/SuggestedAction.d.ts.map +1 -0
  65. package/lib/SendBox/SuggestedAction.js +26 -17
  66. package/lib/SendBox/SuggestedActions.d.ts.map +1 -1
  67. package/lib/SendBox/SuggestedActions.js +26 -9
  68. package/lib/SendBox/TextBox.js +4 -4
  69. package/lib/SendBox/UploadButton.js +4 -4
  70. package/lib/Styles/StyleSet/BasicTranscript.d.ts +13 -5
  71. package/lib/Styles/StyleSet/BasicTranscript.d.ts.map +1 -1
  72. package/lib/Styles/StyleSet/BasicTranscript.js +21 -9
  73. package/lib/Styles/StyleSet/Bubble.d.ts.map +1 -1
  74. package/lib/Styles/StyleSet/Bubble.js +3 -3
  75. package/lib/Styles/StyleSet/CarouselFilmStrip.d.ts.map +1 -1
  76. package/lib/Styles/StyleSet/CarouselFilmStrip.js +3 -3
  77. package/lib/Styles/StyleSet/CarouselFilmStripAttachment.d.ts.map +1 -1
  78. package/lib/Styles/StyleSet/CarouselFilmStripAttachment.js +3 -3
  79. package/lib/Styles/StyleSet/KeyboardHelp.d.ts +123 -0
  80. package/lib/Styles/StyleSet/KeyboardHelp.d.ts.map +1 -0
  81. package/lib/Styles/StyleSet/KeyboardHelp.js +145 -0
  82. package/lib/Styles/StyleSet/ScrollToEndButton.d.ts +1 -1
  83. package/lib/Styles/StyleSet/ScrollToEndButton.js +2 -2
  84. package/lib/Styles/StyleSet/SendBoxButton.d.ts +56 -10
  85. package/lib/Styles/StyleSet/SendBoxButton.d.ts.map +1 -1
  86. package/lib/Styles/StyleSet/SendBoxButton.js +76 -12
  87. package/lib/Styles/StyleSet/SendBoxTextBox.d.ts +1 -1
  88. package/lib/Styles/StyleSet/SendBoxTextBox.d.ts.map +1 -1
  89. package/lib/Styles/StyleSet/SendBoxTextBox.js +3 -3
  90. package/lib/Styles/StyleSet/StackedLayout.d.ts.map +1 -1
  91. package/lib/Styles/StyleSet/StackedLayout.js +1 -1
  92. package/lib/Styles/StyleSet/SuggestedAction.d.ts +73 -28
  93. package/lib/Styles/StyleSet/SuggestedAction.d.ts.map +1 -1
  94. package/lib/Styles/StyleSet/SuggestedAction.js +116 -41
  95. package/lib/Styles/StyleSet/SuggestedActions.d.ts +13 -6
  96. package/lib/Styles/StyleSet/SuggestedActions.d.ts.map +1 -1
  97. package/lib/Styles/StyleSet/SuggestedActions.js +13 -6
  98. package/lib/Styles/createStyleSet.d.ts +324 -55
  99. package/lib/Styles/createStyleSet.d.ts.map +1 -1
  100. package/lib/Styles/createStyleSet.js +6 -3
  101. package/lib/Styles/mirrorStyle.js +12 -3
  102. package/lib/Toast/NotificationIcon.js +7 -3
  103. package/lib/Toast/createToastMiddleware.d.ts.map +1 -1
  104. package/lib/Toast/createToastMiddleware.js +1 -1
  105. package/lib/Transcript/ActivityRow.d.ts +9 -0
  106. package/lib/Transcript/ActivityRow.d.ts.map +1 -0
  107. package/lib/Transcript/ActivityRow.js +159 -0
  108. package/lib/Transcript/ActivityTextAlt.js +57 -0
  109. package/lib/Transcript/FocusTrap.d.ts +8 -0
  110. package/lib/Transcript/FocusTrap.d.ts.map +1 -0
  111. package/lib/Transcript/FocusTrap.js +74 -0
  112. package/lib/Transcript/KeyboardHelp.d.ts +4 -0
  113. package/lib/Transcript/KeyboardHelp.d.ts.map +1 -0
  114. package/lib/Transcript/KeyboardHelp.js +550 -0
  115. package/lib/Transcript/LiveRegionTranscript.d.ts +8 -0
  116. package/lib/Transcript/LiveRegionTranscript.d.ts.map +1 -0
  117. package/lib/Transcript/LiveRegionTranscript.js +229 -0
  118. package/lib/Transcript/types.d.ts +2 -0
  119. package/lib/Transcript/types.d.ts.map +1 -0
  120. package/lib/Transcript/types.js +2 -0
  121. package/lib/Transcript/useActivityAccessibleName.d.ts +4 -0
  122. package/lib/Transcript/useActivityAccessibleName.d.ts.map +1 -0
  123. package/lib/Transcript/useActivityAccessibleName.js +97 -0
  124. package/lib/Transcript/useTypistNames.d.ts +3 -0
  125. package/lib/Transcript/useTypistNames.d.ts.map +1 -0
  126. package/lib/Transcript/useTypistNames.js +61 -0
  127. package/lib/Utils/AccessKeySink/Surface.js +1 -1
  128. package/lib/Utils/AccessibleButton.d.ts +11 -0
  129. package/lib/Utils/AccessibleButton.d.ts.map +1 -0
  130. package/lib/Utils/AccessibleButton.js +12 -7
  131. package/lib/Utils/AccessibleInputText.js +1 -1
  132. package/lib/Utils/AccessibleTextArea.js +1 -1
  133. package/lib/Utils/CroppedImage.js +1 -1
  134. package/lib/Utils/FocusRedirector.d.ts +9 -0
  135. package/lib/Utils/FocusRedirector.d.ts.map +1 -0
  136. package/lib/Utils/FocusRedirector.js +17 -14
  137. package/lib/Utils/InlineMarkdown.js +15 -8
  138. package/lib/Utils/TypeFocusSink/FocusBox.js +1 -1
  139. package/lib/Utils/TypeFocusSink/inputtableKey.d.ts +2 -0
  140. package/lib/Utils/TypeFocusSink/inputtableKey.d.ts.map +1 -0
  141. package/lib/Utils/TypeFocusSink/inputtableKey.js +5 -2
  142. package/lib/Utils/activityAltText.d.ts +8 -0
  143. package/lib/Utils/activityAltText.d.ts.map +1 -0
  144. package/lib/Utils/addTargetBlankToHyperlinksMarkdown.js +2 -2
  145. package/lib/Utils/createCustomEvent.js +8 -2
  146. package/lib/Utils/detectBrowser.js +4 -2
  147. package/lib/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingWorker.js +1 -1
  148. package/lib/Utils/downscaleImageToDataURL/index.js +1 -1
  149. package/lib/Utils/findAncestor.js +17 -0
  150. package/lib/Utils/getActivityUniqueId.js +4 -2
  151. package/lib/Utils/intersectionOf.d.ts +5 -0
  152. package/lib/Utils/intersectionOf.d.ts.map +1 -0
  153. package/lib/Utils/intersectionOf.js +17 -2
  154. package/lib/Utils/isZeroOrPositive.d.ts +5 -0
  155. package/lib/Utils/isZeroOrPositive.d.ts.map +1 -0
  156. package/lib/Utils/isZeroOrPositive.js +4 -1
  157. package/lib/Utils/mapMap.js +9 -2
  158. package/lib/Utils/readDataURIToBlob.js +1 -1
  159. package/lib/Utils/scrollIntoViewWithBlockNearest.d.ts +7 -0
  160. package/lib/Utils/scrollIntoViewWithBlockNearest.d.ts.map +1 -0
  161. package/lib/Utils/scrollIntoViewWithBlockNearest.js +48 -0
  162. package/lib/Utils/shallowEquals.js +7 -3
  163. package/lib/Utils/supportPseudoClass.d.ts +2 -0
  164. package/lib/Utils/supportPseudoClass.d.ts.map +1 -0
  165. package/lib/Utils/supportPseudoClass.js +23 -0
  166. package/lib/Utils/tabbableElements.d.ts +2 -0
  167. package/lib/Utils/tabbableElements.d.ts.map +1 -0
  168. package/lib/Utils/tabbableElements.js +2 -2
  169. package/lib/connectToWebChat.js +15 -7
  170. package/lib/hooks/index.js +24 -24
  171. package/lib/hooks/internal/BypassSpeechSynthesisPonyfill.js +8 -7
  172. package/lib/hooks/internal/useChanged.js +8 -1
  173. package/lib/hooks/internal/useDispatchScrollPosition.js +3 -7
  174. package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.d.ts +2 -0
  175. package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.d.ts.map +1 -0
  176. package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.js +15 -0
  177. package/lib/hooks/internal/useFocusVisible.d.ts +3 -0
  178. package/lib/hooks/internal/useFocusVisible.d.ts.map +1 -0
  179. package/lib/hooks/internal/useFocusVisible.js +48 -0
  180. package/lib/hooks/internal/useMemoWithPrevious.d.ts +3 -0
  181. package/lib/hooks/internal/useMemoWithPrevious.d.ts.map +1 -0
  182. package/lib/hooks/internal/useMemoWithPrevious.js +22 -0
  183. package/lib/hooks/internal/useMemoize.d.ts +14 -0
  184. package/lib/hooks/internal/useMemoize.d.ts.map +1 -0
  185. package/lib/hooks/internal/useMemoize.js +11 -2
  186. package/lib/hooks/internal/useObserveFocusVisible.d.ts +3 -0
  187. package/lib/hooks/internal/useObserveFocusVisible.d.ts.map +1 -0
  188. package/lib/hooks/internal/useObserveFocusVisible.js +208 -0
  189. package/lib/hooks/internal/usePrevious.d.ts +2 -0
  190. package/lib/hooks/internal/usePrevious.d.ts.map +1 -0
  191. package/lib/hooks/internal/usePrevious.js +18 -0
  192. package/lib/hooks/internal/useStateRef.d.ts +3 -0
  193. package/lib/hooks/internal/useStateRef.d.ts.map +1 -0
  194. package/lib/hooks/internal/useStateRef.js +40 -0
  195. package/lib/hooks/internal/useValueRef.d.ts +3 -0
  196. package/lib/hooks/internal/useValueRef.d.ts.map +1 -0
  197. package/lib/hooks/internal/useValueRef.js +25 -0
  198. package/lib/hooks/useFocus.d.ts +1 -1
  199. package/lib/hooks/useFocus.d.ts.map +1 -1
  200. package/lib/hooks/useFocus.js +1 -1
  201. package/lib/hooks/useObserveTranscriptFocus.d.ts +2 -2
  202. package/lib/hooks/useObserveTranscriptFocus.d.ts.map +1 -1
  203. package/lib/hooks/useObserveTranscriptFocus.js +1 -1
  204. package/lib/hooks/useRenderMarkdownAsHTML.d.ts.map +1 -1
  205. package/lib/hooks/useRenderMarkdownAsHTML.js +1 -1
  206. package/lib/hooks/useScrollTo.d.ts.map +1 -1
  207. package/lib/hooks/useScrollTo.js +1 -1
  208. package/lib/hooks/useScrollToEnd.d.ts.map +1 -1
  209. package/lib/hooks/useScrollToEnd.js +1 -1
  210. package/lib/hooks/useSendFiles.d.ts.map +1 -1
  211. package/lib/hooks/useSendFiles.js +4 -4
  212. package/lib/index.d.ts +13 -3
  213. package/lib/index.d.ts.map +1 -1
  214. package/lib/index.js +20 -18
  215. package/lib/providers/ActivityTree/ActivityTreeComposer.d.ts +5 -0
  216. package/lib/providers/ActivityTree/ActivityTreeComposer.d.ts.map +1 -0
  217. package/lib/providers/ActivityTree/ActivityTreeComposer.js +86 -0
  218. package/lib/providers/ActivityTree/private/Context.d.ts +9 -0
  219. package/lib/providers/ActivityTree/private/Context.d.ts.map +1 -0
  220. package/lib/providers/ActivityTree/private/Context.js +13 -0
  221. package/lib/providers/ActivityTree/private/types.d.ts +10 -0
  222. package/lib/providers/ActivityTree/private/types.d.ts.map +1 -0
  223. package/lib/providers/ActivityTree/private/types.js +2 -0
  224. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.d.ts +4 -0
  225. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.d.ts.map +1 -0
  226. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.js +58 -0
  227. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.d.ts +5 -0
  228. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.d.ts.map +1 -0
  229. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.js +166 -0
  230. package/lib/providers/ActivityTree/private/useContext.d.ts +3 -0
  231. package/lib/providers/ActivityTree/private/useContext.d.ts.map +1 -0
  232. package/lib/providers/ActivityTree/private/useContext.js +24 -0
  233. package/lib/providers/ActivityTree/useActivityTreeWithRenderer.d.ts +8 -0
  234. package/lib/providers/ActivityTree/useActivityTreeWithRenderer.d.ts.map +1 -0
  235. package/lib/providers/ActivityTree/useActivityTreeWithRenderer.js +17 -0
  236. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.d.ts +37 -0
  237. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.d.ts.map +1 -0
  238. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.js +160 -0
  239. package/lib/providers/LiveRegionTwin/private/Context.d.ts +10 -0
  240. package/lib/providers/LiveRegionTwin/private/Context.d.ts.map +1 -0
  241. package/lib/providers/LiveRegionTwin/private/Context.js +13 -0
  242. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.d.ts +12 -0
  243. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.d.ts.map +1 -0
  244. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.js +100 -0
  245. package/lib/providers/LiveRegionTwin/private/types.d.ts +8 -0
  246. package/lib/providers/LiveRegionTwin/private/types.d.ts.map +1 -0
  247. package/lib/providers/LiveRegionTwin/private/types.js +2 -0
  248. package/lib/providers/LiveRegionTwin/private/useContext.d.ts +3 -0
  249. package/lib/providers/LiveRegionTwin/private/useContext.d.ts.map +1 -0
  250. package/lib/providers/LiveRegionTwin/private/useContext.js +24 -0
  251. package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.d.ts +2 -0
  252. package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.d.ts.map +1 -0
  253. package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.js +24 -0
  254. package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.d.ts +3 -0
  255. package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.d.ts.map +1 -0
  256. package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.js +15 -0
  257. package/lib/providers/LiveRegionTwin/useQueueStaticElement.d.ts +8 -0
  258. package/lib/providers/LiveRegionTwin/useQueueStaticElement.d.ts.map +1 -0
  259. package/lib/providers/LiveRegionTwin/useQueueStaticElement.js +20 -0
  260. package/lib/providers/TranscriptFocus/TranscriptFocusComposer.d.ts +7 -0
  261. package/lib/providers/TranscriptFocus/TranscriptFocusComposer.d.ts.map +1 -0
  262. package/lib/providers/TranscriptFocus/TranscriptFocusComposer.js +184 -0
  263. package/lib/providers/TranscriptFocus/private/Context.d.ts +12 -0
  264. package/lib/providers/TranscriptFocus/private/Context.d.ts.map +1 -0
  265. package/lib/providers/TranscriptFocus/private/Context.js +13 -0
  266. package/lib/providers/TranscriptFocus/private/useContext.d.ts +2 -0
  267. package/lib/providers/TranscriptFocus/private/useContext.d.ts.map +1 -0
  268. package/lib/providers/TranscriptFocus/private/useContext.js +24 -0
  269. package/lib/providers/TranscriptFocus/useActiveDescendantId.d.ts +2 -0
  270. package/lib/providers/TranscriptFocus/useActiveDescendantId.d.ts.map +1 -0
  271. package/lib/providers/TranscriptFocus/useActiveDescendantId.js +15 -0
  272. package/lib/providers/TranscriptFocus/useFocusByActivityKey.d.ts +8 -0
  273. package/lib/providers/TranscriptFocus/useFocusByActivityKey.d.ts.map +1 -0
  274. package/lib/providers/TranscriptFocus/useFocusByActivityKey.js +21 -0
  275. package/lib/providers/TranscriptFocus/useFocusRelativeActivity.d.ts +2 -0
  276. package/lib/providers/TranscriptFocus/useFocusRelativeActivity.d.ts.map +1 -0
  277. package/lib/providers/TranscriptFocus/useFocusRelativeActivity.js +15 -0
  278. package/lib/providers/TranscriptFocus/useFocusedActivityKey.d.ts +2 -0
  279. package/lib/providers/TranscriptFocus/useFocusedActivityKey.d.ts.map +1 -0
  280. package/lib/providers/TranscriptFocus/useFocusedActivityKey.js +15 -0
  281. package/lib/providers/TranscriptFocus/useFocusedExplicitly.d.ts +2 -0
  282. package/lib/providers/TranscriptFocus/useFocusedExplicitly.d.ts.map +1 -0
  283. package/lib/providers/TranscriptFocus/useFocusedExplicitly.js +15 -0
  284. package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.d.ts +2 -0
  285. package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.d.ts.map +1 -0
  286. package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.js +15 -0
  287. package/package.json +30 -33
  288. package/src/Activity/CarouselFilmStripAttachment.js +0 -1
  289. package/src/Activity/Speak.tsx +21 -18
  290. package/src/Activity/StackedLayout.tsx +30 -35
  291. package/src/Attachment/FileAttachment.js +1 -1
  292. package/src/Attachment/FileContent.tsx +12 -0
  293. package/src/BasicSendBox.tsx +3 -2
  294. package/src/BasicToaster.js +5 -1
  295. package/src/BasicTranscript.tsx +894 -0
  296. package/src/BasicTypingIndicator.tsx +3 -2
  297. package/src/Composer.tsx +41 -29
  298. package/src/Middleware/Activity/createCoreMiddleware.tsx +47 -46
  299. package/src/Middleware/ActivityStatus/SendStatus/SendStatus.tsx +5 -3
  300. package/src/Middleware/ActivityStatus/Timestamp.tsx +5 -3
  301. package/src/Middleware/ActivityStatus/createSendStatusMiddleware.js +2 -0
  302. package/src/Middleware/Attachment/createCoreMiddleware.tsx +28 -28
  303. package/src/Middleware/AttachmentForScreenReader/createCoreMiddleware.tsx +25 -23
  304. package/src/Middleware/Avatar/createCoreMiddleware.tsx +9 -8
  305. package/src/Middleware/CardAction/createCoreMiddleware.js +9 -2
  306. package/src/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.ts +11 -9
  307. package/src/Middleware/Toast/createCoreMiddleware.tsx +12 -10
  308. package/src/Middleware/TypingIndicator/createCoreMiddleware.tsx +8 -2
  309. package/src/ScreenReaderActivity.js +18 -3
  310. package/src/{ScreenReaderText.js → ScreenReaderText.tsx} +27 -9
  311. package/src/SendBox/{IconButton.js → IconButton.tsx} +19 -3
  312. package/src/SendBox/{SuggestedAction.js → SuggestedAction.tsx} +72 -35
  313. package/src/SendBox/SuggestedActions.tsx +48 -21
  314. package/src/Styles/StyleSet/BasicTranscript.ts +34 -20
  315. package/src/Styles/StyleSet/Bubble.ts +0 -1
  316. package/src/Styles/StyleSet/CarouselFilmStrip.ts +12 -10
  317. package/src/Styles/StyleSet/CarouselFilmStripAttachment.ts +4 -3
  318. package/src/Styles/StyleSet/KeyboardHelp.ts +157 -0
  319. package/src/Styles/StyleSet/ScrollToEndButton.ts +1 -1
  320. package/src/Styles/StyleSet/SendBoxButton.ts +84 -13
  321. package/src/Styles/StyleSet/SendBoxTextBox.ts +1 -2
  322. package/src/Styles/StyleSet/StackedLayout.ts +13 -11
  323. package/src/Styles/StyleSet/SuggestedAction.ts +129 -42
  324. package/src/Styles/StyleSet/SuggestedActions.ts +13 -5
  325. package/src/Styles/createStyleSet.ts +2 -1
  326. package/src/Styles/mirrorStyle.js +10 -2
  327. package/src/Toast/NotificationIcon.js +4 -1
  328. package/src/Toast/createToastMiddleware.tsx +4 -1
  329. package/src/Transcript/ActivityRow.tsx +123 -0
  330. package/src/Transcript/ActivityTextAlt.tsx +31 -0
  331. package/src/Transcript/FocusTrap.tsx +64 -0
  332. package/src/Transcript/KeyboardHelp.tsx +282 -0
  333. package/src/Transcript/LiveRegionTranscript.tsx +196 -0
  334. package/src/Transcript/types.ts +1 -0
  335. package/src/Transcript/useActivityAccessibleName.ts +84 -0
  336. package/src/Transcript/useTypistNames.ts +37 -0
  337. package/src/Utils/{AccessibleButton.js → AccessibleButton.tsx} +19 -4
  338. package/src/Utils/{FocusRedirector.js → FocusRedirector.tsx} +21 -8
  339. package/src/Utils/InlineMarkdown.js +18 -2
  340. package/src/Utils/TypeFocusSink/inputtableKey.ts +5 -1
  341. package/src/Utils/createCustomEvent.js +7 -1
  342. package/src/Utils/detectBrowser.js +2 -1
  343. package/src/Utils/findAncestor.ts +12 -0
  344. package/src/Utils/getActivityUniqueId.ts +5 -0
  345. package/src/Utils/intersectionOf.ts +14 -0
  346. package/src/Utils/isZeroOrPositive.ts +7 -0
  347. package/src/Utils/mapMap.js +7 -1
  348. package/src/Utils/scrollIntoViewWithBlockNearest.ts +20 -0
  349. package/src/Utils/shallowEquals.js +8 -1
  350. package/src/Utils/supportPseudoClass.ts +17 -0
  351. package/src/Utils/{tabbableElements.js → tabbableElements.ts} +6 -5
  352. package/src/connectToWebChat.js +11 -4
  353. package/src/hooks/internal/BypassSpeechSynthesisPonyfill.js +3 -1
  354. package/src/hooks/internal/useChanged.ts +17 -0
  355. package/src/hooks/internal/useDispatchScrollPosition.js +1 -3
  356. package/src/hooks/internal/useDispatchTranscriptFocusByActivityKey.ts +5 -0
  357. package/src/hooks/internal/useFocusVisible.ts +22 -0
  358. package/src/hooks/internal/useMemoWithPrevious.ts +16 -0
  359. package/src/hooks/internal/useMemoize.spec.js +1 -1
  360. package/src/hooks/internal/useMemoize.ts +53 -0
  361. package/src/hooks/internal/useObserveFocusVisible.ts +252 -0
  362. package/src/hooks/internal/usePrevious.ts +12 -0
  363. package/src/hooks/internal/useStateRef.ts +31 -0
  364. package/src/hooks/internal/useValueRef.ts +22 -0
  365. package/src/hooks/useFocus.ts +1 -1
  366. package/src/hooks/useObserveTranscriptFocus.ts +2 -2
  367. package/src/hooks/useRenderMarkdownAsHTML.ts +4 -5
  368. package/src/hooks/useScrollTo.ts +4 -3
  369. package/src/hooks/useScrollToEnd.ts +4 -3
  370. package/src/hooks/useSendFiles.ts +7 -5
  371. package/src/index.ts +0 -1
  372. package/src/providers/ActivityTree/ActivityTreeComposer.tsx +74 -0
  373. package/src/providers/ActivityTree/private/Context.ts +12 -0
  374. package/src/providers/ActivityTree/private/types.ts +12 -0
  375. package/src/providers/ActivityTree/private/useActivitiesWithRenderer.ts +64 -0
  376. package/src/providers/ActivityTree/private/useActivityTreeWithRenderer.ts +135 -0
  377. package/src/providers/ActivityTree/private/useContext.ts +15 -0
  378. package/src/providers/ActivityTree/useActivityTreeWithRenderer.ts +16 -0
  379. package/src/providers/LiveRegionTwin/LiveRegionTwinComposer.tsx +161 -0
  380. package/src/providers/LiveRegionTwin/private/Context.ts +15 -0
  381. package/src/providers/LiveRegionTwin/private/LiveRegionTwinContainer.tsx +80 -0
  382. package/src/providers/LiveRegionTwin/private/types.ts +10 -0
  383. package/src/providers/LiveRegionTwin/private/useContext.ts +15 -0
  384. package/src/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.ts +13 -0
  385. package/src/providers/LiveRegionTwin/private/useStaticElementEntries.ts +7 -0
  386. package/src/providers/LiveRegionTwin/useQueueStaticElement.ts +12 -0
  387. package/src/providers/TranscriptFocus/TranscriptFocusComposer.tsx +180 -0
  388. package/src/providers/TranscriptFocus/private/Context.ts +16 -0
  389. package/src/providers/TranscriptFocus/private/useContext.ts +13 -0
  390. package/src/providers/TranscriptFocus/useActiveDescendantId.ts +5 -0
  391. package/src/providers/TranscriptFocus/useFocusByActivityKey.ts +14 -0
  392. package/src/providers/TranscriptFocus/useFocusRelativeActivity.ts +5 -0
  393. package/src/providers/TranscriptFocus/useFocusedActivityKey.ts +5 -0
  394. package/src/providers/TranscriptFocus/useFocusedExplicitly.ts +5 -0
  395. package/src/providers/TranscriptFocus/useGetDescendantIdByActivityKey.ts +5 -0
  396. package/.eslintignore +0 -1
  397. package/lib/Middleware/GroupActivities/createCoreMiddleware.js +0 -69
  398. package/lib/Utils/findLastIndex.js +0 -32
  399. package/lib/hooks/internal/useAcknowledgedActivity.js +0 -90
  400. package/lib/hooks/internal/useDispatchTranscriptFocus.js +0 -19
  401. package/src/BasicTranscript.js +0 -1139
  402. package/src/Middleware/GroupActivities/createCoreMiddleware.js +0 -57
  403. package/src/Utils/findLastIndex.js +0 -11
  404. package/src/Utils/findLastIndex.spec.js +0 -31
  405. package/src/Utils/getActivityUniqueId.js +0 -3
  406. package/src/Utils/intersectionOf.js +0 -11
  407. package/src/Utils/isZeroOrPositive.js +0 -4
  408. package/src/hooks/internal/useAcknowledgedActivity.js +0 -65
  409. package/src/hooks/internal/useChanged.js +0 -10
  410. package/src/hooks/internal/useDispatchTranscriptFocus.js +0 -7
  411. package/src/hooks/internal/useMemoize.js +0 -37
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useActivityTreeWithRenderer;
7
+
8
+ var _useContext = _interopRequireDefault(require("./private/useContext"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ function useActivityTreeWithRenderer() {
13
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
14
+ var context = (0, _useContext.default)();
15
+ return (options === null || options === void 0 ? void 0 : options.flat) === true ? context.flattenedActivityTreeWithRendererState : context.activityTreeWithRendererState;
16
+ }
17
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm92aWRlcnMvQWN0aXZpdHlUcmVlL3VzZUFjdGl2aXR5VHJlZVdpdGhSZW5kZXJlci50cyJdLCJuYW1lcyI6WyJ1c2VBY3Rpdml0eVRyZWVXaXRoUmVuZGVyZXIiLCJvcHRpb25zIiwiY29udGV4dCIsImZsYXQiLCJmbGF0dGVuZWRBY3Rpdml0eVRyZWVXaXRoUmVuZGVyZXJTdGF0ZSIsImFjdGl2aXR5VHJlZVdpdGhSZW5kZXJlclN0YXRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7QUFTZSxTQUFTQSwyQkFBVCxHQUF1RTtBQUFBLE1BQWxDQyxPQUFrQyx1RUFBSixFQUFJO0FBQ3BGLE1BQU1DLE9BQU8sR0FBRywwQkFBaEI7QUFFQSxTQUFPLENBQUFELE9BQU8sU0FBUCxJQUFBQSxPQUFPLFdBQVAsWUFBQUEsT0FBTyxDQUFFRSxJQUFULE1BQWtCLElBQWxCLEdBQ0hELE9BQU8sQ0FBQ0Usc0NBREwsR0FFSEYsT0FBTyxDQUFDRyw2QkFGWjtBQUdEIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdXNlQWN0aXZpdHlUcmVlQ29udGV4dCBmcm9tICcuL3ByaXZhdGUvdXNlQ29udGV4dCc7XG5cbmltcG9ydCB0eXBlIHsgQWN0aXZpdHlXaXRoUmVuZGVyZXIsIFJlYWRvbmx5QWN0aXZpdHlUcmVlIH0gZnJvbSAnLi9wcml2YXRlL3R5cGVzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlQWN0aXZpdHlUcmVlV2l0aFJlbmRlcmVyKG9wdGlvbnM/OiB7IGZsYXQ/OiBmYWxzZSB9KTogcmVhZG9ubHkgW1JlYWRvbmx5QWN0aXZpdHlUcmVlXTtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUFjdGl2aXR5VHJlZVdpdGhSZW5kZXJlcihvcHRpb25zOiB7XG4gIGZsYXQ6IHRydWU7XG59KTogcmVhZG9ubHkgW3JlYWRvbmx5IEFjdGl2aXR5V2l0aFJlbmRlcmVyW11dO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VBY3Rpdml0eVRyZWVXaXRoUmVuZGVyZXIob3B0aW9uczogeyBmbGF0PzogYm9vbGVhbiB9ID0ge30pIHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUFjdGl2aXR5VHJlZUNvbnRleHQoKTtcblxuICByZXR1cm4gb3B0aW9ucz8uZmxhdCA9PT0gdHJ1ZVxuICAgID8gY29udGV4dC5mbGF0dGVuZWRBY3Rpdml0eVRyZWVXaXRoUmVuZGVyZXJTdGF0ZVxuICAgIDogY29udGV4dC5hY3Rpdml0eVRyZWVXaXRoUmVuZGVyZXJTdGF0ZTtcbn1cbiJdfQ==
@@ -0,0 +1,37 @@
1
+ import type { FC, PropsWithChildren } from 'react';
2
+ declare type LiveRegionTwinComposerProps = PropsWithChildren<{
3
+ /** Optional "aria-label" attribute for the live region twin container. */
4
+ 'aria-label'?: string;
5
+ /** "aria-live" attribute for the live region twin container, defaults to `'polite'`. */
6
+ 'aria-live'?: 'assertive' | 'polite';
7
+ /** Optional "aria-roledescription" attribute for the live region twin container. */
8
+ 'aria-roledescription'?: string;
9
+ /** Optional "className" attribute for the live region twin container. */
10
+ className?: string;
11
+ /**
12
+ * Static elements will fade out after this timeout value specified in milliseconds, defaults to `1000`.
13
+ *
14
+ * When lowering this value, make sure screen reader can continue to pick up new static elements before fading out.
15
+ *
16
+ * If this prop is updated, it will be reflected in next queueing elements.
17
+ */
18
+ fadeAfter?: number;
19
+ /** Optional "role" attribute for the live region twin container. */
20
+ role?: string;
21
+ /** Optional "className" attribute for static text element. */
22
+ textElementClassName?: string;
23
+ }>;
24
+ /**
25
+ * Live region twin is an UI component for queueing texts or elements to the screen reader using
26
+ * a container element with `aria-live` attribute set.
27
+ *
28
+ * After the text is rendered and queued, it will be removed to reduce burden on the DOM tree.
29
+ * Currently, we assume the assistive technologies should pick up the text within 1 second of rendering.
30
+ * This value is configurable.
31
+ *
32
+ * By default, the live region is visible. If is is not desirable, the caller can use `className` prop to
33
+ * hide its visuals.
34
+ */
35
+ declare const LiveRegionTwinComposer: FC<LiveRegionTwinComposerProps>;
36
+ export default LiveRegionTwinComposer;
37
+ //# sourceMappingURL=LiveRegionTwinComposer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveRegionTwinComposer.d.ts","sourceRoot":"","sources":["../../../src/providers/LiveRegionTwin/LiveRegionTwinComposer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAWnD,aAAK,2BAA2B,GAAG,iBAAiB,CAAC;IACnD,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,wFAAwF;IACxF,WAAW,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IAErC,oFAAoF;IACpF,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,8DAA8D;IAC9D,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,QAAA,MAAM,sBAAsB,EAAE,EAAE,CAAC,2BAA2B,CAkF3D,CAAC;AAwBF,eAAe,sBAAsB,CAAC"}
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _react = _interopRequireWildcard(require("react"));
13
+
14
+ var _LiveRegionTwinContainer = _interopRequireDefault(require("./private/LiveRegionTwinContainer"));
15
+
16
+ var _Context = _interopRequireDefault(require("./private/Context"));
17
+
18
+ var _useValueRef = _interopRequireDefault(require("../../hooks/internal/useValueRef"));
19
+
20
+ 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); }
21
+
22
+ 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; }
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+
26
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
27
+
28
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
29
+
30
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
31
+
32
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
33
+
34
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
35
+
36
+ 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."); }
37
+
38
+ 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); }
39
+
40
+ 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; }
41
+
42
+ 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; }
43
+
44
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
45
+
46
+ var DEFAULT_ARIA_LIVE = 'polite';
47
+ var DEFAULT_FADE_AFTER = 1000;
48
+
49
+ /**
50
+ * Live region twin is an UI component for queueing texts or elements to the screen reader using
51
+ * a container element with `aria-live` attribute set.
52
+ *
53
+ * After the text is rendered and queued, it will be removed to reduce burden on the DOM tree.
54
+ * Currently, we assume the assistive technologies should pick up the text within 1 second of rendering.
55
+ * This value is configurable.
56
+ *
57
+ * By default, the live region is visible. If is is not desirable, the caller can use `className` prop to
58
+ * hide its visuals.
59
+ */
60
+ var LiveRegionTwinComposer = function LiveRegionTwinComposer(_ref) {
61
+ var ariaLabel = _ref['aria-label'],
62
+ _ref$ariaLive = _ref['aria-live'],
63
+ ariaLive = _ref$ariaLive === void 0 ? DEFAULT_ARIA_LIVE : _ref$ariaLive,
64
+ ariaRoleDescription = _ref['aria-roledescription'],
65
+ children = _ref.children,
66
+ className = _ref.className,
67
+ _ref$fadeAfter = _ref.fadeAfter,
68
+ fadeAfter = _ref$fadeAfter === void 0 ? DEFAULT_FADE_AFTER : _ref$fadeAfter,
69
+ role = _ref.role,
70
+ textElementClassName = _ref.textElementClassName;
71
+
72
+ var _useState = (0, _react.useState)([]),
73
+ _useState2 = _slicedToArray(_useState, 2),
74
+ staticElementEntries = _useState2[0],
75
+ setStaticElementEntries = _useState2[1];
76
+
77
+ var fadeAfterRef = (0, _useValueRef.default)(fadeAfter);
78
+ var markAllAsRenderedTimeoutIdRef = (0, _react.useRef)();
79
+ var nextKeyRef = (0, _react.useRef)(1);
80
+ var staticElementEntriesRef = (0, _useValueRef.default)(staticElementEntries); // This function is called by an effect hook `useMarkAllAsRenderedEffect`, it must be designed with converging in mind.
81
+ // To prevent infinite render loop, after multiple calls to this function, it should eventually no-op.
82
+
83
+ var markAllAsRendered = (0, _react.useCallback)(function () {
84
+ if (!staticElementEntriesRef.current.length) {
85
+ // Nothing to remove.
86
+ return;
87
+ } // When removing each element one-by-one based on an individual timeout, Narrator would narrate them twice occasionally.
88
+ // Possibly it think some elements that is not removed during the current cycle, are new elements and queued them twice.
89
+ // Thus, we are removing all at once to prevent bugs in Narrator.
90
+
91
+
92
+ markAllAsRenderedTimeoutIdRef.current && clearTimeout(markAllAsRenderedTimeoutIdRef.current);
93
+ markAllAsRenderedTimeoutIdRef.current = setTimeout(function () {
94
+ // We are playing safe by using value ref to check its length here.
95
+ // If we are certain that `setStaticElements(emptyArray => emptyArray)` is a no-op,
96
+ // we could replace it with just the setter function.
97
+ staticElementEntriesRef.current.length && setStaticElementEntries([]);
98
+ }, fadeAfterRef.current);
99
+ }, [fadeAfterRef, markAllAsRenderedTimeoutIdRef, setStaticElementEntries, staticElementEntriesRef]); // When this component is unmounting, make sure all future `setTimeout` are cleared and should not be fired.
100
+
101
+ (0, _react.useEffect)(function () {
102
+ return function () {
103
+ return markAllAsRenderedTimeoutIdRef.current && clearTimeout(markAllAsRenderedTimeoutIdRef.current);
104
+ };
105
+ }, [markAllAsRenderedTimeoutIdRef]);
106
+ var queueStaticElement = (0, _react.useCallback)(function (element) {
107
+ var key = nextKeyRef.current;
108
+ nextKeyRef.current = nextKeyRef.current + 1;
109
+ setStaticElementEntries(function (entries) {
110
+ return [].concat(_toConsumableArray(entries), [{
111
+ element: element,
112
+ key: key
113
+ }]);
114
+ });
115
+ }, [nextKeyRef, setStaticElementEntries]);
116
+ var staticElementEntriesState = (0, _react.useMemo)(function () {
117
+ return Object.freeze([Object.freeze(staticElementEntries)]);
118
+ }, [staticElementEntries]);
119
+ var context = (0, _react.useMemo)(function () {
120
+ return {
121
+ markAllAsRendered: markAllAsRendered,
122
+ queueStaticElement: queueStaticElement,
123
+ staticElementEntriesState: staticElementEntriesState
124
+ };
125
+ }, [markAllAsRendered, queueStaticElement, staticElementEntriesState]);
126
+ return /*#__PURE__*/_react.default.createElement(_Context.default.Provider, {
127
+ value: context
128
+ }, /*#__PURE__*/_react.default.createElement(_LiveRegionTwinContainer.default, {
129
+ "aria-label": ariaLabel,
130
+ "aria-live": ariaLive,
131
+ "aria-roledescription": ariaRoleDescription,
132
+ className: className,
133
+ role: role,
134
+ textElementClassName: textElementClassName
135
+ }), children);
136
+ };
137
+
138
+ LiveRegionTwinComposer.defaultProps = {
139
+ 'aria-label': undefined,
140
+ 'aria-live': DEFAULT_ARIA_LIVE,
141
+ 'aria-roledescription': undefined,
142
+ children: undefined,
143
+ className: undefined,
144
+ fadeAfter: DEFAULT_FADE_AFTER,
145
+ role: undefined,
146
+ textElementClassName: undefined
147
+ };
148
+ LiveRegionTwinComposer.propTypes = {
149
+ 'aria-label': _propTypes.default.string,
150
+ 'aria-live': _propTypes.default.oneOf(['assertive', 'polite']),
151
+ 'aria-roledescription': _propTypes.default.string,
152
+ children: _propTypes.default.any,
153
+ className: _propTypes.default.string,
154
+ fadeAfter: _propTypes.default.number,
155
+ role: _propTypes.default.string,
156
+ textElementClassName: _propTypes.default.string
157
+ };
158
+ var _default = LiveRegionTwinComposer;
159
+ exports.default = _default;
160
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm92aWRlcnMvTGl2ZVJlZ2lvblR3aW4vTGl2ZVJlZ2lvblR3aW5Db21wb3Nlci50c3giXSwibmFtZXMiOlsiREVGQVVMVF9BUklBX0xJVkUiLCJERUZBVUxUX0ZBREVfQUZURVIiLCJMaXZlUmVnaW9uVHdpbkNvbXBvc2VyIiwiYXJpYUxhYmVsIiwiYXJpYUxpdmUiLCJhcmlhUm9sZURlc2NyaXB0aW9uIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJmYWRlQWZ0ZXIiLCJyb2xlIiwidGV4dEVsZW1lbnRDbGFzc05hbWUiLCJzdGF0aWNFbGVtZW50RW50cmllcyIsInNldFN0YXRpY0VsZW1lbnRFbnRyaWVzIiwiZmFkZUFmdGVyUmVmIiwibWFya0FsbEFzUmVuZGVyZWRUaW1lb3V0SWRSZWYiLCJuZXh0S2V5UmVmIiwic3RhdGljRWxlbWVudEVudHJpZXNSZWYiLCJtYXJrQWxsQXNSZW5kZXJlZCIsImN1cnJlbnQiLCJsZW5ndGgiLCJjbGVhclRpbWVvdXQiLCJzZXRUaW1lb3V0IiwicXVldWVTdGF0aWNFbGVtZW50IiwiZWxlbWVudCIsImtleSIsImVudHJpZXMiLCJzdGF0aWNFbGVtZW50RW50cmllc1N0YXRlIiwiT2JqZWN0IiwiZnJlZXplIiwiY29udGV4dCIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsIm9uZU9mIiwiYW55IiwibnVtYmVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFJQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlBLElBQU1BLGlCQUFpQixHQUFHLFFBQTFCO0FBQ0EsSUFBTUMsa0JBQWtCLEdBQUcsSUFBM0I7O0FBK0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFNQyxzQkFBdUQsR0FBRyxTQUExREEsc0JBQTBELE9BUzFE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Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBGQywgUHJvcHNXaXRoQ2hpbGRyZW4gfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBMaXZlUmVnaW9uVHdpbkNvbnRhaW5lciBmcm9tICcuL3ByaXZhdGUvTGl2ZVJlZ2lvblR3aW5Db250YWluZXInO1xuaW1wb3J0IExpdmVSZWdpb25Ud2luQ29udGV4dCBmcm9tICcuL3ByaXZhdGUvQ29udGV4dCc7XG5pbXBvcnQgdXNlVmFsdWVSZWYgZnJvbSAnLi4vLi4vaG9va3MvaW50ZXJuYWwvdXNlVmFsdWVSZWYnO1xuXG5pbXBvcnQgdHlwZSB7IFN0YXRpY0VsZW1lbnQsIFN0YXRpY0VsZW1lbnRFbnRyeSB9IGZyb20gJy4vcHJpdmF0ZS90eXBlcyc7XG5cbmNvbnN0IERFRkFVTFRfQVJJQV9MSVZFID0gJ3BvbGl0ZSc7XG5jb25zdCBERUZBVUxUX0ZBREVfQUZURVIgPSAxMDAwO1xuXG50eXBlIExpdmVSZWdpb25Ud2luQ29tcG9zZXJQcm9wcyA9IFByb3BzV2l0aENoaWxkcmVuPHtcbiAgLyoqIE9wdGlvbmFsIFwiYXJpYS1sYWJlbFwiIGF0dHJpYnV0ZSBmb3IgdGhlIGxpdmUgcmVnaW9uIHR3aW4gY29udGFpbmVyLiAqL1xuICAnYXJpYS1sYWJlbCc/OiBzdHJpbmc7XG5cbiAgLyoqIFwiYXJpYS1saXZlXCIgYXR0cmlidXRlIGZvciB0aGUgbGl2ZSByZWdpb24gdHdpbiBjb250YWluZXIsIGRlZmF1bHRzIHRvIGAncG9saXRlJ2AuICovXG4gICdhcmlhLWxpdmUnPzogJ2Fzc2VydGl2ZScgfCAncG9saXRlJztcblxuICAvKiogT3B0aW9uYWwgXCJhcmlhLXJvbGVkZXNjcmlwdGlvblwiIGF0dHJpYnV0ZSBmb3IgdGhlIGxpdmUgcmVnaW9uIHR3aW4gY29udGFpbmVyLiAqL1xuICAnYXJpYS1yb2xlZGVzY3JpcHRpb24nPzogc3RyaW5nO1xuXG4gIC8qKiBPcHRpb25hbCBcImNsYXNzTmFtZVwiIGF0dHJpYnV0ZSBmb3IgdGhlIGxpdmUgcmVnaW9uIHR3aW4gY29udGFpbmVyLiAqL1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFN0YXRpYyBlbGVtZW50cyB3aWxsIGZhZGUgb3V0IGFmdGVyIHRoaXMgdGltZW91dCB2YWx1ZSBzcGVjaWZpZWQgaW4gbWlsbGlzZWNvbmRzLCBkZWZhdWx0cyB0byBgMTAwMGAuXG4gICAqXG4gICAqIFdoZW4gbG93ZXJpbmcgdGhpcyB2YWx1ZSwgbWFrZSBzdXJlIHNjcmVlbiByZWFkZXIgY2FuIGNvbnRpbnVlIHRvIHBpY2sgdXAgbmV3IHN0YXRpYyBlbGVtZW50cyBiZWZvcmUgZmFkaW5nIG91dC5cbiAgICpcbiAgICogSWYgdGhpcyBwcm9wIGlzIHVwZGF0ZWQsIGl0IHdpbGwgYmUgcmVmbGVjdGVkIGluIG5leHQgcXVldWVpbmcgZWxlbWVudHMuXG4gICAqL1xuICBmYWRlQWZ0ZXI/OiBudW1iZXI7XG5cbiAgLyoqIE9wdGlvbmFsIFwicm9sZVwiIGF0dHJpYnV0ZSBmb3IgdGhlIGxpdmUgcmVnaW9uIHR3aW4gY29udGFpbmVyLiAqL1xuICByb2xlPzogc3RyaW5nO1xuXG4gIC8qKiBPcHRpb25hbCBcImNsYXNzTmFtZVwiIGF0dHJpYnV0ZSBmb3Igc3RhdGljIHRleHQgZWxlbWVudC4gKi9cbiAgdGV4dEVsZW1lbnRDbGFzc05hbWU/OiBzdHJpbmc7XG59PjtcblxuLyoqXG4gKiBMaXZlIHJlZ2lvbiB0d2luIGlzIGFuIFVJIGNvbXBvbmVudCBmb3IgcXVldWVpbmcgdGV4dHMgb3IgZWxlbWVudHMgdG8gdGhlIHNjcmVlbiByZWFkZXIgdXNpbmdcbiAqIGEgY29udGFpbmVyIGVsZW1lbnQgd2l0aCBgYXJpYS1saXZlYCBhdHRyaWJ1dGUgc2V0LlxuICpcbiAqIEFmdGVyIHRoZSB0ZXh0IGlzIHJlbmRlcmVkIGFuZCBxdWV1ZWQsIGl0IHdpbGwgYmUgcmVtb3ZlZCB0byByZWR1Y2UgYnVyZGVuIG9uIHRoZSBET00gdHJlZS5cbiAqIEN1cnJlbnRseSwgd2UgYXNzdW1lIHRoZSBhc3Npc3RpdmUgdGVjaG5vbG9naWVzIHNob3VsZCBwaWNrIHVwIHRoZSB0ZXh0IHdpdGhpbiAxIHNlY29uZCBvZiByZW5kZXJpbmcuXG4gKiBUaGlzIHZhbHVlIGlzIGNvbmZpZ3VyYWJsZS5cbiAqXG4gKiBCeSBkZWZhdWx0LCB0aGUgbGl2ZSByZWdpb24gaXMgdmlzaWJsZS4gSWYgaXMgaXMgbm90IGRlc2lyYWJsZSwgdGhlIGNhbGxlciBjYW4gdXNlIGBjbGFzc05hbWVgIHByb3AgdG9cbiAqIGhpZGUgaXRzIHZpc3VhbHMuXG4gKi9cbmNvbnN0IExpdmVSZWdpb25Ud2luQ29tcG9zZXI6IEZDPExpdmVSZWdpb25Ud2luQ29tcG9zZXJQcm9wcz4gPSAoe1xuICAnYXJpYS1sYWJlbCc6IGFyaWFMYWJlbCxcbiAgJ2FyaWEtbGl2ZSc6IGFyaWFMaXZlID0gREVGQVVMVF9BUklBX0xJVkUsXG4gICdhcmlhLXJvbGVkZXNjcmlwdGlvbic6IGFyaWFSb2xlRGVzY3JpcHRpb24sXG4gIGNoaWxkcmVuLFxuICBjbGFzc05hbWUsXG4gIGZhZGVBZnRlciA9IERFRkFVTFRfRkFERV9BRlRFUixcbiAgcm9sZSxcbiAgdGV4dEVsZW1lbnRDbGFzc05hbWVcbn0pID0+IHtcbiAgY29uc3QgW3N0YXRpY0VsZW1lbnRFbnRyaWVzLCBzZXRTdGF0aWNFbGVtZW50RW50cmllc10gPSB1c2VTdGF0ZTxTdGF0aWNFbGVtZW50RW50cnlbXT4oW10pO1xuICBjb25zdCBmYWRlQWZ0ZXJSZWYgPSB1c2VWYWx1ZVJlZihmYWRlQWZ0ZXIpO1xuICBjb25zdCBtYXJrQWxsQXNSZW5kZXJlZFRpbWVvdXRJZFJlZiA9IHVzZVJlZjxhbnk+KCk7XG4gIGNvbnN0IG5leHRLZXlSZWYgPSB1c2VSZWY8bnVtYmVyPigxKTtcblxuICBjb25zdCBzdGF0aWNFbGVtZW50RW50cmllc1JlZiA9IHVzZVZhbHVlUmVmKHN0YXRpY0VsZW1lbnRFbnRyaWVzKTtcblxuICAvLyBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBieSBhbiBlZmZlY3QgaG9vayBgdXNlTWFya0FsbEFzUmVuZGVyZWRFZmZlY3RgLCBpdCBtdXN0IGJlIGRlc2lnbmVkIHdpdGggY29udmVyZ2luZyBpbiBtaW5kLlxuICAvLyBUbyBwcmV2ZW50IGluZmluaXRlIHJlbmRlciBsb29wLCBhZnRlciBtdWx0aXBsZSBjYWxscyB0byB0aGlzIGZ1bmN0aW9uLCBpdCBzaG91bGQgZXZlbnR1YWxseSBuby1vcC5cbiAgY29uc3QgbWFya0FsbEFzUmVuZGVyZWQgPSB1c2VDYWxsYmFjazwoKSA9PiB2b2lkPigoKSA9PiB7XG4gICAgaWYgKCFzdGF0aWNFbGVtZW50RW50cmllc1JlZi5jdXJyZW50Lmxlbmd0aCkge1xuICAgICAgLy8gTm90aGluZyB0byByZW1vdmUuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gV2hlbiByZW1vdmluZyBlYWNoIGVsZW1lbnQgb25lLWJ5LW9uZSBiYXNlZCBvbiBhbiBpbmRpdmlkdWFsIHRpbWVvdXQsIE5hcnJhdG9yIHdvdWxkIG5hcnJhdGUgdGhlbSB0d2ljZSBvY2Nhc2lvbmFsbHkuXG4gICAgLy8gUG9zc2libHkgaXQgdGhpbmsgc29tZSBlbGVtZW50cyB0aGF0IGlzIG5vdCByZW1vdmVkIGR1cmluZyB0aGUgY3VycmVudCBjeWNsZSwgYXJlIG5ldyBlbGVtZW50cyBhbmQgcXVldWVkIHRoZW0gdHdpY2UuXG4gICAgLy8gVGh1cywgd2UgYXJlIHJlbW92aW5nIGFsbCBhdCBvbmNlIHRvIHByZXZlbnQgYnVncyBpbiBOYXJyYXRvci5cbiAgICBtYXJrQWxsQXNSZW5kZXJlZFRpbWVvdXRJZFJlZi5jdXJyZW50ICYmIGNsZWFyVGltZW91dChtYXJrQWxsQXNSZW5kZXJlZFRpbWVvdXRJZFJlZi5jdXJyZW50KTtcblxuICAgIG1hcmtBbGxBc1JlbmRlcmVkVGltZW91dElkUmVmLmN1cnJlbnQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIC8vIFdlIGFyZSBwbGF5aW5nIHNhZmUgYnkgdXNpbmcgdmFsdWUgcmVmIHRvIGNoZWNrIGl0cyBsZW5ndGggaGVyZS5cbiAgICAgIC8vIElmIHdlIGFyZSBjZXJ0YWluIHRoYXQgYHNldFN0YXRpY0VsZW1lbnRzKGVtcHR5QXJyYXkgPT4gZW1wdHlBcnJheSlgIGlzIGEgbm8tb3AsXG4gICAgICAvLyB3ZSBjb3VsZCByZXBsYWNlIGl0IHdpdGgganVzdCB0aGUgc2V0dGVyIGZ1bmN0aW9uLlxuICAgICAgc3RhdGljRWxlbWVudEVudHJpZXNSZWYuY3VycmVudC5sZW5ndGggJiYgc2V0U3RhdGljRWxlbWVudEVudHJpZXMoW10pO1xuICAgIH0sIGZhZGVBZnRlclJlZi5jdXJyZW50KTtcbiAgfSwgW2ZhZGVBZnRlclJlZiwgbWFya0FsbEFzUmVuZGVyZWRUaW1lb3V0SWRSZWYsIHNldFN0YXRpY0VsZW1lbnRFbnRyaWVzLCBzdGF0aWNFbGVtZW50RW50cmllc1JlZl0pO1xuXG4gIC8vIFdoZW4gdGhpcyBjb21wb25lbnQgaXMgdW5tb3VudGluZywgbWFrZSBzdXJlIGFsbCBmdXR1cmUgYHNldFRpbWVvdXRgIGFyZSBjbGVhcmVkIGFuZCBzaG91bGQgbm90IGJlIGZpcmVkLlxuICB1c2VFZmZlY3QoXG4gICAgKCkgPT4gKCkgPT4gbWFya0FsbEFzUmVuZGVyZWRUaW1lb3V0SWRSZWYuY3VycmVudCAmJiBjbGVhclRpbWVvdXQobWFya0FsbEFzUmVuZGVyZWRUaW1lb3V0SWRSZWYuY3VycmVudCksXG4gICAgW21hcmtBbGxBc1JlbmRlcmVkVGltZW91dElkUmVmXVxuICApO1xuXG4gIGNvbnN0IHF1ZXVlU3RhdGljRWxlbWVudCA9IHVzZUNhbGxiYWNrPChzdGF0aWNFbGVtZW50OiBTdGF0aWNFbGVtZW50KSA9PiB2b2lkPihcbiAgICAoZWxlbWVudDogU3RhdGljRWxlbWVudCk6IHZvaWQgPT4ge1xuICAgICAgY29uc3Qga2V5ID0gbmV4dEtleVJlZi5jdXJyZW50O1xuXG4gICAgICBuZXh0S2V5UmVmLmN1cnJlbnQgPSBuZXh0S2V5UmVmLmN1cnJlbnQgKyAxO1xuXG4gICAgICBzZXRTdGF0aWNFbGVtZW50RW50cmllcyhlbnRyaWVzID0+IFsuLi5lbnRyaWVzLCB7IGVsZW1lbnQsIGtleSB9XSk7XG4gICAgfSxcbiAgICBbbmV4dEtleVJlZiwgc2V0U3RhdGljRWxlbWVudEVudHJpZXNdXG4gICk7XG5cbiAgY29uc3Qgc3RhdGljRWxlbWVudEVudHJpZXNTdGF0ZSA9IHVzZU1lbW88cmVhZG9ubHkgW3JlYWRvbmx5IFN0YXRpY0VsZW1lbnRFbnRyeVtdXT4oXG4gICAgKCkgPT4gT2JqZWN0LmZyZWV6ZShbT2JqZWN0LmZyZWV6ZShzdGF0aWNFbGVtZW50RW50cmllcyldKSBhcyByZWFkb25seSBbcmVhZG9ubHkgU3RhdGljRWxlbWVudEVudHJ5W11dLFxuICAgIFtzdGF0aWNFbGVtZW50RW50cmllc11cbiAgKTtcblxuICBjb25zdCBjb250ZXh0ID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgbWFya0FsbEFzUmVuZGVyZWQsXG4gICAgICBxdWV1ZVN0YXRpY0VsZW1lbnQsXG4gICAgICBzdGF0aWNFbGVtZW50RW50cmllc1N0YXRlXG4gICAgfSksXG4gICAgW21hcmtBbGxBc1JlbmRlcmVkLCBxdWV1ZVN0YXRpY0VsZW1lbnQsIHN0YXRpY0VsZW1lbnRFbnRyaWVzU3RhdGVdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8TGl2ZVJlZ2lvblR3aW5Db250ZXh0LlByb3ZpZGVyIHZhbHVlPXtjb250ZXh0fT5cbiAgICAgIDxMaXZlUmVnaW9uVHdpbkNvbnRhaW5lclxuICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIGFyaWEtbGl2ZT17YXJpYUxpdmV9XG4gICAgICAgIGFyaWEtcm9sZWRlc2NyaXB0aW9uPXthcmlhUm9sZURlc2NyaXB0aW9ufVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgcm9sZT17cm9sZX1cbiAgICAgICAgdGV4dEVsZW1lbnRDbGFzc05hbWU9e3RleHRFbGVtZW50Q2xhc3NOYW1lfVxuICAgICAgLz5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0xpdmVSZWdpb25Ud2luQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbkxpdmVSZWdpb25Ud2luQ29tcG9zZXIuZGVmYXVsdFByb3BzID0ge1xuICAnYXJpYS1sYWJlbCc6IHVuZGVmaW5lZCxcbiAgJ2FyaWEtbGl2ZSc6IERFRkFVTFRfQVJJQV9MSVZFLFxuICAnYXJpYS1yb2xlZGVzY3JpcHRpb24nOiB1bmRlZmluZWQsXG4gIGNoaWxkcmVuOiB1bmRlZmluZWQsXG4gIGNsYXNzTmFtZTogdW5kZWZpbmVkLFxuICBmYWRlQWZ0ZXI6IERFRkFVTFRfRkFERV9BRlRFUixcbiAgcm9sZTogdW5kZWZpbmVkLFxuICB0ZXh0RWxlbWVudENsYXNzTmFtZTogdW5kZWZpbmVkXG59O1xuXG5MaXZlUmVnaW9uVHdpbkNvbXBvc2VyLnByb3BUeXBlcyA9IHtcbiAgJ2FyaWEtbGFiZWwnOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAnYXJpYS1saXZlJzogUHJvcFR5cGVzLm9uZU9mKFsnYXNzZXJ0aXZlJywgJ3BvbGl0ZSddKSxcbiAgJ2FyaWEtcm9sZWRlc2NyaXB0aW9uJzogUHJvcFR5cGVzLnN0cmluZyxcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5hbnksXG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgZmFkZUFmdGVyOiBQcm9wVHlwZXMubnVtYmVyLFxuICByb2xlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICB0ZXh0RWxlbWVudENsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZ1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTGl2ZVJlZ2lvblR3aW5Db21wb3NlcjtcbiJdfQ==
@@ -0,0 +1,10 @@
1
+ import type { StaticElement, StaticElementEntry } from './types';
2
+ declare type LiveRegionTwinContextType = {
3
+ markAllAsRendered: () => void;
4
+ queueStaticElement: (element: StaticElement) => void;
5
+ staticElementEntriesState: readonly [readonly StaticElementEntry[]];
6
+ };
7
+ declare const LiveRegionTwinContext: import("react").Context<LiveRegionTwinContextType>;
8
+ export default LiveRegionTwinContext;
9
+ export type { LiveRegionTwinContextType };
10
+ //# sourceMappingURL=Context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../../src/providers/LiveRegionTwin/private/Context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEjE,aAAK,yBAAyB,GAAG;IAC/B,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,kBAAkB,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IACrD,yBAAyB,EAAE,SAAS,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAAC;CACrE,CAAC;AAEF,QAAA,MAAM,qBAAqB,oDAAsD,CAAC;AAElF,eAAe,qBAAqB,CAAC;AAErC,YAAY,EAAE,yBAAyB,EAAE,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var LiveRegionTwinContext = /*#__PURE__*/(0, _react.createContext)(undefined);
11
+ var _default = LiveRegionTwinContext;
12
+ exports.default = _default;
13
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvTGl2ZVJlZ2lvblR3aW4vcHJpdmF0ZS9Db250ZXh0LnRzIl0sIm5hbWVzIjpbIkxpdmVSZWdpb25Ud2luQ29udGV4dCIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQVVBLElBQU1BLHFCQUFxQixnQkFBRywwQkFBeUNDLFNBQXpDLENBQTlCO2VBRWVELHFCIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IFN0YXRpY0VsZW1lbnQsIFN0YXRpY0VsZW1lbnRFbnRyeSB9IGZyb20gJy4vdHlwZXMnO1xuXG50eXBlIExpdmVSZWdpb25Ud2luQ29udGV4dFR5cGUgPSB7XG4gIG1hcmtBbGxBc1JlbmRlcmVkOiAoKSA9PiB2b2lkO1xuICBxdWV1ZVN0YXRpY0VsZW1lbnQ6IChlbGVtZW50OiBTdGF0aWNFbGVtZW50KSA9PiB2b2lkO1xuICBzdGF0aWNFbGVtZW50RW50cmllc1N0YXRlOiByZWFkb25seSBbcmVhZG9ubHkgU3RhdGljRWxlbWVudEVudHJ5W11dO1xufTtcblxuY29uc3QgTGl2ZVJlZ2lvblR3aW5Db250ZXh0ID0gY3JlYXRlQ29udGV4dDxMaXZlUmVnaW9uVHdpbkNvbnRleHRUeXBlPih1bmRlZmluZWQpO1xuXG5leHBvcnQgZGVmYXVsdCBMaXZlUmVnaW9uVHdpbkNvbnRleHQ7XG5cbmV4cG9ydCB0eXBlIHsgTGl2ZVJlZ2lvblR3aW5Db250ZXh0VHlwZSB9O1xuIl19
@@ -0,0 +1,12 @@
1
+ import type { VFC } from 'react';
2
+ declare type LiveRegionTwinContainerProps = {
3
+ 'aria-label'?: string;
4
+ 'aria-live': 'assertive' | 'polite';
5
+ 'aria-roledescription'?: string;
6
+ className?: string;
7
+ role?: string;
8
+ textElementClassName?: string;
9
+ };
10
+ declare const LiveRegionTwinContainer: VFC<LiveRegionTwinContainerProps>;
11
+ export default LiveRegionTwinContainer;
12
+ //# sourceMappingURL=LiveRegionTwinContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveRegionTwinContainer.d.ts","sourceRoot":"","sources":["../../../../src/providers/LiveRegionTwin/private/LiveRegionTwinContainer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAKjC,aAAK,4BAA4B,GAAG;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,WAAW,GAAG,QAAQ,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAGF,QAAA,MAAM,uBAAuB,EAAE,GAAG,CAAC,4BAA4B,CAwC9D,CAAC;AAqBF,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _react = _interopRequireWildcard(require("react"));
13
+
14
+ var _useMarkAllAsRenderedEffect = _interopRequireDefault(require("./useMarkAllAsRenderedEffect"));
15
+
16
+ var _useStaticElementEntries = _interopRequireDefault(require("./useStaticElementEntries"));
17
+
18
+ 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); }
19
+
20
+ 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; }
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
25
+
26
+ 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."); }
27
+
28
+ 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); }
29
+
30
+ 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; }
31
+
32
+ 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; }
33
+
34
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
35
+
36
+ // This container is marked as private because we assume there is only one instance under the <LiveRegionTwinContext>.
37
+ var LiveRegionTwinContainer = function LiveRegionTwinContainer(_ref) {
38
+ var ariaLabel = _ref['aria-label'],
39
+ ariaLive = _ref['aria-live'],
40
+ ariaRoleDescription = _ref['aria-roledescription'],
41
+ className = _ref.className,
42
+ role = _ref.role,
43
+ textElementClassName = _ref.textElementClassName;
44
+
45
+ var _useStaticElementEntr = (0, _useStaticElementEntries.default)(),
46
+ _useStaticElementEntr2 = _slicedToArray(_useStaticElementEntr, 1),
47
+ staticElementEntries = _useStaticElementEntr2[0]; // We assume there is only one instance under the <LiveRegionTwinContext>.
48
+ // The assumption made us safe to mark everything is rendered.
49
+ // In contrary, if we have 0-to-many at different time, we may falsely mark something as rendered.
50
+
51
+
52
+ (0, _useMarkAllAsRenderedEffect.default)();
53
+ return /*#__PURE__*/_react.default.createElement("div", {
54
+ "aria-label": ariaLabel,
55
+ "aria-live": ariaLive,
56
+ "aria-roledescription": ariaRoleDescription,
57
+ className: className,
58
+ role: role
59
+ }, staticElementEntries.map(function (_ref2) {
60
+ var element = _ref2.element,
61
+ key = _ref2.key;
62
+
63
+ if (typeof element === 'string') {
64
+ var id = "webchat__live-region-twin__text-element-".concat(key);
65
+ return /*#__PURE__*/_react.default.createElement("div", {
66
+ "aria-atomic": true,
67
+ "aria-labelledby": id,
68
+ className: textElementClassName,
69
+ key: key
70
+ }, /*#__PURE__*/_react.default.createElement("p", {
71
+ id: id
72
+ }, element));
73
+ }
74
+
75
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, {
76
+ key: key
77
+ }, element);
78
+ }));
79
+ };
80
+
81
+ LiveRegionTwinContainer.defaultProps = {
82
+ 'aria-label': undefined,
83
+ 'aria-roledescription': undefined,
84
+ className: undefined,
85
+ role: undefined,
86
+ textElementClassName: undefined
87
+ };
88
+ LiveRegionTwinContainer.propTypes = {
89
+ 'aria-label': _propTypes.default.string,
90
+ // PropTypes.oneOf() returns type of `string`, but not `'assertive' | 'polite'`.
91
+ // @ts-ignore
92
+ 'aria-live': _propTypes.default.oneOf(['assertive', 'polite']).isRequired,
93
+ 'aria-roledescription': _propTypes.default.string,
94
+ className: _propTypes.default.string,
95
+ role: _propTypes.default.string,
96
+ textElementClassName: _propTypes.default.string
97
+ };
98
+ var _default = LiveRegionTwinContainer;
99
+ exports.default = _default;
100
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvTGl2ZVJlZ2lvblR3aW4vcHJpdmF0ZS9MaXZlUmVnaW9uVHdpbkNvbnRhaW5lci50c3giXSwibmFtZXMiOlsiTGl2ZVJlZ2lvblR3aW5Db250YWluZXIiLCJhcmlhTGFiZWwiLCJhcmlhTGl2ZSIsImFyaWFSb2xlRGVzY3JpcHRpb24iLCJjbGFzc05hbWUiLCJyb2xlIiwidGV4dEVsZW1lbnRDbGFzc05hbWUiLCJzdGF0aWNFbGVtZW50RW50cmllcyIsIm1hcCIsImVsZW1lbnQiLCJrZXkiLCJpZCIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsIm9uZU9mIiwiaXNSZXF1aXJlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBSUE7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBV0E7QUFDQSxJQUFNQSx1QkFBMEQsR0FBRyxTQUE3REEsdUJBQTZELE9BTzdEO0FBQUEsTUFOVUMsU0FNVixRQU5KLFlBTUk7QUFBQSxNQUxTQyxRQUtULFFBTEosV0FLSTtBQUFBLE1BSm9CQyxtQkFJcEIsUUFKSixzQkFJSTtBQUFBLE1BSEpDLFNBR0ksUUFISkEsU0FHSTtBQUFBLE1BRkpDLElBRUksUUFGSkEsSUFFSTtBQUFBLE1BREpDLG9CQUNJLFFBREpBLG9CQUNJOztBQUNKLDhCQUErQix1Q0FBL0I7QUFBQTtBQUFBLE1BQU9DLG9CQUFQLDZCQURJLENBR0o7QUFDQTtBQUNBOzs7QUFDQTtBQUVBLHNCQUNFO0FBQ0Usa0JBQVlOLFNBRGQ7QUFFRSxpQkFBV0MsUUFGYjtBQUdFLDRCQUFzQkMsbUJBSHhCO0FBSUUsSUFBQSxTQUFTLEVBQUVDLFNBSmI7QUFLRSxJQUFBLElBQUksRUFBRUM7QUFMUixLQU9HRSxvQkFBb0IsQ0FBQ0MsR0FBckIsQ0FBeUIsaUJBQXNCO0FBQUEsUUFBbkJDLE9BQW1CLFNBQW5CQSxPQUFtQjtBQUFBLFFBQVZDLEdBQVUsU0FBVkEsR0FBVTs7QUFDOUMsUUFBSSxPQUFPRCxPQUFQLEtBQW1CLFFBQXZCLEVBQWlDO0FBQy9CLFVBQU1FLEVBQUUscURBQThDRCxHQUE5QyxDQUFSO0FBRUEsMEJBQ0U7QUFBSyx1QkFBYSxJQUFsQjtBQUF3QiwyQkFBaUJDLEVBQXpDO0FBQTZDLFFBQUEsU0FBUyxFQUFFTCxvQkFBeEQ7QUFBOEUsUUFBQSxHQUFHLEVBQUVJO0FBQW5GLHNCQUdFO0FBQUcsUUFBQSxFQUFFLEVBQUVDO0FBQVAsU0FBWUYsT0FBWixDQUhGLENBREY7QUFPRDs7QUFFRCx3QkFBTyw2QkFBQyxlQUFEO0FBQVUsTUFBQSxHQUFHLEVBQUVDO0FBQWYsT0FBcUJELE9BQXJCLENBQVA7QUFDRCxHQWRBLENBUEgsQ0FERjtBQXlCRCxDQXhDRDs7QUEwQ0FULHVCQUF1QixDQUFDWSxZQUF4QixHQUF1QztBQUNyQyxnQkFBY0MsU0FEdUI7QUFFckMsMEJBQXdCQSxTQUZhO0FBR3JDVCxFQUFBQSxTQUFTLEVBQUVTLFNBSDBCO0FBSXJDUixFQUFBQSxJQUFJLEVBQUVRLFNBSitCO0FBS3JDUCxFQUFBQSxvQkFBb0IsRUFBRU87QUFMZSxDQUF2QztBQVFBYix1QkFBdUIsQ0FBQ2MsU0FBeEIsR0FBb0M7QUFDbEMsZ0JBQWNDLG1CQUFVQyxNQURVO0FBRWxDO0FBQ0E7QUFDQSxlQUFhRCxtQkFBVUUsS0FBVixDQUFnQixDQUFDLFdBQUQsRUFBYyxRQUFkLENBQWhCLEVBQXlDQyxVQUpwQjtBQUtsQywwQkFBd0JILG1CQUFVQyxNQUxBO0FBTWxDWixFQUFBQSxTQUFTLEVBQUVXLG1CQUFVQyxNQU5hO0FBT2xDWCxFQUFBQSxJQUFJLEVBQUVVLG1CQUFVQyxNQVBrQjtBQVFsQ1YsRUFBQUEsb0JBQW9CLEVBQUVTLG1CQUFVQztBQVJFLENBQXBDO2VBV2VoQix1QiIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyBGcmFnbWVudCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBWRkMgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB1c2VNYXJrQWxsQXNSZW5kZXJlZEVmZmVjdCBmcm9tICcuL3VzZU1hcmtBbGxBc1JlbmRlcmVkRWZmZWN0JztcbmltcG9ydCB1c2VTdGF0aWNFbGVtZW50RW50cmllcyBmcm9tICcuL3VzZVN0YXRpY0VsZW1lbnRFbnRyaWVzJztcblxudHlwZSBMaXZlUmVnaW9uVHdpbkNvbnRhaW5lclByb3BzID0ge1xuICAnYXJpYS1sYWJlbCc/OiBzdHJpbmc7XG4gICdhcmlhLWxpdmUnOiAnYXNzZXJ0aXZlJyB8ICdwb2xpdGUnO1xuICAnYXJpYS1yb2xlZGVzY3JpcHRpb24nPzogc3RyaW5nO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIHJvbGU/OiBzdHJpbmc7XG4gIHRleHRFbGVtZW50Q2xhc3NOYW1lPzogc3RyaW5nO1xufTtcblxuLy8gVGhpcyBjb250YWluZXIgaXMgbWFya2VkIGFzIHByaXZhdGUgYmVjYXVzZSB3ZSBhc3N1bWUgdGhlcmUgaXMgb25seSBvbmUgaW5zdGFuY2UgdW5kZXIgdGhlIDxMaXZlUmVnaW9uVHdpbkNvbnRleHQ+LlxuY29uc3QgTGl2ZVJlZ2lvblR3aW5Db250YWluZXI6IFZGQzxMaXZlUmVnaW9uVHdpbkNvbnRhaW5lclByb3BzPiA9ICh7XG4gICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLFxuICAnYXJpYS1saXZlJzogYXJpYUxpdmUsXG4gICdhcmlhLXJvbGVkZXNjcmlwdGlvbic6IGFyaWFSb2xlRGVzY3JpcHRpb24sXG4gIGNsYXNzTmFtZSxcbiAgcm9sZSxcbiAgdGV4dEVsZW1lbnRDbGFzc05hbWVcbn0pID0+IHtcbiAgY29uc3QgW3N0YXRpY0VsZW1lbnRFbnRyaWVzXSA9IHVzZVN0YXRpY0VsZW1lbnRFbnRyaWVzKCk7XG5cbiAgLy8gV2UgYXNzdW1lIHRoZXJlIGlzIG9ubHkgb25lIGluc3RhbmNlIHVuZGVyIHRoZSA8TGl2ZVJlZ2lvblR3aW5Db250ZXh0Pi5cbiAgLy8gVGhlIGFzc3VtcHRpb24gbWFkZSB1cyBzYWZlIHRvIG1hcmsgZXZlcnl0aGluZyBpcyByZW5kZXJlZC5cbiAgLy8gSW4gY29udHJhcnksIGlmIHdlIGhhdmUgMC10by1tYW55IGF0IGRpZmZlcmVudCB0aW1lLCB3ZSBtYXkgZmFsc2VseSBtYXJrIHNvbWV0aGluZyBhcyByZW5kZXJlZC5cbiAgdXNlTWFya0FsbEFzUmVuZGVyZWRFZmZlY3QoKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgIGFyaWEtbGl2ZT17YXJpYUxpdmV9XG4gICAgICBhcmlhLXJvbGVkZXNjcmlwdGlvbj17YXJpYVJvbGVEZXNjcmlwdGlvbn1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgcm9sZT17cm9sZX1cbiAgICA+XG4gICAgICB7c3RhdGljRWxlbWVudEVudHJpZXMubWFwKCh7IGVsZW1lbnQsIGtleSB9KSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgZWxlbWVudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBjb25zdCBpZCA9IGB3ZWJjaGF0X19saXZlLXJlZ2lvbi10d2luX190ZXh0LWVsZW1lbnQtJHtrZXl9YDtcblxuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGFyaWEtYXRvbWljPXt0cnVlfSBhcmlhLWxhYmVsbGVkYnk9e2lkfSBjbGFzc05hbWU9e3RleHRFbGVtZW50Q2xhc3NOYW1lfSBrZXk9e2tleX0+XG4gICAgICAgICAgICAgIHsvKiBcImFyaWEtbGFiZWxsZWRieVwiIHJlcXVpcmVzIHRoZSB1c2Ugb2YgXCJpZFwiIGF0dHJpYnV0ZS4gKi99XG4gICAgICAgICAgICAgIHsvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvZm9yYmlkLWRvbS1wcm9wcyAqL31cbiAgICAgICAgICAgICAgPHAgaWQ9e2lkfT57ZWxlbWVudH08L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIDxGcmFnbWVudCBrZXk9e2tleX0+e2VsZW1lbnR9PC9GcmFnbWVudD47XG4gICAgICB9KX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkxpdmVSZWdpb25Ud2luQ29udGFpbmVyLmRlZmF1bHRQcm9wcyA9IHtcbiAgJ2FyaWEtbGFiZWwnOiB1bmRlZmluZWQsXG4gICdhcmlhLXJvbGVkZXNjcmlwdGlvbic6IHVuZGVmaW5lZCxcbiAgY2xhc3NOYW1lOiB1bmRlZmluZWQsXG4gIHJvbGU6IHVuZGVmaW5lZCxcbiAgdGV4dEVsZW1lbnRDbGFzc05hbWU6IHVuZGVmaW5lZFxufTtcblxuTGl2ZVJlZ2lvblR3aW5Db250YWluZXIucHJvcFR5cGVzID0ge1xuICAnYXJpYS1sYWJlbCc6IFByb3BUeXBlcy5zdHJpbmcsXG4gIC8vIFByb3BUeXBlcy5vbmVPZigpIHJldHVybnMgdHlwZSBvZiBgc3RyaW5nYCwgYnV0IG5vdCBgJ2Fzc2VydGl2ZScgfCAncG9saXRlJ2AuXG4gIC8vIEB0cy1pZ25vcmVcbiAgJ2FyaWEtbGl2ZSc6IFByb3BUeXBlcy5vbmVPZihbJ2Fzc2VydGl2ZScsICdwb2xpdGUnXSkuaXNSZXF1aXJlZCxcbiAgJ2FyaWEtcm9sZWRlc2NyaXB0aW9uJzogUHJvcFR5cGVzLnN0cmluZyxcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICByb2xlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICB0ZXh0RWxlbWVudENsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZ1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTGl2ZVJlZ2lvblR3aW5Db250YWluZXI7XG4iXX0=
@@ -0,0 +1,8 @@
1
+ import type { ReactElement } from 'react';
2
+ declare type StaticElement = Exclude<ReactElement | string, undefined>;
3
+ declare type StaticElementEntry = {
4
+ element: StaticElement;
5
+ key: number;
6
+ };
7
+ export type { StaticElement, StaticElementEntry };
8
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/providers/LiveRegionTwin/private/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,aAAK,aAAa,GAAG,OAAO,CAAC,YAAY,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC;AAE/D,aAAK,kBAAkB,GAAG;IACxB,OAAO,EAAE,aAAa,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOltdfQ==
@@ -0,0 +1,3 @@
1
+ import type { LiveRegionTwinContextType } from './Context';
2
+ export default function useLiveRegionTwinContext(thrownOnUndefined?: boolean): LiveRegionTwinContextType;
3
+ //# sourceMappingURL=useContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useContext.d.ts","sourceRoot":"","sources":["../../../../src/providers/LiveRegionTwin/private/useContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAE3D,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,iBAAiB,UAAO,GAAG,yBAAyB,CAQpG"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useLiveRegionTwinContext;
7
+
8
+ var _react = require("react");
9
+
10
+ var _Context = _interopRequireDefault(require("./Context"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ function useLiveRegionTwinContext() {
15
+ var thrownOnUndefined = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
16
+ var contextValue = (0, _react.useContext)(_Context.default);
17
+
18
+ if (thrownOnUndefined && !contextValue) {
19
+ throw new Error('botframework-webchat internal: This hook can only be used under <LiveRegionComposer>.');
20
+ }
21
+
22
+ return contextValue;
23
+ }
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvTGl2ZVJlZ2lvblR3aW4vcHJpdmF0ZS91c2VDb250ZXh0LnRzIl0sIm5hbWVzIjpbInVzZUxpdmVSZWdpb25Ud2luQ29udGV4dCIsInRocm93bk9uVW5kZWZpbmVkIiwiY29udGV4dFZhbHVlIiwiTGl2ZVJlZ2lvblR3aW5Db250ZXh0IiwiRXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFFQTs7OztBQUllLFNBQVNBLHdCQUFULEdBQXVGO0FBQUEsTUFBckRDLGlCQUFxRCx1RUFBakMsSUFBaUM7QUFDcEcsTUFBTUMsWUFBWSxHQUFHLHVCQUFXQyxnQkFBWCxDQUFyQjs7QUFFQSxNQUFJRixpQkFBaUIsSUFBSSxDQUFDQyxZQUExQixFQUF3QztBQUN0QyxVQUFNLElBQUlFLEtBQUosQ0FBVSx1RkFBVixDQUFOO0FBQ0Q7O0FBRUQsU0FBT0YsWUFBUDtBQUNEIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgTGl2ZVJlZ2lvblR3aW5Db250ZXh0IGZyb20gJy4vQ29udGV4dCc7XG5cbmltcG9ydCB0eXBlIHsgTGl2ZVJlZ2lvblR3aW5Db250ZXh0VHlwZSB9IGZyb20gJy4vQ29udGV4dCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUxpdmVSZWdpb25Ud2luQ29udGV4dCh0aHJvd25PblVuZGVmaW5lZCA9IHRydWUpOiBMaXZlUmVnaW9uVHdpbkNvbnRleHRUeXBlIHtcbiAgY29uc3QgY29udGV4dFZhbHVlID0gdXNlQ29udGV4dChMaXZlUmVnaW9uVHdpbkNvbnRleHQpO1xuXG4gIGlmICh0aHJvd25PblVuZGVmaW5lZCAmJiAhY29udGV4dFZhbHVlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdib3RmcmFtZXdvcmstd2ViY2hhdCBpbnRlcm5hbDogVGhpcyBob29rIGNhbiBvbmx5IGJlIHVzZWQgdW5kZXIgPExpdmVSZWdpb25Db21wb3Nlcj4uJyk7XG4gIH1cblxuICByZXR1cm4gY29udGV4dFZhbHVlO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export default function useMarkAllAsRenderedEffect(): void;
2
+ //# sourceMappingURL=useMarkAllAsRenderedEffect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMarkAllAsRenderedEffect.d.ts","sourceRoot":"","sources":["../../../../src/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,UAAU,0BAA0B,IAAI,IAAI,CAKzD"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useMarkAllAsRenderedEffect;
7
+
8
+ var _react = require("react");
9
+
10
+ var _useContext = _interopRequireDefault(require("./useContext"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ // After calling `markAllAsRendered`, it will cause a re-render.
15
+ // Since `markAllAsRendered` is a converging function, it will eventually stop re-rendering.
16
+ // We call this hook `useXXXEffect` for us to abstract the business logic here.
17
+ function useMarkAllAsRenderedEffect() {
18
+ var _useLiveRegionTwinCon = (0, _useContext.default)(),
19
+ markAllAsRendered = _useLiveRegionTwinCon.markAllAsRendered; // We did not set the `deps` argument as we want to run this function on every render.
20
+
21
+
22
+ (0, _react.useEffect)(markAllAsRendered);
23
+ }
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvTGl2ZVJlZ2lvblR3aW4vcHJpdmF0ZS91c2VNYXJrQWxsQXNSZW5kZXJlZEVmZmVjdC50cyJdLCJuYW1lcyI6WyJ1c2VNYXJrQWxsQXNSZW5kZXJlZEVmZmVjdCIsIm1hcmtBbGxBc1JlbmRlcmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBRUE7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFDZSxTQUFTQSwwQkFBVCxHQUE0QztBQUN6RCw4QkFBOEIsMEJBQTlCO0FBQUEsTUFBUUMsaUJBQVIseUJBQVFBLGlCQUFSLENBRHlELENBR3pEOzs7QUFDQSx3QkFBVUEsaUJBQVY7QUFDRCIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdXNlTGl2ZVJlZ2lvblR3aW5Db250ZXh0IGZyb20gJy4vdXNlQ29udGV4dCc7XG5cbi8vIEFmdGVyIGNhbGxpbmcgYG1hcmtBbGxBc1JlbmRlcmVkYCwgaXQgd2lsbCBjYXVzZSBhIHJlLXJlbmRlci5cbi8vIFNpbmNlIGBtYXJrQWxsQXNSZW5kZXJlZGAgaXMgYSBjb252ZXJnaW5nIGZ1bmN0aW9uLCBpdCB3aWxsIGV2ZW50dWFsbHkgc3RvcCByZS1yZW5kZXJpbmcuXG4vLyBXZSBjYWxsIHRoaXMgaG9vayBgdXNlWFhYRWZmZWN0YCBmb3IgdXMgdG8gYWJzdHJhY3QgdGhlIGJ1c2luZXNzIGxvZ2ljIGhlcmUuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VNYXJrQWxsQXNSZW5kZXJlZEVmZmVjdCgpOiB2b2lkIHtcbiAgY29uc3QgeyBtYXJrQWxsQXNSZW5kZXJlZCB9ID0gdXNlTGl2ZVJlZ2lvblR3aW5Db250ZXh0KCk7XG5cbiAgLy8gV2UgZGlkIG5vdCBzZXQgdGhlIGBkZXBzYCBhcmd1bWVudCBhcyB3ZSB3YW50IHRvIHJ1biB0aGlzIGZ1bmN0aW9uIG9uIGV2ZXJ5IHJlbmRlci5cbiAgdXNlRWZmZWN0KG1hcmtBbGxBc1JlbmRlcmVkKTtcbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import type { StaticElementEntry } from './types';
2
+ export default function useStaticElementEntries(): readonly [readonly StaticElementEntry[]];
3
+ //# sourceMappingURL=useStaticElementEntries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStaticElementEntries.d.ts","sourceRoot":"","sources":["../../../../src/providers/LiveRegionTwin/private/useStaticElementEntries.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,CAAC,OAAO,UAAU,uBAAuB,IAAI,SAAS,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAE1F"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useStaticElementEntries;
7
+
8
+ var _useContext = _interopRequireDefault(require("./useContext"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ function useStaticElementEntries() {
13
+ return (0, _useContext.default)().staticElementEntriesState;
14
+ }
15
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wcm92aWRlcnMvTGl2ZVJlZ2lvblR3aW4vcHJpdmF0ZS91c2VTdGF0aWNFbGVtZW50RW50cmllcy50cyJdLCJuYW1lcyI6WyJ1c2VTdGF0aWNFbGVtZW50RW50cmllcyIsInN0YXRpY0VsZW1lbnRFbnRyaWVzU3RhdGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7OztBQUllLFNBQVNBLHVCQUFULEdBQTZFO0FBQzFGLFNBQU8sMkJBQTJCQyx5QkFBbEM7QUFDRCIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHVzZUxpdmVSZWdpb25Ud2luQ29udGV4dCBmcm9tICcuL3VzZUNvbnRleHQnO1xuXG5pbXBvcnQgdHlwZSB7IFN0YXRpY0VsZW1lbnRFbnRyeSB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VTdGF0aWNFbGVtZW50RW50cmllcygpOiByZWFkb25seSBbcmVhZG9ubHkgU3RhdGljRWxlbWVudEVudHJ5W11dIHtcbiAgcmV0dXJuIHVzZUxpdmVSZWdpb25Ud2luQ29udGV4dCgpLnN0YXRpY0VsZW1lbnRFbnRyaWVzU3RhdGU7XG59XG4iXX0=
@@ -0,0 +1,8 @@
1
+ import type { StaticElement } from './private/types';
2
+ /**
3
+ * Queues a static element to the live region.
4
+ *
5
+ * After the element is queued, screen reader will eventually narrate it and it cannot be changed.
6
+ */
7
+ export default function useQueueStaticElement(): (element: StaticElement) => void;
8
+ //# sourceMappingURL=useQueueStaticElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useQueueStaticElement.d.ts","sourceRoot":"","sources":["../../../src/providers/LiveRegionTwin/useQueueStaticElement.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,IAAI,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAEhF"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useQueueStaticElement;
7
+
8
+ var _useContext = _interopRequireDefault(require("./private/useContext"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ /**
13
+ * Queues a static element to the live region.
14
+ *
15
+ * After the element is queued, screen reader will eventually narrate it and it cannot be changed.
16
+ */
17
+ function useQueueStaticElement() {
18
+ return (0, _useContext.default)().queueStaticElement;
19
+ }
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm92aWRlcnMvTGl2ZVJlZ2lvblR3aW4vdXNlUXVldWVTdGF0aWNFbGVtZW50LnRzIl0sIm5hbWVzIjpbInVzZVF1ZXVlU3RhdGljRWxlbWVudCIsInF1ZXVlU3RhdGljRWxlbWVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNlLFNBQVNBLHFCQUFULEdBQW1FO0FBQ2hGLFNBQU8sMkJBQXVCQyxrQkFBOUI7QUFDRCIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHVzZUxpdmVSZWdpb25Db250ZXh0IGZyb20gJy4vcHJpdmF0ZS91c2VDb250ZXh0JztcblxuaW1wb3J0IHR5cGUgeyBTdGF0aWNFbGVtZW50IH0gZnJvbSAnLi9wcml2YXRlL3R5cGVzJztcblxuLyoqXG4gKiBRdWV1ZXMgYSBzdGF0aWMgZWxlbWVudCB0byB0aGUgbGl2ZSByZWdpb24uXG4gKlxuICogQWZ0ZXIgdGhlIGVsZW1lbnQgaXMgcXVldWVkLCBzY3JlZW4gcmVhZGVyIHdpbGwgZXZlbnR1YWxseSBuYXJyYXRlIGl0IGFuZCBpdCBjYW5ub3QgYmUgY2hhbmdlZC5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlUXVldWVTdGF0aWNFbGVtZW50KCk6IChlbGVtZW50OiBTdGF0aWNFbGVtZW50KSA9PiB2b2lkIHtcbiAgcmV0dXJuIHVzZUxpdmVSZWdpb25Db250ZXh0KCkucXVldWVTdGF0aWNFbGVtZW50O1xufVxuIl19
@@ -0,0 +1,7 @@
1
+ import type { FC, MutableRefObject } from 'react';
2
+ declare type TranscriptFocusComposerProps = {
3
+ containerRef: MutableRefObject<HTMLElement>;
4
+ };
5
+ declare const TranscriptFocusComposer: FC<TranscriptFocusComposerProps>;
6
+ export default TranscriptFocusComposer;
7
+ //# sourceMappingURL=TranscriptFocusComposer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TranscriptFocusComposer.d.ts","sourceRoot":"","sources":["../../../src/providers/TranscriptFocus/TranscriptFocusComposer.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAalD,aAAK,4BAA4B,GAAG;IAClC,YAAY,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;CAC7C,CAAC;AAgBF,QAAA,MAAM,uBAAuB,EAAE,EAAE,CAAC,4BAA4B,CAqI7D,CAAC;AAUF,eAAe,uBAAuB,CAAC"}