@patternfly/chatbot 6.3.0-prerelease.13 → 6.3.0-prerelease.14

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 (529) hide show
  1. package/dist/cjs/AttachMenu/AttachMenu.d.ts +2 -2
  2. package/dist/cjs/AttachMenu/AttachMenu.js +2 -12
  3. package/dist/cjs/AttachmentEdit/AttachmentEdit.d.ts +12 -2
  4. package/dist/cjs/AttachmentEdit/AttachmentEdit.js +3 -6
  5. package/dist/cjs/AttachmentEdit/AttachmentEdit.test.d.ts +1 -1
  6. package/dist/cjs/AttachmentEdit/AttachmentEdit.test.js +33 -8
  7. package/dist/cjs/Chatbot/Chatbot.d.ts +1 -2
  8. package/dist/cjs/Chatbot/Chatbot.js +4 -9
  9. package/dist/cjs/Chatbot/Chatbot.test.js +11 -11
  10. package/dist/cjs/ChatbotAlert/ChatbotAlert.d.ts +2 -2
  11. package/dist/cjs/ChatbotAlert/ChatbotAlert.js +4 -8
  12. package/dist/cjs/ChatbotAlert/ChatbotAlert.test.js +10 -10
  13. package/dist/cjs/ChatbotContent/ChatbotContent.d.ts +3 -3
  14. package/dist/cjs/ChatbotContent/ChatbotContent.js +2 -8
  15. package/dist/cjs/ChatbotContent/ChatbotContent.test.js +5 -5
  16. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.d.ts +2 -2
  17. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +7 -11
  18. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +31 -33
  19. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +2 -2
  20. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +16 -33
  21. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +56 -64
  22. package/dist/cjs/ChatbotConversationHistoryNav/EmptyState.d.ts +2 -2
  23. package/dist/cjs/ChatbotConversationHistoryNav/EmptyState.js +2 -9
  24. package/dist/cjs/ChatbotConversationHistoryNav/LoadingState.d.ts +2 -2
  25. package/dist/cjs/ChatbotConversationHistoryNav/LoadingState.js +2 -25
  26. package/dist/cjs/ChatbotFooter/ChatbotFooter.d.ts +3 -3
  27. package/dist/cjs/ChatbotFooter/ChatbotFooter.js +2 -15
  28. package/dist/cjs/ChatbotFooter/ChatbotFooter.test.js +7 -7
  29. package/dist/cjs/ChatbotFooter/ChatbotFooternote.test.js +28 -28
  30. package/dist/cjs/ChatbotFooter/ChatbotFootnote.d.ts +3 -3
  31. package/dist/cjs/ChatbotFooter/ChatbotFootnote.js +10 -23
  32. package/dist/cjs/ChatbotHeader/ChatbotHeader.d.ts +3 -3
  33. package/dist/cjs/ChatbotHeader/ChatbotHeader.js +2 -7
  34. package/dist/cjs/ChatbotHeader/ChatbotHeader.test.js +5 -5
  35. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.d.ts +2 -2
  36. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.js +2 -5
  37. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.test.js +5 -5
  38. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +1 -2
  39. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.js +5 -10
  40. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.js +7 -10
  41. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.d.ts +2 -2
  42. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.js +2 -5
  43. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.test.js +5 -5
  44. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.d.ts +2 -2
  45. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.js +5 -7
  46. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.js +7 -10
  47. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +6 -3
  48. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +8 -9
  49. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +19 -21
  50. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +6 -3
  51. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +9 -12
  52. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +17 -19
  53. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.d.ts +2 -2
  54. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.js +2 -5
  55. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.test.js +23 -23
  56. package/dist/cjs/ChatbotModal/ChatbotModal.d.ts +2 -2
  57. package/dist/cjs/ChatbotModal/ChatbotModal.js +3 -9
  58. package/dist/cjs/ChatbotModal/ChatbotModal.test.js +4 -16
  59. package/dist/cjs/ChatbotPopover/ChatbotPopover.d.ts +2 -2
  60. package/dist/cjs/ChatbotPopover/ChatbotPopover.js +2 -8
  61. package/dist/cjs/ChatbotToggle/ChatbotToggle.d.ts +1 -2
  62. package/dist/cjs/ChatbotToggle/ChatbotToggle.js +8 -13
  63. package/dist/cjs/ChatbotToggle/ChatbotToggle.test.js +25 -25
  64. package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +2 -2
  65. package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +6 -20
  66. package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +16 -16
  67. package/dist/cjs/CodeModal/CodeModal.d.ts +8 -2
  68. package/dist/cjs/CodeModal/CodeModal.js +8 -20
  69. package/dist/cjs/CodeModal/CodeModal.test.js +23 -4
  70. package/dist/cjs/Compare/Compare.d.ts +2 -2
  71. package/dist/cjs/Compare/Compare.js +7 -16
  72. package/dist/cjs/Compare/Compare.test.js +7 -9
  73. package/dist/cjs/FileDetails/FileDetails.d.ts +2 -2
  74. package/dist/cjs/FileDetails/FileDetails.js +2 -15
  75. package/dist/cjs/FileDetails/FileDetails.test.js +10 -10
  76. package/dist/cjs/FileDetailsLabel/FileDetailsLabel.d.ts +2 -2
  77. package/dist/cjs/FileDetailsLabel/FileDetailsLabel.js +2 -5
  78. package/dist/cjs/FileDetailsLabel/FileDetailsLabel.test.js +21 -21
  79. package/dist/cjs/FileDropZone/FileDropZone.d.ts +2 -2
  80. package/dist/cjs/FileDropZone/FileDropZone.js +5 -8
  81. package/dist/cjs/FileDropZone/FileDropZone.test.js +5 -5
  82. package/dist/cjs/LoadingMessage/LoadingMessage.d.ts +2 -2
  83. package/dist/cjs/LoadingMessage/LoadingMessage.js +2 -10
  84. package/dist/cjs/LoadingMessage/LoadingMessage.test.js +6 -6
  85. package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.d.ts +1 -2
  86. package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.js +10 -15
  87. package/dist/cjs/Message/ErrorMessage/ErrorMessage.d.ts +1 -2
  88. package/dist/cjs/Message/ErrorMessage/ErrorMessage.js +5 -8
  89. package/dist/cjs/Message/ImageMessage/ImageMessage.d.ts +1 -2
  90. package/dist/cjs/Message/ImageMessage/ImageMessage.js +2 -8
  91. package/dist/cjs/Message/LinkMessage/LinkMessage.d.ts +1 -2
  92. package/dist/cjs/Message/LinkMessage/LinkMessage.js +6 -9
  93. package/dist/cjs/Message/ListMessage/ListItemMessage.d.ts +1 -2
  94. package/dist/cjs/Message/ListMessage/ListItemMessage.js +2 -8
  95. package/dist/cjs/Message/ListMessage/OrderedListMessage.d.ts +1 -2
  96. package/dist/cjs/Message/ListMessage/OrderedListMessage.js +2 -9
  97. package/dist/cjs/Message/ListMessage/UnorderedListMessage.d.ts +1 -2
  98. package/dist/cjs/Message/ListMessage/UnorderedListMessage.js +2 -9
  99. package/dist/cjs/Message/Message.d.ts +8 -7
  100. package/dist/cjs/Message/Message.js +47 -70
  101. package/dist/cjs/Message/Message.test.js +75 -79
  102. package/dist/cjs/Message/MessageInput.d.ts +2 -2
  103. package/dist/cjs/Message/MessageInput.js +5 -14
  104. package/dist/cjs/Message/MessageLoading.d.ts +1 -2
  105. package/dist/cjs/Message/MessageLoading.js +3 -8
  106. package/dist/cjs/Message/QuickResponse/QuickResponse.d.ts +2 -2
  107. package/dist/cjs/Message/QuickResponse/QuickResponse.js +7 -9
  108. package/dist/cjs/Message/QuickStarts/FallbackImg.d.ts +2 -2
  109. package/dist/cjs/Message/QuickStarts/FallbackImg.js +5 -27
  110. package/dist/cjs/Message/QuickStarts/QuickStartTile.d.ts +2 -2
  111. package/dist/cjs/Message/QuickStarts/QuickStartTile.js +7 -43
  112. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.d.ts +2 -2
  113. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.js +9 -38
  114. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.js +16 -16
  115. package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.d.ts +2 -2
  116. package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.js +2 -26
  117. package/dist/cjs/Message/QuickStarts/types.d.ts +4 -3
  118. package/dist/cjs/Message/TableMessage/TableMessage.d.ts +1 -2
  119. package/dist/cjs/Message/TableMessage/TableMessage.js +8 -10
  120. package/dist/cjs/Message/TableMessage/TbodyMessage.d.ts +2 -3
  121. package/dist/cjs/Message/TableMessage/TbodyMessage.js +7 -9
  122. package/dist/cjs/Message/TableMessage/TdMessage.d.ts +1 -2
  123. package/dist/cjs/Message/TableMessage/TdMessage.js +2 -8
  124. package/dist/cjs/Message/TableMessage/ThMessage.d.ts +1 -2
  125. package/dist/cjs/Message/TableMessage/ThMessage.js +2 -8
  126. package/dist/cjs/Message/TableMessage/TheadMessage.d.ts +1 -2
  127. package/dist/cjs/Message/TableMessage/TheadMessage.js +2 -8
  128. package/dist/cjs/Message/TableMessage/TrMessage.d.ts +2 -3
  129. package/dist/cjs/Message/TableMessage/TrMessage.js +8 -10
  130. package/dist/cjs/Message/TextMessage/TextMessage.d.ts +1 -2
  131. package/dist/cjs/Message/TextMessage/TextMessage.js +2 -9
  132. package/dist/cjs/Message/UserFeedback/CloseButton.d.ts +2 -2
  133. package/dist/cjs/Message/UserFeedback/CloseButton.js +2 -8
  134. package/dist/cjs/Message/UserFeedback/UserFeedback.d.ts +2 -2
  135. package/dist/cjs/Message/UserFeedback/UserFeedback.js +12 -23
  136. package/dist/cjs/Message/UserFeedback/UserFeedback.test.js +53 -53
  137. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
  138. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.js +20 -44
  139. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.js +81 -91
  140. package/dist/cjs/MessageBar/AttachButton.d.ts +1 -2
  141. package/dist/cjs/MessageBar/AttachButton.js +6 -15
  142. package/dist/cjs/MessageBar/AttachButton.test.js +24 -24
  143. package/dist/cjs/MessageBar/MessageBar.d.ts +2 -2
  144. package/dist/cjs/MessageBar/MessageBar.js +21 -27
  145. package/dist/cjs/MessageBar/MessageBar.test.js +101 -115
  146. package/dist/cjs/MessageBar/MicrophoneButton.d.ts +2 -2
  147. package/dist/cjs/MessageBar/MicrophoneButton.js +7 -14
  148. package/dist/cjs/MessageBar/SendButton.d.ts +3 -2
  149. package/dist/cjs/MessageBar/SendButton.js +3 -11
  150. package/dist/cjs/MessageBar/SendButton.test.js +15 -15
  151. package/dist/cjs/MessageBar/StopButton.d.ts +3 -2
  152. package/dist/cjs/MessageBar/StopButton.js +3 -12
  153. package/dist/cjs/MessageBar/StopButton.test.js +15 -15
  154. package/dist/cjs/MessageBox/JumpButton.d.ts +2 -2
  155. package/dist/cjs/MessageBox/JumpButton.js +2 -10
  156. package/dist/cjs/MessageBox/JumpButton.test.js +10 -10
  157. package/dist/cjs/MessageBox/MessageBox.d.ts +3 -3
  158. package/dist/cjs/MessageBox/MessageBox.js +13 -20
  159. package/dist/cjs/MessageBox/MessageBox.test.js +7 -10
  160. package/dist/cjs/PreviewAttachment/PreviewAttachment.d.ts +12 -2
  161. package/dist/cjs/PreviewAttachment/PreviewAttachment.js +3 -6
  162. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.d.ts +1 -1
  163. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.js +34 -12
  164. package/dist/cjs/ResponseActions/ResponseActionButton.d.ts +3 -3
  165. package/dist/cjs/ResponseActions/ResponseActionButton.js +5 -8
  166. package/dist/cjs/ResponseActions/ResponseActionButton.test.js +19 -19
  167. package/dist/cjs/ResponseActions/ResponseActions.d.ts +2 -2
  168. package/dist/cjs/ResponseActions/ResponseActions.js +10 -14
  169. package/dist/cjs/ResponseActions/ResponseActions.test.js +42 -42
  170. package/dist/cjs/Settings/SettingsForm.d.ts +2 -2
  171. package/dist/cjs/Settings/SettingsForm.js +2 -8
  172. package/dist/cjs/Settings/SettingsForm.test.js +9 -12
  173. package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
  174. package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -11
  175. package/dist/cjs/SourcesCard/SourcesCard.d.ts +2 -2
  176. package/dist/cjs/SourcesCard/SourcesCard.js +16 -42
  177. package/dist/cjs/SourcesCard/SourcesCard.test.js +60 -60
  178. package/dist/cjs/TermsOfUse/TermsOfUse.d.ts +3 -3
  179. package/dist/cjs/TermsOfUse/TermsOfUse.js +4 -16
  180. package/dist/cjs/TermsOfUse/TermsOfUse.test.js +31 -33
  181. package/dist/esm/AttachMenu/AttachMenu.d.ts +2 -2
  182. package/dist/esm/AttachMenu/AttachMenu.js +2 -9
  183. package/dist/esm/AttachmentEdit/AttachmentEdit.d.ts +12 -2
  184. package/dist/esm/AttachmentEdit/AttachmentEdit.js +3 -6
  185. package/dist/esm/AttachmentEdit/AttachmentEdit.test.d.ts +1 -1
  186. package/dist/esm/AttachmentEdit/AttachmentEdit.test.js +30 -5
  187. package/dist/esm/Chatbot/Chatbot.d.ts +1 -2
  188. package/dist/esm/Chatbot/Chatbot.js +4 -6
  189. package/dist/esm/Chatbot/Chatbot.test.js +6 -6
  190. package/dist/esm/ChatbotAlert/ChatbotAlert.d.ts +2 -2
  191. package/dist/esm/ChatbotAlert/ChatbotAlert.js +4 -5
  192. package/dist/esm/ChatbotAlert/ChatbotAlert.test.js +4 -4
  193. package/dist/esm/ChatbotContent/ChatbotContent.d.ts +3 -3
  194. package/dist/esm/ChatbotContent/ChatbotContent.js +2 -5
  195. package/dist/esm/ChatbotContent/ChatbotContent.test.js +3 -3
  196. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.d.ts +2 -2
  197. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +7 -11
  198. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +8 -10
  199. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +2 -2
  200. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +16 -33
  201. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +26 -34
  202. package/dist/esm/ChatbotConversationHistoryNav/EmptyState.d.ts +2 -2
  203. package/dist/esm/ChatbotConversationHistoryNav/EmptyState.js +2 -6
  204. package/dist/esm/ChatbotConversationHistoryNav/LoadingState.d.ts +2 -2
  205. package/dist/esm/ChatbotConversationHistoryNav/LoadingState.js +2 -22
  206. package/dist/esm/ChatbotFooter/ChatbotFooter.d.ts +3 -3
  207. package/dist/esm/ChatbotFooter/ChatbotFooter.js +2 -12
  208. package/dist/esm/ChatbotFooter/ChatbotFooter.test.js +4 -4
  209. package/dist/esm/ChatbotFooter/ChatbotFooternote.test.js +5 -5
  210. package/dist/esm/ChatbotFooter/ChatbotFootnote.d.ts +3 -3
  211. package/dist/esm/ChatbotFooter/ChatbotFootnote.js +10 -23
  212. package/dist/esm/ChatbotHeader/ChatbotHeader.d.ts +3 -3
  213. package/dist/esm/ChatbotHeader/ChatbotHeader.js +2 -4
  214. package/dist/esm/ChatbotHeader/ChatbotHeader.test.js +3 -3
  215. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.d.ts +2 -2
  216. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.js +2 -2
  217. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.js +3 -3
  218. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +1 -2
  219. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.js +5 -7
  220. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.js +4 -4
  221. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.d.ts +2 -2
  222. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.js +2 -2
  223. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.js +3 -3
  224. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.d.ts +2 -2
  225. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.js +5 -7
  226. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.js +4 -4
  227. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +6 -3
  228. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +8 -9
  229. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +9 -8
  230. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +6 -3
  231. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +9 -9
  232. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +9 -8
  233. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.d.ts +2 -2
  234. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.js +2 -2
  235. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.js +12 -12
  236. package/dist/esm/ChatbotModal/ChatbotModal.d.ts +2 -2
  237. package/dist/esm/ChatbotModal/ChatbotModal.js +3 -6
  238. package/dist/esm/ChatbotModal/ChatbotModal.test.js +2 -14
  239. package/dist/esm/ChatbotPopover/ChatbotPopover.d.ts +2 -2
  240. package/dist/esm/ChatbotPopover/ChatbotPopover.js +2 -5
  241. package/dist/esm/ChatbotToggle/ChatbotToggle.d.ts +1 -2
  242. package/dist/esm/ChatbotToggle/ChatbotToggle.js +8 -13
  243. package/dist/esm/ChatbotToggle/ChatbotToggle.test.js +8 -8
  244. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +2 -2
  245. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +6 -17
  246. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +8 -8
  247. package/dist/esm/CodeModal/CodeModal.d.ts +8 -2
  248. package/dist/esm/CodeModal/CodeModal.js +8 -20
  249. package/dist/esm/CodeModal/CodeModal.test.js +22 -3
  250. package/dist/esm/Compare/Compare.d.ts +2 -2
  251. package/dist/esm/Compare/Compare.js +7 -13
  252. package/dist/esm/Compare/Compare.test.js +4 -6
  253. package/dist/esm/FileDetails/FileDetails.d.ts +2 -2
  254. package/dist/esm/FileDetails/FileDetails.js +2 -15
  255. package/dist/esm/FileDetails/FileDetails.test.js +4 -4
  256. package/dist/esm/FileDetailsLabel/FileDetailsLabel.d.ts +2 -2
  257. package/dist/esm/FileDetailsLabel/FileDetailsLabel.js +2 -5
  258. package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.js +9 -9
  259. package/dist/esm/FileDropZone/FileDropZone.d.ts +2 -2
  260. package/dist/esm/FileDropZone/FileDropZone.js +5 -5
  261. package/dist/esm/FileDropZone/FileDropZone.test.js +3 -3
  262. package/dist/esm/LoadingMessage/LoadingMessage.d.ts +2 -2
  263. package/dist/esm/LoadingMessage/LoadingMessage.js +2 -10
  264. package/dist/esm/LoadingMessage/LoadingMessage.test.js +3 -3
  265. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.d.ts +1 -2
  266. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.js +10 -15
  267. package/dist/esm/Message/ErrorMessage/ErrorMessage.d.ts +1 -2
  268. package/dist/esm/Message/ErrorMessage/ErrorMessage.js +5 -5
  269. package/dist/esm/Message/ImageMessage/ImageMessage.d.ts +1 -2
  270. package/dist/esm/Message/ImageMessage/ImageMessage.js +2 -5
  271. package/dist/esm/Message/LinkMessage/LinkMessage.d.ts +1 -2
  272. package/dist/esm/Message/LinkMessage/LinkMessage.js +6 -6
  273. package/dist/esm/Message/ListMessage/ListItemMessage.d.ts +1 -2
  274. package/dist/esm/Message/ListMessage/ListItemMessage.js +2 -5
  275. package/dist/esm/Message/ListMessage/OrderedListMessage.d.ts +1 -2
  276. package/dist/esm/Message/ListMessage/OrderedListMessage.js +2 -6
  277. package/dist/esm/Message/ListMessage/UnorderedListMessage.d.ts +1 -2
  278. package/dist/esm/Message/ListMessage/UnorderedListMessage.js +2 -6
  279. package/dist/esm/Message/Message.d.ts +8 -7
  280. package/dist/esm/Message/Message.js +47 -70
  281. package/dist/esm/Message/Message.test.js +75 -79
  282. package/dist/esm/Message/MessageInput.d.ts +2 -2
  283. package/dist/esm/Message/MessageInput.js +5 -11
  284. package/dist/esm/Message/MessageLoading.d.ts +1 -2
  285. package/dist/esm/Message/MessageLoading.js +2 -4
  286. package/dist/esm/Message/QuickResponse/QuickResponse.d.ts +2 -2
  287. package/dist/esm/Message/QuickResponse/QuickResponse.js +7 -6
  288. package/dist/esm/Message/QuickStarts/FallbackImg.d.ts +2 -2
  289. package/dist/esm/Message/QuickStarts/FallbackImg.js +5 -4
  290. package/dist/esm/Message/QuickStarts/QuickStartTile.d.ts +2 -2
  291. package/dist/esm/Message/QuickStarts/QuickStartTile.js +7 -20
  292. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.d.ts +2 -2
  293. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.js +9 -15
  294. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.js +5 -5
  295. package/dist/esm/Message/QuickStarts/QuickStartTileHeader.d.ts +2 -2
  296. package/dist/esm/Message/QuickStarts/QuickStartTileHeader.js +2 -3
  297. package/dist/esm/Message/QuickStarts/types.d.ts +4 -3
  298. package/dist/esm/Message/TableMessage/TableMessage.d.ts +1 -2
  299. package/dist/esm/Message/TableMessage/TableMessage.js +8 -7
  300. package/dist/esm/Message/TableMessage/TbodyMessage.d.ts +2 -3
  301. package/dist/esm/Message/TableMessage/TbodyMessage.js +7 -6
  302. package/dist/esm/Message/TableMessage/TdMessage.d.ts +1 -2
  303. package/dist/esm/Message/TableMessage/TdMessage.js +2 -5
  304. package/dist/esm/Message/TableMessage/ThMessage.d.ts +1 -2
  305. package/dist/esm/Message/TableMessage/ThMessage.js +2 -5
  306. package/dist/esm/Message/TableMessage/TheadMessage.d.ts +1 -2
  307. package/dist/esm/Message/TableMessage/TheadMessage.js +2 -5
  308. package/dist/esm/Message/TableMessage/TrMessage.d.ts +2 -3
  309. package/dist/esm/Message/TableMessage/TrMessage.js +8 -7
  310. package/dist/esm/Message/TextMessage/TextMessage.d.ts +1 -2
  311. package/dist/esm/Message/TextMessage/TextMessage.js +2 -6
  312. package/dist/esm/Message/UserFeedback/CloseButton.d.ts +2 -2
  313. package/dist/esm/Message/UserFeedback/CloseButton.js +2 -5
  314. package/dist/esm/Message/UserFeedback/UserFeedback.d.ts +2 -2
  315. package/dist/esm/Message/UserFeedback/UserFeedback.js +12 -23
  316. package/dist/esm/Message/UserFeedback/UserFeedback.test.js +21 -21
  317. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
  318. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.js +20 -44
  319. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.js +26 -36
  320. package/dist/esm/MessageBar/AttachButton.d.ts +1 -2
  321. package/dist/esm/MessageBar/AttachButton.js +6 -12
  322. package/dist/esm/MessageBar/AttachButton.test.js +10 -10
  323. package/dist/esm/MessageBar/MessageBar.d.ts +2 -2
  324. package/dist/esm/MessageBar/MessageBar.js +21 -27
  325. package/dist/esm/MessageBar/MessageBar.test.js +34 -48
  326. package/dist/esm/MessageBar/MicrophoneButton.d.ts +2 -2
  327. package/dist/esm/MessageBar/MicrophoneButton.js +7 -11
  328. package/dist/esm/MessageBar/SendButton.d.ts +3 -2
  329. package/dist/esm/MessageBar/SendButton.js +3 -8
  330. package/dist/esm/MessageBar/SendButton.test.js +4 -4
  331. package/dist/esm/MessageBar/StopButton.d.ts +3 -2
  332. package/dist/esm/MessageBar/StopButton.js +3 -9
  333. package/dist/esm/MessageBar/StopButton.test.js +4 -4
  334. package/dist/esm/MessageBox/JumpButton.d.ts +2 -2
  335. package/dist/esm/MessageBox/JumpButton.js +2 -7
  336. package/dist/esm/MessageBox/JumpButton.test.js +5 -5
  337. package/dist/esm/MessageBox/MessageBox.d.ts +3 -3
  338. package/dist/esm/MessageBox/MessageBox.js +13 -20
  339. package/dist/esm/MessageBox/MessageBox.test.js +7 -10
  340. package/dist/esm/PreviewAttachment/PreviewAttachment.d.ts +12 -2
  341. package/dist/esm/PreviewAttachment/PreviewAttachment.js +3 -6
  342. package/dist/esm/PreviewAttachment/PreviewAttachment.test.d.ts +1 -1
  343. package/dist/esm/PreviewAttachment/PreviewAttachment.test.js +30 -5
  344. package/dist/esm/ResponseActions/ResponseActionButton.d.ts +3 -3
  345. package/dist/esm/ResponseActions/ResponseActionButton.js +5 -5
  346. package/dist/esm/ResponseActions/ResponseActionButton.test.js +7 -7
  347. package/dist/esm/ResponseActions/ResponseActions.d.ts +2 -2
  348. package/dist/esm/ResponseActions/ResponseActions.js +10 -14
  349. package/dist/esm/ResponseActions/ResponseActions.test.js +15 -15
  350. package/dist/esm/Settings/SettingsForm.d.ts +2 -2
  351. package/dist/esm/Settings/SettingsForm.js +2 -5
  352. package/dist/esm/Settings/SettingsForm.test.js +6 -6
  353. package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
  354. package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -8
  355. package/dist/esm/SourcesCard/SourcesCard.d.ts +2 -2
  356. package/dist/esm/SourcesCard/SourcesCard.js +16 -39
  357. package/dist/esm/SourcesCard/SourcesCard.test.js +19 -19
  358. package/dist/esm/TermsOfUse/TermsOfUse.d.ts +3 -3
  359. package/dist/esm/TermsOfUse/TermsOfUse.js +4 -16
  360. package/dist/esm/TermsOfUse/TermsOfUse.test.js +10 -12
  361. package/package.json +3 -5
  362. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachMenu.tsx +9 -9
  363. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentEdit.tsx +5 -5
  364. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentError.tsx +2 -2
  365. package/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +10 -12
  366. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetails.tsx +2 -2
  367. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetailsLabel.tsx +9 -9
  368. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDropZone.tsx +4 -4
  369. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithAttachment.tsx +7 -7
  370. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithCustomResponseActions.tsx +2 -2
  371. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedback.tsx +4 -4
  372. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedbackTimeout.tsx +3 -3
  373. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickResponses.tsx +2 -2
  374. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickStart.tsx +2 -2
  375. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithResponseActions.tsx +2 -2
  376. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithSources.tsx +3 -3
  377. package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +1 -0
  378. package/patternfly-docs/content/extensions/chatbot/examples/Messages/PreviewAttachment.tsx +5 -5
  379. package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +11 -14
  380. package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessageWithExtraContent.tsx +4 -4
  381. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotContainer.tsx +59 -36
  382. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFooter.tsx +2 -2
  383. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFootnote.tsx +2 -2
  384. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderBasic.tsx +10 -13
  385. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawer.tsx +10 -10
  386. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerNavigation.tsx +5 -5
  387. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerResizable.tsx +5 -5
  388. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithActions.tsx +4 -4
  389. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithSelection.tsx +5 -5
  390. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderTitle.tsx +59 -34
  391. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBar.tsx +2 -2
  392. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarAttach.tsx +9 -9
  393. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarDisabled.tsx +3 -3
  394. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarLanguage.tsx +2 -2
  395. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarStop.tsx +2 -2
  396. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotModal.tsx +74 -37
  397. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotToggleBasic.tsx +3 -3
  398. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomeInteraction.tsx +7 -7
  399. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomePrompt.tsx +3 -3
  400. package/patternfly-docs/content/extensions/chatbot/examples/UI/CompactSettings.tsx +16 -23
  401. package/patternfly-docs/content/extensions/chatbot/examples/UI/CustomClosedIcon.tsx +3 -3
  402. package/patternfly-docs/content/extensions/chatbot/examples/UI/Settings.tsx +16 -23
  403. package/patternfly-docs/content/extensions/chatbot/examples/UI/SkipToContent.tsx +5 -5
  404. package/patternfly-docs/content/extensions/chatbot/examples/UI/SquareChatbotToggle.tsx +3 -3
  405. package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUse.tsx +91 -48
  406. package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUseCompact.tsx +82 -39
  407. package/patternfly-docs/content/extensions/chatbot/examples/UI/UI.md +3 -0
  408. package/patternfly-docs/content/extensions/chatbot/examples/demos/AttachmentDemos.md +1 -0
  409. package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +1 -0
  410. package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +17 -23
  411. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachment.tsx +13 -13
  412. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachmentMenu.tsx +14 -14
  413. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotCompact.tsx +17 -23
  414. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotInDrawer.tsx +15 -20
  415. package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedChatbot.tsx +15 -20
  416. package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedComparisonChatbot.tsx +12 -12
  417. package/patternfly-docs/content/extensions/chatbot/examples/demos/Feedback.tsx +7 -7
  418. package/src/AttachMenu/AttachMenu.tsx +2 -2
  419. package/src/AttachmentEdit/AttachmentEdit.test.tsx +46 -2
  420. package/src/AttachmentEdit/AttachmentEdit.tsx +25 -7
  421. package/src/Chatbot/Chatbot.test.tsx +0 -1
  422. package/src/Chatbot/Chatbot.tsx +5 -3
  423. package/src/ChatbotAlert/ChatbotAlert.test.tsx +0 -1
  424. package/src/ChatbotAlert/ChatbotAlert.tsx +2 -2
  425. package/src/ChatbotContent/ChatbotContent.test.tsx +0 -1
  426. package/src/ChatbotContent/ChatbotContent.tsx +3 -3
  427. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.tsx +0 -1
  428. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.tsx +6 -4
  429. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.tsx +3 -3
  430. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.tsx +8 -6
  431. package/src/ChatbotConversationHistoryNav/EmptyState.tsx +2 -2
  432. package/src/ChatbotConversationHistoryNav/LoadingState.tsx +2 -2
  433. package/src/ChatbotFooter/ChatbotFooter.test.tsx +0 -1
  434. package/src/ChatbotFooter/ChatbotFooter.tsx +3 -3
  435. package/src/ChatbotFooter/ChatbotFooternote.test.tsx +0 -1
  436. package/src/ChatbotFooter/ChatbotFootnote.tsx +6 -4
  437. package/src/ChatbotHeader/ChatbotHeader.test.tsx +0 -1
  438. package/src/ChatbotHeader/ChatbotHeader.tsx +3 -6
  439. package/src/ChatbotHeader/ChatbotHeaderActions.test.tsx +0 -1
  440. package/src/ChatbotHeader/ChatbotHeaderActions.tsx +2 -2
  441. package/src/ChatbotHeader/ChatbotHeaderCloseButton.test.tsx +0 -1
  442. package/src/ChatbotHeader/ChatbotHeaderCloseButton.tsx +5 -4
  443. package/src/ChatbotHeader/ChatbotHeaderMain.test.tsx +0 -1
  444. package/src/ChatbotHeader/ChatbotHeaderMain.tsx +2 -2
  445. package/src/ChatbotHeader/ChatbotHeaderMenu.test.tsx +0 -1
  446. package/src/ChatbotHeader/ChatbotHeaderMenu.tsx +7 -7
  447. package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.tsx +9 -1
  448. package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.tsx +12 -5
  449. package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.tsx +9 -1
  450. package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.tsx +20 -6
  451. package/src/ChatbotHeader/ChatbotHeaderTitle.test.tsx +0 -1
  452. package/src/ChatbotHeader/ChatbotHeaderTitle.tsx +2 -2
  453. package/src/ChatbotModal/ChatbotModal.test.tsx +0 -1
  454. package/src/ChatbotModal/ChatbotModal.tsx +2 -2
  455. package/src/ChatbotPopover/ChatbotPopover.tsx +3 -3
  456. package/src/ChatbotToggle/ChatbotToggle.test.tsx +0 -1
  457. package/src/ChatbotToggle/ChatbotToggle.tsx +5 -3
  458. package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.tsx +0 -1
  459. package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.tsx +2 -2
  460. package/src/CodeModal/CodeModal.test.tsx +29 -2
  461. package/src/CodeModal/CodeModal.tsx +18 -8
  462. package/src/Compare/Compare.test.tsx +0 -1
  463. package/src/Compare/Compare.tsx +7 -6
  464. package/src/FileDetails/FileDetails.test.tsx +0 -1
  465. package/src/FileDetails/FileDetails.tsx +1 -1
  466. package/src/FileDetailsLabel/FileDetailsLabel.test.tsx +0 -1
  467. package/src/FileDetailsLabel/FileDetailsLabel.tsx +1 -1
  468. package/src/FileDropZone/FileDropZone.test.tsx +0 -1
  469. package/src/FileDropZone/FileDropZone.tsx +4 -3
  470. package/src/LoadingMessage/LoadingMessage.test.tsx +0 -1
  471. package/src/LoadingMessage/LoadingMessage.tsx +2 -2
  472. package/src/Message/CodeBlockMessage/CodeBlockMessage.tsx +7 -7
  473. package/src/Message/ErrorMessage/ErrorMessage.tsx +0 -1
  474. package/src/Message/ImageMessage/ImageMessage.tsx +1 -2
  475. package/src/Message/LinkMessage/LinkMessage.tsx +0 -1
  476. package/src/Message/ListMessage/ListItemMessage.tsx +0 -1
  477. package/src/Message/ListMessage/OrderedListMessage.tsx +0 -1
  478. package/src/Message/ListMessage/UnorderedListMessage.tsx +0 -1
  479. package/src/Message/Message.test.tsx +3 -3
  480. package/src/Message/Message.tsx +12 -13
  481. package/src/Message/MessageInput.tsx +5 -5
  482. package/src/Message/MessageLoading.tsx +0 -2
  483. package/src/Message/QuickResponse/QuickResponse.tsx +4 -3
  484. package/src/Message/QuickStarts/FallbackImg.tsx +4 -3
  485. package/src/Message/QuickStarts/QuickStartTile.tsx +3 -3
  486. package/src/Message/QuickStarts/QuickStartTileDescription.test.tsx +0 -1
  487. package/src/Message/QuickStarts/QuickStartTileDescription.tsx +4 -3
  488. package/src/Message/QuickStarts/QuickStartTileHeader.tsx +2 -2
  489. package/src/Message/QuickStarts/types.ts +4 -3
  490. package/src/Message/TableMessage/TableMessage.tsx +4 -4
  491. package/src/Message/TableMessage/TbodyMessage.tsx +3 -3
  492. package/src/Message/TableMessage/TdMessage.tsx +1 -2
  493. package/src/Message/TableMessage/ThMessage.tsx +1 -2
  494. package/src/Message/TableMessage/TheadMessage.tsx +3 -2
  495. package/src/Message/TableMessage/TrMessage.tsx +4 -4
  496. package/src/Message/TextMessage/TextMessage.tsx +1 -2
  497. package/src/Message/UserFeedback/CloseButton.tsx +2 -2
  498. package/src/Message/UserFeedback/UserFeedback.test.tsx +0 -1
  499. package/src/Message/UserFeedback/UserFeedback.tsx +8 -6
  500. package/src/Message/UserFeedback/UserFeedbackComplete.test.tsx +0 -1
  501. package/src/Message/UserFeedback/UserFeedbackComplete.tsx +16 -14
  502. package/src/MessageBar/AttachButton.test.tsx +0 -1
  503. package/src/MessageBar/AttachButton.tsx +5 -3
  504. package/src/MessageBar/MessageBar.test.tsx +0 -1
  505. package/src/MessageBar/MessageBar.tsx +19 -18
  506. package/src/MessageBar/MicrophoneButton.tsx +8 -6
  507. package/src/MessageBar/SendButton.test.tsx +0 -1
  508. package/src/MessageBar/SendButton.tsx +3 -2
  509. package/src/MessageBar/StopButton.test.tsx +0 -1
  510. package/src/MessageBar/StopButton.tsx +3 -2
  511. package/src/MessageBox/JumpButton.test.tsx +0 -1
  512. package/src/MessageBox/JumpButton.tsx +2 -2
  513. package/src/MessageBox/MessageBox.test.tsx +2 -2
  514. package/src/MessageBox/MessageBox.tsx +15 -13
  515. package/src/PreviewAttachment/PreviewAttachment.test.tsx +44 -2
  516. package/src/PreviewAttachment/PreviewAttachment.tsx +24 -6
  517. package/src/ResponseActions/ResponseActionButton.test.tsx +0 -1
  518. package/src/ResponseActions/ResponseActionButton.tsx +4 -3
  519. package/src/ResponseActions/ResponseActions.test.tsx +0 -1
  520. package/src/ResponseActions/ResponseActions.tsx +8 -7
  521. package/src/Settings/SettingsForm.test.tsx +0 -1
  522. package/src/Settings/SettingsForm.tsx +2 -7
  523. package/src/SourceDetailsMenuItem/SourceDetailsMenuItem.tsx +2 -2
  524. package/src/SourcesCard/SourcesCard.test.tsx +0 -1
  525. package/src/SourcesCard/SourcesCard.tsx +7 -7
  526. package/src/TermsOfUse/TermsOfUse.test.tsx +0 -1
  527. package/src/TermsOfUse/TermsOfUse.tsx +6 -5
  528. package/tsconfig.cjs.json +0 -1
  529. package/tsconfig.json +3 -3
@@ -2,10 +2,9 @@
2
2
  // Chatbot Main - Message - Content - Table
3
3
  // ============================================================================
4
4
 
5
- import React from 'react';
6
5
  import { ExtraProps } from 'react-markdown';
7
6
  import { Th, ThProps } from '@patternfly/react-table';
8
7
 
9
- const ThMessage = ({ children, ...props }: ThProps & ExtraProps) => <Th {...props}>{children}</Th>;
8
+ const ThMessage = ({ children, ...props }: Omit<ThProps, 'ref'> & ExtraProps) => <Th {...props}>{children}</Th>;
10
9
 
11
10
  export default ThMessage;
@@ -2,10 +2,11 @@
2
2
  // Chatbot Main - Message - Content - Table
3
3
  // ============================================================================
4
4
 
5
- import React from 'react';
6
5
  import { ExtraProps } from 'react-markdown';
7
6
  import { Thead, TheadProps } from '@patternfly/react-table';
8
7
 
9
- const TheadMessage = ({ children, ...props }: TheadProps & ExtraProps) => <Thead {...props}>{children}</Thead>;
8
+ const TheadMessage = ({ children, ...props }: Omit<TheadProps, 'ref'> & ExtraProps) => (
9
+ <Thead {...props}>{children}</Thead>
10
+ );
10
11
 
11
12
  export default TheadMessage;
@@ -2,19 +2,19 @@
2
2
  // Chatbot Main - Message - Content - Table
3
3
  // ============================================================================
4
4
 
5
- import React from 'react';
5
+ import { Children, cloneElement } from 'react';
6
6
  import { ExtraProps } from 'react-markdown';
7
7
  import { Tr, TrProps } from '@patternfly/react-table';
8
8
 
9
- const TrMessage = ({ children, ...props }: TrProps & ExtraProps & { extraHeaders?: string[] }) => {
9
+ const TrMessage = ({ children, ...props }: Omit<TrProps, 'ref'> & ExtraProps & { extraHeaders?: string[] }) => {
10
10
  let tdIndex = 0;
11
11
 
12
12
  // passthrough so we can place dataLabel on tds
13
13
  // places column name on correct child
14
14
  const modifyChildren = (children) =>
15
- React.Children.map(children, (child) => {
15
+ Children.map(children, (child) => {
16
16
  if (child.type.name === 'td' && props.extraHeaders) {
17
- const clonedChild = React.cloneElement(child, { dataLabel: props.extraHeaders[tdIndex] });
17
+ const clonedChild = cloneElement(child, { dataLabel: props.extraHeaders[tdIndex] });
18
18
  tdIndex = tdIndex + 1;
19
19
  return clonedChild;
20
20
  }
@@ -2,11 +2,10 @@
2
2
  // Chatbot Main - Message - Content - Text
3
3
  // ============================================================================
4
4
 
5
- import React from 'react';
6
5
  import { ExtraProps } from 'react-markdown';
7
6
  import { Content, ContentProps } from '@patternfly/react-core';
8
7
 
9
- const TextMessage = ({ component, children, ...props }: ContentProps & ExtraProps) => (
8
+ const TextMessage = ({ component, children, ...props }: Omit<ContentProps, 'ref'> & ExtraProps) => (
10
9
  <span className="pf-chatbot__message-text">
11
10
  <Content component={component} {...props}>
12
11
  {children}
@@ -1,7 +1,7 @@
1
1
  // ============================================================================
2
2
  // Chatbot Main - Messages - Close Button
3
3
  // ============================================================================
4
- import React from 'react';
4
+ import type { FunctionComponent } from 'react';
5
5
 
6
6
  // Import PatternFly components
7
7
  import { Button, ButtonProps } from '@patternfly/react-core';
@@ -14,7 +14,7 @@ export interface CloseButtonProps extends ButtonProps {
14
14
  ariaLabel?: string;
15
15
  }
16
16
 
17
- const CloseButton: React.FunctionComponent<CloseButtonProps> = ({ onClose, ariaLabel }: CloseButtonProps) => (
17
+ const CloseButton: FunctionComponent<CloseButtonProps> = ({ onClose, ariaLabel }: CloseButtonProps) => (
18
18
  <Button variant="plain" onClick={onClose} icon={<CloseIcon />} aria-label={ariaLabel} />
19
19
  );
20
20
 
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { render, screen } from '@testing-library/react';
3
2
  import '@testing-library/jest-dom';
4
3
  import userEvent from '@testing-library/user-event';
@@ -1,7 +1,9 @@
1
1
  // ============================================================================
2
2
  // Chatbot Main - Messages - Feedback Card
3
3
  // ============================================================================
4
- import React from 'react';
4
+ import type { FunctionComponent } from 'react';
5
+
6
+ import { useState, useRef, useEffect } from 'react';
5
7
 
6
8
  // Import PatternFly components
7
9
  import {
@@ -54,7 +56,7 @@ export interface UserFeedbackProps extends Omit<CardProps, 'onSubmit'>, OUIAProp
54
56
  timestamp?: string;
55
57
  }
56
58
 
57
- const UserFeedback: React.FunctionComponent<UserFeedbackProps> = ({
59
+ const UserFeedback: FunctionComponent<UserFeedbackProps> = ({
58
60
  className,
59
61
  timestamp,
60
62
  title = 'Why did you choose this rating?',
@@ -74,11 +76,11 @@ const UserFeedback: React.FunctionComponent<UserFeedbackProps> = ({
74
76
  isCompact,
75
77
  ...props
76
78
  }: UserFeedbackProps) => {
77
- const [selectedResponse, setSelectedResponse] = React.useState<string>();
78
- const [value, setValue] = React.useState('');
79
- const divRef = React.useRef<HTMLDivElement>(null);
79
+ const [selectedResponse, setSelectedResponse] = useState<string>();
80
+ const [value, setValue] = useState('');
81
+ const divRef = useRef<HTMLDivElement>(null);
80
82
 
81
- React.useEffect(() => {
83
+ useEffect(() => {
82
84
  if (focusOnLoad) {
83
85
  divRef.current?.focus();
84
86
  }
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { act, render, screen } from '@testing-library/react';
3
2
  import '@testing-library/jest-dom';
4
3
  import userEvent from '@testing-library/user-event';
@@ -1,7 +1,9 @@
1
1
  // ============================================================================
2
2
  // Chatbot Main - Messages - Feedback Complete Card
3
3
  // ============================================================================
4
- import React from 'react';
4
+ import type { MouseEvent as ReactMouseEvent, FunctionComponent } from 'react';
5
+
6
+ import { useState, useRef, useEffect } from 'react';
5
7
 
6
8
  // Import PatternFly components
7
9
  import { Card, CardBody, CardHeader, CardProps, CardTitle, OUIAProps, useOUIAProps } from '@patternfly/react-core';
@@ -46,7 +48,7 @@ export interface UserFeedbackCompleteProps extends Omit<CardProps, 'ref'>, OUIAP
46
48
  timestamp?: string;
47
49
  }
48
50
 
49
- const UserFeedbackComplete: React.FunctionComponent<UserFeedbackCompleteProps> = ({
51
+ const UserFeedbackComplete: FunctionComponent<UserFeedbackCompleteProps> = ({
50
52
  className,
51
53
  title = 'Feedback submitted',
52
54
  body = "We've received your response. Thank you for sharing your feedback!",
@@ -66,21 +68,21 @@ const UserFeedbackComplete: React.FunctionComponent<UserFeedbackCompleteProps> =
66
68
  isCompact,
67
69
  ...props
68
70
  }: UserFeedbackCompleteProps) => {
69
- const [timedOut, setTimedOut] = React.useState(false);
70
- const [timedOutAnimation, setTimedOutAnimation] = React.useState(true);
71
- const [isMouseOver, setIsMouseOver] = React.useState<boolean | undefined>();
72
- const [containsFocus, setContainsFocus] = React.useState<boolean | undefined>();
71
+ const [timedOut, setTimedOut] = useState(false);
72
+ const [timedOutAnimation, setTimedOutAnimation] = useState(true);
73
+ const [isMouseOver, setIsMouseOver] = useState<boolean | undefined>();
74
+ const [containsFocus, setContainsFocus] = useState<boolean | undefined>();
73
75
  const dismissed = timedOut && timedOutAnimation && !isMouseOver && !containsFocus;
74
- const divRef = React.useRef<HTMLDivElement>(null);
76
+ const divRef = useRef<HTMLDivElement>(null);
75
77
  const ouiaProps = useOUIAProps('User Feedback Complete', ouiaId, ouiaSafe);
76
78
 
77
- React.useEffect(() => {
79
+ useEffect(() => {
78
80
  if (focusOnLoad) {
79
81
  divRef.current?.focus();
80
82
  }
81
83
  }, []);
82
84
 
83
- React.useEffect(() => {
85
+ useEffect(() => {
84
86
  const calculatedTimeout = timeout === true ? 8000 : Number(timeout);
85
87
  if (calculatedTimeout > 0) {
86
88
  const timer = setTimeout(() => setTimedOut(true), calculatedTimeout);
@@ -88,7 +90,7 @@ const UserFeedbackComplete: React.FunctionComponent<UserFeedbackCompleteProps> =
88
90
  }
89
91
  }, [timeout]);
90
92
 
91
- React.useEffect(() => {
93
+ useEffect(() => {
92
94
  const onDocumentFocus = () => {
93
95
  if (divRef.current) {
94
96
  if (divRef.current.contains(document.activeElement)) {
@@ -103,14 +105,14 @@ const UserFeedbackComplete: React.FunctionComponent<UserFeedbackCompleteProps> =
103
105
  return () => document.removeEventListener('focus', onDocumentFocus, true);
104
106
  }, [containsFocus]);
105
107
 
106
- React.useEffect(() => {
108
+ useEffect(() => {
107
109
  if (containsFocus === false || isMouseOver === false) {
108
110
  const timer = setTimeout(() => setTimedOutAnimation(true), timeoutAnimation);
109
111
  return () => clearTimeout(timer);
110
112
  }
111
113
  }, [containsFocus, isMouseOver, timeoutAnimation]);
112
114
 
113
- React.useEffect(() => {
115
+ useEffect(() => {
114
116
  dismissed && onTimeout && onTimeout();
115
117
  }, [dismissed, onTimeout]);
116
118
 
@@ -118,13 +120,13 @@ const UserFeedbackComplete: React.FunctionComponent<UserFeedbackCompleteProps> =
118
120
  return null;
119
121
  }
120
122
 
121
- const myOnMouseEnter = (ev: React.MouseEvent<HTMLDivElement>) => {
123
+ const myOnMouseEnter = (ev: ReactMouseEvent<HTMLDivElement>) => {
122
124
  setIsMouseOver(true);
123
125
  setTimedOutAnimation(false);
124
126
  onMouseEnter && onMouseEnter(ev);
125
127
  };
126
128
 
127
- const myOnMouseLeave = (ev: React.MouseEvent<HTMLDivElement>) => {
129
+ const myOnMouseLeave = (ev: ReactMouseEvent<HTMLDivElement>) => {
128
130
  setIsMouseOver(false);
129
131
  onMouseLeave && onMouseLeave(ev);
130
132
  };
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { render, screen } from '@testing-library/react';
3
2
  import '@testing-library/jest-dom';
4
3
  import userEvent from '@testing-library/user-event';
@@ -1,7 +1,9 @@
1
1
  // ============================================================================
2
2
  // Chatbot Footer - Message Bar - Attach
3
3
  // ============================================================================
4
- import React from 'react';
4
+ import type { Ref, FunctionComponent } from 'react';
5
+
6
+ import { forwardRef } from 'react';
5
7
 
6
8
  // Import PatternFly components
7
9
  import { Button, ButtonProps, DropEvent, Icon, Tooltip, TooltipProps } from '@patternfly/react-core';
@@ -28,7 +30,7 @@ export interface AttachButtonProps extends ButtonProps {
28
30
  isCompact?: boolean;
29
31
  }
30
32
 
31
- const AttachButtonBase: React.FunctionComponent<AttachButtonProps> = ({
33
+ const AttachButtonBase: FunctionComponent<AttachButtonProps> = ({
32
34
  onAttachAccepted,
33
35
  onClick,
34
36
  isDisabled,
@@ -81,6 +83,6 @@ const AttachButtonBase: React.FunctionComponent<AttachButtonProps> = ({
81
83
  );
82
84
  };
83
85
 
84
- export const AttachButton = React.forwardRef((props: AttachButtonProps, ref: React.Ref<any>) => (
86
+ export const AttachButton = forwardRef((props: AttachButtonProps, ref: Ref<any>) => (
85
87
  <AttachButtonBase innerRef={ref} {...props} />
86
88
  ));
@@ -1,5 +1,4 @@
1
1
  import '@testing-library/jest-dom';
2
- import React from 'react';
3
2
  import { DropdownGroup, DropdownItem, DropdownList } from '@patternfly/react-core';
4
3
  import { BellIcon, CalendarAltIcon, ClipboardIcon, CodeIcon } from '@patternfly/react-icons';
5
4
  import { render, screen } from '@testing-library/react';
@@ -1,4 +1,5 @@
1
- import React from 'react';
1
+ import type { ChangeEvent, FunctionComponent, KeyboardEvent as ReactKeyboardEvent } from 'react';
2
+ import { useCallback, useEffect, useRef, useState } from 'react';
2
3
  import { ButtonProps, DropEvent, TextArea, TextAreaProps, TooltipProps } from '@patternfly/react-core';
3
4
 
4
5
  // Import Chatbot components
@@ -79,7 +80,7 @@ export interface MessageBarProps extends TextAreaProps {
79
80
  isCompact?: boolean;
80
81
  }
81
82
 
82
- export const MessageBar: React.FunctionComponent<MessageBarProps> = ({
83
+ export const MessageBar: FunctionComponent<MessageBarProps> = ({
83
84
  onSendMessage,
84
85
  className,
85
86
  alwayShowSendButton,
@@ -101,11 +102,11 @@ export const MessageBar: React.FunctionComponent<MessageBarProps> = ({
101
102
  }: MessageBarProps) => {
102
103
  // Text Input
103
104
  // --------------------------------------------------------------------------
104
- const [message, setMessage] = React.useState<string | number>(value ?? '');
105
- const [isListeningMessage, setIsListeningMessage] = React.useState<boolean>(false);
106
- const [hasSentMessage, setHasSentMessage] = React.useState(false);
107
- const textareaRef = React.useRef<HTMLTextAreaElement>(null);
108
- const attachButtonRef = React.useRef<HTMLButtonElement>(null);
105
+ const [message, setMessage] = useState<string | number>(value ?? '');
106
+ const [isListeningMessage, setIsListeningMessage] = useState<boolean>(false);
107
+ const [hasSentMessage, setHasSentMessage] = useState(false);
108
+ const textareaRef = useRef<HTMLTextAreaElement>(null);
109
+ const attachButtonRef = useRef<HTMLButtonElement>(null);
109
110
 
110
111
  const topMargin = '1rem';
111
112
 
@@ -151,7 +152,7 @@ export const MessageBar: React.FunctionComponent<MessageBarProps> = ({
151
152
  return lines > 2;
152
153
  };
153
154
 
154
- const setAutoWidth = React.useCallback((field: HTMLTextAreaElement) => {
155
+ const setAutoWidth = useCallback((field: HTMLTextAreaElement) => {
155
156
  const parent = field.parentElement;
156
157
  if (parent) {
157
158
  const grandparent = parent.parentElement;
@@ -169,7 +170,7 @@ export const MessageBar: React.FunctionComponent<MessageBarProps> = ({
169
170
  }
170
171
  };
171
172
 
172
- React.useEffect(() => {
173
+ useEffect(() => {
173
174
  const field = textareaRef.current;
174
175
  if (field) {
175
176
  if (field.value === '') {
@@ -200,19 +201,19 @@ export const MessageBar: React.FunctionComponent<MessageBarProps> = ({
200
201
  };
201
202
  }, [setAutoWidth]);
202
203
 
203
- React.useEffect(() => {
204
+ useEffect(() => {
204
205
  const field = textareaRef.current;
205
206
  if (field) {
206
207
  if (field.value === '') {
207
- setInitialLineHeight(textareaRef.current);
208
+ setInitialLineHeight(field);
208
209
  } else {
209
- setAutoHeight(textareaRef.current);
210
+ setAutoHeight(field);
210
211
  setAutoWidth(field);
211
212
  }
212
213
  }
213
214
  }, [displayMode, message, setAutoWidth]);
214
215
 
215
- React.useEffect(() => {
216
+ useEffect(() => {
216
217
  const field = textareaRef.current;
217
218
  if (field) {
218
219
  setInitialLineHeight(field);
@@ -220,7 +221,7 @@ export const MessageBar: React.FunctionComponent<MessageBarProps> = ({
220
221
  }
221
222
  }, [hasSentMessage]);
222
223
 
223
- const handleChange = React.useCallback(
224
+ const handleChange = useCallback(
224
225
  (event) => {
225
226
  onChange && onChange(event, event.target.value);
226
227
  if (textareaRef.current) {
@@ -236,7 +237,7 @@ export const MessageBar: React.FunctionComponent<MessageBarProps> = ({
236
237
  );
237
238
 
238
239
  // Handle sending message
239
- const handleSend = React.useCallback(
240
+ const handleSend = useCallback(
240
241
  (newMessage: string | number) => {
241
242
  onSendMessage(newMessage);
242
243
  setHasSentMessage(true);
@@ -245,8 +246,8 @@ export const MessageBar: React.FunctionComponent<MessageBarProps> = ({
245
246
  [onSendMessage]
246
247
  );
247
248
 
248
- const handleKeyDown = React.useCallback(
249
- (event: React.KeyboardEvent) => {
249
+ const handleKeyDown = useCallback(
250
+ (event: ReactKeyboardEvent) => {
250
251
  if (event.key === 'Enter' && !event.shiftKey) {
251
252
  event.preventDefault();
252
253
  if (!isSendButtonDisabled && !hasStopButton) {
@@ -269,7 +270,7 @@ export const MessageBar: React.FunctionComponent<MessageBarProps> = ({
269
270
 
270
271
  const handleSpeechRecognition = (message) => {
271
272
  setMessage(message);
272
- onChange && onChange({} as React.ChangeEvent<HTMLTextAreaElement>, message);
273
+ onChange && onChange({} as ChangeEvent<HTMLTextAreaElement>, message);
273
274
  };
274
275
 
275
276
  const renderButtons = () => {
@@ -1,7 +1,9 @@
1
1
  // ============================================================================
2
2
  // Chatbot Footer - Message Bar - Microphone
3
3
  // ============================================================================
4
- import React from 'react';
4
+ import type { FunctionComponent } from 'react';
5
+
6
+ import { useState, useCallback, useEffect } from 'react';
5
7
 
6
8
  // Import PatternFly components
7
9
  import { Button, ButtonProps, Tooltip, TooltipProps, Icon } from '@patternfly/react-core';
@@ -27,7 +29,7 @@ export interface MicrophoneButtonProps extends ButtonProps {
27
29
  isCompact?: boolean;
28
30
  }
29
31
 
30
- export const MicrophoneButton: React.FunctionComponent<MicrophoneButtonProps> = ({
32
+ export const MicrophoneButton: FunctionComponent<MicrophoneButtonProps> = ({
31
33
  isListening,
32
34
  onIsListeningChange,
33
35
  onSpeechRecognition,
@@ -40,10 +42,10 @@ export const MicrophoneButton: React.FunctionComponent<MicrophoneButtonProps> =
40
42
  }: MicrophoneButtonProps) => {
41
43
  // Microphone
42
44
  // --------------------------------------------------------------------------
43
- const [speechRecognition, setSpeechRecognition] = React.useState<SpeechRecognition>();
45
+ const [speechRecognition, setSpeechRecognition] = useState<SpeechRecognition>();
44
46
 
45
47
  // Listen for speech
46
- const startListening = React.useCallback(() => {
48
+ const startListening = useCallback(() => {
47
49
  if (speechRecognition) {
48
50
  speechRecognition.start();
49
51
  onIsListeningChange(true);
@@ -51,7 +53,7 @@ export const MicrophoneButton: React.FunctionComponent<MicrophoneButtonProps> =
51
53
  }, [onIsListeningChange, speechRecognition]);
52
54
 
53
55
  // Stop listening for speech
54
- const stopListening = React.useCallback(() => {
56
+ const stopListening = useCallback(() => {
55
57
  if (speechRecognition && isListening) {
56
58
  speechRecognition.stop();
57
59
  onIsListeningChange(false);
@@ -59,7 +61,7 @@ export const MicrophoneButton: React.FunctionComponent<MicrophoneButtonProps> =
59
61
  }, [isListening, onIsListeningChange, speechRecognition]);
60
62
 
61
63
  // Detect speech recognition browser support
62
- React.useEffect(() => {
64
+ useEffect(() => {
63
65
  if ('SpeechRecognition' in window || 'webkitSpeechRecognition' in window) {
64
66
  // Initialize SpeechRecognition
65
67
  const recognition: SpeechRecognition = new (window.SpeechRecognition || window.webkitSpeechRecognition)();
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { render, screen } from '@testing-library/react';
3
2
  import '@testing-library/jest-dom';
4
3
  import userEvent from '@testing-library/user-event';
@@ -1,7 +1,7 @@
1
1
  // ============================================================================
2
2
  // Chatbot Footer - Message Bar - Send
3
3
  // ============================================================================
4
- import React from 'react';
4
+ import type { FunctionComponent } from 'react';
5
5
 
6
6
  // Import PatternFly components
7
7
  import { Button, ButtonProps, Tooltip, TooltipProps, Icon } from '@patternfly/react-core';
@@ -17,10 +17,11 @@ export interface SendButtonProps extends ButtonProps {
17
17
  tooltipProps?: Omit<TooltipProps, 'content'>;
18
18
  /** English text "Send" used in the tooltip */
19
19
  tooltipContent?: string;
20
+ /** Whether send button has compact styling */
20
21
  isCompact?: boolean;
21
22
  }
22
23
 
23
- export const SendButton: React.FunctionComponent<SendButtonProps> = ({
24
+ export const SendButton: FunctionComponent<SendButtonProps> = ({
24
25
  className,
25
26
  onClick,
26
27
  tooltipProps,
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { render, screen } from '@testing-library/react';
3
2
  import '@testing-library/jest-dom';
4
3
  import userEvent from '@testing-library/user-event';
@@ -1,7 +1,7 @@
1
1
  // ============================================================================
2
2
  // Chatbot Footer - Message Bar - Stop
3
3
  // ============================================================================
4
- import React from 'react';
4
+ import type { FunctionComponent } from 'react';
5
5
 
6
6
  // Import PatternFly components
7
7
  import { Button, ButtonProps, Tooltip, TooltipProps, Icon } from '@patternfly/react-core';
@@ -15,10 +15,11 @@ export interface StopButtonProps extends ButtonProps {
15
15
  tooltipProps?: Omit<TooltipProps, 'content'>;
16
16
  /** English text "Stop" used in the tooltip */
17
17
  tooltipContent?: string;
18
+ /** Whether stop button has compact styling */
18
19
  isCompact?: boolean;
19
20
  }
20
21
 
21
- export const StopButton: React.FunctionComponent<StopButtonProps> = ({
22
+ export const StopButton: FunctionComponent<StopButtonProps> = ({
22
23
  className,
23
24
  onClick,
24
25
  tooltipProps,
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { render, screen } from '@testing-library/react';
3
2
  import '@testing-library/jest-dom';
4
3
  import JumpButton from './JumpButton';
@@ -1,7 +1,7 @@
1
1
  // ============================================================================
2
2
  // Chatbot Main - Messages - Jump to Top
3
3
  // ============================================================================
4
- import React from 'react';
4
+ import type { FunctionComponent } from 'react';
5
5
 
6
6
  // Import PatternFly components
7
7
  import { Button, Tooltip, Icon } from '@patternfly/react-core';
@@ -18,7 +18,7 @@ export interface JumpButtonProps {
18
18
  isHidden?: boolean;
19
19
  }
20
20
 
21
- const JumpButton: React.FunctionComponent<JumpButtonProps> = ({ position, isHidden, onClick }: JumpButtonProps) =>
21
+ const JumpButton: FunctionComponent<JumpButtonProps> = ({ position, isHidden, onClick }: JumpButtonProps) =>
22
22
  isHidden ? null : (
23
23
  <Tooltip id={`pf-chatbot__tooltip--jump-${position}`} content={`Back to ${position}`} position="top">
24
24
  <Button
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { createRef } from 'react';
2
2
  import { render, screen, waitFor } from '@testing-library/react';
3
3
  import { MessageBox } from './MessageBox';
4
4
  import userEvent from '@testing-library/user-event';
@@ -14,7 +14,7 @@ describe('MessageBox', () => {
14
14
  });
15
15
 
16
16
  it('should assign ref to Message box', () => {
17
- const ref = React.createRef<HTMLDivElement>();
17
+ const ref = createRef<HTMLDivElement>();
18
18
  render(
19
19
  <MessageBox ref={ref}>
20
20
  <div>Test message content</div>
@@ -1,10 +1,12 @@
1
1
  // ============================================================================
2
2
  // Chatbot Main - Messages
3
3
  // ============================================================================
4
- import React from 'react';
4
+ import type { HTMLProps, Ref, FunctionComponent } from 'react';
5
+
6
+ import { useState, useRef, useCallback, useEffect, forwardRef } from 'react';
5
7
  import JumpButton from './JumpButton';
6
8
 
7
- export interface MessageBoxProps extends React.HTMLProps<HTMLDivElement> {
9
+ export interface MessageBoxProps extends HTMLProps<HTMLDivElement> {
8
10
  /** Content that can be announced, such as a new message, for screen readers */
9
11
  announcement?: string;
10
12
  /** Custom aria-label for scrollable portion of message box */
@@ -23,7 +25,7 @@ export interface MessageBoxProps extends React.HTMLProps<HTMLDivElement> {
23
25
  onScrollToBottomClick?: () => void;
24
26
  }
25
27
 
26
- const MessageBoxBase: React.FunctionComponent<MessageBoxProps> = ({
28
+ const MessageBoxBase: FunctionComponent<MessageBoxProps> = ({
27
29
  announcement,
28
30
  ariaLabel = 'Scrollable message log',
29
31
  children,
@@ -34,10 +36,10 @@ const MessageBoxBase: React.FunctionComponent<MessageBoxProps> = ({
34
36
  onScrollToBottomClick,
35
37
  ...props
36
38
  }: MessageBoxProps) => {
37
- const [atTop, setAtTop] = React.useState(false);
38
- const [atBottom, setAtBottom] = React.useState(true);
39
- const [isOverflowing, setIsOverflowing] = React.useState(false);
40
- const defaultRef = React.useRef<HTMLDivElement>(null);
39
+ const [atTop, setAtTop] = useState(false);
40
+ const [atBottom, setAtBottom] = useState(true);
41
+ const [isOverflowing, setIsOverflowing] = useState(false);
42
+ const defaultRef = useRef<HTMLDivElement>(null);
41
43
  let messageBoxRef;
42
44
  if (innerRef) {
43
45
  messageBoxRef = innerRef;
@@ -46,7 +48,7 @@ const MessageBoxBase: React.FunctionComponent<MessageBoxProps> = ({
46
48
  }
47
49
 
48
50
  // Configure handlers
49
- const handleScroll = React.useCallback(() => {
51
+ const handleScroll = useCallback(() => {
50
52
  const element = messageBoxRef.current;
51
53
  if (element) {
52
54
  const { scrollTop, scrollHeight, clientHeight } = element;
@@ -55,7 +57,7 @@ const MessageBoxBase: React.FunctionComponent<MessageBoxProps> = ({
55
57
  }
56
58
  }, [messageBoxRef]);
57
59
 
58
- const checkOverflow = React.useCallback(() => {
60
+ const checkOverflow = useCallback(() => {
59
61
  const element = messageBoxRef.current;
60
62
  if (element) {
61
63
  const { scrollHeight, clientHeight } = element;
@@ -63,7 +65,7 @@ const MessageBoxBase: React.FunctionComponent<MessageBoxProps> = ({
63
65
  }
64
66
  }, [messageBoxRef]);
65
67
 
66
- const scrollToTop = React.useCallback(() => {
68
+ const scrollToTop = useCallback(() => {
67
69
  const element = messageBoxRef.current;
68
70
  if (element) {
69
71
  element.scrollTo({ top: 0, behavior: 'smooth' });
@@ -71,7 +73,7 @@ const MessageBoxBase: React.FunctionComponent<MessageBoxProps> = ({
71
73
  onScrollToTopClick && onScrollToTopClick();
72
74
  }, [messageBoxRef]);
73
75
 
74
- const scrollToBottom = React.useCallback(() => {
76
+ const scrollToBottom = useCallback(() => {
75
77
  const element = messageBoxRef.current;
76
78
  if (element) {
77
79
  element.scrollTo({ top: element.scrollHeight, behavior: 'smooth' });
@@ -80,7 +82,7 @@ const MessageBoxBase: React.FunctionComponent<MessageBoxProps> = ({
80
82
  }, [messageBoxRef]);
81
83
 
82
84
  // Detect scroll position
83
- React.useEffect(() => {
85
+ useEffect(() => {
84
86
  const element = messageBoxRef.current;
85
87
  if (element) {
86
88
  // Listen for scroll events
@@ -117,7 +119,7 @@ const MessageBoxBase: React.FunctionComponent<MessageBoxProps> = ({
117
119
  );
118
120
  };
119
121
 
120
- export const MessageBox = React.forwardRef((props: MessageBoxProps, ref: React.Ref<any>) => (
122
+ export const MessageBox = forwardRef((props: MessageBoxProps, ref: Ref<any>) => (
121
123
  <MessageBoxBase innerRef={ref} {...props} />
122
124
  ));
123
125