botframework-webchat-component 4.14.0 → 4.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. package/.eslintrc.yml +4 -106
  2. package/.prettierrc.yml +1 -1
  3. package/lib/Activity/Bubble.js +2 -2
  4. package/lib/Activity/CarouselFilmStrip.js +3 -3
  5. package/lib/Activity/CarouselFilmStripAttachment.js +2 -2
  6. package/lib/Activity/CarouselLayout.js +5 -5
  7. package/lib/Activity/Speak.js +6 -6
  8. package/lib/Activity/StackedLayout.d.ts.map +1 -1
  9. package/lib/Activity/StackedLayout.js +3 -3
  10. package/lib/Assets/TypingAnimation.js +2 -2
  11. package/lib/Attachment/AudioAttachment.js +2 -2
  12. package/lib/Attachment/AudioContent.js +2 -2
  13. package/lib/Attachment/FileAttachment.js +2 -2
  14. package/lib/Attachment/FileContent.d.ts.map +1 -1
  15. package/lib/Attachment/FileContent.js +12 -2
  16. package/lib/Attachment/HTMLVideoContent.js +2 -2
  17. package/lib/Attachment/ImageContent.js +2 -2
  18. package/lib/Attachment/TextContent.js +2 -2
  19. package/lib/Attachment/VideoAttachment.js +2 -2
  20. package/lib/Attachment/VideoContent.js +1 -1
  21. package/lib/Attachment/VimeoContent.js +2 -2
  22. package/lib/Attachment/YouTubeContent.js +2 -2
  23. package/lib/Avatar/ImageAvatar.js +2 -2
  24. package/lib/Avatar/InitialsAvatar.js +2 -2
  25. package/lib/BasicConnectivityStatus.js +2 -2
  26. package/lib/BasicSendBox.js +3 -3
  27. package/lib/BasicToast.js +4 -4
  28. package/lib/BasicToaster.js +8 -5
  29. package/lib/BasicTranscript.d.ts +7 -0
  30. package/lib/BasicTranscript.d.ts.map +1 -0
  31. package/lib/BasicTranscript.js +387 -729
  32. package/lib/BasicTypingIndicator.d.ts +2 -1
  33. package/lib/BasicTypingIndicator.d.ts.map +1 -1
  34. package/lib/BasicTypingIndicator.js +13 -5
  35. package/lib/BasicWebChat.js +2 -2
  36. package/lib/Composer.d.ts.map +1 -1
  37. package/lib/Composer.js +42 -35
  38. package/lib/ConnectivityStatus/Assets/ErrorNotificationIcon.js +2 -2
  39. package/lib/ConnectivityStatus/Assets/SpinnerAnimation.js +2 -2
  40. package/lib/ConnectivityStatus/Assets/WarningNotificationIcon.js +2 -2
  41. package/lib/ConnectivityStatus/Connected.js +1 -1
  42. package/lib/ConnectivityStatus/Connecting.js +4 -4
  43. package/lib/ConnectivityStatus/FailedToConnect.js +2 -2
  44. package/lib/ConnectivityStatus/JavaScriptError.js +2 -2
  45. package/lib/Dictation.js +4 -4
  46. package/lib/ErrorBox.js +2 -2
  47. package/lib/Middleware/Activity/createCoreMiddleware.d.ts.map +1 -1
  48. package/lib/Middleware/Activity/createCoreMiddleware.js +1 -1
  49. package/lib/Middleware/ActivityStatus/AbsoluteTime.js +1 -1
  50. package/lib/Middleware/ActivityStatus/RelativeTime.js +1 -1
  51. package/lib/Middleware/ActivityStatus/SendStatus/SendFailedRetry.js +3 -3
  52. package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.js +5 -5
  53. package/lib/Middleware/ActivityStatus/Timestamp.js +2 -2
  54. package/lib/Middleware/ActivityStatus/createSendStatusMiddleware.js +21 -16
  55. package/lib/Middleware/ActivityStatus/createTimestampMiddleware.js +1 -1
  56. package/lib/Middleware/Attachment/createCoreMiddleware.js +2 -5
  57. package/lib/Middleware/AttachmentForScreenReader/AudioAttachment.js +1 -1
  58. package/lib/Middleware/AttachmentForScreenReader/FileAttachment.js +1 -1
  59. package/lib/Middleware/AttachmentForScreenReader/ImageAttachment.js +1 -1
  60. package/lib/Middleware/AttachmentForScreenReader/TextAttachment.js +1 -1
  61. package/lib/Middleware/AttachmentForScreenReader/VideoAttachment.js +1 -1
  62. package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.d.ts.map +1 -1
  63. package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.js +1 -1
  64. package/lib/Middleware/Avatar/createCoreMiddleware.d.ts.map +1 -1
  65. package/lib/Middleware/Avatar/createCoreMiddleware.js +3 -4
  66. package/lib/Middleware/CardAction/createCoreMiddleware.js +10 -3
  67. package/lib/Middleware/GroupActivities/createCoreMiddleware.js +1 -1
  68. package/lib/Middleware/ScrollToEndButton/ScrollToEndButton.js +2 -2
  69. package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.d.ts.map +1 -1
  70. package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.js +1 -1
  71. package/lib/Middleware/Toast/createCoreMiddleware.d.ts.map +1 -1
  72. package/lib/Middleware/Toast/createCoreMiddleware.js +1 -1
  73. package/lib/Middleware/TypingIndicator/createCoreMiddleware.d.ts.map +1 -1
  74. package/lib/Middleware/TypingIndicator/createCoreMiddleware.js +9 -7
  75. package/lib/ReactWebChat.js +5 -3
  76. package/lib/ScreenReaderActivity.js +17 -8
  77. package/lib/ScreenReaderText.d.ts +9 -0
  78. package/lib/ScreenReaderText.d.ts.map +1 -0
  79. package/lib/ScreenReaderText.js +22 -8
  80. package/lib/SendBox/Assets/SendIcon.js +2 -2
  81. package/lib/SendBox/AutoResizeTextArea.js +4 -4
  82. package/lib/SendBox/DictationInterims.js +3 -3
  83. package/lib/SendBox/IconButton.d.ts +11 -0
  84. package/lib/SendBox/IconButton.d.ts.map +1 -0
  85. package/lib/SendBox/IconButton.js +27 -7
  86. package/lib/SendBox/MicrophoneButton.js +5 -5
  87. package/lib/SendBox/SendButton.js +5 -5
  88. package/lib/SendBox/SuggestedAction.d.ts +17 -0
  89. package/lib/SendBox/SuggestedAction.d.ts.map +1 -0
  90. package/lib/SendBox/SuggestedAction.js +28 -19
  91. package/lib/SendBox/SuggestedActions.d.ts.map +1 -1
  92. package/lib/SendBox/SuggestedActions.js +33 -12
  93. package/lib/SendBox/TextBox.js +6 -6
  94. package/lib/SendBox/UploadButton.js +6 -6
  95. package/lib/Styles/StyleSet/BasicTranscript.d.ts +13 -5
  96. package/lib/Styles/StyleSet/BasicTranscript.d.ts.map +1 -1
  97. package/lib/Styles/StyleSet/BasicTranscript.js +21 -9
  98. package/lib/Styles/StyleSet/Bubble.d.ts.map +1 -1
  99. package/lib/Styles/StyleSet/Bubble.js +2 -2
  100. package/lib/Styles/StyleSet/CarouselFilmStrip.d.ts.map +1 -1
  101. package/lib/Styles/StyleSet/CarouselFilmStrip.js +2 -2
  102. package/lib/Styles/StyleSet/CarouselFilmStripAttachment.d.ts.map +1 -1
  103. package/lib/Styles/StyleSet/CarouselFilmStripAttachment.js +2 -2
  104. package/lib/Styles/StyleSet/KeyboardHelp.d.ts +123 -0
  105. package/lib/Styles/StyleSet/KeyboardHelp.d.ts.map +1 -0
  106. package/lib/Styles/StyleSet/KeyboardHelp.js +145 -0
  107. package/lib/Styles/StyleSet/ScrollToEndButton.d.ts +1 -1
  108. package/lib/Styles/StyleSet/ScrollToEndButton.js +2 -2
  109. package/lib/Styles/StyleSet/SendBoxButton.d.ts +56 -10
  110. package/lib/Styles/StyleSet/SendBoxButton.d.ts.map +1 -1
  111. package/lib/Styles/StyleSet/SendBoxButton.js +76 -12
  112. package/lib/Styles/StyleSet/SendBoxTextBox.d.ts +1 -1
  113. package/lib/Styles/StyleSet/SendBoxTextBox.d.ts.map +1 -1
  114. package/lib/Styles/StyleSet/SendBoxTextBox.js +3 -3
  115. package/lib/Styles/StyleSet/StackedLayout.d.ts.map +1 -1
  116. package/lib/Styles/StyleSet/StackedLayout.js +1 -1
  117. package/lib/Styles/StyleSet/SuggestedAction.d.ts +73 -28
  118. package/lib/Styles/StyleSet/SuggestedAction.d.ts.map +1 -1
  119. package/lib/Styles/StyleSet/SuggestedAction.js +116 -41
  120. package/lib/Styles/StyleSet/SuggestedActions.d.ts +13 -6
  121. package/lib/Styles/StyleSet/SuggestedActions.d.ts.map +1 -1
  122. package/lib/Styles/StyleSet/SuggestedActions.js +13 -6
  123. package/lib/Styles/createStyleSet.d.ts +323 -54
  124. package/lib/Styles/createStyleSet.d.ts.map +1 -1
  125. package/lib/Styles/createStyleSet.js +5 -2
  126. package/lib/Styles/mirrorStyle.js +13 -4
  127. package/lib/Toast/NotificationIcon.js +7 -3
  128. package/lib/Toast/createToastMiddleware.d.ts.map +1 -1
  129. package/lib/Toast/createToastMiddleware.js +1 -1
  130. package/lib/Transcript/ActivityRow.d.ts +9 -0
  131. package/lib/Transcript/ActivityRow.d.ts.map +1 -0
  132. package/lib/Transcript/ActivityRow.js +157 -0
  133. package/lib/Transcript/ActivityTextAlt.js +57 -0
  134. package/lib/Transcript/FocusTrap.d.ts +8 -0
  135. package/lib/Transcript/FocusTrap.d.ts.map +1 -0
  136. package/lib/Transcript/FocusTrap.js +74 -0
  137. package/lib/Transcript/KeyboardHelp.d.ts +4 -0
  138. package/lib/Transcript/KeyboardHelp.d.ts.map +1 -0
  139. package/lib/Transcript/KeyboardHelp.js +550 -0
  140. package/lib/Transcript/LiveRegionTranscript.d.ts +8 -0
  141. package/lib/Transcript/LiveRegionTranscript.d.ts.map +1 -0
  142. package/lib/Transcript/LiveRegionTranscript.js +214 -0
  143. package/lib/Transcript/types.d.ts +2 -0
  144. package/lib/Transcript/types.d.ts.map +1 -0
  145. package/lib/Transcript/types.js +2 -0
  146. package/lib/Transcript/useActivityAccessibleName.d.ts +4 -0
  147. package/lib/Transcript/useActivityAccessibleName.d.ts.map +1 -0
  148. package/lib/Transcript/useActivityAccessibleName.js +97 -0
  149. package/lib/Utils/AccessKeySink/Surface.js +7 -5
  150. package/lib/Utils/AccessibleButton.d.ts +11 -0
  151. package/lib/Utils/AccessibleButton.d.ts.map +1 -0
  152. package/lib/Utils/AccessibleButton.js +15 -8
  153. package/lib/Utils/AccessibleInputText.js +6 -4
  154. package/lib/Utils/AccessibleTextArea.js +6 -4
  155. package/lib/Utils/CroppedImage.js +2 -2
  156. package/lib/Utils/Fade.js +2 -2
  157. package/lib/Utils/FocusRedirector.d.ts +9 -0
  158. package/lib/Utils/FocusRedirector.d.ts.map +1 -0
  159. package/lib/Utils/FocusRedirector.js +18 -15
  160. package/lib/Utils/InlineMarkdown.js +17 -10
  161. package/lib/Utils/TypeFocusSink/FocusBox.js +6 -4
  162. package/lib/Utils/TypeFocusSink/getTabIndex.js +1 -1
  163. package/lib/Utils/TypeFocusSink/inputtableKey.d.ts +2 -0
  164. package/lib/Utils/TypeFocusSink/inputtableKey.d.ts.map +1 -0
  165. package/lib/Utils/TypeFocusSink/inputtableKey.js +5 -2
  166. package/lib/Utils/TypeFocusSink/navigableEvent.js +1 -1
  167. package/lib/Utils/activityAltText.d.ts +8 -0
  168. package/lib/Utils/activityAltText.d.ts.map +1 -0
  169. package/lib/Utils/activityAltText.js +2 -2
  170. package/lib/Utils/addTargetBlankToHyperlinksMarkdown.js +1 -1
  171. package/lib/Utils/createCustomEvent.js +9 -3
  172. package/lib/Utils/debounce.js +1 -1
  173. package/lib/Utils/detectBrowser.js +4 -2
  174. package/lib/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingWorker.js +3 -3
  175. package/lib/Utils/downscaleImageToDataURL/index.js +2 -2
  176. package/lib/Utils/filterMap.js +1 -1
  177. package/lib/Utils/findAncestor.js +17 -0
  178. package/lib/Utils/getActivityUniqueId.js +4 -2
  179. package/lib/Utils/intersectionOf.d.ts +5 -0
  180. package/lib/Utils/intersectionOf.d.ts.map +1 -0
  181. package/lib/Utils/intersectionOf.js +17 -2
  182. package/lib/Utils/isZeroOrPositive.d.ts +5 -0
  183. package/lib/Utils/isZeroOrPositive.d.ts.map +1 -0
  184. package/lib/Utils/isZeroOrPositive.js +4 -1
  185. package/lib/Utils/mapMap.js +10 -3
  186. package/lib/Utils/readDataURIToBlob.js +3 -3
  187. package/lib/Utils/scrollIntoViewWithBlockNearest.d.ts +7 -0
  188. package/lib/Utils/scrollIntoViewWithBlockNearest.d.ts.map +1 -0
  189. package/lib/Utils/scrollIntoViewWithBlockNearest.js +48 -0
  190. package/lib/Utils/shallowEquals.js +7 -3
  191. package/lib/Utils/supportPseudoClass.d.ts +2 -0
  192. package/lib/Utils/supportPseudoClass.d.ts.map +1 -0
  193. package/lib/Utils/supportPseudoClass.js +23 -0
  194. package/lib/Utils/tabbableElements.d.ts +2 -0
  195. package/lib/Utils/tabbableElements.d.ts.map +1 -0
  196. package/lib/Utils/tabbableElements.js +2 -2
  197. package/lib/connectToWebChat.js +17 -7
  198. package/lib/hooks/index.js +24 -24
  199. package/lib/hooks/internal/BypassSpeechSynthesisPonyfill.js +100 -41
  200. package/lib/hooks/internal/UITracker.js +2 -2
  201. package/lib/hooks/internal/useChanged.js +8 -1
  202. package/lib/hooks/internal/useDispatchScrollPosition.js +3 -7
  203. package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.d.ts +2 -0
  204. package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.d.ts.map +1 -0
  205. package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.js +15 -0
  206. package/lib/hooks/internal/useEnterKeyHint.js +1 -1
  207. package/lib/hooks/internal/useFocusVisible.d.ts +3 -0
  208. package/lib/hooks/internal/useFocusVisible.d.ts.map +1 -0
  209. package/lib/hooks/internal/useFocusVisible.js +48 -0
  210. package/lib/hooks/internal/useForceRender.js +2 -2
  211. package/lib/hooks/internal/useForceRenderAtInterval.js +2 -2
  212. package/lib/hooks/internal/useInternalRenderMarkdownInline.js +1 -1
  213. package/lib/hooks/internal/useLocalizeAccessKey.js +2 -2
  214. package/lib/hooks/internal/useMemoWithPrevious.d.ts +3 -0
  215. package/lib/hooks/internal/useMemoWithPrevious.d.ts.map +1 -0
  216. package/lib/hooks/internal/useMemoWithPrevious.js +22 -0
  217. package/lib/hooks/internal/useMemoize.d.ts +14 -0
  218. package/lib/hooks/internal/useMemoize.d.ts.map +1 -0
  219. package/lib/hooks/internal/useMemoize.js +12 -3
  220. package/lib/hooks/internal/useNavigatorPlatform.js +1 -1
  221. package/lib/hooks/internal/useNonce.js +1 -1
  222. package/lib/hooks/internal/useObserveFocusVisible.d.ts +3 -0
  223. package/lib/hooks/internal/useObserveFocusVisible.d.ts.map +1 -0
  224. package/lib/hooks/internal/useObserveFocusVisible.js +208 -0
  225. package/lib/hooks/internal/usePrevious.d.ts +2 -0
  226. package/lib/hooks/internal/usePrevious.d.ts.map +1 -0
  227. package/lib/hooks/internal/usePrevious.js +18 -0
  228. package/lib/hooks/internal/useRegisterFocusSendBox.js +1 -1
  229. package/lib/hooks/internal/useRegisterFocusTranscript.js +1 -1
  230. package/lib/hooks/internal/useRegisterScrollRelative.js +1 -1
  231. package/lib/hooks/internal/useRegisterScrollTo.js +1 -1
  232. package/lib/hooks/internal/useRegisterScrollToEnd.js +1 -1
  233. package/lib/hooks/internal/useReplaceEmoticon.js +2 -2
  234. package/lib/hooks/internal/useResumeAudioContext.js +2 -2
  235. package/lib/hooks/internal/useScrollRelative.js +1 -1
  236. package/lib/hooks/internal/useSettableDictateAbortable.js +1 -1
  237. package/lib/hooks/internal/useStateRef.d.ts +3 -0
  238. package/lib/hooks/internal/useStateRef.d.ts.map +1 -0
  239. package/lib/hooks/internal/useStateRef.js +40 -0
  240. package/lib/hooks/internal/useSuggestedActionsAccessKey.js +1 -1
  241. package/lib/hooks/internal/useValueRef.d.ts +3 -0
  242. package/lib/hooks/internal/useValueRef.d.ts.map +1 -0
  243. package/lib/hooks/internal/useValueRef.js +25 -0
  244. package/lib/hooks/useDictateAbortable.js +2 -2
  245. package/lib/hooks/useFocus.d.ts +1 -1
  246. package/lib/hooks/useFocus.d.ts.map +1 -1
  247. package/lib/hooks/useFocus.js +1 -1
  248. package/lib/hooks/useObserveScrollPosition.js +2 -2
  249. package/lib/hooks/useObserveTranscriptFocus.js +2 -2
  250. package/lib/hooks/useRenderMarkdownAsHTML.d.ts.map +1 -1
  251. package/lib/hooks/useRenderMarkdownAsHTML.js +2 -2
  252. package/lib/hooks/useScrollTo.d.ts.map +1 -1
  253. package/lib/hooks/useScrollTo.js +1 -1
  254. package/lib/hooks/useScrollToEnd.d.ts.map +1 -1
  255. package/lib/hooks/useScrollToEnd.js +1 -1
  256. package/lib/hooks/useSendFiles.js +3 -3
  257. package/lib/index.d.ts +10 -0
  258. package/lib/index.d.ts.map +1 -1
  259. package/lib/index.js +20 -18
  260. package/lib/providers/ActivityTree/ActivityTreeComposer.d.ts +5 -0
  261. package/lib/providers/ActivityTree/ActivityTreeComposer.d.ts.map +1 -0
  262. package/lib/providers/ActivityTree/ActivityTreeComposer.js +86 -0
  263. package/lib/providers/ActivityTree/private/Context.d.ts +9 -0
  264. package/lib/providers/ActivityTree/private/Context.d.ts.map +1 -0
  265. package/lib/providers/ActivityTree/private/Context.js +13 -0
  266. package/lib/providers/ActivityTree/private/types.d.ts +10 -0
  267. package/lib/providers/ActivityTree/private/types.d.ts.map +1 -0
  268. package/lib/providers/ActivityTree/private/types.js +2 -0
  269. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.d.ts +4 -0
  270. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.d.ts.map +1 -0
  271. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.js +58 -0
  272. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.d.ts +5 -0
  273. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.d.ts.map +1 -0
  274. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.js +166 -0
  275. package/lib/providers/ActivityTree/private/useContext.d.ts +3 -0
  276. package/lib/providers/ActivityTree/private/useContext.d.ts.map +1 -0
  277. package/lib/providers/ActivityTree/private/useContext.js +24 -0
  278. package/lib/providers/ActivityTree/useActivityTreeWithRenderer.d.ts +8 -0
  279. package/lib/providers/ActivityTree/useActivityTreeWithRenderer.d.ts.map +1 -0
  280. package/lib/providers/ActivityTree/useActivityTreeWithRenderer.js +17 -0
  281. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.d.ts +35 -0
  282. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.d.ts.map +1 -0
  283. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.js +156 -0
  284. package/lib/providers/LiveRegionTwin/private/Context.d.ts +10 -0
  285. package/lib/providers/LiveRegionTwin/private/Context.d.ts.map +1 -0
  286. package/lib/providers/LiveRegionTwin/private/Context.js +13 -0
  287. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.d.ts +11 -0
  288. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.d.ts.map +1 -0
  289. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.js +86 -0
  290. package/lib/providers/LiveRegionTwin/private/types.d.ts +8 -0
  291. package/lib/providers/LiveRegionTwin/private/types.d.ts.map +1 -0
  292. package/lib/providers/LiveRegionTwin/private/types.js +2 -0
  293. package/lib/providers/LiveRegionTwin/private/useContext.d.ts +3 -0
  294. package/lib/providers/LiveRegionTwin/private/useContext.d.ts.map +1 -0
  295. package/lib/providers/LiveRegionTwin/private/useContext.js +24 -0
  296. package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.d.ts +2 -0
  297. package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.d.ts.map +1 -0
  298. package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.js +24 -0
  299. package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.d.ts +3 -0
  300. package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.d.ts.map +1 -0
  301. package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.js +15 -0
  302. package/lib/providers/LiveRegionTwin/useQueueStaticElement.d.ts +8 -0
  303. package/lib/providers/LiveRegionTwin/useQueueStaticElement.d.ts.map +1 -0
  304. package/lib/providers/LiveRegionTwin/useQueueStaticElement.js +20 -0
  305. package/lib/providers/TranscriptFocus/TranscriptFocusComposer.d.ts +7 -0
  306. package/lib/providers/TranscriptFocus/TranscriptFocusComposer.d.ts.map +1 -0
  307. package/lib/providers/TranscriptFocus/TranscriptFocusComposer.js +184 -0
  308. package/lib/providers/TranscriptFocus/private/Context.d.ts +12 -0
  309. package/lib/providers/TranscriptFocus/private/Context.d.ts.map +1 -0
  310. package/lib/providers/TranscriptFocus/private/Context.js +13 -0
  311. package/lib/providers/TranscriptFocus/private/useContext.d.ts +2 -0
  312. package/lib/providers/TranscriptFocus/private/useContext.d.ts.map +1 -0
  313. package/lib/providers/TranscriptFocus/private/useContext.js +24 -0
  314. package/lib/providers/TranscriptFocus/useActiveDescendantId.d.ts +2 -0
  315. package/lib/providers/TranscriptFocus/useActiveDescendantId.d.ts.map +1 -0
  316. package/lib/providers/TranscriptFocus/useActiveDescendantId.js +15 -0
  317. package/lib/providers/TranscriptFocus/useFocusByActivityKey.d.ts +8 -0
  318. package/lib/providers/TranscriptFocus/useFocusByActivityKey.d.ts.map +1 -0
  319. package/lib/providers/TranscriptFocus/useFocusByActivityKey.js +21 -0
  320. package/lib/providers/TranscriptFocus/useFocusRelativeActivity.d.ts +2 -0
  321. package/lib/providers/TranscriptFocus/useFocusRelativeActivity.d.ts.map +1 -0
  322. package/lib/providers/TranscriptFocus/useFocusRelativeActivity.js +15 -0
  323. package/lib/providers/TranscriptFocus/useFocusedActivityKey.d.ts +2 -0
  324. package/lib/providers/TranscriptFocus/useFocusedActivityKey.d.ts.map +1 -0
  325. package/lib/providers/TranscriptFocus/useFocusedActivityKey.js +15 -0
  326. package/lib/providers/TranscriptFocus/useFocusedExplicitly.d.ts +2 -0
  327. package/lib/providers/TranscriptFocus/useFocusedExplicitly.d.ts.map +1 -0
  328. package/lib/providers/TranscriptFocus/useFocusedExplicitly.js +15 -0
  329. package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.d.ts +2 -0
  330. package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.d.ts.map +1 -0
  331. package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.js +15 -0
  332. package/package.json +25 -33
  333. package/src/Activity/CarouselFilmStrip.js +2 -3
  334. package/src/Activity/CarouselFilmStripAttachment.js +0 -1
  335. package/src/Activity/StackedLayout.tsx +10 -9
  336. package/src/Attachment/FileAttachment.js +1 -1
  337. package/src/Attachment/FileContent.tsx +12 -0
  338. package/src/BasicToaster.js +9 -5
  339. package/src/BasicTranscript.tsx +898 -0
  340. package/src/BasicTypingIndicator.tsx +3 -2
  341. package/src/Composer.tsx +41 -29
  342. package/src/Dictation.js +4 -3
  343. package/src/Middleware/Activity/createCoreMiddleware.tsx +50 -44
  344. package/src/Middleware/ActivityStatus/createSendStatusMiddleware.js +10 -6
  345. package/src/Middleware/ActivityStatus/createTimestampMiddleware.js +10 -8
  346. package/src/Middleware/Attachment/createCoreMiddleware.tsx +28 -28
  347. package/src/Middleware/AttachmentForScreenReader/createCoreMiddleware.tsx +25 -23
  348. package/src/Middleware/Avatar/createCoreMiddleware.tsx +9 -8
  349. package/src/Middleware/CardAction/createCoreMiddleware.js +50 -41
  350. package/src/Middleware/GroupActivities/createCoreMiddleware.js +6 -4
  351. package/src/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.ts +11 -9
  352. package/src/Middleware/Toast/createCoreMiddleware.tsx +12 -10
  353. package/src/Middleware/TypingIndicator/createCoreMiddleware.tsx +8 -2
  354. package/src/ScreenReaderActivity.js +20 -6
  355. package/src/{ScreenReaderText.js → ScreenReaderText.tsx} +27 -9
  356. package/src/SendBox/{IconButton.js → IconButton.tsx} +19 -3
  357. package/src/SendBox/{SuggestedAction.js → SuggestedAction.tsx} +72 -35
  358. package/src/SendBox/SuggestedActions.tsx +64 -21
  359. package/src/Styles/StyleSet/BasicTranscript.ts +34 -20
  360. package/src/Styles/StyleSet/Bubble.ts +0 -1
  361. package/src/Styles/StyleSet/CarouselFilmStrip.ts +12 -10
  362. package/src/Styles/StyleSet/CarouselFilmStripAttachment.ts +4 -3
  363. package/src/Styles/StyleSet/KeyboardHelp.ts +157 -0
  364. package/src/Styles/StyleSet/ScrollToEndButton.ts +1 -1
  365. package/src/Styles/StyleSet/SendBoxButton.ts +84 -13
  366. package/src/Styles/StyleSet/SendBoxTextBox.ts +1 -2
  367. package/src/Styles/StyleSet/StackedLayout.ts +13 -11
  368. package/src/Styles/StyleSet/SuggestedAction.ts +129 -42
  369. package/src/Styles/StyleSet/SuggestedActions.ts +13 -5
  370. package/src/Styles/createStyleSet.ts +2 -1
  371. package/src/Styles/mirrorStyle.js +10 -2
  372. package/src/Toast/NotificationIcon.js +4 -1
  373. package/src/Toast/createToastMiddleware.tsx +4 -1
  374. package/src/Transcript/ActivityRow.tsx +124 -0
  375. package/src/Transcript/ActivityTextAlt.tsx +32 -0
  376. package/src/Transcript/FocusTrap.tsx +64 -0
  377. package/src/Transcript/KeyboardHelp.tsx +282 -0
  378. package/src/Transcript/LiveRegionTranscript.tsx +181 -0
  379. package/src/Transcript/types.ts +1 -0
  380. package/src/Transcript/useActivityAccessibleName.ts +85 -0
  381. package/src/Utils/{AccessibleButton.js → AccessibleButton.tsx} +19 -4
  382. package/src/Utils/{FocusRedirector.js → FocusRedirector.tsx} +21 -8
  383. package/src/Utils/InlineMarkdown.js +18 -2
  384. package/src/Utils/TypeFocusSink/FocusBox.js +4 -4
  385. package/src/Utils/TypeFocusSink/inputtableKey.ts +5 -1
  386. package/src/Utils/createCustomEvent.js +7 -1
  387. package/src/Utils/detectBrowser.js +2 -1
  388. package/src/Utils/findAncestor.ts +12 -0
  389. package/src/Utils/getActivityUniqueId.ts +5 -0
  390. package/src/Utils/intersectionOf.ts +14 -0
  391. package/src/Utils/isZeroOrPositive.ts +7 -0
  392. package/src/Utils/mapMap.js +7 -1
  393. package/src/Utils/scrollIntoViewWithBlockNearest.ts +20 -0
  394. package/src/Utils/shallowEquals.js +8 -1
  395. package/src/Utils/supportPseudoClass.ts +17 -0
  396. package/src/Utils/{tabbableElements.js → tabbableElements.ts} +6 -5
  397. package/src/connectToWebChat.js +11 -4
  398. package/src/hooks/internal/BypassSpeechSynthesisPonyfill.js +70 -17
  399. package/src/hooks/internal/useChanged.ts +17 -0
  400. package/src/hooks/internal/useDispatchScrollPosition.js +1 -3
  401. package/src/hooks/internal/useDispatchTranscriptFocusByActivityKey.ts +5 -0
  402. package/src/hooks/internal/useFocusVisible.ts +22 -0
  403. package/src/hooks/internal/useMemoWithPrevious.ts +16 -0
  404. package/src/hooks/internal/useMemoize.spec.js +1 -1
  405. package/src/hooks/internal/useMemoize.ts +53 -0
  406. package/src/hooks/internal/useObserveFocusVisible.ts +252 -0
  407. package/src/hooks/internal/usePrevious.ts +12 -0
  408. package/src/hooks/internal/useScrollRelative.js +4 -3
  409. package/src/hooks/internal/useStateRef.ts +31 -0
  410. package/src/hooks/internal/useValueRef.ts +22 -0
  411. package/src/hooks/useFocus.ts +1 -1
  412. package/src/hooks/useRenderMarkdownAsHTML.ts +4 -5
  413. package/src/hooks/useScrollTo.ts +4 -3
  414. package/src/hooks/useScrollToEnd.ts +4 -3
  415. package/src/index.ts +0 -1
  416. package/src/providers/ActivityTree/ActivityTreeComposer.tsx +74 -0
  417. package/src/providers/ActivityTree/private/Context.ts +12 -0
  418. package/src/providers/ActivityTree/private/types.ts +12 -0
  419. package/src/providers/ActivityTree/private/useActivitiesWithRenderer.ts +66 -0
  420. package/src/providers/ActivityTree/private/useActivityTreeWithRenderer.ts +140 -0
  421. package/src/providers/ActivityTree/private/useContext.ts +15 -0
  422. package/src/providers/ActivityTree/useActivityTreeWithRenderer.ts +16 -0
  423. package/src/providers/LiveRegionTwin/LiveRegionTwinComposer.tsx +154 -0
  424. package/src/providers/LiveRegionTwin/private/Context.ts +15 -0
  425. package/src/providers/LiveRegionTwin/private/LiveRegionTwinContainer.tsx +64 -0
  426. package/src/providers/LiveRegionTwin/private/types.ts +10 -0
  427. package/src/providers/LiveRegionTwin/private/useContext.ts +15 -0
  428. package/src/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.ts +13 -0
  429. package/src/providers/LiveRegionTwin/private/useStaticElementEntries.ts +7 -0
  430. package/src/providers/LiveRegionTwin/useQueueStaticElement.ts +12 -0
  431. package/src/providers/TranscriptFocus/TranscriptFocusComposer.tsx +180 -0
  432. package/src/providers/TranscriptFocus/private/Context.ts +16 -0
  433. package/src/providers/TranscriptFocus/private/useContext.ts +13 -0
  434. package/src/providers/TranscriptFocus/useActiveDescendantId.ts +5 -0
  435. package/src/providers/TranscriptFocus/useFocusByActivityKey.ts +14 -0
  436. package/src/providers/TranscriptFocus/useFocusRelativeActivity.ts +5 -0
  437. package/src/providers/TranscriptFocus/useFocusedActivityKey.ts +5 -0
  438. package/src/providers/TranscriptFocus/useFocusedExplicitly.ts +5 -0
  439. package/src/providers/TranscriptFocus/useGetDescendantIdByActivityKey.ts +5 -0
  440. package/.eslintignore +0 -1
  441. package/lib/Utils/findLastIndex.js +0 -32
  442. package/lib/hooks/internal/useAcknowledgedActivity.js +0 -90
  443. package/lib/hooks/internal/useDispatchTranscriptFocus.js +0 -19
  444. package/src/BasicTranscript.js +0 -1140
  445. package/src/Utils/findLastIndex.js +0 -11
  446. package/src/Utils/findLastIndex.spec.js +0 -31
  447. package/src/Utils/getActivityUniqueId.js +0 -3
  448. package/src/Utils/intersectionOf.js +0 -11
  449. package/src/Utils/isZeroOrPositive.js +0 -4
  450. package/src/hooks/internal/useAcknowledgedActivity.js +0 -65
  451. package/src/hooks/internal/useChanged.js +0 -10
  452. package/src/hooks/internal/useDispatchTranscriptFocus.js +0 -7
  453. package/src/hooks/internal/useMemoize.js +0 -37
@@ -21,7 +21,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
21
21
 
22
22
  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; }
23
23
 
24
- 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; }
24
+ 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; }
25
25
 
26
26
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
27
 
@@ -52,4 +52,4 @@ function useForceRenderAtInterval(origin, interval, fn) {
52
52
  (0, _useTimer.default)(timer, handler);
53
53
  return [timer, setTimer];
54
54
  }
55
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VGb3JjZVJlbmRlckF0SW50ZXJ2YWwuanMiXSwibmFtZXMiOlsibmV4dFRpbWVyIiwib3JpZ2luIiwiaW50ZXJ2YWwiLCJ0aW1lIiwiRGF0ZSIsImdldFRpbWUiLCJub3ciLCJ1c2VGb3JjZVJlbmRlckF0SW50ZXJ2YWwiLCJmbiIsInRpbWVyIiwic2V0VGltZXIiLCJoYW5kbGVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLFNBQVNBLFNBQVQsQ0FBbUJDLE1BQW5CLEVBQTJCQyxRQUEzQixFQUFxQztBQUNuQyxNQUFNQyxJQUFJLEdBQUcsSUFBSUMsSUFBSixDQUFTSCxNQUFULEVBQWlCSSxPQUFqQixFQUFiO0FBQ0EsTUFBTUMsR0FBRyxHQUFHRixJQUFJLENBQUNFLEdBQUwsRUFBWjtBQUVBLFNBQU9ILElBQUksR0FBR0csR0FBUCxHQUFhSCxJQUFiLEdBQW9CRyxHQUFHLEdBQUdKLFFBQU4sR0FBa0IsQ0FBQ0ksR0FBRyxHQUFHSCxJQUFQLElBQWVELFFBQTVEO0FBQ0Q7O0FBRWMsU0FBU0ssd0JBQVQsQ0FBa0NOLE1BQWxDLEVBQTBDQyxRQUExQyxFQUFvRE0sRUFBcEQsRUFBd0Q7QUFBQSxrQkFDM0MscUJBQVNSLFNBQVMsQ0FBQ0MsTUFBRCxFQUFTQyxRQUFULENBQWxCLENBRDJDO0FBQUE7QUFBQSxNQUM5RE8sS0FEOEQ7QUFBQSxNQUN2REMsUUFEdUQ7O0FBRXJFLE1BQU1DLE9BQU8sR0FBRyx3QkFBWSxZQUFNO0FBQ2hDSCxJQUFBQSxFQUFFLElBQUlBLEVBQUUsRUFBUixDQURnQyxDQUdoQztBQUNBO0FBQ0E7QUFDQTs7QUFFQUUsSUFBQUEsUUFBUSxDQUFDVixTQUFTLENBQUNDLE1BQUQsRUFBU0MsUUFBVCxDQUFULEdBQThCLDBCQUEvQixDQUFSO0FBQ0QsR0FUZSxFQVNiLENBQUNNLEVBQUQsRUFBS1AsTUFBTCxFQUFhQyxRQUFiLENBVGEsQ0FBaEI7QUFXQSx5QkFBU08sS0FBVCxFQUFnQkUsT0FBaEI7QUFFQSxTQUFPLENBQUNGLEtBQUQsRUFBUUMsUUFBUixDQUFQO0FBQ0QiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCByYW5kb20gZnJvbSAnbWF0aC1yYW5kb20nO1xuXG5pbXBvcnQgdXNlVGltZXIgZnJvbSAnLi91c2VUaW1lcic7XG5cbi8vIFRoZSBgbmV4dFRpbWVyYCBmdW5jdGlvbiBjYWxjdWxhdGVzIHRoZSBuZXh0IGFic29sdXRlIHRpbWUgdGhhdCB0aGUgdGltZXIgc2hvdWxkIGJlIGZpcmVkIGJhc2VkIG9uIHRoZSBvcmlnaW4gKG9yaWdpbmFsIHRpbWUgcmVjZWl2ZWQpLCBpbnRlcnZhbCwgYW5kIGN1cnJlbnQgdGltZS5cbi8vIElmIHRoZSBvcmlnaW4gaXMgdD0yNjAsIGFuZCB3ZSBhcmUgY3VycmVudGx5IGF0IHQ9MTAwMCwgbmV4dFRpbWVyIG11c3QgcmV0dXJuIHQ9NjAyNjAuXG4vLyBJZiB0aGUgb3JpZ2luIGlzIHQ9MjYwLCBhbmQgd2UgYXJlIGN1cnJlbnRseSBhdCB0PTYwMjYwIChleGFjdCBsYW5kaW5nKSwgd2UgbXVzdCByZXR1cm4gdD0xMjAyNjAsIG5vdCB0PTYwMjYwLlxuLy8gVGhpcyBpcyBmb3IgZml4aW5nIGJ1ZyAjMjEwMzogaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC9Cb3RGcmFtZXdvcmstV2ViQ2hhdC9pc3N1ZXMvMjEwMy5cblxuZnVuY3Rpb24gbmV4dFRpbWVyKG9yaWdpbiwgaW50ZXJ2YWwpIHtcbiAgY29uc3QgdGltZSA9IG5ldyBEYXRlKG9yaWdpbikuZ2V0VGltZSgpO1xuICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuXG4gIHJldHVybiB0aW1lID4gbm93ID8gdGltZSA6IG5vdyArIGludGVydmFsIC0gKChub3cgLSB0aW1lKSAlIGludGVydmFsKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlRm9yY2VSZW5kZXJBdEludGVydmFsKG9yaWdpbiwgaW50ZXJ2YWwsIGZuKSB7XG4gIGNvbnN0IFt0aW1lciwgc2V0VGltZXJdID0gdXNlU3RhdGUobmV4dFRpbWVyKG9yaWdpbiwgaW50ZXJ2YWwpKTtcbiAgY29uc3QgaGFuZGxlciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBmbiAmJiBmbigpO1xuXG4gICAgLy8gQ2hyb21lIG1heSBmaXJlIHRoZSBzZXRUaW1lb3V0IGNhbGxiYWNrIDEgbXMgYmVmb3JlIGl0cyBvcmlnaW5hbCBzY2hlZHVsZS5cbiAgICAvLyBUaHVzLCB3aGVuIHdlIGNhbGN1bGF0ZSB0aGUgXCJuZXh0XCIgdmFsdWUsIGl0IHdpbGwgaGF2ZSB0aGUgc2FtZSB2YWx1ZSBhcyBiZWZvcmUuXG4gICAgLy8gU2VuZGluZyB0aGUgc2FtZSB2YWx1ZSB0byB1c2VUaW1lcigpLCBpdCB3aWxsIG5vdCBkbyBhbm90aGVyIHNjaGVkdWxlIGJlY2F1c2UgdGhlIHZhbHVlIGRpZCBub3QgY2hhbmdlLlxuICAgIC8vIFNvLCB3ZSBhcmUgYWRkaW5nIGEgYml0IHJhbmRvbW5lc3MsIHNvIHVzZVRpbWVyKCkgc2hvdWxkIHBpY2sgdXAgdGhlIG5ld2VyIHNjaGVkdWxlZCB0aW1lLlxuXG4gICAgc2V0VGltZXIobmV4dFRpbWVyKG9yaWdpbiwgaW50ZXJ2YWwpICsgcmFuZG9tKCkpO1xuICB9LCBbZm4sIG9yaWdpbiwgaW50ZXJ2YWxdKTtcblxuICB1c2VUaW1lcih0aW1lciwgaGFuZGxlcik7XG5cbiAgcmV0dXJuIFt0aW1lciwgc2V0VGltZXJdO1xufVxuIl19
55
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VGb3JjZVJlbmRlckF0SW50ZXJ2YWwuanMiXSwibmFtZXMiOlsibmV4dFRpbWVyIiwib3JpZ2luIiwiaW50ZXJ2YWwiLCJ0aW1lIiwiRGF0ZSIsImdldFRpbWUiLCJub3ciLCJ1c2VGb3JjZVJlbmRlckF0SW50ZXJ2YWwiLCJmbiIsInRpbWVyIiwic2V0VGltZXIiLCJoYW5kbGVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBLFNBQVNBLFNBQVQsQ0FBbUJDLE1BQW5CLEVBQTJCQyxRQUEzQixFQUFxQztBQUNuQyxNQUFNQyxJQUFJLEdBQUcsSUFBSUMsSUFBSixDQUFTSCxNQUFULEVBQWlCSSxPQUFqQixFQUFiO0FBQ0EsTUFBTUMsR0FBRyxHQUFHRixJQUFJLENBQUNFLEdBQUwsRUFBWjtBQUVBLFNBQU9ILElBQUksR0FBR0csR0FBUCxHQUFhSCxJQUFiLEdBQW9CRyxHQUFHLEdBQUdKLFFBQU4sR0FBa0IsQ0FBQ0ksR0FBRyxHQUFHSCxJQUFQLElBQWVELFFBQTVEO0FBQ0Q7O0FBRWMsU0FBU0ssd0JBQVQsQ0FBa0NOLE1BQWxDLEVBQTBDQyxRQUExQyxFQUFvRE0sRUFBcEQsRUFBd0Q7QUFDckUsa0JBQTBCLHFCQUFTUixTQUFTLENBQUNDLE1BQUQsRUFBU0MsUUFBVCxDQUFsQixDQUExQjtBQUFBO0FBQUEsTUFBT08sS0FBUDtBQUFBLE1BQWNDLFFBQWQ7O0FBQ0EsTUFBTUMsT0FBTyxHQUFHLHdCQUFZLFlBQU07QUFDaENILElBQUFBLEVBQUUsSUFBSUEsRUFBRSxFQUFSLENBRGdDLENBR2hDO0FBQ0E7QUFDQTtBQUNBOztBQUVBRSxJQUFBQSxRQUFRLENBQUNWLFNBQVMsQ0FBQ0MsTUFBRCxFQUFTQyxRQUFULENBQVQsR0FBOEIsMEJBQS9CLENBQVI7QUFDRCxHQVRlLEVBU2IsQ0FBQ00sRUFBRCxFQUFLUCxNQUFMLEVBQWFDLFFBQWIsQ0FUYSxDQUFoQjtBQVdBLHlCQUFTTyxLQUFULEVBQWdCRSxPQUFoQjtBQUVBLFNBQU8sQ0FBQ0YsS0FBRCxFQUFRQyxRQUFSLENBQVA7QUFDRCIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHJhbmRvbSBmcm9tICdtYXRoLXJhbmRvbSc7XG5cbmltcG9ydCB1c2VUaW1lciBmcm9tICcuL3VzZVRpbWVyJztcblxuLy8gVGhlIGBuZXh0VGltZXJgIGZ1bmN0aW9uIGNhbGN1bGF0ZXMgdGhlIG5leHQgYWJzb2x1dGUgdGltZSB0aGF0IHRoZSB0aW1lciBzaG91bGQgYmUgZmlyZWQgYmFzZWQgb24gdGhlIG9yaWdpbiAob3JpZ2luYWwgdGltZSByZWNlaXZlZCksIGludGVydmFsLCBhbmQgY3VycmVudCB0aW1lLlxuLy8gSWYgdGhlIG9yaWdpbiBpcyB0PTI2MCwgYW5kIHdlIGFyZSBjdXJyZW50bHkgYXQgdD0xMDAwLCBuZXh0VGltZXIgbXVzdCByZXR1cm4gdD02MDI2MC5cbi8vIElmIHRoZSBvcmlnaW4gaXMgdD0yNjAsIGFuZCB3ZSBhcmUgY3VycmVudGx5IGF0IHQ9NjAyNjAgKGV4YWN0IGxhbmRpbmcpLCB3ZSBtdXN0IHJldHVybiB0PTEyMDI2MCwgbm90IHQ9NjAyNjAuXG4vLyBUaGlzIGlzIGZvciBmaXhpbmcgYnVnICMyMTAzOiBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L0JvdEZyYW1ld29yay1XZWJDaGF0L2lzc3Vlcy8yMTAzLlxuXG5mdW5jdGlvbiBuZXh0VGltZXIob3JpZ2luLCBpbnRlcnZhbCkge1xuICBjb25zdCB0aW1lID0gbmV3IERhdGUob3JpZ2luKS5nZXRUaW1lKCk7XG4gIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG5cbiAgcmV0dXJuIHRpbWUgPiBub3cgPyB0aW1lIDogbm93ICsgaW50ZXJ2YWwgLSAoKG5vdyAtIHRpbWUpICUgaW50ZXJ2YWwpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VGb3JjZVJlbmRlckF0SW50ZXJ2YWwob3JpZ2luLCBpbnRlcnZhbCwgZm4pIHtcbiAgY29uc3QgW3RpbWVyLCBzZXRUaW1lcl0gPSB1c2VTdGF0ZShuZXh0VGltZXIob3JpZ2luLCBpbnRlcnZhbCkpO1xuICBjb25zdCBoYW5kbGVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGZuICYmIGZuKCk7XG5cbiAgICAvLyBDaHJvbWUgbWF5IGZpcmUgdGhlIHNldFRpbWVvdXQgY2FsbGJhY2sgMSBtcyBiZWZvcmUgaXRzIG9yaWdpbmFsIHNjaGVkdWxlLlxuICAgIC8vIFRodXMsIHdoZW4gd2UgY2FsY3VsYXRlIHRoZSBcIm5leHRcIiB2YWx1ZSwgaXQgd2lsbCBoYXZlIHRoZSBzYW1lIHZhbHVlIGFzIGJlZm9yZS5cbiAgICAvLyBTZW5kaW5nIHRoZSBzYW1lIHZhbHVlIHRvIHVzZVRpbWVyKCksIGl0IHdpbGwgbm90IGRvIGFub3RoZXIgc2NoZWR1bGUgYmVjYXVzZSB0aGUgdmFsdWUgZGlkIG5vdCBjaGFuZ2UuXG4gICAgLy8gU28sIHdlIGFyZSBhZGRpbmcgYSBiaXQgcmFuZG9tbmVzcywgc28gdXNlVGltZXIoKSBzaG91bGQgcGljayB1cCB0aGUgbmV3ZXIgc2NoZWR1bGVkIHRpbWUuXG5cbiAgICBzZXRUaW1lcihuZXh0VGltZXIob3JpZ2luLCBpbnRlcnZhbCkgKyByYW5kb20oKSk7XG4gIH0sIFtmbiwgb3JpZ2luLCBpbnRlcnZhbF0pO1xuXG4gIHVzZVRpbWVyKHRpbWVyLCBoYW5kbGVyKTtcblxuICByZXR1cm4gW3RpbWVyLCBzZXRUaW1lcl07XG59XG4iXX0=
@@ -18,4 +18,4 @@ function useInternalRenderMarkdownInline() {
18
18
 
19
19
  var _default = useInternalRenderMarkdownInline;
20
20
  exports.default = _default;
21
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VJbnRlcm5hbFJlbmRlck1hcmtkb3duSW5saW5lLmpzIl0sIm5hbWVzIjpbInVzZUludGVybmFsUmVuZGVyTWFya2Rvd25JbmxpbmUiLCJpbnRlcm5hbFJlbmRlck1hcmtkb3duSW5saW5lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7QUFFQSxTQUFTQSwrQkFBVCxHQUEyQztBQUFBLDZCQUNBLG9DQURBO0FBQUEsTUFDakNDLDRCQURpQyx3QkFDakNBLDRCQURpQzs7QUFHekMsU0FBT0EsNEJBQVA7QUFDRDs7ZUFFY0QsK0IiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB1c2VXZWJDaGF0VUlDb250ZXh0IGZyb20gJy4vdXNlV2ViQ2hhdFVJQ29udGV4dCc7XG5cbmZ1bmN0aW9uIHVzZUludGVybmFsUmVuZGVyTWFya2Rvd25JbmxpbmUoKSB7XG4gIGNvbnN0IHsgaW50ZXJuYWxSZW5kZXJNYXJrZG93bklubGluZSB9ID0gdXNlV2ViQ2hhdFVJQ29udGV4dCgpO1xuXG4gIHJldHVybiBpbnRlcm5hbFJlbmRlck1hcmtkb3duSW5saW5lO1xufVxuXG5leHBvcnQgZGVmYXVsdCB1c2VJbnRlcm5hbFJlbmRlck1hcmtkb3duSW5saW5lO1xuIl19
21
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VJbnRlcm5hbFJlbmRlck1hcmtkb3duSW5saW5lLmpzIl0sIm5hbWVzIjpbInVzZUludGVybmFsUmVuZGVyTWFya2Rvd25JbmxpbmUiLCJpbnRlcm5hbFJlbmRlck1hcmtkb3duSW5saW5lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7QUFFQSxTQUFTQSwrQkFBVCxHQUEyQztBQUN6Qyw2QkFBeUMsb0NBQXpDO0FBQUEsTUFBUUMsNEJBQVIsd0JBQVFBLDRCQUFSOztBQUVBLFNBQU9BLDRCQUFQO0FBQ0Q7O2VBRWNELCtCIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdXNlV2ViQ2hhdFVJQ29udGV4dCBmcm9tICcuL3VzZVdlYkNoYXRVSUNvbnRleHQnO1xuXG5mdW5jdGlvbiB1c2VJbnRlcm5hbFJlbmRlck1hcmtkb3duSW5saW5lKCkge1xuICBjb25zdCB7IGludGVybmFsUmVuZGVyTWFya2Rvd25JbmxpbmUgfSA9IHVzZVdlYkNoYXRVSUNvbnRleHQoKTtcblxuICByZXR1cm4gaW50ZXJuYWxSZW5kZXJNYXJrZG93bklubGluZTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlSW50ZXJuYWxSZW5kZXJNYXJrZG93bklubGluZTtcbiJdfQ==
@@ -21,7 +21,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
21
21
 
22
22
  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; }
23
23
 
24
- 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; }
24
+ 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; }
25
25
 
26
26
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
27
 
@@ -41,4 +41,4 @@ function useLocalizeAccessKey() {
41
41
  return localize(apple ? 'ACCESS_KEY_FOR_MAC_ALT' : 'ACCESS_KEY_ALT', accessKey[0]);
42
42
  }, [apple, localize]);
43
43
  }
44
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VMb2NhbGl6ZUFjY2Vzc0tleS5qcyJdLCJuYW1lcyI6WyJ1c2VMb2NhbGl6ZXIiLCJob29rcyIsInVzZUxvY2FsaXplQWNjZXNzS2V5IiwiYXBwbGUiLCJsb2NhbGl6ZSIsImFjY2Vzc0tleSIsImxlbmd0aCIsIkVycm9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFUUEsWSxHQUFpQkMsNkIsQ0FBakJELFk7O0FBRU8sU0FBU0Usb0JBQVQsR0FBZ0M7QUFBQSw4QkFDekIscUNBRHlCO0FBQUE7QUFBQSxNQUNwQ0MsS0FEb0MsNkJBQ3BDQSxLQURvQzs7QUFFN0MsTUFBTUMsUUFBUSxHQUFHSixZQUFZLEVBQTdCO0FBRUEsU0FBTyx3QkFDTCxVQUFBSyxTQUFTLEVBQUk7QUFDWCxRQUFJLENBQUNBLFNBQUQsSUFBYyxPQUFPQSxTQUFQLEtBQXFCLFFBQW5DLElBQStDLENBQUNBLFNBQVMsQ0FBQ0MsTUFBOUQsRUFBc0U7QUFDcEUsWUFBTSxJQUFJQyxLQUFKLENBQVUsOERBQVYsQ0FBTjtBQUNEOztBQUVELFdBQU9ILFFBQVEsQ0FBQ0QsS0FBSyxHQUFHLHdCQUFILEdBQThCLGdCQUFwQyxFQUFzREUsU0FBUyxDQUFDLENBQUQsQ0FBL0QsQ0FBZjtBQUNELEdBUEksRUFRTCxDQUFDRixLQUFELEVBQVFDLFFBQVIsQ0FSSyxDQUFQO0FBVUQiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgaG9va3MgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1hcGknO1xuXG5pbXBvcnQgdXNlTmF2aWdhdG9yUGxhdGZvcm0gZnJvbSAnLi91c2VOYXZpZ2F0b3JQbGF0Zm9ybSc7XG5cbmNvbnN0IHsgdXNlTG9jYWxpemVyIH0gPSBob29rcztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlTG9jYWxpemVBY2Nlc3NLZXkoKSB7XG4gIGNvbnN0IFt7IGFwcGxlIH1dID0gdXNlTmF2aWdhdG9yUGxhdGZvcm0oKTtcbiAgY29uc3QgbG9jYWxpemUgPSB1c2VMb2NhbGl6ZXIoKTtcblxuICByZXR1cm4gdXNlQ2FsbGJhY2soXG4gICAgYWNjZXNzS2V5ID0+IHtcbiAgICAgIGlmICghYWNjZXNzS2V5IHx8IHR5cGVvZiBhY2Nlc3NLZXkgIT09ICdzdHJpbmcnIHx8ICFhY2Nlc3NLZXkubGVuZ3RoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigndXNlTG9jYWxpemVBY2Nlc3NLZXk6IFwiYWNjZXNzS2V5XCIgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmcnKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGxvY2FsaXplKGFwcGxlID8gJ0FDQ0VTU19LRVlfRk9SX01BQ19BTFQnIDogJ0FDQ0VTU19LRVlfQUxUJywgYWNjZXNzS2V5WzBdKTtcbiAgICB9LFxuICAgIFthcHBsZSwgbG9jYWxpemVdXG4gICk7XG59XG4iXX0=
44
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VMb2NhbGl6ZUFjY2Vzc0tleS5qcyJdLCJuYW1lcyI6WyJ1c2VMb2NhbGl6ZXIiLCJob29rcyIsInVzZUxvY2FsaXplQWNjZXNzS2V5IiwiYXBwbGUiLCJsb2NhbGl6ZSIsImFjY2Vzc0tleSIsImxlbmd0aCIsIkVycm9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFRQSxZQUFSLEdBQXlCQyw2QkFBekIsQ0FBUUQsWUFBUjs7QUFFZSxTQUFTRSxvQkFBVCxHQUFnQztBQUM3Qyw4QkFBb0IscUNBQXBCO0FBQUE7QUFBQSxNQUFTQyxLQUFULDZCQUFTQSxLQUFUOztBQUNBLE1BQU1DLFFBQVEsR0FBR0osWUFBWSxFQUE3QjtBQUVBLFNBQU8sd0JBQ0wsVUFBQUssU0FBUyxFQUFJO0FBQ1gsUUFBSSxDQUFDQSxTQUFELElBQWMsT0FBT0EsU0FBUCxLQUFxQixRQUFuQyxJQUErQyxDQUFDQSxTQUFTLENBQUNDLE1BQTlELEVBQXNFO0FBQ3BFLFlBQU0sSUFBSUMsS0FBSixDQUFVLDhEQUFWLENBQU47QUFDRDs7QUFFRCxXQUFPSCxRQUFRLENBQUNELEtBQUssR0FBRyx3QkFBSCxHQUE4QixnQkFBcEMsRUFBc0RFLFNBQVMsQ0FBQyxDQUFELENBQS9ELENBQWY7QUFDRCxHQVBJLEVBUUwsQ0FBQ0YsS0FBRCxFQUFRQyxRQUFSLENBUkssQ0FBUDtBQVVEIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGhvb2tzIH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtYXBpJztcblxuaW1wb3J0IHVzZU5hdmlnYXRvclBsYXRmb3JtIGZyb20gJy4vdXNlTmF2aWdhdG9yUGxhdGZvcm0nO1xuXG5jb25zdCB7IHVzZUxvY2FsaXplciB9ID0gaG9va3M7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUxvY2FsaXplQWNjZXNzS2V5KCkge1xuICBjb25zdCBbeyBhcHBsZSB9XSA9IHVzZU5hdmlnYXRvclBsYXRmb3JtKCk7XG4gIGNvbnN0IGxvY2FsaXplID0gdXNlTG9jYWxpemVyKCk7XG5cbiAgcmV0dXJuIHVzZUNhbGxiYWNrKFxuICAgIGFjY2Vzc0tleSA9PiB7XG4gICAgICBpZiAoIWFjY2Vzc0tleSB8fCB0eXBlb2YgYWNjZXNzS2V5ICE9PSAnc3RyaW5nJyB8fCAhYWNjZXNzS2V5Lmxlbmd0aCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZUxvY2FsaXplQWNjZXNzS2V5OiBcImFjY2Vzc0tleVwiIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBsb2NhbGl6ZShhcHBsZSA/ICdBQ0NFU1NfS0VZX0ZPUl9NQUNfQUxUJyA6ICdBQ0NFU1NfS0VZX0FMVCcsIGFjY2Vzc0tleVswXSk7XG4gICAgfSxcbiAgICBbYXBwbGUsIGxvY2FsaXplXVxuICApO1xufVxuIl19
@@ -0,0 +1,3 @@
1
+ import type { DependencyList } from 'react';
2
+ export default function useMemoWithPrevious<T>(factory: (prevValue: T) => T, deps: DependencyList): T;
3
+ //# sourceMappingURL=useMemoWithPrevious.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMemoWithPrevious.d.ts","sourceRoot":"","sources":["../../../src/hooks/internal/useMemoWithPrevious.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,cAAc,GAAG,CAAC,CAWpG"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useMemoWithPrevious;
7
+
8
+ var _react = require("react");
9
+
10
+ function useMemoWithPrevious(factory, deps) {
11
+ var prevValueRef = (0, _react.useRef)(); // We are building a `useMemo`-like hook, `deps` is passed as-is and `factory` is not one fo the dependencies.
12
+ // eslint-disable-next-line react-hooks/exhaustive-deps
13
+
14
+ var value = (0, _react.useMemo)(function () {
15
+ return factory(prevValueRef.current);
16
+ }, deps);
17
+ (0, _react.useEffect)(function () {
18
+ prevValueRef.current = value;
19
+ });
20
+ return value;
21
+ }
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VNZW1vV2l0aFByZXZpb3VzLnRzIl0sIm5hbWVzIjpbInVzZU1lbW9XaXRoUHJldmlvdXMiLCJmYWN0b3J5IiwiZGVwcyIsInByZXZWYWx1ZVJlZiIsInZhbHVlIiwiY3VycmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUllLFNBQVNBLG1CQUFULENBQWdDQyxPQUFoQyxFQUE4REMsSUFBOUQsRUFBdUY7QUFDcEcsTUFBTUMsWUFBWSxHQUFHLG9CQUFyQixDQURvRyxDQUVwRztBQUNBOztBQUNBLE1BQU1DLEtBQUssR0FBRyxvQkFBVztBQUFBLFdBQU1ILE9BQU8sQ0FBQ0UsWUFBWSxDQUFDRSxPQUFkLENBQWI7QUFBQSxHQUFYLEVBQWdESCxJQUFoRCxDQUFkO0FBRUEsd0JBQVUsWUFBTTtBQUNkQyxJQUFBQSxZQUFZLENBQUNFLE9BQWIsR0FBdUJELEtBQXZCO0FBQ0QsR0FGRDtBQUlBLFNBQU9BLEtBQVA7QUFDRCIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgRGVwZW5kZW5jeUxpc3QgfSBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZU1lbW9XaXRoUHJldmlvdXM8VD4oZmFjdG9yeTogKHByZXZWYWx1ZTogVCkgPT4gVCwgZGVwczogRGVwZW5kZW5jeUxpc3QpOiBUIHtcbiAgY29uc3QgcHJldlZhbHVlUmVmID0gdXNlUmVmPFQ+KCk7XG4gIC8vIFdlIGFyZSBidWlsZGluZyBhIGB1c2VNZW1vYC1saWtlIGhvb2ssIGBkZXBzYCBpcyBwYXNzZWQgYXMtaXMgYW5kIGBmYWN0b3J5YCBpcyBub3Qgb25lIGZvIHRoZSBkZXBlbmRlbmNpZXMuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vPFQ+KCgpID0+IGZhY3RvcnkocHJldlZhbHVlUmVmLmN1cnJlbnQpLCBkZXBzKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHByZXZWYWx1ZVJlZi5jdXJyZW50ID0gdmFsdWU7XG4gIH0pO1xuXG4gIHJldHVybiB2YWx1ZTtcbn1cbiJdfQ==
@@ -0,0 +1,14 @@
1
+ import { DependencyList } from 'react';
2
+ declare type Fn<TArgs, TResult> = (...args: TArgs[]) => TResult;
3
+ /**
4
+ * `useMemoize` will memoize multiple calls to the same memoize function.
5
+ *
6
+ * This is similar to `useMemo`. But instead of calling it once, `useMemoize` enables multiple calls while the `callback` function is executed.
7
+ *
8
+ * @param {Fn<TArgs, TIntermediate>} fn - The function to be memoized.
9
+ * @param {(fn: Fn<TArgs, TIntermediate>) => TFinal} callback - When called, this function should execute the memoizing function.
10
+ * @param {DependencyList[]} deps - Dependencies to detect for chagnes.
11
+ */
12
+ export default function useMemoize<TArgs extends [], TIntermediate, TFinal>(fn: Fn<TArgs, TIntermediate>, callback: (fn: Fn<TArgs, TIntermediate>) => TFinal, deps: DependencyList[]): TFinal;
13
+ export {};
14
+ //# sourceMappingURL=useMemoize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMemoize.d.ts","sourceRoot":"","sources":["../../../src/hooks/internal/useMemoize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAW,MAAM,OAAO,CAAC;AAGhD,aAAK,EAAE,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,SAAS,EAAE,EAAE,aAAa,EAAE,MAAM,EACxE,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,EAC5B,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,MAAM,EAClD,IAAI,EAAE,cAAc,EAAE,GACrB,MAAM,CAkCR"}
@@ -13,12 +13,21 @@ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread n
13
13
 
14
14
  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); }
15
15
 
16
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
16
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
17
17
 
18
18
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
19
19
 
20
20
  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; }
21
21
 
22
+ /**
23
+ * `useMemoize` will memoize multiple calls to the same memoize function.
24
+ *
25
+ * This is similar to `useMemo`. But instead of calling it once, `useMemoize` enables multiple calls while the `callback` function is executed.
26
+ *
27
+ * @param {Fn<TArgs, TIntermediate>} fn - The function to be memoized.
28
+ * @param {(fn: Fn<TArgs, TIntermediate>) => TFinal} callback - When called, this function should execute the memoizing function.
29
+ * @param {DependencyList[]} deps - Dependencies to detect for chagnes.
30
+ */
22
31
  function useMemoize(fn, callback, deps) {
23
32
  if (typeof fn !== 'function') {
24
33
  throw new Error('The first argument must be a function.');
@@ -40,7 +49,7 @@ function useMemoize(fn, callback, deps) {
40
49
  var _ref = [].concat(_toConsumableArray(cache), nextCache).find(function (_ref2) {
41
50
  var cachedArgs = _ref2.args;
42
51
  return args.length === cachedArgs.length && args.every(function (arg, index) {
43
- return Object.is(arg, cachedArgs[index]);
52
+ return Object.is(arg, cachedArgs[+index]);
44
53
  });
45
54
  }) || {
46
55
  result: fn.apply(void 0, args)
@@ -61,4 +70,4 @@ function useMemoize(fn, callback, deps) {
61
70
  }, [fn].concat(_toConsumableArray(deps)));
62
71
  return memoizedFn(callback);
63
72
  }
64
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VNZW1vaXplLmpzIl0sIm5hbWVzIjpbInVzZU1lbW9pemUiLCJmbiIsImNhbGxiYWNrIiwiZGVwcyIsIkVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwibWVtb2l6ZWRGbiIsImNhY2hlIiwicnVuIiwibmV4dENhY2hlIiwicmVzdWx0IiwiYXJncyIsImZpbmQiLCJjYWNoZWRBcmdzIiwibGVuZ3RoIiwiZXZlcnkiLCJhcmciLCJpbmRleCIsIk9iamVjdCIsImlzIiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOzs7Ozs7Ozs7Ozs7OztBQUVlLFNBQVNBLFVBQVQsQ0FBb0JDLEVBQXBCLEVBQXdCQyxRQUF4QixFQUFrQ0MsSUFBbEMsRUFBd0M7QUFDckQsTUFBSSxPQUFPRixFQUFQLEtBQWMsVUFBbEIsRUFBOEI7QUFDNUIsVUFBTSxJQUFJRyxLQUFKLENBQVUsd0NBQVYsQ0FBTjtBQUNELEdBRkQsTUFFTyxJQUFJLE9BQU9GLFFBQVAsS0FBb0IsVUFBeEIsRUFBb0M7QUFDekMsVUFBTSxJQUFJRSxLQUFKLENBQVUseUNBQVYsQ0FBTjtBQUNELEdBRk0sTUFFQSxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsT0FBTixDQUFjSCxJQUFkLENBQUwsRUFBMEI7QUFDL0IsVUFBTSxJQUFJQyxLQUFKLENBQVUsc0NBQVYsQ0FBTjtBQUNEOztBQUVELE1BQU1HLFVBQVUsR0FBRyxvQkFBUSxZQUFNO0FBQy9CLFFBQUlDLEtBQUssR0FBRyxFQUFaO0FBRUEsV0FBTyxVQUFBQyxHQUFHLEVBQUk7QUFDWixVQUFNQyxTQUFTLEdBQUcsRUFBbEI7QUFDQSxVQUFNQyxNQUFNLEdBQUdGLEdBQUcsQ0FBQyxZQUFhO0FBQUEsMENBQVRHLElBQVM7QUFBVEEsVUFBQUEsSUFBUztBQUFBOztBQUFBLG1CQUNYLDZCQUFJSixLQUFKLEdBQWNFLFNBQWQsRUFBeUJHLElBQXpCLENBQ2pCO0FBQUEsY0FBU0MsVUFBVCxTQUFHRixJQUFIO0FBQUEsaUJBQ0VBLElBQUksQ0FBQ0csTUFBTCxLQUFnQkQsVUFBVSxDQUFDQyxNQUEzQixJQUFxQ0gsSUFBSSxDQUFDSSxLQUFMLENBQVcsVUFBQ0MsR0FBRCxFQUFNQyxLQUFOO0FBQUEsbUJBQWdCQyxNQUFNLENBQUNDLEVBQVAsQ0FBVUgsR0FBVixFQUFlSCxVQUFVLENBQUNJLEtBQUQsQ0FBekIsQ0FBaEI7QUFBQSxXQUFYLENBRHZDO0FBQUEsU0FEaUIsS0FHZDtBQUFFUCxVQUFBQSxNQUFNLEVBQUVWLEVBQUUsTUFBRixTQUFNVyxJQUFOO0FBQVYsU0FKeUI7QUFBQSxZQUN0QkQsTUFEc0IsUUFDdEJBLE1BRHNCOztBQU05QkQsUUFBQUEsU0FBUyxDQUFDVyxJQUFWLENBQWU7QUFBRVQsVUFBQUEsSUFBSSxFQUFKQSxJQUFGO0FBQVFELFVBQUFBLE1BQU0sRUFBTkE7QUFBUixTQUFmO0FBRUEsZUFBT0EsTUFBUDtBQUNELE9BVGlCLENBQWxCO0FBV0FILE1BQUFBLEtBQUssR0FBR0UsU0FBUjtBQUVBLGFBQU9DLE1BQVA7QUFDRCxLQWhCRCxDQUgrQixDQW9CL0I7O0FBQ0E7QUFDRCxHQXRCa0IsR0FzQmZWLEVBdEJlLDRCQXNCUkUsSUF0QlEsR0FBbkI7QUF3QkEsU0FBT0ksVUFBVSxDQUFDTCxRQUFELENBQWpCO0FBQ0QiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZU1lbW9pemUoZm4sIGNhbGxiYWNrLCBkZXBzKSB7XG4gIGlmICh0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBmaXJzdCBhcmd1bWVudCBtdXN0IGJlIGEgZnVuY3Rpb24uJyk7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgc2Vjb25kIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbi4nKTtcbiAgfSBlbHNlIGlmICghQXJyYXkuaXNBcnJheShkZXBzKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignVGhlIHRoaXJkIGFyZ3VtZW50IG11c3QgYmUgYW4gYXJyYXkuJyk7XG4gIH1cblxuICBjb25zdCBtZW1vaXplZEZuID0gdXNlTWVtbygoKSA9PiB7XG4gICAgbGV0IGNhY2hlID0gW107XG5cbiAgICByZXR1cm4gcnVuID0+IHtcbiAgICAgIGNvbnN0IG5leHRDYWNoZSA9IFtdO1xuICAgICAgY29uc3QgcmVzdWx0ID0gcnVuKCguLi5hcmdzKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcmVzdWx0IH0gPSBbLi4uY2FjaGUsIC4uLm5leHRDYWNoZV0uZmluZChcbiAgICAgICAgICAoeyBhcmdzOiBjYWNoZWRBcmdzIH0pID0+XG4gICAgICAgICAgICBhcmdzLmxlbmd0aCA9PT0gY2FjaGVkQXJncy5sZW5ndGggJiYgYXJncy5ldmVyeSgoYXJnLCBpbmRleCkgPT4gT2JqZWN0LmlzKGFyZywgY2FjaGVkQXJnc1tpbmRleF0pKVxuICAgICAgICApIHx8IHsgcmVzdWx0OiBmbiguLi5hcmdzKSB9O1xuXG4gICAgICAgIG5leHRDYWNoZS5wdXNoKHsgYXJncywgcmVzdWx0IH0pO1xuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9KTtcblxuICAgICAgY2FjaGUgPSBuZXh0Q2FjaGU7XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfTtcbiAgICAvLyBXZSBhcmUgbWFudWFsbHkgY3JlYXRpbmcgdGhlIGRlcHMgaGVyZS4gVGhlIFwiY2FsbGJhY2tcIiBhcmcgaXMgYWxzbyBkZXNpZ25lZCBub3QgdG8gYmUgaW1wYWN0IGRlcHMsIHNpbWlsYXIgdG8gdXNlRWZmZWN0KGZuKSwgd2hlcmUgXCJmblwiIGlzIG5vdCBpbiBkZXBzLlxuICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHMgKi9cbiAgfSwgW2ZuLCAuLi5kZXBzXSk7XG5cbiAgcmV0dXJuIG1lbW9pemVkRm4oY2FsbGJhY2spO1xufVxuIl19
73
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VNZW1vaXplLnRzIl0sIm5hbWVzIjpbInVzZU1lbW9pemUiLCJmbiIsImNhbGxiYWNrIiwiZGVwcyIsIkVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwibWVtb2l6ZWRGbiIsImNhY2hlIiwicnVuIiwibmV4dENhY2hlIiwicmVzdWx0IiwiYXJncyIsImZpbmQiLCJjYWNoZWRBcmdzIiwibGVuZ3RoIiwiZXZlcnkiLCJhcmciLCJpbmRleCIsIk9iamVjdCIsImlzIiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOzs7Ozs7Ozs7Ozs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNlLFNBQVNBLFVBQVQsQ0FDYkMsRUFEYSxFQUViQyxRQUZhLEVBR2JDLElBSGEsRUFJTDtBQUNSLE1BQUksT0FBT0YsRUFBUCxLQUFjLFVBQWxCLEVBQThCO0FBQzVCLFVBQU0sSUFBSUcsS0FBSixDQUFVLHdDQUFWLENBQU47QUFDRCxHQUZELE1BRU8sSUFBSSxPQUFPRixRQUFQLEtBQW9CLFVBQXhCLEVBQW9DO0FBQ3pDLFVBQU0sSUFBSUUsS0FBSixDQUFVLHlDQUFWLENBQU47QUFDRCxHQUZNLE1BRUEsSUFBSSxDQUFDQyxLQUFLLENBQUNDLE9BQU4sQ0FBY0gsSUFBZCxDQUFMLEVBQTBCO0FBQy9CLFVBQU0sSUFBSUMsS0FBSixDQUFVLHNDQUFWLENBQU47QUFDRDs7QUFFRCxNQUFNRyxVQUFVLEdBQUcsb0JBQVEsWUFBTTtBQUMvQixRQUFJQyxLQUFvQyxHQUFHLEVBQTNDO0FBRUEsV0FBTyxVQUFDQyxHQUFELEVBQW1EO0FBQ3hELFVBQU1DLFNBQXdDLEdBQUcsRUFBakQ7QUFDQSxVQUFNQyxNQUFNLEdBQUdGLEdBQUcsQ0FBQyxZQUFhO0FBQUEsMENBQVRHLElBQVM7QUFBVEEsVUFBQUEsSUFBUztBQUFBOztBQUM5QixtQkFBbUIsNkJBQUlKLEtBQUosR0FBY0UsU0FBZCxFQUF5QkcsSUFBekIsQ0FDakI7QUFBQSxjQUFTQyxVQUFULFNBQUdGLElBQUg7QUFBQSxpQkFDRUEsSUFBSSxDQUFDRyxNQUFMLEtBQWdCRCxVQUFVLENBQUNDLE1BQTNCLElBQXFDSCxJQUFJLENBQUNJLEtBQUwsQ0FBVyxVQUFDQyxHQUFELEVBQU1DLEtBQU47QUFBQSxtQkFBZ0JDLE1BQU0sQ0FBQ0MsRUFBUCxDQUFVSCxHQUFWLEVBQWVILFVBQVUsQ0FBQyxDQUFDSSxLQUFGLENBQXpCLENBQWhCO0FBQUEsV0FBWCxDQUR2QztBQUFBLFNBRGlCLEtBR2Q7QUFBRVAsVUFBQUEsTUFBTSxFQUFFVixFQUFFLE1BQUYsU0FBTVcsSUFBTjtBQUFWLFNBSEw7QUFBQSxZQUFRRCxNQUFSLFFBQVFBLE1BQVI7O0FBS0FELFFBQUFBLFNBQVMsQ0FBQ1csSUFBVixDQUFlO0FBQUVULFVBQUFBLElBQUksRUFBSkEsSUFBRjtBQUFRRCxVQUFBQSxNQUFNLEVBQU5BO0FBQVIsU0FBZjtBQUVBLGVBQU9BLE1BQVA7QUFDRCxPQVRpQixDQUFsQjtBQVdBSCxNQUFBQSxLQUFLLEdBQUdFLFNBQVI7QUFFQSxhQUFPQyxNQUFQO0FBQ0QsS0FoQkQsQ0FIK0IsQ0FvQi9COztBQUNBO0FBQ0QsR0F0QmtCLEdBc0JmVixFQXRCZSw0QkFzQlJFLElBdEJRLEdBQW5CO0FBd0JBLFNBQU9JLFVBQVUsQ0FBQ0wsUUFBRCxDQUFqQjtBQUNEIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXBlbmRlbmN5TGlzdCwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcblxudHlwZSBDYWNoZTxUQXJncywgVFJlc3VsdD4gPSB7IGFyZ3M6IFRBcmdzW107IHJlc3VsdDogVFJlc3VsdCB9O1xudHlwZSBGbjxUQXJncywgVFJlc3VsdD4gPSAoLi4uYXJnczogVEFyZ3NbXSkgPT4gVFJlc3VsdDtcblxuLyoqXG4gKiBgdXNlTWVtb2l6ZWAgd2lsbCBtZW1vaXplIG11bHRpcGxlIGNhbGxzIHRvIHRoZSBzYW1lIG1lbW9pemUgZnVuY3Rpb24uXG4gKlxuICogVGhpcyBpcyBzaW1pbGFyIHRvIGB1c2VNZW1vYC4gQnV0IGluc3RlYWQgb2YgY2FsbGluZyBpdCBvbmNlLCBgdXNlTWVtb2l6ZWAgZW5hYmxlcyBtdWx0aXBsZSBjYWxscyB3aGlsZSB0aGUgYGNhbGxiYWNrYCBmdW5jdGlvbiBpcyBleGVjdXRlZC5cbiAqXG4gKiBAcGFyYW0ge0ZuPFRBcmdzLCBUSW50ZXJtZWRpYXRlPn0gZm4gLSBUaGUgZnVuY3Rpb24gdG8gYmUgbWVtb2l6ZWQuXG4gKiBAcGFyYW0geyhmbjogRm48VEFyZ3MsIFRJbnRlcm1lZGlhdGU+KSA9PiBURmluYWx9IGNhbGxiYWNrIC0gV2hlbiBjYWxsZWQsIHRoaXMgZnVuY3Rpb24gc2hvdWxkIGV4ZWN1dGUgdGhlIG1lbW9pemluZyBmdW5jdGlvbi5cbiAqIEBwYXJhbSB7RGVwZW5kZW5jeUxpc3RbXX0gZGVwcyAtIERlcGVuZGVuY2llcyB0byBkZXRlY3QgZm9yIGNoYWduZXMuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZU1lbW9pemU8VEFyZ3MgZXh0ZW5kcyBbXSwgVEludGVybWVkaWF0ZSwgVEZpbmFsPihcbiAgZm46IEZuPFRBcmdzLCBUSW50ZXJtZWRpYXRlPixcbiAgY2FsbGJhY2s6IChmbjogRm48VEFyZ3MsIFRJbnRlcm1lZGlhdGU+KSA9PiBURmluYWwsXG4gIGRlcHM6IERlcGVuZGVuY3lMaXN0W11cbik6IFRGaW5hbCB7XG4gIGlmICh0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBmaXJzdCBhcmd1bWVudCBtdXN0IGJlIGEgZnVuY3Rpb24uJyk7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgc2Vjb25kIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbi4nKTtcbiAgfSBlbHNlIGlmICghQXJyYXkuaXNBcnJheShkZXBzKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignVGhlIHRoaXJkIGFyZ3VtZW50IG11c3QgYmUgYW4gYXJyYXkuJyk7XG4gIH1cblxuICBjb25zdCBtZW1vaXplZEZuID0gdXNlTWVtbygoKSA9PiB7XG4gICAgbGV0IGNhY2hlOiBDYWNoZTxUQXJncywgVEludGVybWVkaWF0ZT5bXSA9IFtdO1xuXG4gICAgcmV0dXJuIChydW46IChmbjogRm48VEFyZ3MsIFRJbnRlcm1lZGlhdGU+KSA9PiBURmluYWwpID0+IHtcbiAgICAgIGNvbnN0IG5leHRDYWNoZTogQ2FjaGU8VEFyZ3MsIFRJbnRlcm1lZGlhdGU+W10gPSBbXTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHJ1bigoLi4uYXJncykgPT4ge1xuICAgICAgICBjb25zdCB7IHJlc3VsdCB9ID0gWy4uLmNhY2hlLCAuLi5uZXh0Q2FjaGVdLmZpbmQoXG4gICAgICAgICAgKHsgYXJnczogY2FjaGVkQXJncyB9KSA9PlxuICAgICAgICAgICAgYXJncy5sZW5ndGggPT09IGNhY2hlZEFyZ3MubGVuZ3RoICYmIGFyZ3MuZXZlcnkoKGFyZywgaW5kZXgpID0+IE9iamVjdC5pcyhhcmcsIGNhY2hlZEFyZ3NbK2luZGV4XSkpXG4gICAgICAgICkgfHwgeyByZXN1bHQ6IGZuKC4uLmFyZ3MpIH07XG5cbiAgICAgICAgbmV4dENhY2hlLnB1c2goeyBhcmdzLCByZXN1bHQgfSk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0pO1xuXG4gICAgICBjYWNoZSA9IG5leHRDYWNoZTtcblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuICAgIC8vIFdlIGFyZSBtYW51YWxseSBjcmVhdGluZyB0aGUgZGVwcyBoZXJlLiBUaGUgXCJjYWxsYmFja1wiIGFyZyBpcyBhbHNvIGRlc2lnbmVkIG5vdCB0byBiZSBpbXBhY3QgZGVwcywgc2ltaWxhciB0byB1c2VFZmZlY3QoZm4pLCB3aGVyZSBcImZuXCIgaXMgbm90IGluIGRlcHMuXG4gICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwcyAqL1xuICB9LCBbZm4sIC4uLmRlcHNdKTtcblxuICByZXR1cm4gbWVtb2l6ZWRGbihjYWxsYmFjayk7XG59XG4iXX0=
@@ -30,4 +30,4 @@ function useNavigatorPlatform() {
30
30
  }];
31
31
  }, [platform]);
32
32
  }
33
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VOYXZpZ2F0b3JQbGF0Zm9ybS5qcyJdLCJuYW1lcyI6WyJBTkRST0lEX1BBVFRFUk4iLCJBUFBMRV9QQVRURVJOIiwiTElOVVhfUEFUVEVSTiIsIldJTkRPV1NfUEFUVEVSTiIsInVzZU5hdmlnYXRvclBsYXRmb3JtIiwid2luZG93IiwicGxhdGZvcm0iLCJuYXZpZ2F0b3IiLCJhbmRyb2lkIiwidGVzdCIsImFwcGxlIiwid2luZG93cyIsImxpbnV4Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBRUEsSUFBTUEsZUFBZSxHQUFHLDJCQUF4QjtBQUNBLElBQU1DLGFBQWEsR0FBRywyQkFBdEI7QUFDQSxJQUFNQyxhQUFhLEdBQUcsVUFBdEI7QUFDQSxJQUFNQyxlQUFlLEdBQUcsUUFBeEI7O0FBRWUsU0FBU0Msb0JBQVQsR0FBZ0M7QUFBQSxnQkFHekNDLE1BSHlDO0FBQUEsTUFFOUJDLFFBRjhCLFdBRTNDQyxTQUYyQyxDQUU5QkQsUUFGOEI7QUFLN0MsU0FBTyxvQkFBUSxZQUFNO0FBQ25CO0FBQ0E7QUFFQSxRQUFNRSxPQUFPLEdBQUdSLGVBQWUsQ0FBQ1MsSUFBaEIsQ0FBcUJILFFBQXJCLENBQWhCO0FBQ0EsUUFBTUksS0FBSyxHQUFHVCxhQUFhLENBQUNRLElBQWQsQ0FBbUJILFFBQW5CLENBQWQ7QUFDQSxRQUFNSyxPQUFPLEdBQUdSLGVBQWUsQ0FBQ00sSUFBaEIsQ0FBcUJILFFBQXJCLENBQWhCO0FBRUEsUUFBTU0sS0FBSyxHQUFHLENBQUNKLE9BQUQsSUFBWU4sYUFBYSxDQUFDTyxJQUFkLENBQW1CSCxRQUFuQixDQUExQjtBQUVBLFdBQU8sQ0FDTDtBQUNFRSxNQUFBQSxPQUFPLEVBQVBBLE9BREY7QUFFRUUsTUFBQUEsS0FBSyxFQUFMQSxLQUZGO0FBR0VFLE1BQUFBLEtBQUssRUFBTEEsS0FIRjtBQUlFRCxNQUFBQSxPQUFPLEVBQVBBO0FBSkYsS0FESyxDQUFQO0FBUUQsR0FsQk0sRUFrQkosQ0FBQ0wsUUFBRCxDQWxCSSxDQUFQO0FBbUJEIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuXG5jb25zdCBBTkRST0lEX1BBVFRFUk4gPSAvXihhbmRyb2lkfGxpbnV4IGFybXY3bCkvZ2l1O1xuY29uc3QgQVBQTEVfUEFUVEVSTiA9IC9eKG1hY3xpcGFkfGlwaG9uZXxpcG9kKS9naXU7XG5jb25zdCBMSU5VWF9QQVRURVJOID0gL15saW51eC9naXU7XG5jb25zdCBXSU5ET1dTX1BBVFRFUk4gPSAvXndpbi9naXU7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZU5hdmlnYXRvclBsYXRmb3JtKCkge1xuICBjb25zdCB7XG4gICAgbmF2aWdhdG9yOiB7IHBsYXRmb3JtIH1cbiAgfSA9IHdpbmRvdztcblxuICByZXR1cm4gdXNlTWVtbygoKSA9PiB7XG4gICAgLy8gVGhpcyBsaXN0IGlzIHZlcnkgbGltaXRlZC4gUGxlYXNlIHVzZSB3aXRoIGNhcmUuIFBsZWFzZSByZWZlciB0byB0aGlzIGxpbmsgZm9yIGRldGFpbHMuXG4gICAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTk4Nzc5MjQvd2hhdC1pcy10aGUtbGlzdC1vZi1wb3NzaWJsZS12YWx1ZXMtZm9yLW5hdmlnYXRvci1wbGF0Zm9ybS1hcy1vZi10b2RheVxuXG4gICAgY29uc3QgYW5kcm9pZCA9IEFORFJPSURfUEFUVEVSTi50ZXN0KHBsYXRmb3JtKTtcbiAgICBjb25zdCBhcHBsZSA9IEFQUExFX1BBVFRFUk4udGVzdChwbGF0Zm9ybSk7XG4gICAgY29uc3Qgd2luZG93cyA9IFdJTkRPV1NfUEFUVEVSTi50ZXN0KHBsYXRmb3JtKTtcblxuICAgIGNvbnN0IGxpbnV4ID0gIWFuZHJvaWQgJiYgTElOVVhfUEFUVEVSTi50ZXN0KHBsYXRmb3JtKTtcblxuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGFuZHJvaWQsXG4gICAgICAgIGFwcGxlLFxuICAgICAgICBsaW51eCxcbiAgICAgICAgd2luZG93c1xuICAgICAgfVxuICAgIF07XG4gIH0sIFtwbGF0Zm9ybV0pO1xufVxuIl19
33
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VOYXZpZ2F0b3JQbGF0Zm9ybS5qcyJdLCJuYW1lcyI6WyJBTkRST0lEX1BBVFRFUk4iLCJBUFBMRV9QQVRURVJOIiwiTElOVVhfUEFUVEVSTiIsIldJTkRPV1NfUEFUVEVSTiIsInVzZU5hdmlnYXRvclBsYXRmb3JtIiwid2luZG93IiwicGxhdGZvcm0iLCJuYXZpZ2F0b3IiLCJhbmRyb2lkIiwidGVzdCIsImFwcGxlIiwid2luZG93cyIsImxpbnV4Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBRUEsSUFBTUEsZUFBZSxHQUFHLDJCQUF4QjtBQUNBLElBQU1DLGFBQWEsR0FBRywyQkFBdEI7QUFDQSxJQUFNQyxhQUFhLEdBQUcsVUFBdEI7QUFDQSxJQUFNQyxlQUFlLEdBQUcsUUFBeEI7O0FBRWUsU0FBU0Msb0JBQVQsR0FBZ0M7QUFDN0MsZ0JBRUlDLE1BRko7QUFBQSxNQUNlQyxRQURmLFdBQ0VDLFNBREYsQ0FDZUQsUUFEZjtBQUlBLFNBQU8sb0JBQVEsWUFBTTtBQUNuQjtBQUNBO0FBRUEsUUFBTUUsT0FBTyxHQUFHUixlQUFlLENBQUNTLElBQWhCLENBQXFCSCxRQUFyQixDQUFoQjtBQUNBLFFBQU1JLEtBQUssR0FBR1QsYUFBYSxDQUFDUSxJQUFkLENBQW1CSCxRQUFuQixDQUFkO0FBQ0EsUUFBTUssT0FBTyxHQUFHUixlQUFlLENBQUNNLElBQWhCLENBQXFCSCxRQUFyQixDQUFoQjtBQUVBLFFBQU1NLEtBQUssR0FBRyxDQUFDSixPQUFELElBQVlOLGFBQWEsQ0FBQ08sSUFBZCxDQUFtQkgsUUFBbkIsQ0FBMUI7QUFFQSxXQUFPLENBQ0w7QUFDRUUsTUFBQUEsT0FBTyxFQUFQQSxPQURGO0FBRUVFLE1BQUFBLEtBQUssRUFBTEEsS0FGRjtBQUdFRSxNQUFBQSxLQUFLLEVBQUxBLEtBSEY7QUFJRUQsTUFBQUEsT0FBTyxFQUFQQTtBQUpGLEtBREssQ0FBUDtBQVFELEdBbEJNLEVBa0JKLENBQUNMLFFBQUQsQ0FsQkksQ0FBUDtBQW1CRCIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcblxuY29uc3QgQU5EUk9JRF9QQVRURVJOID0gL14oYW5kcm9pZHxsaW51eCBhcm12N2wpL2dpdTtcbmNvbnN0IEFQUExFX1BBVFRFUk4gPSAvXihtYWN8aXBhZHxpcGhvbmV8aXBvZCkvZ2l1O1xuY29uc3QgTElOVVhfUEFUVEVSTiA9IC9ebGludXgvZ2l1O1xuY29uc3QgV0lORE9XU19QQVRURVJOID0gL153aW4vZ2l1O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VOYXZpZ2F0b3JQbGF0Zm9ybSgpIHtcbiAgY29uc3Qge1xuICAgIG5hdmlnYXRvcjogeyBwbGF0Zm9ybSB9XG4gIH0gPSB3aW5kb3c7XG5cbiAgcmV0dXJuIHVzZU1lbW8oKCkgPT4ge1xuICAgIC8vIFRoaXMgbGlzdCBpcyB2ZXJ5IGxpbWl0ZWQuIFBsZWFzZSB1c2Ugd2l0aCBjYXJlLiBQbGVhc2UgcmVmZXIgdG8gdGhpcyBsaW5rIGZvciBkZXRhaWxzLlxuICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE5ODc3OTI0L3doYXQtaXMtdGhlLWxpc3Qtb2YtcG9zc2libGUtdmFsdWVzLWZvci1uYXZpZ2F0b3ItcGxhdGZvcm0tYXMtb2YtdG9kYXlcblxuICAgIGNvbnN0IGFuZHJvaWQgPSBBTkRST0lEX1BBVFRFUk4udGVzdChwbGF0Zm9ybSk7XG4gICAgY29uc3QgYXBwbGUgPSBBUFBMRV9QQVRURVJOLnRlc3QocGxhdGZvcm0pO1xuICAgIGNvbnN0IHdpbmRvd3MgPSBXSU5ET1dTX1BBVFRFUk4udGVzdChwbGF0Zm9ybSk7XG5cbiAgICBjb25zdCBsaW51eCA9ICFhbmRyb2lkICYmIExJTlVYX1BBVFRFUk4udGVzdChwbGF0Zm9ybSk7XG5cbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBhbmRyb2lkLFxuICAgICAgICBhcHBsZSxcbiAgICAgICAgbGludXgsXG4gICAgICAgIHdpbmRvd3NcbiAgICAgIH1cbiAgICBdO1xuICB9LCBbcGxhdGZvcm1dKTtcbn1cbiJdfQ==
@@ -15,4 +15,4 @@ function useNonce() {
15
15
 
16
16
  return [nonce];
17
17
  }
18
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VOb25jZS5qcyJdLCJuYW1lcyI6WyJ1c2VOb25jZSIsIm5vbmNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7QUFFZSxTQUFTQSxRQUFULEdBQW9CO0FBQUEsNkJBQ2Ysb0NBRGU7QUFBQSxNQUN6QkMsS0FEeUIsd0JBQ3pCQSxLQUR5Qjs7QUFHakMsU0FBTyxDQUFDQSxLQUFELENBQVA7QUFDRCIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHVzZVdlYkNoYXRVSUNvbnRleHQgZnJvbSAnLi91c2VXZWJDaGF0VUlDb250ZXh0JztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlTm9uY2UoKSB7XG4gIGNvbnN0IHsgbm9uY2UgfSA9IHVzZVdlYkNoYXRVSUNvbnRleHQoKTtcblxuICByZXR1cm4gW25vbmNlXTtcbn1cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VOb25jZS5qcyJdLCJuYW1lcyI6WyJ1c2VOb25jZSIsIm5vbmNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7QUFFZSxTQUFTQSxRQUFULEdBQW9CO0FBQ2pDLDZCQUFrQixvQ0FBbEI7QUFBQSxNQUFRQyxLQUFSLHdCQUFRQSxLQUFSOztBQUVBLFNBQU8sQ0FBQ0EsS0FBRCxDQUFQO0FBQ0QiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB1c2VXZWJDaGF0VUlDb250ZXh0IGZyb20gJy4vdXNlV2ViQ2hhdFVJQ29udGV4dCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZU5vbmNlKCkge1xuICBjb25zdCB7IG5vbmNlIH0gPSB1c2VXZWJDaGF0VUlDb250ZXh0KCk7XG5cbiAgcmV0dXJuIFtub25jZV07XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ import { RefObject } from 'react';
2
+ export default function useObserveFocusVisible(targetRef: RefObject<HTMLElement>, onFocusVisible: () => void): void;
3
+ //# sourceMappingURL=useObserveFocusVisible.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useObserveFocusVisible.d.ts","sourceRoot":"","sources":["../../../src/hooks/internal/useObserveFocusVisible.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAA2C,MAAM,OAAO,CAAC;AAsO7F,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,MAAM,IAAI,QAqB3G"}
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useObserveFocusVisible;
7
+
8
+ var _react = require("react");
9
+
10
+ var _supportPseudoClass = _interopRequireDefault(require("../../Utils/supportPseudoClass"));
11
+
12
+ var _useNonce3 = _interopRequireDefault(require("./useNonce"));
13
+
14
+ var _useValueRef = _interopRequireDefault(require("./useValueRef"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
19
+
20
+ 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."); }
21
+
22
+ 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); }
23
+
24
+ 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; }
25
+
26
+ 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; }
27
+
28
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
29
+
30
+ var INPUT_TYPES_ALLOW_LIST = ['date', 'datetime-local', 'datetime', 'email', 'month', 'number', 'password', 'search', 'tel', 'text', 'time', 'url', 'week'];
31
+ /**
32
+ * Computes whether the given element should automatically trigger the
33
+ * `focus-visible` class being added, i.e. whether it should always match
34
+ * `:focus-visible` when focused.
35
+ * @param {Element} el
36
+ * @return {boolean}
37
+ */
38
+
39
+ function focusTriggersKeyboardModality(el) {
40
+ var isContentEditable = el.isContentEditable,
41
+ readOnly = el.readOnly,
42
+ tagName = el.tagName,
43
+ type = el.type;
44
+ return tagName === 'INPUT' && INPUT_TYPES_ALLOW_LIST.includes(type) && !readOnly || tagName === 'TEXTAREA' && !readOnly || isContentEditable;
45
+ }
46
+
47
+ function createEventSubscription(target, types, handler) {
48
+ var subscribed;
49
+
50
+ var subscribe = function subscribe() {
51
+ if (!subscribed) {
52
+ types.forEach(function (type) {
53
+ return target.addEventListener(type, handler);
54
+ });
55
+ subscribed = true;
56
+ }
57
+ };
58
+
59
+ var unsubscribe = function unsubscribe() {
60
+ if (subscribed) {
61
+ types.forEach(function (type) {
62
+ return target.removeEventListener(type, handler);
63
+ });
64
+ subscribed = undefined;
65
+ }
66
+ };
67
+
68
+ return {
69
+ pause: unsubscribe,
70
+ resume: subscribe
71
+ };
72
+ } // TODO: Add tests
73
+ // 1. Focus via keyboard vs. mouse
74
+ // 2. Focus via keyboard, switch app, switch back (expect to get another focusVisible after switch back)
75
+ // 3. Focus via mouse, switch app, switch back (do NOT expect to get another focusVisible after switch back)
76
+
77
+
78
+ function useObserveFocusVisibleForLegacyBrowsers(targetRef, onFocusVisibleRef) {
79
+ // This polyfill algorithm is adopted from https://github.com/WICG/focus-visible.
80
+ var blurSinceRef = (0, _react.useRef)(0);
81
+ var hadKeyboardEventRef = (0, _react.useRef)(true);
82
+ var hasFocusVisibleRef = (0, _react.useRef)(false);
83
+ var eventSubscription = (0, _react.useMemo)(function () {
84
+ return createEventSubscription(document, ['mousemove', 'mousedown', 'mouseup', 'pointermove', 'pointerdown', 'pointerup', 'touchmove', 'touchstart', 'touchend'], function (event) {
85
+ var _nodeName;
86
+
87
+ if (((_nodeName = event.target.nodeName) === null || _nodeName === void 0 ? void 0 : _nodeName.toLowerCase()) !== 'html') {
88
+ hadKeyboardEventRef.current = false;
89
+ eventSubscription.pause();
90
+ }
91
+ });
92
+ }, [hadKeyboardEventRef]);
93
+ var setHasFocusVisible = (0, _react.useCallback)(function (nextHasFocusVisible) {
94
+ if (hasFocusVisibleRef.current !== nextHasFocusVisible) {
95
+ hasFocusVisibleRef.current = nextHasFocusVisible;
96
+ nextHasFocusVisible && (onFocusVisibleRef === null || onFocusVisibleRef === void 0 ? void 0 : onFocusVisibleRef.current());
97
+ }
98
+ }, [hasFocusVisibleRef, onFocusVisibleRef]);
99
+ var handleKeyDown = (0, _react.useCallback)(function (event) {
100
+ if (event.altKey || event.ctrlKey || event.metaKey) {
101
+ return;
102
+ }
103
+
104
+ if (event.target === targetRef.current) {
105
+ setHasFocusVisible(true);
106
+ }
107
+
108
+ hadKeyboardEventRef.current = true;
109
+ }, [hadKeyboardEventRef, setHasFocusVisible, targetRef]);
110
+ var handlePointerDown = (0, _react.useCallback)(function () {
111
+ hadKeyboardEventRef.current = false;
112
+ }, [hadKeyboardEventRef]);
113
+ var handleFocus = (0, _react.useCallback)(function (_ref) {
114
+ var target = _ref.target;
115
+ target === targetRef.current && (hadKeyboardEventRef.current || focusTriggersKeyboardModality(target)) && setHasFocusVisible(true);
116
+ }, [hadKeyboardEventRef, setHasFocusVisible, targetRef]);
117
+ var handleBlur = (0, _react.useCallback)(function (event) {
118
+ if (event.target === targetRef.current && hasFocusVisibleRef.current) {
119
+ blurSinceRef.current = Date.now();
120
+ setHasFocusVisible(false);
121
+ }
122
+ }, [blurSinceRef, hasFocusVisibleRef, setHasFocusVisible, targetRef]);
123
+ var handleVisibilityChange = (0, _react.useCallback)(function () {
124
+ if (document.visibilityState === 'hidden') {
125
+ // The element is blurred due to "visibilityState" set to "hidden".
126
+ // 100ms is referenced from the WICG polyfill.
127
+ // eslint-disable-next-line no-magic-numbers
128
+ if (Date.now() - blurSinceRef.current < 100) {
129
+ hadKeyboardEventRef.current = true;
130
+ }
131
+
132
+ eventSubscription.resume();
133
+ }
134
+ }, [blurSinceRef, eventSubscription, hadKeyboardEventRef]);
135
+ (0, _react.useEffect)(function () {
136
+ document.addEventListener('keydown', handleKeyDown, true);
137
+ document.addEventListener('mousedown', handlePointerDown, true);
138
+ document.addEventListener('pointerdown', handlePointerDown, true);
139
+ document.addEventListener('touchstart', handlePointerDown, true);
140
+ document.addEventListener('visibilitychange', handleVisibilityChange, true);
141
+ return function () {
142
+ document.removeEventListener('keydown', handleKeyDown);
143
+ document.removeEventListener('mousedown', handlePointerDown);
144
+ document.removeEventListener('pointerdown', handlePointerDown);
145
+ document.removeEventListener('touchstart', handlePointerDown);
146
+ document.removeEventListener('visibilitychange', handleVisibilityChange);
147
+ };
148
+ }, [handleKeyDown, handlePointerDown, handleVisibilityChange]);
149
+ (0, _react.useEffect)(function () {
150
+ var target = targetRef.current;
151
+ target.addEventListener('blur', handleBlur, true);
152
+ target.addEventListener('focus', handleFocus, true);
153
+ return function () {
154
+ target.removeEventListener('blur', handleBlur);
155
+ target.removeEventListener('focus', handleFocus);
156
+ }; // We specifically add "targetRef.current" here.
157
+ // If the target element changed, we should reattach our event listeners.
158
+ }, [handleBlur, handleFocus, targetRef]);
159
+ (0, _react.useEffect)(function () {
160
+ eventSubscription.resume();
161
+ return function () {
162
+ return eventSubscription.pause();
163
+ };
164
+ }, [eventSubscription]);
165
+ }
166
+
167
+ function useObserveFocusVisibleForModernBrowsers(targetRef, onFocusVisibleRef) {
168
+ var handleFocus = (0, _react.useCallback)(function () {
169
+ if (targetRef.current.matches(':focus-visible')) {
170
+ onFocusVisibleRef === null || onFocusVisibleRef === void 0 ? void 0 : onFocusVisibleRef.current();
171
+ }
172
+ }, [onFocusVisibleRef, targetRef]);
173
+ (0, _react.useEffect)(function () {
174
+ var target = targetRef.current;
175
+ target.addEventListener('focus', handleFocus);
176
+ return function () {
177
+ return target.removeEventListener('focus', handleFocus);
178
+ }; // We specifically add "targetRef.current" here.
179
+ // If the target element changed, we should reattach our event listeners.
180
+ // eslint-disable-next-line react-hooks/exhaustive-deps
181
+ }, [handleFocus, targetRef, targetRef.current]);
182
+ }
183
+
184
+ function useObserveFocusVisible(targetRef, onFocusVisible) {
185
+ var _useNonce = (0, _useNonce3.default)(),
186
+ _useNonce2 = _slicedToArray(_useNonce, 1),
187
+ nonce = _useNonce2[0];
188
+
189
+ var onFocusVisibleRef = (0, _useValueRef.default)(onFocusVisible); // The nonce is use for browser capabilities. Just in case the "nonce" had changed unexpectedly, the capabilities of the browser should never change.
190
+ // Thus, we are using an initial version of "nonce". In case web devs changed the "nonce" to an invalid value, we won't break rules of hooks (as stated below).
191
+
192
+ var nonceRef = (0, _react.useRef)(nonce); // ":focus-visible" selector is supported from Chrome/Edge 86+ and not supported in IE11 or Safari.
193
+ // Doing a capability check on pseudo classes requires injecting a stylesheet, thus nonce is needed.
194
+
195
+ var supportFocusVisible = (0, _react.useMemo)(function () {
196
+ return (0, _supportPseudoClass.default)(':focus-visible', nonceRef.current);
197
+ }, [nonceRef]); // Since "supportPseudoClass" is a browser capability, the result should be constant during the page lifetime.
198
+ // Thus, running hooks conditionally is okay here.
199
+
200
+ if (supportFocusVisible) {
201
+ // eslint-disable-next-line react-hooks/rules-of-hooks
202
+ useObserveFocusVisibleForModernBrowsers(targetRef, onFocusVisibleRef);
203
+ } else {
204
+ // eslint-disable-next-line react-hooks/rules-of-hooks
205
+ useObserveFocusVisibleForLegacyBrowsers(targetRef, onFocusVisibleRef);
206
+ }
207
+ }
208
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VPYnNlcnZlRm9jdXNWaXNpYmxlLnRzIl0sIm5hbWVzIjpbIklOUFVUX1RZUEVTX0FMTE9XX0xJU1QiLCJmb2N1c1RyaWdnZXJzS2V5Ym9hcmRNb2RhbGl0eSIsImVsIiwiaXNDb250ZW50RWRpdGFibGUiLCJyZWFkT25seSIsInRhZ05hbWUiLCJ0eXBlIiwiaW5jbHVkZXMiLCJjcmVhdGVFdmVudFN1YnNjcmlwdGlvbiIsInRhcmdldCIsInR5cGVzIiwiaGFuZGxlciIsInN1YnNjcmliZWQiLCJzdWJzY3JpYmUiLCJmb3JFYWNoIiwiYWRkRXZlbnRMaXN0ZW5lciIsInVuc3Vic2NyaWJlIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInVuZGVmaW5lZCIsInBhdXNlIiwicmVzdW1lIiwidXNlT2JzZXJ2ZUZvY3VzVmlzaWJsZUZvckxlZ2FjeUJyb3dzZXJzIiwidGFyZ2V0UmVmIiwib25Gb2N1c1Zpc2libGVSZWYiLCJibHVyU2luY2VSZWYiLCJoYWRLZXlib2FyZEV2ZW50UmVmIiwiaGFzRm9jdXNWaXNpYmxlUmVmIiwiZXZlbnRTdWJzY3JpcHRpb24iLCJkb2N1bWVudCIsImV2ZW50Iiwibm9kZU5hbWUiLCJ0b0xvd2VyQ2FzZSIsImN1cnJlbnQiLCJzZXRIYXNGb2N1c1Zpc2libGUiLCJuZXh0SGFzRm9jdXNWaXNpYmxlIiwiaGFuZGxlS2V5RG93biIsImFsdEtleSIsImN0cmxLZXkiLCJtZXRhS2V5IiwiaGFuZGxlUG9pbnRlckRvd24iLCJoYW5kbGVGb2N1cyIsImhhbmRsZUJsdXIiLCJEYXRlIiwibm93IiwiaGFuZGxlVmlzaWJpbGl0eUNoYW5nZSIsInZpc2liaWxpdHlTdGF0ZSIsInVzZU9ic2VydmVGb2N1c1Zpc2libGVGb3JNb2Rlcm5Ccm93c2VycyIsIm1hdGNoZXMiLCJ1c2VPYnNlcnZlRm9jdXNWaXNpYmxlIiwib25Gb2N1c1Zpc2libGUiLCJub25jZSIsIm5vbmNlUmVmIiwic3VwcG9y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QUEsTUFBT0MsS0FBUDs7QUFDQSxNQUFNM0IsaUJBQWlCLEdBQUcsMEJBQVkwQixjQUFaLENBQTFCLENBRjRHLENBSTVHO0FBQ0E7O0FBQ0EsTUFBTUUsUUFBUSxHQUFHLG1CQUFPRCxLQUFQLENBQWpCLENBTjRHLENBUTVHO0FBQ0E7O0FBQ0EsTUFBTUUsbUJBQW1CLEdBQUcsb0JBQVE7QUFBQSxXQUFNLGlDQUFtQixnQkFBbkIsRUFBcUNELFFBQVEsQ0FBQ25CLE9BQTlDLENBQU47QUFBQSxHQUFSLEVBQXNFLENBQUNtQixRQUFELENBQXRFLENBQTVCLENBVjRHLENBWTVHO0FBQ0E7O0FBQ0EsTUFBSUMsbUJBQUosRUFBeUI7QUFDdkI7QUFDQU4sSUFBQUEsdUNBQXVDLENBQUN4QixTQUFELEVBQVlDLGlCQUFaLENBQXZDO0FBQ0QsR0FIRCxNQUdPO0FBQ0w7QUFDQUYsSUFBQUEsdUNBQXVDLENBQUNDLFNBQUQsRUFBWUMsaUJBQVosQ0FBdkM7QUFDRDtBQUNGIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNdXRhYmxlUmVmT2JqZWN0LCBSZWZPYmplY3QsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHN1cHBvcnRQc2V1ZG9DbGFzcyBmcm9tICcuLi8uLi9VdGlscy9zdXBwb3J0UHNldWRvQ2xhc3MnO1xuaW1wb3J0IHVzZU5vbmNlIGZyb20gJy4vdXNlTm9uY2UnO1xuaW1wb3J0IHVzZVZhbHVlUmVmIGZyb20gJy4vdXNlVmFsdWVSZWYnO1xuXG5jb25zdCBJTlBVVF9UWVBFU19BTExPV19MSVNUID0gW1xuICAnZGF0ZScsXG4gICdkYXRldGltZS1sb2NhbCcsXG4gICdkYXRldGltZScsXG4gICdlbWFpbCcsXG4gICdtb250aCcsXG4gICdudW1iZXInLFxuICAncGFzc3dvcmQnLFxuICAnc2VhcmNoJyxcbiAgJ3RlbCcsXG4gICd0ZXh0JyxcbiAgJ3RpbWUnLFxuICAndXJsJyxcbiAgJ3dlZWsnXG5dO1xuXG4vKipcbiAqIENvbXB1dGVzIHdoZXRoZXIgdGhlIGdpdmVuIGVsZW1lbnQgc2hvdWxkIGF1dG9tYXRpY2FsbHkgdHJpZ2dlciB0aGVcbiAqIGBmb2N1cy12aXNpYmxlYCBjbGFzcyBiZWluZyBhZGRlZCwgaS5lLiB3aGV0aGVyIGl0IHNob3VsZCBhbHdheXMgbWF0Y2hcbiAqIGA6Zm9jdXMtdmlzaWJsZWAgd2hlbiBmb2N1c2VkLlxuICogQHBhcmFtIHtFbGVtZW50fSBlbFxuICogQHJldHVybiB7Ym9vbGVhbn1cbiAqL1xuZnVuY3Rpb24gZm9jdXNUcmlnZ2Vyc0tleWJvYXJkTW9kYWxpdHkoZWw6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50KTogYm9vbGVhbiB7XG4gIGNvbnN0IHsgaXNDb250ZW50RWRpdGFibGUsIHJlYWRPbmx5LCB0YWdOYW1lLCB0eXBlIH0gPSBlbDtcblxuICByZXR1cm4gKFxuICAgICh0YWdOYW1lID09PSAnSU5QVVQnICYmIElOUFVUX1RZUEVTX0FMTE9XX0xJU1QuaW5jbHVkZXModHlwZSkgJiYgIXJlYWRPbmx5KSB8fFxuICAgICh0YWdOYW1lID09PSAnVEVYVEFSRUEnICYmICFyZWFkT25seSkgfHxcbiAgICBpc0NvbnRlbnRFZGl0YWJsZVxuICApO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVFdmVudFN1YnNjcmlwdGlvbihcbiAgdGFyZ2V0OiBFbGVtZW50IHwgTm9kZSxcbiAgdHlwZXM6IHN0cmluZ1tdLFxuICBoYW5kbGVyOiAoZXZlbnQ6IEV2ZW50KSA9PiB2b2lkXG4pOiB7XG4gIHBhdXNlOiAoKSA9PiB2b2lkO1xuICByZXN1bWU6ICgpID0+IHZvaWQ7XG59IHtcbiAgbGV0IHN1YnNjcmliZWQ6IHRydWU7XG5cbiAgY29uc3Qgc3Vic2NyaWJlID0gKCkgPT4ge1xuICAgIGlmICghc3Vic2NyaWJlZCkge1xuICAgICAgdHlwZXMuZm9yRWFjaCh0eXBlID0+IHRhcmdldC5hZGRFdmVudExpc3RlbmVyKHR5cGUsIGhhbmRsZXIpKTtcbiAgICAgIHN1YnNjcmliZWQgPSB0cnVlO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCB1bnN1YnNjcmliZSA9ICgpID0+IHtcbiAgICBpZiAoc3Vic2NyaWJlZCkge1xuICAgICAgdHlwZXMuZm9yRWFjaCh0eXBlID0+IHRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKHR5cGUsIGhhbmRsZXIpKTtcbiAgICAgIHN1YnNjcmliZWQgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgcGF1c2U6IHVuc3Vic2NyaWJlLFxuICAgIHJlc3VtZTogc3Vic2NyaWJlXG4gIH07XG59XG5cbi8vIFRPRE86IEFkZCB0ZXN0c1xuLy8gICAgICAgMS4gRm9jdXMgdmlhIGtleWJvYXJkIHZzLiBtb3VzZVxuLy8gICAgICAgMi4gRm9jdXMgdmlhIGtleWJvYXJkLCBzd2l0Y2ggYXBwLCBzd2l0Y2ggYmFjayAoZXhwZWN0IHRvIGdldCBhbm90aGVyIGZvY3VzVmlzaWJsZSBhZnRlciBzd2l0Y2ggYmFjaylcbi8vICAgICAgIDMuIEZvY3VzIHZpYSBtb3VzZSwgc3dpdGNoIGFwcCwgc3dpdGNoIGJhY2sgKGRvIE5PVCBleHBlY3QgdG8gZ2V0IGFub3RoZXIgZm9jdXNWaXNpYmxlIGFmdGVyIHN3aXRjaCBiYWNrKVxuZnVuY3Rpb24gdXNlT2JzZXJ2ZUZvY3VzVmlzaWJsZUZvckxlZ2FjeUJyb3dzZXJzKFxuICB0YXJnZXRSZWY6IFJlZk9iamVjdDxIVE1MRWxlbWVudD4sXG4gIG9uRm9jdXNWaXNpYmxlUmVmOiBNdXRhYmxlUmVmT2JqZWN0PCgpID0+IHZvaWQ+XG4pIHtcbiAgLy8gVGhpcyBwb2x5ZmlsbCBhbGdvcml0aG0gaXMgYWRvcHRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL2ZvY3VzLXZpc2libGUuXG4gIGNvbnN0IGJsdXJTaW5jZVJlZiA9IHVzZVJlZigwKTtcbiAgY29uc3QgaGFkS2V5Ym9hcmRFdmVudFJlZiA9IHVzZVJlZih0cnVlKTtcbiAgY29uc3QgaGFzRm9jdXNWaXNpYmxlUmVmID0gdXNlUmVmKGZhbHNlKTtcblxuICBjb25zdCBldmVudFN1YnNjcmlwdGlvbiA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIGNyZWF0ZUV2ZW50U3Vic2NyaXB0aW9uKFxuICAgICAgICBkb2N1bWVudCxcbiAgICAgICAgW1xuICAgICAgICAgICdtb3VzZW1vdmUnLFxuICAgICAgICAgICdtb3VzZWRvd24nLFxuICAgICAgICAgICdtb3VzZXVwJyxcbiAgICAgICAgICAncG9pbnRlcm1vdmUnLFxuICAgICAgICAgICdwb2ludGVyZG93bicsXG4gICAgICAgICAgJ3BvaW50ZXJ1cCcsXG4gICAgICAgICAgJ3RvdWNobW92ZScsXG4gICAgICAgICAgJ3RvdWNoc3RhcnQnLFxuICAgICAgICAgICd0b3VjaGVuZCdcbiAgICAgICAgXSxcbiAgICAgICAgZXZlbnQgPT4ge1xuICAgICAgICAgIGlmICgoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5ub2RlTmFtZT8udG9Mb3dlckNhc2UoKSAhPT0gJ2h0bWwnKSB7XG4gICAgICAgICAgICBoYWRLZXlib2FyZEV2ZW50UmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIGV2ZW50U3Vic2NyaXB0aW9uLnBhdXNlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApLFxuICAgIFtoYWRLZXlib2FyZEV2ZW50UmVmXVxuICApO1xuXG4gIGNvbnN0IHNldEhhc0ZvY3VzVmlzaWJsZSA9IHVzZUNhbGxiYWNrKFxuICAgIG5leHRIYXNGb2N1c1Zpc2libGUgPT4ge1xuICAgICAgaWYgKGhhc0ZvY3VzVmlzaWJsZVJlZi5jdXJyZW50ICE9PSBuZXh0SGFzRm9jdXNWaXNpYmxlKSB7XG4gICAgICAgIGhhc0ZvY3VzVmlzaWJsZVJlZi5jdXJyZW50ID0gbmV4dEhhc0ZvY3VzVmlzaWJsZTtcbiAgICAgICAgbmV4dEhhc0ZvY3VzVmlzaWJsZSAmJiBvbkZvY3VzVmlzaWJsZVJlZj8uY3VycmVudCgpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2hhc0ZvY3VzVmlzaWJsZVJlZiwgb25Gb2N1c1Zpc2libGVSZWZdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlS2V5RG93biA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LmFsdEtleSB8fCBldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZXZlbnQudGFyZ2V0ID09PSB0YXJnZXRSZWYuY3VycmVudCkge1xuICAgICAgICBzZXRIYXNGb2N1c1Zpc2libGUodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIGhhZEtleWJvYXJkRXZlbnRSZWYuY3VycmVudCA9IHRydWU7XG4gICAgfSxcbiAgICBbaGFkS2V5Ym9hcmRFdmVudFJlZiwgc2V0SGFzRm9jdXNWaXNpYmxlLCB0YXJnZXRSZWZdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlUG9pbnRlckRvd24gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaGFkS2V5Ym9hcmRFdmVudFJlZi5jdXJyZW50ID0gZmFsc2U7XG4gIH0sIFtoYWRLZXlib2FyZEV2ZW50UmVmXSk7XG5cbiAgY29uc3QgaGFuZGxlRm9jdXMgPSB1c2VDYWxsYmFjayhcbiAgICAoeyB0YXJnZXQgfTogRXZlbnQpID0+IHtcbiAgICAgIHRhcmdldCA9PT0gdGFyZ2V0UmVmLmN1cnJlbnQgJiZcbiAgICAgICAgKGhhZEtleWJvYXJkRXZlbnRSZWYuY3VycmVudCB8fCBmb2N1c1RyaWdnZXJzS2V5Ym9hcmRNb2RhbGl0eSh0YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkpICYmXG4gICAgICAgIHNldEhhc0ZvY3VzVmlzaWJsZSh0cnVlKTtcbiAgICB9LFxuICAgIFtoYWRLZXlib2FyZEV2ZW50UmVmLCBzZXRIYXNGb2N1c1Zpc2libGUsIHRhcmdldFJlZl1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVCbHVyID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LnRhcmdldCA9PT0gdGFyZ2V0UmVmLmN1cnJlbnQgJiYgaGFzRm9jdXNWaXNpYmxlUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgYmx1clNpbmNlUmVmLmN1cnJlbnQgPSBEYXRlLm5vdygpO1xuXG4gICAgICAgIHNldEhhc0ZvY3VzVmlzaWJsZShmYWxzZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbYmx1clNpbmNlUmVmLCBoYXNGb2N1c1Zpc2libGVSZWYsIHNldEhhc0ZvY3VzVmlzaWJsZSwgdGFyZ2V0UmVmXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZVZpc2liaWxpdHlDaGFuZ2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSA9PT0gJ2hpZGRlbicpIHtcbiAgICAgIC8vIFRoZSBlbGVtZW50IGlzIGJsdXJyZWQgZHVlIHRvIFwidmlzaWJpbGl0eVN0YXRlXCIgc2V0IHRvIFwiaGlkZGVuXCIuXG4gICAgICAvLyAxMDBtcyBpcyByZWZlcmVuY2VkIGZyb20gdGhlIFdJQ0cgcG9seWZpbGwuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbWFnaWMtbnVtYmVyc1xuICAgICAgaWYgKERhdGUubm93KCkgLSBibHVyU2luY2VSZWYuY3VycmVudCA8IDEwMCkge1xuICAgICAgICBoYWRLZXlib2FyZEV2ZW50UmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBldmVudFN1YnNjcmlwdGlvbi5yZXN1bWUoKTtcbiAgICB9XG4gIH0sIFtibHVyU2luY2VSZWYsIGV2ZW50U3Vic2NyaXB0aW9uLCBoYWRLZXlib2FyZEV2ZW50UmVmXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgaGFuZGxlS2V5RG93biwgdHJ1ZSk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlUG9pbnRlckRvd24sIHRydWUpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgaGFuZGxlUG9pbnRlckRvd24sIHRydWUpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBoYW5kbGVQb2ludGVyRG93biwgdHJ1ZSk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndmlzaWJpbGl0eWNoYW5nZScsIGhhbmRsZVZpc2liaWxpdHlDaGFuZ2UsIHRydWUpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVLZXlEb3duKTtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZVBvaW50ZXJEb3duKTtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgaGFuZGxlUG9pbnRlckRvd24pO1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIGhhbmRsZVBvaW50ZXJEb3duKTtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLCBoYW5kbGVWaXNpYmlsaXR5Q2hhbmdlKTtcbiAgICB9O1xuICB9LCBbaGFuZGxlS2V5RG93biwgaGFuZGxlUG9pbnRlckRvd24sIGhhbmRsZVZpc2liaWxpdHlDaGFuZ2VdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudDogdGFyZ2V0IH0gPSB0YXJnZXRSZWY7XG5cbiAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsIGhhbmRsZUJsdXIsIHRydWUpO1xuICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIGhhbmRsZUZvY3VzLCB0cnVlKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB0YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignYmx1cicsIGhhbmRsZUJsdXIpO1xuICAgICAgdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgaGFuZGxlRm9jdXMpO1xuICAgIH07XG5cbiAgICAvLyBXZSBzcGVjaWZpY2FsbHkgYWRkIFwidGFyZ2V0UmVmLmN1cnJlbnRcIiBoZXJlLlxuICAgIC8vIElmIHRoZSB0YXJnZXQgZWxlbWVudCBjaGFuZ2VkLCB3ZSBzaG91bGQgcmVhdHRhY2ggb3VyIGV2ZW50IGxpc3RlbmVycy5cbiAgfSwgW2hhbmRsZUJsdXIsIGhhbmRsZUZvY3VzLCB0YXJnZXRSZWZdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGV2ZW50U3Vic2NyaXB0aW9uLnJlc3VtZSgpO1xuXG4gICAgcmV0dXJuICgpID0+IGV2ZW50U3Vic2NyaXB0aW9uLnBhdXNlKCk7XG4gIH0sIFtldmVudFN1YnNjcmlwdGlvbl0pO1xufVxuXG5mdW5jdGlvbiB1c2VPYnNlcnZlRm9jdXNWaXNpYmxlRm9yTW9kZXJuQnJvd3NlcnMoXG4gIHRhcmdldFJlZjogUmVmT2JqZWN0PEhUTUxFbGVtZW50PixcbiAgb25Gb2N1c1Zpc2libGVSZWY6IE11dGFibGVSZWZPYmplY3Q8KCkgPT4gdm9pZD5cbikge1xuICBjb25zdCBoYW5kbGVGb2N1cyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAodGFyZ2V0UmVmLmN1cnJlbnQubWF0Y2hlcygnOmZvY3VzLXZpc2libGUnKSkge1xuICAgICAgb25Gb2N1c1Zpc2libGVSZWY/LmN1cnJlbnQoKTtcbiAgICB9XG4gIH0sIFtvbkZvY3VzVmlzaWJsZVJlZiwgdGFyZ2V0UmVmXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB7IGN1cnJlbnQ6IHRhcmdldCB9ID0gdGFyZ2V0UmVmO1xuXG4gICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgaGFuZGxlRm9jdXMpO1xuXG4gICAgcmV0dXJuICgpID0+IHRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1cycsIGhhbmRsZUZvY3VzKTtcblxuICAgIC8vIFdlIHNwZWNpZmljYWxseSBhZGQgXCJ0YXJnZXRSZWYuY3VycmVudFwiIGhlcmUuXG4gICAgLy8gSWYgdGhlIHRhcmdldCBlbGVtZW50IGNoYW5nZWQsIHdlIHNob3VsZCByZWF0dGFjaCBvdXIgZXZlbnQgbGlzdGVuZXJzLlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW2hhbmRsZUZvY3VzLCB0YXJnZXRSZWYsIHRhcmdldFJlZi5jdXJyZW50XSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZU9ic2VydmVGb2N1c1Zpc2libGUodGFyZ2V0UmVmOiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+LCBvbkZvY3VzVmlzaWJsZTogKCkgPT4gdm9pZCkge1xuICBjb25zdCBbbm9uY2VdID0gdXNlTm9uY2UoKTtcbiAgY29uc3Qgb25Gb2N1c1Zpc2libGVSZWYgPSB1c2VWYWx1ZVJlZihvbkZvY3VzVmlzaWJsZSk7XG5cbiAgLy8gVGhlIG5vbmNlIGlzIHVzZSBmb3IgYnJvd3NlciBjYXBhYmlsaXRpZXMuIEp1c3QgaW4gY2FzZSB0aGUgXCJub25jZVwiIGhhZCBjaGFuZ2VkIHVuZXhwZWN0ZWRseSwgdGhlIGNhcGFiaWxpdGllcyBvZiB0aGUgYnJvd3NlciBzaG91bGQgbmV2ZXIgY2hhbmdlLlxuICAvLyBUaHVzLCB3ZSBhcmUgdXNpbmcgYW4gaW5pdGlhbCB2ZXJzaW9uIG9mIFwibm9uY2VcIi4gSW4gY2FzZSB3ZWIgZGV2cyBjaGFuZ2VkIHRoZSBcIm5vbmNlXCIgdG8gYW4gaW52YWxpZCB2YWx1ZSwgd2Ugd29uJ3QgYnJlYWsgcnVsZXMgb2YgaG9va3MgKGFzIHN0YXRlZCBiZWxvdykuXG4gIGNvbnN0IG5vbmNlUmVmID0gdXNlUmVmKG5vbmNlKTtcblxuICAvLyBcIjpmb2N1cy12aXNpYmxlXCIgc2VsZWN0b3IgaXMgc3VwcG9ydGVkIGZyb20gQ2hyb21lL0VkZ2UgODYrIGFuZCBub3Qgc3VwcG9ydGVkIGluIElFMTEgb3IgU2FmYXJpLlxuICAvLyBEb2luZyBhIGNhcGFiaWxpdHkgY2hlY2sgb24gcHNldWRvIGNsYXNzZXMgcmVxdWlyZXMgaW5qZWN0aW5nIGEgc3R5bGVzaGVldCwgdGh1cyBub25jZSBpcyBuZWVkZWQuXG4gIGNvbnN0IHN1cHBvcnRGb2N1c1Zpc2libGUgPSB1c2VNZW1vKCgpID0+IHN1cHBvcnRQc2V1ZG9DbGFzcygnOmZvY3VzLXZpc2libGUnLCBub25jZVJlZi5jdXJyZW50KSwgW25vbmNlUmVmXSk7XG5cbiAgLy8gU2luY2UgXCJzdXBwb3J0UHNldWRvQ2xhc3NcIiBpcyBhIGJyb3dzZXIgY2FwYWJpbGl0eSwgdGhlIHJlc3VsdCBzaG91bGQgYmUgY29uc3RhbnQgZHVyaW5nIHRoZSBwYWdlIGxpZmV0aW1lLlxuICAvLyBUaHVzLCBydW5uaW5nIGhvb2tzIGNvbmRpdGlvbmFsbHkgaXMgb2theSBoZXJlLlxuICBpZiAoc3VwcG9ydEZvY3VzVmlzaWJsZSkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICAgIHVzZU9ic2VydmVGb2N1c1Zpc2libGVGb3JNb2Rlcm5Ccm93c2Vycyh0YXJnZXRSZWYsIG9uRm9jdXNWaXNpYmxlUmVmKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcbiAgICB1c2VPYnNlcnZlRm9jdXNWaXNpYmxlRm9yTGVnYWN5QnJvd3NlcnModGFyZ2V0UmVmLCBvbkZvY3VzVmlzaWJsZVJlZik7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export default function usePrevious<T>(value: T): T;
2
+ //# sourceMappingURL=usePrevious.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePrevious.d.ts","sourceRoot":"","sources":["../../../src/hooks/internal/usePrevious.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAQlD"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = usePrevious;
7
+
8
+ var _react = require("react");
9
+
10
+ // TODO: [P0] #4133 Don't copy.
11
+ function usePrevious(value) {
12
+ var ref = (0, _react.useRef)();
13
+ (0, _react.useEffect)(function () {
14
+ ref.current = value;
15
+ });
16
+ return ref.current;
17
+ }
18
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VQcmV2aW91cy50cyJdLCJuYW1lcyI6WyJ1c2VQcmV2aW91cyIsInZhbHVlIiwicmVmIiwiY3VycmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBOztBQURBO0FBR2UsU0FBU0EsV0FBVCxDQUF3QkMsS0FBeEIsRUFBcUM7QUFDbEQsTUFBTUMsR0FBRyxHQUFHLG9CQUFaO0FBRUEsd0JBQVUsWUFBTTtBQUNkQSxJQUFBQSxHQUFHLENBQUNDLE9BQUosR0FBY0YsS0FBZDtBQUNELEdBRkQ7QUFJQSxTQUFPQyxHQUFHLENBQUNDLE9BQVg7QUFDRCIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETzogW1AwXSAjNDEzMyBEb24ndCBjb3B5LlxuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZVByZXZpb3VzPFQ+KHZhbHVlOiBUKTogVCB7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxUPigpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmVmLmN1cnJlbnQgPSB2YWx1ZTtcbiAgfSk7XG5cbiAgcmV0dXJuIHJlZi5jdXJyZW50O1xufVxuIl19
@@ -29,4 +29,4 @@ function useRegisterFocusSendBox(callback) {
29
29
  }
30
30
  }, [callback, focusSendBoxCallbacksRef]);
31
31
  }
32
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VSZWdpc3RlckZvY3VzU2VuZEJveC5qcyJdLCJuYW1lcyI6WyJ1c2VSZWdpc3RlckZvY3VzU2VuZEJveCIsImNhbGxiYWNrIiwiZm9jdXNTZW5kQm94Q2FsbGJhY2tzUmVmIiwiZm9jdXNTZW5kQm94Q2FsbGJhY2tzIiwiY3VycmVudCIsInB1c2giXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7OztBQUVBO0FBQ0E7QUFFZSxTQUFTQSx1QkFBVCxDQUFpQ0MsUUFBakMsRUFBMkM7QUFBQSw2QkFDbkIsb0NBRG1CO0FBQUEsTUFDaERDLHdCQURnRCx3QkFDaERBLHdCQURnRDs7QUFHeEQsd0JBQVUsWUFBTTtBQUNkLFFBQUlELFFBQUosRUFBYztBQUFBLFVBQ0tFLHFCQURMLEdBQytCRCx3QkFEL0IsQ0FDSkUsT0FESTtBQUdaRCxNQUFBQSxxQkFBcUIsQ0FBQ0UsSUFBdEIsQ0FBMkJKLFFBQTNCO0FBRUEsYUFBTztBQUFBLGVBQU0sMkJBQWFFLHFCQUFiLEVBQW9DRixRQUFwQyxDQUFOO0FBQUEsT0FBUDtBQUNEO0FBQ0YsR0FSRCxFQVFHLENBQUNBLFFBQUQsRUFBV0Msd0JBQVgsQ0FSSDtBQVNEIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCByZW1vdmVJbmxpbmUgZnJvbSAnLi4vLi4vVXRpbHMvcmVtb3ZlSW5saW5lJztcbmltcG9ydCB1c2VXZWJDaGF0VUlDb250ZXh0IGZyb20gJy4vdXNlV2ViQ2hhdFVJQ29udGV4dCc7XG5cbi8vIFRoaXMgaG9vayBpcyBmb3IgcmVnaXN0ZXJpbmcgYW5kIHVucmVnaXN0ZXIgYSBjYWxsYmFjaywgdXNlZCBieSA8QmFzaWNTZW5kQm94Pi5cbi8vIFdoZW4gY2FsbGVkLCB0aGUgY2FsbGJhY2sgc2hvdWxkIGZvY3VzIG9uIHRoZSB0ZXh0IGJveCBvZiB0aGUgc2VuZCBib3guXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZVJlZ2lzdGVyRm9jdXNTZW5kQm94KGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgZm9jdXNTZW5kQm94Q2FsbGJhY2tzUmVmIH0gPSB1c2VXZWJDaGF0VUlDb250ZXh0KCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgIGNvbnN0IHsgY3VycmVudDogZm9jdXNTZW5kQm94Q2FsbGJhY2tzIH0gPSBmb2N1c1NlbmRCb3hDYWxsYmFja3NSZWY7XG5cbiAgICAgIGZvY3VzU2VuZEJveENhbGxiYWNrcy5wdXNoKGNhbGxiYWNrKTtcblxuICAgICAgcmV0dXJuICgpID0+IHJlbW92ZUlubGluZShmb2N1c1NlbmRCb3hDYWxsYmFja3MsIGNhbGxiYWNrKTtcbiAgICB9XG4gIH0sIFtjYWxsYmFjaywgZm9jdXNTZW5kQm94Q2FsbGJhY2tzUmVmXSk7XG59XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VSZWdpc3RlckZvY3VzU2VuZEJveC5qcyJdLCJuYW1lcyI6WyJ1c2VSZWdpc3RlckZvY3VzU2VuZEJveCIsImNhbGxiYWNrIiwiZm9jdXNTZW5kQm94Q2FsbGJhY2tzUmVmIiwiZm9jdXNTZW5kQm94Q2FsbGJhY2tzIiwiY3VycmVudCIsInB1c2giXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7OztBQUVBO0FBQ0E7QUFFZSxTQUFTQSx1QkFBVCxDQUFpQ0MsUUFBakMsRUFBMkM7QUFDeEQsNkJBQXFDLG9DQUFyQztBQUFBLE1BQVFDLHdCQUFSLHdCQUFRQSx3QkFBUjs7QUFFQSx3QkFBVSxZQUFNO0FBQ2QsUUFBSUQsUUFBSixFQUFjO0FBQ1osVUFBaUJFLHFCQUFqQixHQUEyQ0Qsd0JBQTNDLENBQVFFLE9BQVI7QUFFQUQsTUFBQUEscUJBQXFCLENBQUNFLElBQXRCLENBQTJCSixRQUEzQjtBQUVBLGFBQU87QUFBQSxlQUFNLDJCQUFhRSxxQkFBYixFQUFvQ0YsUUFBcEMsQ0FBTjtBQUFBLE9BQVA7QUFDRDtBQUNGLEdBUkQsRUFRRyxDQUFDQSxRQUFELEVBQVdDLHdCQUFYLENBUkg7QUFTRCIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgcmVtb3ZlSW5saW5lIGZyb20gJy4uLy4uL1V0aWxzL3JlbW92ZUlubGluZSc7XG5pbXBvcnQgdXNlV2ViQ2hhdFVJQ29udGV4dCBmcm9tICcuL3VzZVdlYkNoYXRVSUNvbnRleHQnO1xuXG4vLyBUaGlzIGhvb2sgaXMgZm9yIHJlZ2lzdGVyaW5nIGFuZCB1bnJlZ2lzdGVyIGEgY2FsbGJhY2ssIHVzZWQgYnkgPEJhc2ljU2VuZEJveD4uXG4vLyBXaGVuIGNhbGxlZCwgdGhlIGNhbGxiYWNrIHNob3VsZCBmb2N1cyBvbiB0aGUgdGV4dCBib3ggb2YgdGhlIHNlbmQgYm94LlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VSZWdpc3RlckZvY3VzU2VuZEJveChjYWxsYmFjaykge1xuICBjb25zdCB7IGZvY3VzU2VuZEJveENhbGxiYWNrc1JlZiB9ID0gdXNlV2ViQ2hhdFVJQ29udGV4dCgpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICBjb25zdCB7IGN1cnJlbnQ6IGZvY3VzU2VuZEJveENhbGxiYWNrcyB9ID0gZm9jdXNTZW5kQm94Q2FsbGJhY2tzUmVmO1xuXG4gICAgICBmb2N1c1NlbmRCb3hDYWxsYmFja3MucHVzaChjYWxsYmFjayk7XG5cbiAgICAgIHJldHVybiAoKSA9PiByZW1vdmVJbmxpbmUoZm9jdXNTZW5kQm94Q2FsbGJhY2tzLCBjYWxsYmFjayk7XG4gICAgfVxuICB9LCBbY2FsbGJhY2ssIGZvY3VzU2VuZEJveENhbGxiYWNrc1JlZl0pO1xufVxuIl19
@@ -29,4 +29,4 @@ function useRegisterFocusTranscript(callback) {
29
29
  }
30
30
  }, [callback, focusTranscriptCallbacksRef]);
31
31
  }
32
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VSZWdpc3RlckZvY3VzVHJhbnNjcmlwdC5qcyJdLCJuYW1lcyI6WyJ1c2VSZWdpc3RlckZvY3VzVHJhbnNjcmlwdCIsImNhbGxiYWNrIiwiZm9jdXNUcmFuc2NyaXB0Q2FsbGJhY2tzUmVmIiwiZm9jdXNUcmFuc2NyaXB0Q2FsbGJhY2tzIiwiY3VycmVudCIsInB1c2giXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7OztBQUVBO0FBQ0E7QUFFZSxTQUFTQSwwQkFBVCxDQUFvQ0MsUUFBcEMsRUFBOEM7QUFBQSw2QkFDbkIsb0NBRG1CO0FBQUEsTUFDbkRDLDJCQURtRCx3QkFDbkRBLDJCQURtRDs7QUFHM0Qsd0JBQVUsWUFBTTtBQUNkLFFBQUlELFFBQUosRUFBYztBQUFBLFVBQ0tFLHdCQURMLEdBQ2tDRCwyQkFEbEMsQ0FDSkUsT0FESTtBQUdaRCxNQUFBQSx3QkFBd0IsQ0FBQ0UsSUFBekIsQ0FBOEJKLFFBQTlCO0FBRUEsYUFBTztBQUFBLGVBQU0sMkJBQWFFLHdCQUFiLEVBQXVDRixRQUF2QyxDQUFOO0FBQUEsT0FBUDtBQUNEO0FBQ0YsR0FSRCxFQVFHLENBQUNBLFFBQUQsRUFBV0MsMkJBQVgsQ0FSSDtBQVNEIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCByZW1vdmVJbmxpbmUgZnJvbSAnLi4vLi4vVXRpbHMvcmVtb3ZlSW5saW5lJztcbmltcG9ydCB1c2VXZWJDaGF0VUlDb250ZXh0IGZyb20gJy4vdXNlV2ViQ2hhdFVJQ29udGV4dCc7XG5cbi8vIFRoaXMgaG9vayBpcyBmb3IgcmVnaXN0ZXJpbmcgYW5kIHVucmVnaXN0ZXIgYSBjYWxsYmFjaywgdXNlZCBieSA8QmFzaWNUcmFuc2NyaXB0Pi5cbi8vIFdoZW4gY2FsbGVkLCB0aGUgY2FsbGJhY2sgc2hvdWxkIGZvY3VzIG9uIHRoZSB0cmFuc2NyaXB0LlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VSZWdpc3RlckZvY3VzVHJhbnNjcmlwdChjYWxsYmFjaykge1xuICBjb25zdCB7IGZvY3VzVHJhbnNjcmlwdENhbGxiYWNrc1JlZiB9ID0gdXNlV2ViQ2hhdFVJQ29udGV4dCgpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICBjb25zdCB7IGN1cnJlbnQ6IGZvY3VzVHJhbnNjcmlwdENhbGxiYWNrcyB9ID0gZm9jdXNUcmFuc2NyaXB0Q2FsbGJhY2tzUmVmO1xuXG4gICAgICBmb2N1c1RyYW5zY3JpcHRDYWxsYmFja3MucHVzaChjYWxsYmFjayk7XG5cbiAgICAgIHJldHVybiAoKSA9PiByZW1vdmVJbmxpbmUoZm9jdXNUcmFuc2NyaXB0Q2FsbGJhY2tzLCBjYWxsYmFjayk7XG4gICAgfVxuICB9LCBbY2FsbGJhY2ssIGZvY3VzVHJhbnNjcmlwdENhbGxiYWNrc1JlZl0pO1xufVxuIl19
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VSZWdpc3RlckZvY3VzVHJhbnNjcmlwdC5qcyJdLCJuYW1lcyI6WyJ1c2VSZWdpc3RlckZvY3VzVHJhbnNjcmlwdCIsImNhbGxiYWNrIiwiZm9jdXNUcmFuc2NyaXB0Q2FsbGJhY2tzUmVmIiwiZm9jdXNUcmFuc2NyaXB0Q2FsbGJhY2tzIiwiY3VycmVudCIsInB1c2giXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7OztBQUVBO0FBQ0E7QUFFZSxTQUFTQSwwQkFBVCxDQUFvQ0MsUUFBcEMsRUFBOEM7QUFDM0QsNkJBQXdDLG9DQUF4QztBQUFBLE1BQVFDLDJCQUFSLHdCQUFRQSwyQkFBUjs7QUFFQSx3QkFBVSxZQUFNO0FBQ2QsUUFBSUQsUUFBSixFQUFjO0FBQ1osVUFBaUJFLHdCQUFqQixHQUE4Q0QsMkJBQTlDLENBQVFFLE9BQVI7QUFFQUQsTUFBQUEsd0JBQXdCLENBQUNFLElBQXpCLENBQThCSixRQUE5QjtBQUVBLGFBQU87QUFBQSxlQUFNLDJCQUFhRSx3QkFBYixFQUF1Q0YsUUFBdkMsQ0FBTjtBQUFBLE9BQVA7QUFDRDtBQUNGLEdBUkQsRUFRRyxDQUFDQSxRQUFELEVBQVdDLDJCQUFYLENBUkg7QUFTRCIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgcmVtb3ZlSW5saW5lIGZyb20gJy4uLy4uL1V0aWxzL3JlbW92ZUlubGluZSc7XG5pbXBvcnQgdXNlV2ViQ2hhdFVJQ29udGV4dCBmcm9tICcuL3VzZVdlYkNoYXRVSUNvbnRleHQnO1xuXG4vLyBUaGlzIGhvb2sgaXMgZm9yIHJlZ2lzdGVyaW5nIGFuZCB1bnJlZ2lzdGVyIGEgY2FsbGJhY2ssIHVzZWQgYnkgPEJhc2ljVHJhbnNjcmlwdD4uXG4vLyBXaGVuIGNhbGxlZCwgdGhlIGNhbGxiYWNrIHNob3VsZCBmb2N1cyBvbiB0aGUgdHJhbnNjcmlwdC5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlUmVnaXN0ZXJGb2N1c1RyYW5zY3JpcHQoY2FsbGJhY2spIHtcbiAgY29uc3QgeyBmb2N1c1RyYW5zY3JpcHRDYWxsYmFja3NSZWYgfSA9IHVzZVdlYkNoYXRVSUNvbnRleHQoKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgY29uc3QgeyBjdXJyZW50OiBmb2N1c1RyYW5zY3JpcHRDYWxsYmFja3MgfSA9IGZvY3VzVHJhbnNjcmlwdENhbGxiYWNrc1JlZjtcblxuICAgICAgZm9jdXNUcmFuc2NyaXB0Q2FsbGJhY2tzLnB1c2goY2FsbGJhY2spO1xuXG4gICAgICByZXR1cm4gKCkgPT4gcmVtb3ZlSW5saW5lKGZvY3VzVHJhbnNjcmlwdENhbGxiYWNrcywgY2FsbGJhY2spO1xuICAgIH1cbiAgfSwgW2NhbGxiYWNrLCBmb2N1c1RyYW5zY3JpcHRDYWxsYmFja3NSZWZdKTtcbn1cbiJdfQ==
@@ -29,4 +29,4 @@ function useRegisterScrollRelative(callback) {
29
29
  }
30
30
  }, [callback, scrollRelativeCallbacksRef]);
31
31
  }
32
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VSZWdpc3RlclNjcm9sbFJlbGF0aXZlLmpzIl0sIm5hbWVzIjpbInVzZVJlZ2lzdGVyU2Nyb2xsUmVsYXRpdmUiLCJjYWxsYmFjayIsInNjcm9sbFJlbGF0aXZlQ2FsbGJhY2tzUmVmIiwic2Nyb2xsUmVsYXRpdmVDYWxsYmFja3MiLCJjdXJyZW50IiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUVBOztBQUNBOzs7O0FBRUE7QUFDQTtBQUVlLFNBQVNBLHlCQUFULENBQW1DQyxRQUFuQyxFQUE2QztBQUFBLDZCQUNuQixvQ0FEbUI7QUFBQSxNQUNsREMsMEJBRGtELHdCQUNsREEsMEJBRGtEOztBQUcxRCx3QkFBVSxZQUFNO0FBQ2QsUUFBSUQsUUFBSixFQUFjO0FBQUEsVUFDS0UsdUJBREwsR0FDaUNELDBCQURqQyxDQUNKRSxPQURJO0FBR1pELE1BQUFBLHVCQUF1QixDQUFDRSxJQUF4QixDQUE2QkosUUFBN0I7QUFFQSxhQUFPO0FBQUEsZUFBTSwyQkFBYUUsdUJBQWIsRUFBc0NGLFFBQXRDLENBQU47QUFBQSxPQUFQO0FBQ0Q7QUFDRixHQVJELEVBUUcsQ0FBQ0EsUUFBRCxFQUFXQywwQkFBWCxDQVJIO0FBU0QiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHJlbW92ZUlubGluZSBmcm9tICcuLi8uLi9VdGlscy9yZW1vdmVJbmxpbmUnO1xuaW1wb3J0IHVzZVdlYkNoYXRVSUNvbnRleHQgZnJvbSAnLi91c2VXZWJDaGF0VUlDb250ZXh0JztcblxuLy8gVGhpcyBob29rIGlzIGZvciByZWdpc3RlcmluZyBhbmQgdW5yZWdpc3RlciBhIGNhbGxiYWNrLCB1c2VkIGJ5IDxCYXNpY1RyYW5zY3JpcHQ+LlxuLy8gV2hlbiBjYWxsZWQsIHRoZSBjYWxsYmFjayBzaG91bGQgc2Nyb2xsIHRoZSB0cmFuc2NyaXB0IGluIGEgcmVsYXRpdmUgbW90aW9uLCBmb3IgZXhhbXBsZSwgcGFnZSB1cCBhbmQgZG93bi5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlUmVnaXN0ZXJTY3JvbGxSZWxhdGl2ZShjYWxsYmFjaykge1xuICBjb25zdCB7IHNjcm9sbFJlbGF0aXZlQ2FsbGJhY2tzUmVmIH0gPSB1c2VXZWJDaGF0VUlDb250ZXh0KCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgIGNvbnN0IHsgY3VycmVudDogc2Nyb2xsUmVsYXRpdmVDYWxsYmFja3MgfSA9IHNjcm9sbFJlbGF0aXZlQ2FsbGJhY2tzUmVmO1xuXG4gICAgICBzY3JvbGxSZWxhdGl2ZUNhbGxiYWNrcy5wdXNoKGNhbGxiYWNrKTtcblxuICAgICAgcmV0dXJuICgpID0+IHJlbW92ZUlubGluZShzY3JvbGxSZWxhdGl2ZUNhbGxiYWNrcywgY2FsbGJhY2spO1xuICAgIH1cbiAgfSwgW2NhbGxiYWNrLCBzY3JvbGxSZWxhdGl2ZUNhbGxiYWNrc1JlZl0pO1xufVxuIl19
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VSZWdpc3RlclNjcm9sbFJlbGF0aXZlLmpzIl0sIm5hbWVzIjpbInVzZVJlZ2lzdGVyU2Nyb2xsUmVsYXRpdmUiLCJjYWxsYmFjayIsInNjcm9sbFJlbGF0aXZlQ2FsbGJhY2tzUmVmIiwic2Nyb2xsUmVsYXRpdmVDYWxsYmFja3MiLCJjdXJyZW50IiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUVBOztBQUNBOzs7O0FBRUE7QUFDQTtBQUVlLFNBQVNBLHlCQUFULENBQW1DQyxRQUFuQyxFQUE2QztBQUMxRCw2QkFBdUMsb0NBQXZDO0FBQUEsTUFBUUMsMEJBQVIsd0JBQVFBLDBCQUFSOztBQUVBLHdCQUFVLFlBQU07QUFDZCxRQUFJRCxRQUFKLEVBQWM7QUFDWixVQUFpQkUsdUJBQWpCLEdBQTZDRCwwQkFBN0MsQ0FBUUUsT0FBUjtBQUVBRCxNQUFBQSx1QkFBdUIsQ0FBQ0UsSUFBeEIsQ0FBNkJKLFFBQTdCO0FBRUEsYUFBTztBQUFBLGVBQU0sMkJBQWFFLHVCQUFiLEVBQXNDRixRQUF0QyxDQUFOO0FBQUEsT0FBUDtBQUNEO0FBQ0YsR0FSRCxFQVFHLENBQUNBLFFBQUQsRUFBV0MsMEJBQVgsQ0FSSDtBQVNEIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCByZW1vdmVJbmxpbmUgZnJvbSAnLi4vLi4vVXRpbHMvcmVtb3ZlSW5saW5lJztcbmltcG9ydCB1c2VXZWJDaGF0VUlDb250ZXh0IGZyb20gJy4vdXNlV2ViQ2hhdFVJQ29udGV4dCc7XG5cbi8vIFRoaXMgaG9vayBpcyBmb3IgcmVnaXN0ZXJpbmcgYW5kIHVucmVnaXN0ZXIgYSBjYWxsYmFjaywgdXNlZCBieSA8QmFzaWNUcmFuc2NyaXB0Pi5cbi8vIFdoZW4gY2FsbGVkLCB0aGUgY2FsbGJhY2sgc2hvdWxkIHNjcm9sbCB0aGUgdHJhbnNjcmlwdCBpbiBhIHJlbGF0aXZlIG1vdGlvbiwgZm9yIGV4YW1wbGUsIHBhZ2UgdXAgYW5kIGRvd24uXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZVJlZ2lzdGVyU2Nyb2xsUmVsYXRpdmUoY2FsbGJhY2spIHtcbiAgY29uc3QgeyBzY3JvbGxSZWxhdGl2ZUNhbGxiYWNrc1JlZiB9ID0gdXNlV2ViQ2hhdFVJQ29udGV4dCgpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICBjb25zdCB7IGN1cnJlbnQ6IHNjcm9sbFJlbGF0aXZlQ2FsbGJhY2tzIH0gPSBzY3JvbGxSZWxhdGl2ZUNhbGxiYWNrc1JlZjtcblxuICAgICAgc2Nyb2xsUmVsYXRpdmVDYWxsYmFja3MucHVzaChjYWxsYmFjayk7XG5cbiAgICAgIHJldHVybiAoKSA9PiByZW1vdmVJbmxpbmUoc2Nyb2xsUmVsYXRpdmVDYWxsYmFja3MsIGNhbGxiYWNrKTtcbiAgICB9XG4gIH0sIFtjYWxsYmFjaywgc2Nyb2xsUmVsYXRpdmVDYWxsYmFja3NSZWZdKTtcbn1cbiJdfQ==
@@ -29,4 +29,4 @@ function useRegisterScrollTo(callback) {
29
29
  }
30
30
  }, [callback, scrollToCallbacksRef]);
31
31
  }
32
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VSZWdpc3RlclNjcm9sbFRvLmpzIl0sIm5hbWVzIjpbInVzZVJlZ2lzdGVyU2Nyb2xsVG8iLCJjYWxsYmFjayIsInNjcm9sbFRvQ2FsbGJhY2tzUmVmIiwic2Nyb2xsVG9DYWxsYmFja3MiLCJjdXJyZW50IiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUVBOztBQUNBOzs7O0FBRUE7QUFDQTtBQUVlLFNBQVNBLG1CQUFULENBQTZCQyxRQUE3QixFQUF1QztBQUFBLDZCQUNuQixvQ0FEbUI7QUFBQSxNQUM1Q0Msb0JBRDRDLHdCQUM1Q0Esb0JBRDRDOztBQUdwRCx3QkFBVSxZQUFNO0FBQ2QsUUFBSUQsUUFBSixFQUFjO0FBQUEsVUFDS0UsaUJBREwsR0FDMkJELG9CQUQzQixDQUNKRSxPQURJO0FBR1pELE1BQUFBLGlCQUFpQixDQUFDRSxJQUFsQixDQUF1QkosUUFBdkI7QUFFQSxhQUFPO0FBQUEsZUFBTSwyQkFBYUUsaUJBQWIsRUFBZ0NGLFFBQWhDLENBQU47QUFBQSxPQUFQO0FBQ0Q7QUFDRixHQVJELEVBUUcsQ0FBQ0EsUUFBRCxFQUFXQyxvQkFBWCxDQVJIO0FBU0QiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHJlbW92ZUlubGluZSBmcm9tICcuLi8uLi9VdGlscy9yZW1vdmVJbmxpbmUnO1xuaW1wb3J0IHVzZVdlYkNoYXRVSUNvbnRleHQgZnJvbSAnLi91c2VXZWJDaGF0VUlDb250ZXh0JztcblxuLy8gVGhpcyBob29rIGlzIGZvciByZWdpc3RlcmluZyBhbmQgdW5yZWdpc3RlciBhIGNhbGxiYWNrLCB1c2VkIGJ5IDxCYXNpY1RyYW5zY3JpcHQ+LlxuLy8gV2hlbiBjYWxsZWQsIHRoZSBjYWxsYmFjayBzaG91bGQgc2Nyb2xsIHRoZSB0cmFuc2NyaXB0IHRvIGEgc3BlY2lmaWMgcG9zaXRpb24sIGZvciBleGFtcGxlLCB0byBhbiBhY3Rpdml0eSBvZiBzcGVjaWZpZWQgSUQuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZVJlZ2lzdGVyU2Nyb2xsVG8oY2FsbGJhY2spIHtcbiAgY29uc3QgeyBzY3JvbGxUb0NhbGxiYWNrc1JlZiB9ID0gdXNlV2ViQ2hhdFVJQ29udGV4dCgpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICBjb25zdCB7IGN1cnJlbnQ6IHNjcm9sbFRvQ2FsbGJhY2tzIH0gPSBzY3JvbGxUb0NhbGxiYWNrc1JlZjtcblxuICAgICAgc2Nyb2xsVG9DYWxsYmFja3MucHVzaChjYWxsYmFjayk7XG5cbiAgICAgIHJldHVybiAoKSA9PiByZW1vdmVJbmxpbmUoc2Nyb2xsVG9DYWxsYmFja3MsIGNhbGxiYWNrKTtcbiAgICB9XG4gIH0sIFtjYWxsYmFjaywgc2Nyb2xsVG9DYWxsYmFja3NSZWZdKTtcbn1cbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VSZWdpc3RlclNjcm9sbFRvLmpzIl0sIm5hbWVzIjpbInVzZVJlZ2lzdGVyU2Nyb2xsVG8iLCJjYWxsYmFjayIsInNjcm9sbFRvQ2FsbGJhY2tzUmVmIiwic2Nyb2xsVG9DYWxsYmFja3MiLCJjdXJyZW50IiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUVBOztBQUNBOzs7O0FBRUE7QUFDQTtBQUVlLFNBQVNBLG1CQUFULENBQTZCQyxRQUE3QixFQUF1QztBQUNwRCw2QkFBaUMsb0NBQWpDO0FBQUEsTUFBUUMsb0JBQVIsd0JBQVFBLG9CQUFSOztBQUVBLHdCQUFVLFlBQU07QUFDZCxRQUFJRCxRQUFKLEVBQWM7QUFDWixVQUFpQkUsaUJBQWpCLEdBQXVDRCxvQkFBdkMsQ0FBUUUsT0FBUjtBQUVBRCxNQUFBQSxpQkFBaUIsQ0FBQ0UsSUFBbEIsQ0FBdUJKLFFBQXZCO0FBRUEsYUFBTztBQUFBLGVBQU0sMkJBQWFFLGlCQUFiLEVBQWdDRixRQUFoQyxDQUFOO0FBQUEsT0FBUDtBQUNEO0FBQ0YsR0FSRCxFQVFHLENBQUNBLFFBQUQsRUFBV0Msb0JBQVgsQ0FSSDtBQVNEIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCByZW1vdmVJbmxpbmUgZnJvbSAnLi4vLi4vVXRpbHMvcmVtb3ZlSW5saW5lJztcbmltcG9ydCB1c2VXZWJDaGF0VUlDb250ZXh0IGZyb20gJy4vdXNlV2ViQ2hhdFVJQ29udGV4dCc7XG5cbi8vIFRoaXMgaG9vayBpcyBmb3IgcmVnaXN0ZXJpbmcgYW5kIHVucmVnaXN0ZXIgYSBjYWxsYmFjaywgdXNlZCBieSA8QmFzaWNUcmFuc2NyaXB0Pi5cbi8vIFdoZW4gY2FsbGVkLCB0aGUgY2FsbGJhY2sgc2hvdWxkIHNjcm9sbCB0aGUgdHJhbnNjcmlwdCB0byBhIHNwZWNpZmljIHBvc2l0aW9uLCBmb3IgZXhhbXBsZSwgdG8gYW4gYWN0aXZpdHkgb2Ygc3BlY2lmaWVkIElELlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VSZWdpc3RlclNjcm9sbFRvKGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgc2Nyb2xsVG9DYWxsYmFja3NSZWYgfSA9IHVzZVdlYkNoYXRVSUNvbnRleHQoKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgY29uc3QgeyBjdXJyZW50OiBzY3JvbGxUb0NhbGxiYWNrcyB9ID0gc2Nyb2xsVG9DYWxsYmFja3NSZWY7XG5cbiAgICAgIHNjcm9sbFRvQ2FsbGJhY2tzLnB1c2goY2FsbGJhY2spO1xuXG4gICAgICByZXR1cm4gKCkgPT4gcmVtb3ZlSW5saW5lKHNjcm9sbFRvQ2FsbGJhY2tzLCBjYWxsYmFjayk7XG4gICAgfVxuICB9LCBbY2FsbGJhY2ssIHNjcm9sbFRvQ2FsbGJhY2tzUmVmXSk7XG59XG4iXX0=
@@ -27,4 +27,4 @@ function useRegisterScrollTo(callback) {
27
27
  };
28
28
  }, [callback, scrollToEndCallbacksRef]);
29
29
  }
30
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VSZWdpc3RlclNjcm9sbFRvRW5kLmpzIl0sIm5hbWVzIjpbInVzZVJlZ2lzdGVyU2Nyb2xsVG8iLCJjYWxsYmFjayIsInNjcm9sbFRvRW5kQ2FsbGJhY2tzUmVmIiwic2Nyb2xsVG9FbmRDYWxsYmFja3MiLCJjdXJyZW50IiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUVBOztBQUNBOzs7O0FBRUE7QUFDQTtBQUVlLFNBQVNBLG1CQUFULENBQTZCQyxRQUE3QixFQUF1QztBQUFBLDZCQUNoQixvQ0FEZ0I7QUFBQSxNQUM1Q0MsdUJBRDRDLHdCQUM1Q0EsdUJBRDRDOztBQUdwRCx3QkFBVSxZQUFNO0FBQUEsUUFDR0Msb0JBREgsR0FDNEJELHVCQUQ1QixDQUNORSxPQURNO0FBR2RELElBQUFBLG9CQUFvQixDQUFDRSxJQUFyQixDQUEwQkosUUFBMUI7QUFFQSxXQUFPO0FBQUEsYUFBTSwyQkFBYUUsb0JBQWIsRUFBbUNGLFFBQW5DLENBQU47QUFBQSxLQUFQO0FBQ0QsR0FORCxFQU1HLENBQUNBLFFBQUQsRUFBV0MsdUJBQVgsQ0FOSDtBQU9EIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCByZW1vdmVJbmxpbmUgZnJvbSAnLi4vLi4vVXRpbHMvcmVtb3ZlSW5saW5lJztcbmltcG9ydCB1c2VXZWJDaGF0VUlDb250ZXh0IGZyb20gJy4vdXNlV2ViQ2hhdFVJQ29udGV4dCc7XG5cbi8vIFRoaXMgaG9vayBpcyBmb3IgcmVnaXN0ZXJpbmcgYW5kIHVucmVnaXN0ZXIgYSBjYWxsYmFjaywgdXNlZCBieSA8QmFzaWNUcmFuc2NyaXB0Pi5cbi8vIFdoZW4gY2FsbGVkLCB0aGUgY2FsbGJhY2sgc2hvdWxkIHNjcm9sbCB0aGUgdHJhbnNjcmlwdCB0byB0aGUgZW5kLlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VSZWdpc3RlclNjcm9sbFRvKGNhbGxiYWNrKSB7XG4gIGNvbnN0IHsgc2Nyb2xsVG9FbmRDYWxsYmFja3NSZWYgfSA9IHVzZVdlYkNoYXRVSUNvbnRleHQoKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudDogc2Nyb2xsVG9FbmRDYWxsYmFja3MgfSA9IHNjcm9sbFRvRW5kQ2FsbGJhY2tzUmVmO1xuXG4gICAgc2Nyb2xsVG9FbmRDYWxsYmFja3MucHVzaChjYWxsYmFjayk7XG5cbiAgICByZXR1cm4gKCkgPT4gcmVtb3ZlSW5saW5lKHNjcm9sbFRvRW5kQ2FsbGJhY2tzLCBjYWxsYmFjayk7XG4gIH0sIFtjYWxsYmFjaywgc2Nyb2xsVG9FbmRDYWxsYmFja3NSZWZdKTtcbn1cbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VSZWdpc3RlclNjcm9sbFRvRW5kLmpzIl0sIm5hbWVzIjpbInVzZVJlZ2lzdGVyU2Nyb2xsVG8iLCJjYWxsYmFjayIsInNjcm9sbFRvRW5kQ2FsbGJhY2tzUmVmIiwic2Nyb2xsVG9FbmRDYWxsYmFja3MiLCJjdXJyZW50IiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUVBOztBQUNBOzs7O0FBRUE7QUFDQTtBQUVlLFNBQVNBLG1CQUFULENBQTZCQyxRQUE3QixFQUF1QztBQUNwRCw2QkFBb0Msb0NBQXBDO0FBQUEsTUFBUUMsdUJBQVIsd0JBQVFBLHVCQUFSOztBQUVBLHdCQUFVLFlBQU07QUFDZCxRQUFpQkMsb0JBQWpCLEdBQTBDRCx1QkFBMUMsQ0FBUUUsT0FBUjtBQUVBRCxJQUFBQSxvQkFBb0IsQ0FBQ0UsSUFBckIsQ0FBMEJKLFFBQTFCO0FBRUEsV0FBTztBQUFBLGFBQU0sMkJBQWFFLG9CQUFiLEVBQW1DRixRQUFuQyxDQUFOO0FBQUEsS0FBUDtBQUNELEdBTkQsRUFNRyxDQUFDQSxRQUFELEVBQVdDLHVCQUFYLENBTkg7QUFPRCIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgcmVtb3ZlSW5saW5lIGZyb20gJy4uLy4uL1V0aWxzL3JlbW92ZUlubGluZSc7XG5pbXBvcnQgdXNlV2ViQ2hhdFVJQ29udGV4dCBmcm9tICcuL3VzZVdlYkNoYXRVSUNvbnRleHQnO1xuXG4vLyBUaGlzIGhvb2sgaXMgZm9yIHJlZ2lzdGVyaW5nIGFuZCB1bnJlZ2lzdGVyIGEgY2FsbGJhY2ssIHVzZWQgYnkgPEJhc2ljVHJhbnNjcmlwdD4uXG4vLyBXaGVuIGNhbGxlZCwgdGhlIGNhbGxiYWNrIHNob3VsZCBzY3JvbGwgdGhlIHRyYW5zY3JpcHQgdG8gdGhlIGVuZC5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlUmVnaXN0ZXJTY3JvbGxUbyhjYWxsYmFjaykge1xuICBjb25zdCB7IHNjcm9sbFRvRW5kQ2FsbGJhY2tzUmVmIH0gPSB1c2VXZWJDaGF0VUlDb250ZXh0KCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB7IGN1cnJlbnQ6IHNjcm9sbFRvRW5kQ2FsbGJhY2tzIH0gPSBzY3JvbGxUb0VuZENhbGxiYWNrc1JlZjtcblxuICAgIHNjcm9sbFRvRW5kQ2FsbGJhY2tzLnB1c2goY2FsbGJhY2spO1xuXG4gICAgcmV0dXJuICgpID0+IHJlbW92ZUlubGluZShzY3JvbGxUb0VuZENhbGxiYWNrcywgY2FsbGJhY2spO1xuICB9LCBbY2FsbGJhY2ssIHNjcm9sbFRvRW5kQ2FsbGJhY2tzUmVmXSk7XG59XG4iXX0=
@@ -17,7 +17,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
17
17
 
18
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; }
19
19
 
20
- 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; }
21
21
 
22
22
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
23
23
 
@@ -69,4 +69,4 @@ function useReplaceEmoticon() {
69
69
  };
70
70
  }, [emojiSet]);
71
71
  }
72
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VSZXBsYWNlRW1vdGljb24uanMiXSwibmFtZXMiOlsidXNlU3R5bGVPcHRpb25zIiwiaG9va3MiLCJ1c2VSZXBsYWNlRW1vdGljb24iLCJlbW9qaVNldCIsInNlbGVjdGlvbkVuZCIsInNlbGVjdGlvblN0YXJ0IiwidmFsdWUiLCJjb25zb2xlIiwid2FybiIsIk9iamVjdCIsImVudHJpZXMiLCJldmVyeSIsImVtb3RpY29uIiwiZW1vamkiLCJsZW5ndGgiLCJzbGljZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBOztBQUNBOzs7Ozs7Ozs7Ozs7OztJQUVRQSxlLEdBQW9CQyw2QixDQUFwQkQsZTs7QUFFTyxTQUFTRSxrQkFBVCxHQUE4QjtBQUFBLHlCQUNwQkYsZUFBZSxFQURLO0FBQUE7QUFBQSxNQUNsQ0csUUFEa0Msd0JBQ2xDQSxRQURrQzs7QUFHM0MsU0FBTyx5QkFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQTZDO0FBQUEsUUFBMUNDLFlBQTBDLFFBQTFDQSxZQUEwQztBQUFBLFFBQTVCQyxjQUE0QixRQUE1QkEsY0FBNEI7QUFBQSxRQUFaQyxLQUFZLFFBQVpBLEtBQVk7O0FBQzNDLFFBQUksT0FBT0YsWUFBUCxLQUF3QixRQUE1QixFQUFzQztBQUNwQ0csTUFBQUEsT0FBTyxDQUFDQyxJQUFSLENBQ0UscUpBREY7QUFHRCxLQUpELE1BSU8sSUFBSSxPQUFPSCxjQUFQLEtBQTBCLFFBQTlCLEVBQXdDO0FBQzdDRSxNQUFBQSxPQUFPLENBQUNDLElBQVIsQ0FDRSx1SkFERjtBQUdELEtBSk0sTUFJQSxJQUFJLE9BQU9GLEtBQVAsS0FBaUIsUUFBckIsRUFBK0I7QUFDcENDLE1BQUFBLE9BQU8sQ0FBQ0MsSUFBUixDQUNFLCtHQURGO0FBR0QsS0FiMEMsQ0FlM0M7OztBQUNBSixJQUFBQSxZQUFZLEtBQUtDLGNBQWpCLElBQ0VJLE1BQU0sQ0FBQ0MsT0FBUCxDQUFlUCxRQUFmLEVBQXlCUSxLQUF6QixDQUErQixpQkFBdUI7QUFBQTtBQUFBLFVBQXJCQyxRQUFxQjtBQUFBLFVBQVhDLEtBQVc7O0FBQUEsVUFDNUNDLE1BRDRDLEdBQ2pDRixRQURpQyxDQUM1Q0UsTUFENEM7O0FBR3BELFVBQUlSLEtBQUssQ0FBQ1MsS0FBTixDQUFZVixjQUFjLEdBQUdTLE1BQTdCLEVBQXFDVCxjQUFyQyxNQUF5RE8sUUFBN0QsRUFBdUU7QUFDckVOLFFBQUFBLEtBQUssYUFBTUEsS0FBSyxDQUFDUyxLQUFOLENBQVksQ0FBWixFQUFlVixjQUFjLEdBQUdTLE1BQWhDLENBQU4sU0FBZ0RELEtBQWhELFNBQXdEUCxLQUFLLENBQUNTLEtBQU4sQ0FBWVYsY0FBWixDQUF4RCxDQUFMO0FBQ0FELFFBQUFBLFlBQVksR0FBR0MsY0FBYyxJQUFJUSxLQUFLLENBQUNDLE1BQU4sR0FBZUEsTUFBaEQ7QUFFQSxlQUFPLEtBQVA7QUFDRDs7QUFFRCxhQUFPLElBQVA7QUFDRCxLQVhELENBREY7QUFjQSxXQUFPO0FBQUVWLE1BQUFBLFlBQVksRUFBWkEsWUFBRjtBQUFnQkMsTUFBQUEsY0FBYyxFQUFkQSxjQUFoQjtBQUFnQ0MsTUFBQUEsS0FBSyxFQUFMQTtBQUFoQyxLQUFQO0FBQ0QsR0FyQ0ksRUFzQ0wsQ0FBQ0gsUUFBRCxDQXRDSyxDQUFQO0FBd0NEIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyIvKmVzbGludCByZXF1aXJlLXVuaWNvZGUtcmVnZXhwOiBcIm9mZlwiICovXG5cbmltcG9ydCB7IGhvb2tzIH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtYXBpJztcbmltcG9ydCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuXG5jb25zdCB7IHVzZVN0eWxlT3B0aW9ucyB9ID0gaG9va3M7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZVJlcGxhY2VFbW90aWNvbigpIHtcbiAgY29uc3QgW3sgZW1vamlTZXQgfV0gPSB1c2VTdHlsZU9wdGlvbnMoKTtcblxuICByZXR1cm4gdXNlQ2FsbGJhY2soXG4gICAgLy8gV2UgbmVlZCB0byBrbm93IHdoZXJlIChpbiBvZmZzZXQpIHRoZSBjaGFuZ2UgaXMsIHRoZW4gd2UgY2FuIGRlY2lkZSB3aGljaCBlbW90aWNvbiB0byB1cGRhdGUuXG4gICAgLy8gV2UgbmVlZCB0byBkaXN0aW5ndWlzaCBpbiB0aGlzIGNhc2UsIHN0cmluZyBjaGFuZ2UgZnJvbSBcImFiYzopeHl6XCIgdG8gXCJhYmM6KSl4eXpcIi5cbiAgICAvLyBJZiB0aGUgY2FyZXQgcG9zaXRpb24gaXMgYWZ0ZXIgdGhlIGZpcnN0IHBhcmVudGhlc2lzLCB3ZSB3aWxsIGNoYW5nZSBpdCB0byBcImFiY/CfmIopeHl6XCIuXG4gICAgLy8gQnV0IGlmIHRoZSBjYXJldCBwb3NpdGlvbiBpcyBhZnRlciB0aGUgc2Vjb25kIHBhcmVudGhlc2lzLCB3ZSB3aWxsIG5vdCBjaGFuZ2UgaXQgYnV0IGxlYXZlIGl0IGFzIFwiYWJjOikpeHl6XCIuXG4gICAgLy8gVGhpcyBpcyBiZWNhdXNlIHRoZSB1c2VyIGFscmVhZHkgZGVjaWRlZCB0byB1bmRvIHRoZSBlbW9qaSBhbmQganVzdCBhZGRlZCBhIHBhcmVudGhlc2lzIGFmdGVyIHRoZSBlbW90aWNvbi4gSXQgc2hvdWxkIG5vdCBhZmZlY3QgdGhlIGVtb3RpY29uLlxuICAgICh7IHNlbGVjdGlvbkVuZCwgc2VsZWN0aW9uU3RhcnQsIHZhbHVlIH0pID0+IHtcbiAgICAgIGlmICh0eXBlb2Ygc2VsZWN0aW9uRW5kICE9PSAnbnVtYmVyJykge1xuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgJ2JvdGZyYW1ld29yay13ZWJjaGF0OiBUaGUgZmlyc3QgYXJndW1lbnQgcGFzc2VkIHRvIFwidXNlUmVwbGFjZUVtb3RpY29uXCIgbXVzdCBjb250YWlucyBcInNlbGVjdGlvbkVuZFwiIG9mIHR5cGUgbnVtYmVyLCBpbmRpY2F0aW5nIHRoZSBjYXJldCBwb3NpdGlvbi4nXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBzZWxlY3Rpb25TdGFydCAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICdib3RmcmFtZXdvcmstd2ViY2hhdDogVGhlIGZpcnN0IGFyZ3VtZW50IHBhc3NlZCB0byBcInVzZVJlcGxhY2VFbW90aWNvblwiIG11c3QgY29udGFpbnMgXCJzZWxlY3Rpb25TdGFydFwiIG9mIHR5cGUgbnVtYmVyLCBpbmRpY2F0aW5nIHRoZSBjYXJldCBwb3NpdGlvbi4nXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICdib3RmcmFtZXdvcmstd2ViY2hhdDogVGhlIGZpcnN0IGFyZ3VtZW50IHBhc3NlZCB0byBcInVzZVJlcGxhY2VFbW90aWNvblwiIG11c3QgY29udGFpbnMgXCJ2YWx1ZVwiIG9mIHR5cGUgc3RyaW5nLidcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gV2Ugb25seSBjaGFuZ2Ugd2hlbiB0aGUgdXNlciBpcyBub3Qgc2VsZWN0aW5nIGFueXRoaW5nLlxuICAgICAgc2VsZWN0aW9uRW5kID09PSBzZWxlY3Rpb25TdGFydCAmJlxuICAgICAgICBPYmplY3QuZW50cmllcyhlbW9qaVNldCkuZXZlcnkoKFtlbW90aWNvbiwgZW1vamldKSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBsZW5ndGggfSA9IGVtb3RpY29uO1xuXG4gICAgICAgICAgaWYgKHZhbHVlLnNsaWNlKHNlbGVjdGlvblN0YXJ0IC0gbGVuZ3RoLCBzZWxlY3Rpb25TdGFydCkgPT09IGVtb3RpY29uKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IGAke3ZhbHVlLnNsaWNlKDAsIHNlbGVjdGlvblN0YXJ0IC0gbGVuZ3RoKX0ke2Vtb2ppfSR7dmFsdWUuc2xpY2Uoc2VsZWN0aW9uU3RhcnQpfWA7XG4gICAgICAgICAgICBzZWxlY3Rpb25FbmQgPSBzZWxlY3Rpb25TdGFydCArPSBlbW9qaS5sZW5ndGggLSBsZW5ndGg7XG5cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSk7XG5cbiAgICAgIHJldHVybiB7IHNlbGVjdGlvbkVuZCwgc2VsZWN0aW9uU3RhcnQsIHZhbHVlIH07XG4gICAgfSxcbiAgICBbZW1vamlTZXRdXG4gICk7XG59XG4iXX0=
72
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VSZXBsYWNlRW1vdGljb24uanMiXSwibmFtZXMiOlsidXNlU3R5bGVPcHRpb25zIiwiaG9va3MiLCJ1c2VSZXBsYWNlRW1vdGljb24iLCJlbW9qaVNldCIsInNlbGVjdGlvbkVuZCIsInNlbGVjdGlvblN0YXJ0IiwidmFsdWUiLCJjb25zb2xlIiwid2FybiIsIk9iamVjdCIsImVudHJpZXMiLCJldmVyeSIsImVtb3RpY29uIiwiZW1vamkiLCJsZW5ndGgiLCJzbGljZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBOztBQUNBOzs7Ozs7Ozs7Ozs7OztBQUVBLElBQVFBLGVBQVIsR0FBNEJDLDZCQUE1QixDQUFRRCxlQUFSOztBQUVlLFNBQVNFLGtCQUFULEdBQThCO0FBQzNDLHlCQUF1QkYsZUFBZSxFQUF0QztBQUFBO0FBQUEsTUFBU0csUUFBVCx3QkFBU0EsUUFBVDs7QUFFQSxTQUFPLHlCQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBNkM7QUFBQSxRQUExQ0MsWUFBMEMsUUFBMUNBLFlBQTBDO0FBQUEsUUFBNUJDLGNBQTRCLFFBQTVCQSxjQUE0QjtBQUFBLFFBQVpDLEtBQVksUUFBWkEsS0FBWTs7QUFDM0MsUUFBSSxPQUFPRixZQUFQLEtBQXdCLFFBQTVCLEVBQXNDO0FBQ3BDRyxNQUFBQSxPQUFPLENBQUNDLElBQVIsQ0FDRSxxSkFERjtBQUdELEtBSkQsTUFJTyxJQUFJLE9BQU9ILGNBQVAsS0FBMEIsUUFBOUIsRUFBd0M7QUFDN0NFLE1BQUFBLE9BQU8sQ0FBQ0MsSUFBUixDQUNFLHVKQURGO0FBR0QsS0FKTSxNQUlBLElBQUksT0FBT0YsS0FBUCxLQUFpQixRQUFyQixFQUErQjtBQUNwQ0MsTUFBQUEsT0FBTyxDQUFDQyxJQUFSLENBQ0UsK0dBREY7QUFHRCxLQWIwQyxDQWUzQzs7O0FBQ0FKLElBQUFBLFlBQVksS0FBS0MsY0FBakIsSUFDRUksTUFBTSxDQUFDQyxPQUFQLENBQWVQLFFBQWYsRUFBeUJRLEtBQXpCLENBQStCLGlCQUF1QjtBQUFBO0FBQUEsVUFBckJDLFFBQXFCO0FBQUEsVUFBWEMsS0FBVzs7QUFDcEQsVUFBUUMsTUFBUixHQUFtQkYsUUFBbkIsQ0FBUUUsTUFBUjs7QUFFQSxVQUFJUixLQUFLLENBQUNTLEtBQU4sQ0FBWVYsY0FBYyxHQUFHUyxNQUE3QixFQUFxQ1QsY0FBckMsTUFBeURPLFFBQTdELEVBQXVFO0FBQ3JFTixRQUFBQSxLQUFLLGFBQU1BLEtBQUssQ0FBQ1MsS0FBTixDQUFZLENBQVosRUFBZVYsY0FBYyxHQUFHUyxNQUFoQyxDQUFOLFNBQWdERCxLQUFoRCxTQUF3RFAsS0FBSyxDQUFDUyxLQUFOLENBQVlWLGNBQVosQ0FBeEQsQ0FBTDtBQUNBRCxRQUFBQSxZQUFZLEdBQUdDLGNBQWMsSUFBSVEsS0FBSyxDQUFDQyxNQUFOLEdBQWVBLE1BQWhEO0FBRUEsZUFBTyxLQUFQO0FBQ0Q7O0FBRUQsYUFBTyxJQUFQO0FBQ0QsS0FYRCxDQURGO0FBY0EsV0FBTztBQUFFVixNQUFBQSxZQUFZLEVBQVpBLFlBQUY7QUFBZ0JDLE1BQUFBLGNBQWMsRUFBZEEsY0FBaEI7QUFBZ0NDLE1BQUFBLEtBQUssRUFBTEE7QUFBaEMsS0FBUDtBQUNELEdBckNJLEVBc0NMLENBQUNILFFBQUQsQ0F0Q0ssQ0FBUDtBQXdDRCIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiLyplc2xpbnQgcmVxdWlyZS11bmljb2RlLXJlZ2V4cDogXCJvZmZcIiAqL1xuXG5pbXBvcnQgeyBob29rcyB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWFwaSc7XG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcblxuY29uc3QgeyB1c2VTdHlsZU9wdGlvbnMgfSA9IGhvb2tzO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VSZXBsYWNlRW1vdGljb24oKSB7XG4gIGNvbnN0IFt7IGVtb2ppU2V0IH1dID0gdXNlU3R5bGVPcHRpb25zKCk7XG5cbiAgcmV0dXJuIHVzZUNhbGxiYWNrKFxuICAgIC8vIFdlIG5lZWQgdG8ga25vdyB3aGVyZSAoaW4gb2Zmc2V0KSB0aGUgY2hhbmdlIGlzLCB0aGVuIHdlIGNhbiBkZWNpZGUgd2hpY2ggZW1vdGljb24gdG8gdXBkYXRlLlxuICAgIC8vIFdlIG5lZWQgdG8gZGlzdGluZ3Vpc2ggaW4gdGhpcyBjYXNlLCBzdHJpbmcgY2hhbmdlIGZyb20gXCJhYmM6KXh5elwiIHRvIFwiYWJjOikpeHl6XCIuXG4gICAgLy8gSWYgdGhlIGNhcmV0IHBvc2l0aW9uIGlzIGFmdGVyIHRoZSBmaXJzdCBwYXJlbnRoZXNpcywgd2Ugd2lsbCBjaGFuZ2UgaXQgdG8gXCJhYmPwn5iKKXh5elwiLlxuICAgIC8vIEJ1dCBpZiB0aGUgY2FyZXQgcG9zaXRpb24gaXMgYWZ0ZXIgdGhlIHNlY29uZCBwYXJlbnRoZXNpcywgd2Ugd2lsbCBub3QgY2hhbmdlIGl0IGJ1dCBsZWF2ZSBpdCBhcyBcImFiYzopKXh5elwiLlxuICAgIC8vIFRoaXMgaXMgYmVjYXVzZSB0aGUgdXNlciBhbHJlYWR5IGRlY2lkZWQgdG8gdW5kbyB0aGUgZW1vamkgYW5kIGp1c3QgYWRkZWQgYSBwYXJlbnRoZXNpcyBhZnRlciB0aGUgZW1vdGljb24uIEl0IHNob3VsZCBub3QgYWZmZWN0IHRoZSBlbW90aWNvbi5cbiAgICAoeyBzZWxlY3Rpb25FbmQsIHNlbGVjdGlvblN0YXJ0LCB2YWx1ZSB9KSA9PiB7XG4gICAgICBpZiAodHlwZW9mIHNlbGVjdGlvbkVuZCAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICdib3RmcmFtZXdvcmstd2ViY2hhdDogVGhlIGZpcnN0IGFyZ3VtZW50IHBhc3NlZCB0byBcInVzZVJlcGxhY2VFbW90aWNvblwiIG11c3QgY29udGFpbnMgXCJzZWxlY3Rpb25FbmRcIiBvZiB0eXBlIG51bWJlciwgaW5kaWNhdGluZyB0aGUgY2FyZXQgcG9zaXRpb24uJ1xuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2Ygc2VsZWN0aW9uU3RhcnQgIT09ICdudW1iZXInKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAnYm90ZnJhbWV3b3JrLXdlYmNoYXQ6IFRoZSBmaXJzdCBhcmd1bWVudCBwYXNzZWQgdG8gXCJ1c2VSZXBsYWNlRW1vdGljb25cIiBtdXN0IGNvbnRhaW5zIFwic2VsZWN0aW9uU3RhcnRcIiBvZiB0eXBlIG51bWJlciwgaW5kaWNhdGluZyB0aGUgY2FyZXQgcG9zaXRpb24uJ1xuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAnYm90ZnJhbWV3b3JrLXdlYmNoYXQ6IFRoZSBmaXJzdCBhcmd1bWVudCBwYXNzZWQgdG8gXCJ1c2VSZXBsYWNlRW1vdGljb25cIiBtdXN0IGNvbnRhaW5zIFwidmFsdWVcIiBvZiB0eXBlIHN0cmluZy4nXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIFdlIG9ubHkgY2hhbmdlIHdoZW4gdGhlIHVzZXIgaXMgbm90IHNlbGVjdGluZyBhbnl0aGluZy5cbiAgICAgIHNlbGVjdGlvbkVuZCA9PT0gc2VsZWN0aW9uU3RhcnQgJiZcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoZW1vamlTZXQpLmV2ZXJ5KChbZW1vdGljb24sIGVtb2ppXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgbGVuZ3RoIH0gPSBlbW90aWNvbjtcblxuICAgICAgICAgIGlmICh2YWx1ZS5zbGljZShzZWxlY3Rpb25TdGFydCAtIGxlbmd0aCwgc2VsZWN0aW9uU3RhcnQpID09PSBlbW90aWNvbikge1xuICAgICAgICAgICAgdmFsdWUgPSBgJHt2YWx1ZS5zbGljZSgwLCBzZWxlY3Rpb25TdGFydCAtIGxlbmd0aCl9JHtlbW9qaX0ke3ZhbHVlLnNsaWNlKHNlbGVjdGlvblN0YXJ0KX1gO1xuICAgICAgICAgICAgc2VsZWN0aW9uRW5kID0gc2VsZWN0aW9uU3RhcnQgKz0gZW1vamkubGVuZ3RoIC0gbGVuZ3RoO1xuXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0pO1xuXG4gICAgICByZXR1cm4geyBzZWxlY3Rpb25FbmQsIHNlbGVjdGlvblN0YXJ0LCB2YWx1ZSB9O1xuICAgIH0sXG4gICAgW2Vtb2ppU2V0XVxuICApO1xufVxuIl19