@patternfly/chatbot 6.3.0-prerelease.2 → 6.3.0-prerelease.20

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 (586) 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 +14 -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 +3 -2
  8. package/dist/cjs/Chatbot/Chatbot.js +5 -10
  9. package/dist/cjs/Chatbot/Chatbot.test.js +13 -9
  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 +4 -2
  20. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +17 -34
  21. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +58 -62
  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 +4 -3
  27. package/dist/cjs/ChatbotFooter/ChatbotFooter.js +3 -16
  28. package/dist/cjs/ChatbotFooter/ChatbotFooter.test.d.ts +1 -1
  29. package/dist/cjs/ChatbotFooter/ChatbotFooter.test.js +10 -5
  30. package/dist/cjs/ChatbotFooter/ChatbotFooternote.test.js +28 -28
  31. package/dist/cjs/ChatbotFooter/ChatbotFootnote.d.ts +3 -3
  32. package/dist/cjs/ChatbotFooter/ChatbotFootnote.js +10 -23
  33. package/dist/cjs/ChatbotHeader/ChatbotHeader.d.ts +3 -3
  34. package/dist/cjs/ChatbotHeader/ChatbotHeader.js +2 -7
  35. package/dist/cjs/ChatbotHeader/ChatbotHeader.test.js +5 -5
  36. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.d.ts +2 -2
  37. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.js +2 -5
  38. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.test.js +5 -5
  39. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +5 -4
  40. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.js +19 -10
  41. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +1 -1
  42. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.js +10 -8
  43. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.d.ts +2 -2
  44. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.js +2 -5
  45. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.test.js +5 -5
  46. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.d.ts +5 -4
  47. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.js +20 -8
  48. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +1 -1
  49. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.js +10 -8
  50. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +7 -3
  51. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +8 -9
  52. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +1 -1
  53. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +22 -19
  54. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +9 -3
  55. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +11 -12
  56. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +1 -1
  57. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +20 -17
  58. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.d.ts +2 -2
  59. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.js +2 -5
  60. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.test.js +23 -23
  61. package/dist/cjs/ChatbotModal/ChatbotModal.d.ts +5 -2
  62. package/dist/cjs/ChatbotModal/ChatbotModal.js +4 -10
  63. package/dist/cjs/ChatbotModal/ChatbotModal.test.d.ts +1 -0
  64. package/dist/cjs/ChatbotModal/ChatbotModal.test.js +16 -0
  65. package/dist/cjs/ChatbotPopover/ChatbotPopover.d.ts +2 -2
  66. package/dist/cjs/ChatbotPopover/ChatbotPopover.js +2 -8
  67. package/dist/cjs/ChatbotToggle/ChatbotToggle.d.ts +1 -2
  68. package/dist/cjs/ChatbotToggle/ChatbotToggle.js +8 -13
  69. package/dist/cjs/ChatbotToggle/ChatbotToggle.test.js +25 -25
  70. package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +3 -2
  71. package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +7 -21
  72. package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +18 -14
  73. package/dist/cjs/CodeModal/CodeModal.d.ts +10 -2
  74. package/dist/cjs/CodeModal/CodeModal.js +8 -20
  75. package/dist/cjs/CodeModal/CodeModal.test.d.ts +1 -0
  76. package/dist/cjs/CodeModal/CodeModal.test.js +34 -0
  77. package/dist/cjs/Compare/Compare.d.ts +2 -2
  78. package/dist/cjs/Compare/Compare.js +7 -16
  79. package/dist/cjs/Compare/Compare.test.js +7 -9
  80. package/dist/cjs/FileDetails/FileDetails.d.ts +2 -2
  81. package/dist/cjs/FileDetails/FileDetails.js +2 -15
  82. package/dist/cjs/FileDetails/FileDetails.test.js +10 -10
  83. package/dist/cjs/FileDetailsLabel/FileDetailsLabel.d.ts +2 -2
  84. package/dist/cjs/FileDetailsLabel/FileDetailsLabel.js +2 -5
  85. package/dist/cjs/FileDetailsLabel/FileDetailsLabel.test.js +21 -21
  86. package/dist/cjs/FileDropZone/FileDropZone.d.ts +9 -2
  87. package/dist/cjs/FileDropZone/FileDropZone.js +6 -9
  88. package/dist/cjs/FileDropZone/FileDropZone.test.js +31 -5
  89. package/dist/cjs/LoadingMessage/LoadingMessage.d.ts +2 -2
  90. package/dist/cjs/LoadingMessage/LoadingMessage.js +2 -10
  91. package/dist/cjs/LoadingMessage/LoadingMessage.test.js +6 -6
  92. package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.d.ts +20 -3
  93. package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.js +22 -16
  94. package/dist/cjs/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.d.ts +62 -0
  95. package/dist/cjs/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.js +136 -0
  96. package/dist/cjs/Message/ErrorMessage/ErrorMessage.d.ts +1 -2
  97. package/dist/cjs/Message/ErrorMessage/ErrorMessage.js +5 -8
  98. package/dist/cjs/Message/ImageMessage/ImageMessage.d.ts +1 -2
  99. package/dist/cjs/Message/ImageMessage/ImageMessage.js +2 -8
  100. package/dist/cjs/Message/LinkMessage/LinkMessage.d.ts +1 -2
  101. package/dist/cjs/Message/LinkMessage/LinkMessage.js +6 -9
  102. package/dist/cjs/Message/ListMessage/ListItemMessage.d.ts +1 -2
  103. package/dist/cjs/Message/ListMessage/ListItemMessage.js +2 -8
  104. package/dist/cjs/Message/ListMessage/OrderedListMessage.d.ts +1 -2
  105. package/dist/cjs/Message/ListMessage/OrderedListMessage.js +2 -9
  106. package/dist/cjs/Message/ListMessage/UnorderedListMessage.d.ts +1 -2
  107. package/dist/cjs/Message/ListMessage/UnorderedListMessage.js +2 -9
  108. package/dist/cjs/Message/Message.d.ts +26 -8
  109. package/dist/cjs/Message/Message.js +50 -72
  110. package/dist/cjs/Message/Message.test.js +119 -81
  111. package/dist/cjs/Message/MessageInput.d.ts +2 -2
  112. package/dist/cjs/Message/MessageInput.js +5 -14
  113. package/dist/cjs/Message/MessageLoading.d.ts +1 -2
  114. package/dist/cjs/Message/MessageLoading.js +3 -8
  115. package/dist/cjs/Message/Plugins/rehypeMoveImagesOutOfParagraphs.d.ts +2 -0
  116. package/dist/cjs/Message/Plugins/rehypeMoveImagesOutOfParagraphs.js +47 -0
  117. package/dist/cjs/Message/QuickResponse/QuickResponse.d.ts +4 -2
  118. package/dist/cjs/Message/QuickResponse/QuickResponse.js +8 -10
  119. package/dist/cjs/Message/QuickStarts/FallbackImg.d.ts +2 -2
  120. package/dist/cjs/Message/QuickStarts/FallbackImg.js +5 -27
  121. package/dist/cjs/Message/QuickStarts/QuickStartTile.d.ts +4 -2
  122. package/dist/cjs/Message/QuickStarts/QuickStartTile.js +8 -44
  123. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.d.ts +2 -2
  124. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.js +9 -38
  125. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.js +16 -16
  126. package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.d.ts +2 -2
  127. package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.js +2 -26
  128. package/dist/cjs/Message/QuickStarts/types.d.ts +4 -3
  129. package/dist/cjs/Message/TableMessage/TableMessage.d.ts +1 -2
  130. package/dist/cjs/Message/TableMessage/TableMessage.js +8 -10
  131. package/dist/cjs/Message/TableMessage/TbodyMessage.d.ts +2 -3
  132. package/dist/cjs/Message/TableMessage/TbodyMessage.js +7 -9
  133. package/dist/cjs/Message/TableMessage/TdMessage.d.ts +1 -2
  134. package/dist/cjs/Message/TableMessage/TdMessage.js +2 -8
  135. package/dist/cjs/Message/TableMessage/ThMessage.d.ts +1 -2
  136. package/dist/cjs/Message/TableMessage/ThMessage.js +2 -8
  137. package/dist/cjs/Message/TableMessage/TheadMessage.d.ts +1 -2
  138. package/dist/cjs/Message/TableMessage/TheadMessage.js +2 -8
  139. package/dist/cjs/Message/TableMessage/TrMessage.d.ts +2 -3
  140. package/dist/cjs/Message/TableMessage/TrMessage.js +8 -10
  141. package/dist/cjs/Message/TextMessage/TextMessage.d.ts +1 -2
  142. package/dist/cjs/Message/TextMessage/TextMessage.js +2 -9
  143. package/dist/cjs/Message/UserFeedback/CloseButton.d.ts +2 -2
  144. package/dist/cjs/Message/UserFeedback/CloseButton.js +2 -8
  145. package/dist/cjs/Message/UserFeedback/UserFeedback.d.ts +2 -2
  146. package/dist/cjs/Message/UserFeedback/UserFeedback.js +13 -24
  147. package/dist/cjs/Message/UserFeedback/UserFeedback.test.js +55 -51
  148. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
  149. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.js +21 -45
  150. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.js +83 -89
  151. package/dist/cjs/MessageBar/AttachButton.d.ts +9 -2
  152. package/dist/cjs/MessageBar/AttachButton.js +9 -17
  153. package/dist/cjs/MessageBar/AttachButton.test.js +50 -22
  154. package/dist/cjs/MessageBar/MessageBar.d.ts +16 -3
  155. package/dist/cjs/MessageBar/MessageBar.js +36 -37
  156. package/dist/cjs/MessageBar/MessageBar.test.js +122 -108
  157. package/dist/cjs/MessageBar/MicrophoneButton.d.ts +3 -2
  158. package/dist/cjs/MessageBar/MicrophoneButton.js +8 -15
  159. package/dist/cjs/MessageBar/SendButton.d.ts +4 -2
  160. package/dist/cjs/MessageBar/SendButton.js +4 -12
  161. package/dist/cjs/MessageBar/SendButton.test.js +18 -14
  162. package/dist/cjs/MessageBar/StopButton.d.ts +4 -2
  163. package/dist/cjs/MessageBar/StopButton.js +4 -13
  164. package/dist/cjs/MessageBar/StopButton.test.js +18 -14
  165. package/dist/cjs/MessageBox/JumpButton.d.ts +2 -2
  166. package/dist/cjs/MessageBox/JumpButton.js +2 -10
  167. package/dist/cjs/MessageBox/JumpButton.test.js +10 -10
  168. package/dist/cjs/MessageBox/MessageBox.d.ts +21 -5
  169. package/dist/cjs/MessageBox/MessageBox.js +181 -44
  170. package/dist/cjs/MessageBox/MessageBox.test.js +219 -6
  171. package/dist/cjs/PreviewAttachment/PreviewAttachment.d.ts +14 -2
  172. package/dist/cjs/PreviewAttachment/PreviewAttachment.js +3 -6
  173. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.d.ts +1 -1
  174. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.js +34 -12
  175. package/dist/cjs/ResponseActions/ResponseActionButton.d.ts +5 -5
  176. package/dist/cjs/ResponseActions/ResponseActionButton.js +5 -8
  177. package/dist/cjs/ResponseActions/ResponseActionButton.test.js +19 -19
  178. package/dist/cjs/ResponseActions/ResponseActions.d.ts +6 -3
  179. package/dist/cjs/ResponseActions/ResponseActions.js +10 -14
  180. package/dist/cjs/ResponseActions/ResponseActions.test.js +55 -40
  181. package/dist/cjs/Settings/SettingsForm.d.ts +4 -2
  182. package/dist/cjs/Settings/SettingsForm.js +3 -9
  183. package/dist/cjs/Settings/SettingsForm.test.d.ts +1 -1
  184. package/dist/cjs/Settings/SettingsForm.test.js +18 -9
  185. package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
  186. package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -11
  187. package/dist/cjs/SourcesCard/SourcesCard.d.ts +2 -2
  188. package/dist/cjs/SourcesCard/SourcesCard.js +17 -43
  189. package/dist/cjs/SourcesCard/SourcesCard.test.js +60 -60
  190. package/dist/cjs/TermsOfUse/TermsOfUse.d.ts +5 -3
  191. package/dist/cjs/TermsOfUse/TermsOfUse.js +5 -17
  192. package/dist/cjs/TermsOfUse/TermsOfUse.test.js +31 -33
  193. package/dist/css/main.css +228 -15
  194. package/dist/css/main.css.map +1 -1
  195. package/dist/esm/AttachMenu/AttachMenu.d.ts +2 -2
  196. package/dist/esm/AttachMenu/AttachMenu.js +2 -9
  197. package/dist/esm/AttachmentEdit/AttachmentEdit.d.ts +14 -2
  198. package/dist/esm/AttachmentEdit/AttachmentEdit.js +3 -6
  199. package/dist/esm/AttachmentEdit/AttachmentEdit.test.d.ts +1 -1
  200. package/dist/esm/AttachmentEdit/AttachmentEdit.test.js +30 -5
  201. package/dist/esm/Chatbot/Chatbot.d.ts +3 -2
  202. package/dist/esm/Chatbot/Chatbot.js +5 -7
  203. package/dist/esm/Chatbot/Chatbot.test.js +9 -5
  204. package/dist/esm/ChatbotAlert/ChatbotAlert.d.ts +2 -2
  205. package/dist/esm/ChatbotAlert/ChatbotAlert.js +4 -5
  206. package/dist/esm/ChatbotAlert/ChatbotAlert.test.js +4 -4
  207. package/dist/esm/ChatbotContent/ChatbotContent.d.ts +3 -3
  208. package/dist/esm/ChatbotContent/ChatbotContent.js +2 -5
  209. package/dist/esm/ChatbotContent/ChatbotContent.test.js +3 -3
  210. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.d.ts +2 -2
  211. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +7 -11
  212. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +8 -10
  213. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +4 -2
  214. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +17 -34
  215. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +29 -33
  216. package/dist/esm/ChatbotConversationHistoryNav/EmptyState.d.ts +2 -2
  217. package/dist/esm/ChatbotConversationHistoryNav/EmptyState.js +2 -6
  218. package/dist/esm/ChatbotConversationHistoryNav/LoadingState.d.ts +2 -2
  219. package/dist/esm/ChatbotConversationHistoryNav/LoadingState.js +2 -22
  220. package/dist/esm/ChatbotFooter/ChatbotFooter.d.ts +4 -3
  221. package/dist/esm/ChatbotFooter/ChatbotFooter.js +3 -13
  222. package/dist/esm/ChatbotFooter/ChatbotFooter.test.d.ts +1 -1
  223. package/dist/esm/ChatbotFooter/ChatbotFooter.test.js +8 -3
  224. package/dist/esm/ChatbotFooter/ChatbotFooternote.test.js +5 -5
  225. package/dist/esm/ChatbotFooter/ChatbotFootnote.d.ts +3 -3
  226. package/dist/esm/ChatbotFooter/ChatbotFootnote.js +10 -23
  227. package/dist/esm/ChatbotHeader/ChatbotHeader.d.ts +3 -3
  228. package/dist/esm/ChatbotHeader/ChatbotHeader.js +2 -4
  229. package/dist/esm/ChatbotHeader/ChatbotHeader.test.js +3 -3
  230. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.d.ts +2 -2
  231. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.js +2 -2
  232. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.js +3 -3
  233. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +5 -4
  234. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.js +20 -8
  235. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +1 -1
  236. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.js +8 -3
  237. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.d.ts +2 -2
  238. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.js +2 -2
  239. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.js +3 -3
  240. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.d.ts +5 -4
  241. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.js +20 -8
  242. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +1 -1
  243. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.js +8 -3
  244. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +7 -3
  245. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +8 -9
  246. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +1 -1
  247. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +13 -7
  248. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +9 -3
  249. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +11 -9
  250. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +1 -1
  251. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +13 -7
  252. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.d.ts +2 -2
  253. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.js +2 -2
  254. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.js +12 -12
  255. package/dist/esm/ChatbotModal/ChatbotModal.d.ts +5 -2
  256. package/dist/esm/ChatbotModal/ChatbotModal.js +4 -7
  257. package/dist/esm/ChatbotModal/ChatbotModal.test.d.ts +1 -0
  258. package/dist/esm/ChatbotModal/ChatbotModal.test.js +11 -0
  259. package/dist/esm/ChatbotPopover/ChatbotPopover.d.ts +2 -2
  260. package/dist/esm/ChatbotPopover/ChatbotPopover.js +2 -5
  261. package/dist/esm/ChatbotToggle/ChatbotToggle.d.ts +1 -2
  262. package/dist/esm/ChatbotToggle/ChatbotToggle.js +8 -13
  263. package/dist/esm/ChatbotToggle/ChatbotToggle.test.js +8 -8
  264. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +3 -2
  265. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +7 -18
  266. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +11 -7
  267. package/dist/esm/CodeModal/CodeModal.d.ts +10 -2
  268. package/dist/esm/CodeModal/CodeModal.js +8 -20
  269. package/dist/esm/CodeModal/CodeModal.test.d.ts +1 -0
  270. package/dist/esm/CodeModal/CodeModal.test.js +29 -0
  271. package/dist/esm/Compare/Compare.d.ts +2 -2
  272. package/dist/esm/Compare/Compare.js +7 -13
  273. package/dist/esm/Compare/Compare.test.js +4 -6
  274. package/dist/esm/FileDetails/FileDetails.d.ts +2 -2
  275. package/dist/esm/FileDetails/FileDetails.js +2 -15
  276. package/dist/esm/FileDetails/FileDetails.test.js +4 -4
  277. package/dist/esm/FileDetailsLabel/FileDetailsLabel.d.ts +2 -2
  278. package/dist/esm/FileDetailsLabel/FileDetailsLabel.js +2 -5
  279. package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.js +9 -9
  280. package/dist/esm/FileDropZone/FileDropZone.d.ts +9 -2
  281. package/dist/esm/FileDropZone/FileDropZone.js +6 -6
  282. package/dist/esm/FileDropZone/FileDropZone.test.js +29 -3
  283. package/dist/esm/LoadingMessage/LoadingMessage.d.ts +2 -2
  284. package/dist/esm/LoadingMessage/LoadingMessage.js +2 -10
  285. package/dist/esm/LoadingMessage/LoadingMessage.test.js +3 -3
  286. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.d.ts +20 -3
  287. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.js +23 -17
  288. package/dist/esm/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.d.ts +62 -0
  289. package/dist/esm/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.js +130 -0
  290. package/dist/esm/Message/ErrorMessage/ErrorMessage.d.ts +1 -2
  291. package/dist/esm/Message/ErrorMessage/ErrorMessage.js +5 -5
  292. package/dist/esm/Message/ImageMessage/ImageMessage.d.ts +1 -2
  293. package/dist/esm/Message/ImageMessage/ImageMessage.js +2 -5
  294. package/dist/esm/Message/LinkMessage/LinkMessage.d.ts +1 -2
  295. package/dist/esm/Message/LinkMessage/LinkMessage.js +6 -6
  296. package/dist/esm/Message/ListMessage/ListItemMessage.d.ts +1 -2
  297. package/dist/esm/Message/ListMessage/ListItemMessage.js +2 -5
  298. package/dist/esm/Message/ListMessage/OrderedListMessage.d.ts +1 -2
  299. package/dist/esm/Message/ListMessage/OrderedListMessage.js +2 -6
  300. package/dist/esm/Message/ListMessage/UnorderedListMessage.d.ts +1 -2
  301. package/dist/esm/Message/ListMessage/UnorderedListMessage.js +2 -6
  302. package/dist/esm/Message/Message.d.ts +26 -8
  303. package/dist/esm/Message/Message.js +50 -72
  304. package/dist/esm/Message/Message.test.js +119 -81
  305. package/dist/esm/Message/MessageInput.d.ts +2 -2
  306. package/dist/esm/Message/MessageInput.js +5 -11
  307. package/dist/esm/Message/MessageLoading.d.ts +1 -2
  308. package/dist/esm/Message/MessageLoading.js +2 -4
  309. package/dist/esm/Message/Plugins/rehypeMoveImagesOutOfParagraphs.d.ts +2 -0
  310. package/dist/esm/Message/Plugins/rehypeMoveImagesOutOfParagraphs.js +43 -0
  311. package/dist/esm/Message/QuickResponse/QuickResponse.d.ts +4 -2
  312. package/dist/esm/Message/QuickResponse/QuickResponse.js +8 -7
  313. package/dist/esm/Message/QuickStarts/FallbackImg.d.ts +2 -2
  314. package/dist/esm/Message/QuickStarts/FallbackImg.js +5 -4
  315. package/dist/esm/Message/QuickStarts/QuickStartTile.d.ts +4 -2
  316. package/dist/esm/Message/QuickStarts/QuickStartTile.js +8 -21
  317. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.d.ts +2 -2
  318. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.js +9 -15
  319. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.js +5 -5
  320. package/dist/esm/Message/QuickStarts/QuickStartTileHeader.d.ts +2 -2
  321. package/dist/esm/Message/QuickStarts/QuickStartTileHeader.js +2 -3
  322. package/dist/esm/Message/QuickStarts/types.d.ts +4 -3
  323. package/dist/esm/Message/TableMessage/TableMessage.d.ts +1 -2
  324. package/dist/esm/Message/TableMessage/TableMessage.js +8 -7
  325. package/dist/esm/Message/TableMessage/TbodyMessage.d.ts +2 -3
  326. package/dist/esm/Message/TableMessage/TbodyMessage.js +7 -6
  327. package/dist/esm/Message/TableMessage/TdMessage.d.ts +1 -2
  328. package/dist/esm/Message/TableMessage/TdMessage.js +2 -5
  329. package/dist/esm/Message/TableMessage/ThMessage.d.ts +1 -2
  330. package/dist/esm/Message/TableMessage/ThMessage.js +2 -5
  331. package/dist/esm/Message/TableMessage/TheadMessage.d.ts +1 -2
  332. package/dist/esm/Message/TableMessage/TheadMessage.js +2 -5
  333. package/dist/esm/Message/TableMessage/TrMessage.d.ts +2 -3
  334. package/dist/esm/Message/TableMessage/TrMessage.js +8 -7
  335. package/dist/esm/Message/TextMessage/TextMessage.d.ts +1 -2
  336. package/dist/esm/Message/TextMessage/TextMessage.js +2 -6
  337. package/dist/esm/Message/UserFeedback/CloseButton.d.ts +2 -2
  338. package/dist/esm/Message/UserFeedback/CloseButton.js +2 -5
  339. package/dist/esm/Message/UserFeedback/UserFeedback.d.ts +2 -2
  340. package/dist/esm/Message/UserFeedback/UserFeedback.js +13 -24
  341. package/dist/esm/Message/UserFeedback/UserFeedback.test.js +24 -20
  342. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
  343. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.js +21 -45
  344. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.js +29 -35
  345. package/dist/esm/MessageBar/AttachButton.d.ts +9 -2
  346. package/dist/esm/MessageBar/AttachButton.js +9 -14
  347. package/dist/esm/MessageBar/AttachButton.test.js +44 -16
  348. package/dist/esm/MessageBar/MessageBar.d.ts +16 -3
  349. package/dist/esm/MessageBar/MessageBar.js +34 -35
  350. package/dist/esm/MessageBar/MessageBar.test.js +87 -73
  351. package/dist/esm/MessageBar/MicrophoneButton.d.ts +3 -2
  352. package/dist/esm/MessageBar/MicrophoneButton.js +8 -12
  353. package/dist/esm/MessageBar/SendButton.d.ts +4 -2
  354. package/dist/esm/MessageBar/SendButton.js +4 -9
  355. package/dist/esm/MessageBar/SendButton.test.js +13 -9
  356. package/dist/esm/MessageBar/StopButton.d.ts +4 -2
  357. package/dist/esm/MessageBar/StopButton.js +4 -10
  358. package/dist/esm/MessageBar/StopButton.test.js +13 -9
  359. package/dist/esm/MessageBox/JumpButton.d.ts +2 -2
  360. package/dist/esm/MessageBox/JumpButton.js +2 -7
  361. package/dist/esm/MessageBox/JumpButton.test.js +9 -9
  362. package/dist/esm/MessageBox/MessageBox.d.ts +21 -5
  363. package/dist/esm/MessageBox/MessageBox.js +181 -44
  364. package/dist/esm/MessageBox/MessageBox.test.js +220 -7
  365. package/dist/esm/PreviewAttachment/PreviewAttachment.d.ts +14 -2
  366. package/dist/esm/PreviewAttachment/PreviewAttachment.js +3 -6
  367. package/dist/esm/PreviewAttachment/PreviewAttachment.test.d.ts +1 -1
  368. package/dist/esm/PreviewAttachment/PreviewAttachment.test.js +30 -5
  369. package/dist/esm/ResponseActions/ResponseActionButton.d.ts +5 -5
  370. package/dist/esm/ResponseActions/ResponseActionButton.js +5 -5
  371. package/dist/esm/ResponseActions/ResponseActionButton.test.js +7 -7
  372. package/dist/esm/ResponseActions/ResponseActions.d.ts +6 -3
  373. package/dist/esm/ResponseActions/ResponseActions.js +10 -14
  374. package/dist/esm/ResponseActions/ResponseActions.test.js +30 -15
  375. package/dist/esm/Settings/SettingsForm.d.ts +4 -2
  376. package/dist/esm/Settings/SettingsForm.js +3 -6
  377. package/dist/esm/Settings/SettingsForm.test.d.ts +1 -1
  378. package/dist/esm/Settings/SettingsForm.test.js +16 -4
  379. package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
  380. package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -8
  381. package/dist/esm/SourcesCard/SourcesCard.d.ts +2 -2
  382. package/dist/esm/SourcesCard/SourcesCard.js +17 -40
  383. package/dist/esm/SourcesCard/SourcesCard.test.js +19 -19
  384. package/dist/esm/TermsOfUse/TermsOfUse.d.ts +5 -3
  385. package/dist/esm/TermsOfUse/TermsOfUse.js +5 -17
  386. package/dist/esm/TermsOfUse/TermsOfUse.test.js +10 -12
  387. package/dist/tsconfig.tsbuildinfo +1 -1
  388. package/package.json +5 -6
  389. package/patternfly-docs/content/extensions/chatbot/design-guidelines.md +10 -0
  390. package/patternfly-docs/content/extensions/chatbot/examples/Customizing Messages/Customizing Messages.md +51 -0
  391. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachMenu.tsx +9 -9
  392. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentEdit.tsx +14 -5
  393. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentError.tsx +2 -2
  394. package/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +19 -12
  395. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetails.tsx +2 -2
  396. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetailsLabel.tsx +9 -9
  397. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDropZone.tsx +4 -4
  398. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithAttachment.tsx +7 -7
  399. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithCustomResponseActions.tsx +2 -2
  400. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedback.tsx +37 -4
  401. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedbackTimeout.tsx +3 -3
  402. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickResponses.tsx +26 -2
  403. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickStart.tsx +13 -2
  404. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithResponseActions.tsx +2 -2
  405. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithSources.tsx +24 -3
  406. package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +1 -0
  407. package/patternfly-docs/content/extensions/chatbot/examples/Messages/PreviewAttachment.tsx +14 -5
  408. package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +20 -14
  409. package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessageWithExtraContent.tsx +4 -4
  410. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotContainer.tsx +59 -36
  411. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFooter.tsx +2 -2
  412. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFootnote.tsx +2 -2
  413. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderBasic.tsx +10 -13
  414. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawer.tsx +18 -9
  415. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerNavigation.tsx +5 -5
  416. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerResizable.tsx +5 -5
  417. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithActions.tsx +12 -3
  418. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithSelection.tsx +15 -6
  419. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderTitle.tsx +59 -34
  420. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBar.tsx +2 -2
  421. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarAttach.tsx +9 -9
  422. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarDisabled.tsx +3 -3
  423. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarLanguage.tsx +2 -2
  424. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarStop.tsx +2 -2
  425. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotModal.tsx +74 -37
  426. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotToggleBasic.tsx +3 -3
  427. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomeInteraction.tsx +7 -7
  428. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomePrompt.tsx +3 -3
  429. package/patternfly-docs/content/extensions/chatbot/examples/UI/CompactSettings.tsx +282 -0
  430. package/patternfly-docs/content/extensions/chatbot/examples/UI/CustomClosedIcon.tsx +3 -3
  431. package/patternfly-docs/content/extensions/chatbot/examples/UI/Settings.tsx +16 -23
  432. package/patternfly-docs/content/extensions/chatbot/examples/UI/SkipToContent.tsx +5 -5
  433. package/patternfly-docs/content/extensions/chatbot/examples/UI/SquareChatbotToggle.tsx +3 -3
  434. package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUse.tsx +91 -48
  435. package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUseCompact.tsx +179 -0
  436. package/patternfly-docs/content/extensions/chatbot/examples/UI/UI.md +17 -0
  437. package/patternfly-docs/content/extensions/chatbot/examples/demos/AttachmentDemos.md +37 -0
  438. package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +9 -1
  439. package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +17 -23
  440. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachment.tsx +23 -14
  441. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachmentMenu.tsx +14 -14
  442. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotCompact.tsx +475 -0
  443. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotInDrawer.tsx +15 -20
  444. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotScrolling.tsx +536 -0
  445. package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedChatbot.tsx +15 -20
  446. package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedComparisonChatbot.tsx +12 -12
  447. package/patternfly-docs/content/extensions/chatbot/examples/demos/Feedback.tsx +7 -7
  448. package/patternfly-docs/content/extensions/chatbot/img/quick-response-confirmation.svg +67 -0
  449. package/src/AttachMenu/AttachMenu.tsx +2 -2
  450. package/src/AttachmentEdit/AttachmentEdit.test.tsx +46 -2
  451. package/src/AttachmentEdit/AttachmentEdit.tsx +29 -7
  452. package/src/Chatbot/Chatbot.scss +7 -0
  453. package/src/Chatbot/Chatbot.test.tsx +9 -1
  454. package/src/Chatbot/Chatbot.tsx +9 -4
  455. package/src/ChatbotAlert/ChatbotAlert.test.tsx +0 -1
  456. package/src/ChatbotAlert/ChatbotAlert.tsx +2 -2
  457. package/src/ChatbotContent/ChatbotContent.test.tsx +0 -1
  458. package/src/ChatbotContent/ChatbotContent.tsx +3 -3
  459. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.tsx +0 -1
  460. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.tsx +6 -4
  461. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.scss +38 -3
  462. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.tsx +21 -3
  463. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.tsx +17 -8
  464. package/src/ChatbotConversationHistoryNav/EmptyState.tsx +2 -2
  465. package/src/ChatbotConversationHistoryNav/LoadingState.tsx +2 -2
  466. package/src/ChatbotFooter/ChatbotFooter.scss +5 -0
  467. package/src/ChatbotFooter/ChatbotFooter.test.tsx +10 -1
  468. package/src/ChatbotFooter/ChatbotFooter.tsx +6 -4
  469. package/src/ChatbotFooter/ChatbotFooternote.test.tsx +0 -1
  470. package/src/ChatbotFooter/ChatbotFootnote.tsx +6 -4
  471. package/src/ChatbotHeader/ChatbotHeader.scss +25 -0
  472. package/src/ChatbotHeader/ChatbotHeader.test.tsx +0 -1
  473. package/src/ChatbotHeader/ChatbotHeader.tsx +4 -7
  474. package/src/ChatbotHeader/ChatbotHeaderActions.test.tsx +0 -1
  475. package/src/ChatbotHeader/ChatbotHeaderActions.tsx +2 -2
  476. package/src/ChatbotHeader/ChatbotHeaderCloseButton.test.tsx +6 -1
  477. package/src/ChatbotHeader/ChatbotHeaderCloseButton.tsx +17 -10
  478. package/src/ChatbotHeader/ChatbotHeaderMain.test.tsx +0 -1
  479. package/src/ChatbotHeader/ChatbotHeaderMain.tsx +5 -3
  480. package/src/ChatbotHeader/ChatbotHeaderMenu.test.tsx +8 -1
  481. package/src/ChatbotHeader/ChatbotHeaderMenu.tsx +17 -12
  482. package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.tsx +15 -1
  483. package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.tsx +17 -7
  484. package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.tsx +19 -1
  485. package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.tsx +30 -6
  486. package/src/ChatbotHeader/ChatbotHeaderTitle.test.tsx +0 -1
  487. package/src/ChatbotHeader/ChatbotHeaderTitle.tsx +2 -2
  488. package/src/ChatbotModal/ChatbotModal.scss +15 -4
  489. package/src/ChatbotModal/ChatbotModal.test.tsx +58 -0
  490. package/src/ChatbotModal/ChatbotModal.tsx +7 -3
  491. package/src/ChatbotPopover/ChatbotPopover.scss +9 -5
  492. package/src/ChatbotPopover/ChatbotPopover.tsx +2 -2
  493. package/src/ChatbotToggle/ChatbotToggle.test.tsx +0 -1
  494. package/src/ChatbotToggle/ChatbotToggle.tsx +5 -3
  495. package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.scss +9 -1
  496. package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.tsx +13 -1
  497. package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.tsx +15 -4
  498. package/src/ChatbotWelcomePrompt/__snapshots__/ChatbotWelcomePrompt.test.tsx.snap +1 -1
  499. package/src/CodeModal/CodeModal.scss +11 -3
  500. package/src/CodeModal/CodeModal.test.tsx +51 -0
  501. package/src/CodeModal/CodeModal.tsx +24 -10
  502. package/src/Compare/Compare.test.tsx +0 -1
  503. package/src/Compare/Compare.tsx +7 -6
  504. package/src/FileDetails/FileDetails.test.tsx +0 -1
  505. package/src/FileDetails/FileDetails.tsx +2 -2
  506. package/src/FileDetails/__snapshots__/FileDetails.test.tsx.snap +1 -1
  507. package/src/FileDetailsLabel/FileDetailsLabel.test.tsx +0 -1
  508. package/src/FileDetailsLabel/FileDetailsLabel.tsx +1 -1
  509. package/src/FileDetailsLabel/__snapshots__/FileDetailsLabel.test.tsx.snap +1 -1
  510. package/src/FileDropZone/FileDropZone.test.tsx +29 -1
  511. package/src/FileDropZone/FileDropZone.tsx +13 -3
  512. package/src/LoadingMessage/LoadingMessage.test.tsx +0 -1
  513. package/src/LoadingMessage/LoadingMessage.tsx +2 -2
  514. package/src/Message/CodeBlockMessage/CodeBlockMessage.scss +7 -0
  515. package/src/Message/CodeBlockMessage/CodeBlockMessage.tsx +105 -18
  516. package/src/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.tsx +220 -0
  517. package/src/Message/ErrorMessage/ErrorMessage.tsx +0 -1
  518. package/src/Message/ImageMessage/ImageMessage.tsx +1 -2
  519. package/src/Message/LinkMessage/LinkMessage.tsx +0 -1
  520. package/src/Message/ListMessage/ListItemMessage.tsx +0 -1
  521. package/src/Message/ListMessage/OrderedListMessage.tsx +0 -1
  522. package/src/Message/ListMessage/UnorderedListMessage.tsx +0 -1
  523. package/src/Message/Message.scss +27 -0
  524. package/src/Message/Message.test.tsx +66 -6
  525. package/src/Message/Message.tsx +41 -17
  526. package/src/Message/MessageInput.tsx +5 -5
  527. package/src/Message/MessageLoading.tsx +0 -2
  528. package/src/Message/Plugins/rehypeMoveImagesOutOfParagraphs.ts +53 -0
  529. package/src/Message/QuickResponse/QuickResponse.tsx +9 -4
  530. package/src/Message/QuickStarts/FallbackImg.tsx +4 -3
  531. package/src/Message/QuickStarts/QuickStartTile.tsx +8 -4
  532. package/src/Message/QuickStarts/QuickStartTileDescription.test.tsx +0 -1
  533. package/src/Message/QuickStarts/QuickStartTileDescription.tsx +4 -3
  534. package/src/Message/QuickStarts/QuickStartTileHeader.tsx +2 -2
  535. package/src/Message/QuickStarts/types.ts +4 -3
  536. package/src/Message/TableMessage/TableMessage.tsx +4 -4
  537. package/src/Message/TableMessage/TbodyMessage.tsx +3 -3
  538. package/src/Message/TableMessage/TdMessage.tsx +1 -2
  539. package/src/Message/TableMessage/ThMessage.tsx +1 -2
  540. package/src/Message/TableMessage/TheadMessage.tsx +3 -2
  541. package/src/Message/TableMessage/TrMessage.tsx +4 -4
  542. package/src/Message/TextMessage/TextMessage.scss +25 -0
  543. package/src/Message/TextMessage/TextMessage.tsx +1 -2
  544. package/src/Message/UserFeedback/CloseButton.tsx +2 -2
  545. package/src/Message/UserFeedback/UserFeedback.scss +24 -3
  546. package/src/Message/UserFeedback/UserFeedback.test.tsx +13 -1
  547. package/src/Message/UserFeedback/UserFeedback.tsx +12 -8
  548. package/src/Message/UserFeedback/UserFeedbackComplete.test.tsx +4 -1
  549. package/src/Message/UserFeedback/UserFeedbackComplete.tsx +26 -16
  550. package/src/MessageBar/AttachButton.scss +10 -0
  551. package/src/MessageBar/AttachButton.test.tsx +56 -8
  552. package/src/MessageBar/AttachButton.tsx +21 -8
  553. package/src/MessageBar/MessageBar.scss +17 -0
  554. package/src/MessageBar/MessageBar.test.tsx +81 -30
  555. package/src/MessageBar/MessageBar.tsx +60 -25
  556. package/src/MessageBar/MicrophoneButton.scss +10 -0
  557. package/src/MessageBar/MicrophoneButton.tsx +15 -9
  558. package/src/MessageBar/SendButton.scss +10 -0
  559. package/src/MessageBar/SendButton.test.tsx +10 -7
  560. package/src/MessageBar/SendButton.tsx +9 -5
  561. package/src/MessageBar/StopButton.scss +10 -0
  562. package/src/MessageBar/StopButton.test.tsx +10 -7
  563. package/src/MessageBar/StopButton.tsx +9 -5
  564. package/src/MessageBox/JumpButton.test.tsx +4 -5
  565. package/src/MessageBox/JumpButton.tsx +3 -3
  566. package/src/MessageBox/MessageBox.scss +6 -0
  567. package/src/MessageBox/MessageBox.test.tsx +295 -5
  568. package/src/MessageBox/MessageBox.tsx +301 -82
  569. package/src/PreviewAttachment/PreviewAttachment.test.tsx +44 -2
  570. package/src/PreviewAttachment/PreviewAttachment.tsx +29 -7
  571. package/src/ResponseActions/ResponseActionButton.test.tsx +0 -1
  572. package/src/ResponseActions/ResponseActionButton.tsx +6 -5
  573. package/src/ResponseActions/ResponseActions.test.tsx +18 -2
  574. package/src/ResponseActions/ResponseActions.tsx +18 -8
  575. package/src/Settings/Settings.scss +11 -0
  576. package/src/Settings/SettingsForm.test.tsx +17 -1
  577. package/src/Settings/SettingsForm.tsx +8 -3
  578. package/src/SourceDetailsMenuItem/SourceDetailsMenuItem.tsx +2 -2
  579. package/src/SourcesCard/SourcesCard.scss +8 -0
  580. package/src/SourcesCard/SourcesCard.test.tsx +0 -1
  581. package/src/SourcesCard/SourcesCard.tsx +9 -8
  582. package/src/TermsOfUse/TermsOfUse.scss +20 -0
  583. package/src/TermsOfUse/TermsOfUse.test.tsx +0 -1
  584. package/src/TermsOfUse/TermsOfUse.tsx +15 -9
  585. package/tsconfig.cjs.json +0 -1
  586. package/tsconfig.json +3 -3
@@ -0,0 +1,475 @@
1
+ import { useEffect, useRef, useState, FunctionComponent, MouseEvent } from 'react';
2
+ import { Bullseye, Brand, DropdownList, DropdownItem, DropdownGroup, SkipToContent } from '@patternfly/react-core';
3
+
4
+ import ChatbotToggle from '@patternfly/chatbot/dist/dynamic/ChatbotToggle';
5
+ import Chatbot, { ChatbotDisplayMode } from '@patternfly/chatbot/dist/dynamic/Chatbot';
6
+ import ChatbotContent from '@patternfly/chatbot/dist/dynamic/ChatbotContent';
7
+ import ChatbotWelcomePrompt from '@patternfly/chatbot/dist/dynamic/ChatbotWelcomePrompt';
8
+ import ChatbotFooter, { ChatbotFootnote } from '@patternfly/chatbot/dist/dynamic/ChatbotFooter';
9
+ import MessageBar from '@patternfly/chatbot/dist/dynamic/MessageBar';
10
+ import MessageBox from '@patternfly/chatbot/dist/dynamic/MessageBox';
11
+ import Message, { MessageProps } from '@patternfly/chatbot/dist/dynamic/Message';
12
+ import ChatbotConversationHistoryNav, {
13
+ Conversation
14
+ } from '@patternfly/chatbot/dist/dynamic/ChatbotConversationHistoryNav';
15
+ import ChatbotHeader, {
16
+ ChatbotHeaderMenu,
17
+ ChatbotHeaderMain,
18
+ ChatbotHeaderTitle,
19
+ ChatbotHeaderActions,
20
+ ChatbotHeaderSelectorDropdown,
21
+ ChatbotHeaderOptionsDropdown
22
+ } from '@patternfly/chatbot/dist/dynamic/ChatbotHeader';
23
+
24
+ import ExpandIcon from '@patternfly/react-icons/dist/esm/icons/expand-icon';
25
+ import OpenDrawerRightIcon from '@patternfly/react-icons/dist/esm/icons/open-drawer-right-icon';
26
+ import OutlinedWindowRestoreIcon from '@patternfly/react-icons/dist/esm/icons/outlined-window-restore-icon';
27
+
28
+ import PFHorizontalLogoColor from '../UI/PF-HorizontalLogo-Color.svg';
29
+ import PFHorizontalLogoReverse from '../UI/PF-HorizontalLogo-Reverse.svg';
30
+ import PFIconLogoColor from '../UI/PF-IconLogo-Color.svg';
31
+ import PFIconLogoReverse from '../UI/PF-IconLogo-Reverse.svg';
32
+ import userAvatar from '../Messages/user_avatar.svg';
33
+ import patternflyAvatar from '../Messages/patternfly_avatar.jpg';
34
+
35
+ const footnoteProps = {
36
+ label: 'ChatBot uses AI. Check for mistakes.',
37
+ popover: {
38
+ title: 'Verify information',
39
+ description: `While ChatBot strives for accuracy, AI is experimental and can make mistakes. We cannot guarantee that all information provided by ChatBot is up to date or without error. You should always verify responses using reliable sources, especially for crucial information and decision making.`,
40
+ bannerImage: {
41
+ src: 'https://cdn.dribbble.com/userupload/10651749/file/original-8a07b8e39d9e8bf002358c66fce1223e.gif',
42
+ alt: 'Example image for footnote popover'
43
+ },
44
+ cta: {
45
+ label: 'Dismiss',
46
+ onClick: () => {
47
+ alert('Do something!');
48
+ }
49
+ },
50
+ link: {
51
+ label: 'View AI policy',
52
+ url: 'https://www.redhat.com/'
53
+ }
54
+ }
55
+ };
56
+
57
+ const markdown = `A paragraph with *emphasis* and **strong importance**.
58
+
59
+ > A block quote with ~strikethrough~ and a URL: https://reactjs.org.
60
+
61
+ Here is an inline code - \`() => void\`
62
+
63
+ Here is some YAML code:
64
+
65
+ ~~~yaml
66
+ apiVersion: helm.openshift.io/v1beta1/
67
+ kind: HelmChartRepository
68
+ metadata:
69
+ name: azure-sample-repo0oooo00ooo
70
+ spec:
71
+ connectionConfig:
72
+ url: https://raw.githubusercontent.com/Azure-Samples/helm-charts/master/docs
73
+ ~~~
74
+
75
+ Here is some JavaScript code:
76
+
77
+ ~~~js
78
+ const MessageLoading = () => (
79
+ <div className="pf-chatbot__message-loading">
80
+ <span className="pf-chatbot__message-loading-dots">
81
+ <span className="pf-v6-screen-reader">Loading message</span>
82
+ </span>
83
+ </div>
84
+ );
85
+
86
+ export default MessageLoading;
87
+
88
+ ~~~
89
+ `;
90
+
91
+ // It's important to set a date and timestamp prop since the Message components re-render.
92
+ // The timestamps re-render with them.
93
+ const date = new Date();
94
+
95
+ const initialMessages: MessageProps[] = [
96
+ {
97
+ id: '1',
98
+ role: 'user',
99
+ content: 'Hello, can you give me an example of what you can do?',
100
+ name: 'User',
101
+ avatar: userAvatar,
102
+ timestamp: date.toLocaleString(),
103
+ avatarProps: { isBordered: true }
104
+ },
105
+ {
106
+ id: '2',
107
+ role: 'bot',
108
+ content: markdown,
109
+ name: 'Bot',
110
+ avatar: patternflyAvatar,
111
+ timestamp: date.toLocaleString(),
112
+ actions: {
113
+ // eslint-disable-next-line no-console
114
+ positive: { onClick: () => console.log('Good response') },
115
+ // eslint-disable-next-line no-console
116
+ negative: { onClick: () => console.log('Bad response') },
117
+ // eslint-disable-next-line no-console
118
+ copy: { onClick: () => console.log('Copy') },
119
+ // eslint-disable-next-line no-console
120
+ share: { onClick: () => console.log('Share') },
121
+ // eslint-disable-next-line no-console
122
+ listen: { onClick: () => console.log('Listen') }
123
+ }
124
+ }
125
+ ];
126
+
127
+ const welcomePrompts = [
128
+ {
129
+ title: 'Set up account',
130
+ message: 'Choose the necessary settings and preferences for your account.'
131
+ },
132
+ {
133
+ title: 'Troubleshoot issue',
134
+ message: 'Find documentation and instructions to resolve your issue.'
135
+ }
136
+ ];
137
+
138
+ const initialConversations = {
139
+ Today: [{ id: '1', text: 'Hello, can you give me an example of what you can do?' }],
140
+ 'This month': [
141
+ {
142
+ id: '2',
143
+ text: 'Enterprise Linux installation and setup'
144
+ },
145
+ { id: '3', text: 'Troubleshoot system crash' }
146
+ ],
147
+ March: [
148
+ { id: '4', text: 'Ansible security and updates' },
149
+ { id: '5', text: 'Red Hat certification' },
150
+ { id: '6', text: 'Lightspeed user documentation' }
151
+ ],
152
+ February: [
153
+ { id: '7', text: 'Crashing pod assistance' },
154
+ { id: '8', text: 'OpenShift AI pipelines' },
155
+ { id: '9', text: 'Updating subscription plan' },
156
+ { id: '10', text: 'Red Hat licensing options' }
157
+ ],
158
+ January: [
159
+ { id: '11', text: 'RHEL system performance' },
160
+ { id: '12', text: 'Manage user accounts' }
161
+ ]
162
+ };
163
+
164
+ export const ChatbotDemo: FunctionComponent = () => {
165
+ const [chatbotVisible, setChatbotVisible] = useState<boolean>(true);
166
+ const [displayMode, setDisplayMode] = useState<ChatbotDisplayMode>(ChatbotDisplayMode.default);
167
+ const [messages, setMessages] = useState<MessageProps[]>(initialMessages);
168
+ const [selectedModel, setSelectedModel] = useState('Granite 7B');
169
+ const [isSendButtonDisabled, setIsSendButtonDisabled] = useState(false);
170
+ const [isDrawerOpen, setIsDrawerOpen] = useState(false);
171
+ const [conversations, setConversations] = useState<Conversation[] | { [key: string]: Conversation[] }>(
172
+ initialConversations
173
+ );
174
+ const [announcement, setAnnouncement] = useState<string>();
175
+ const scrollToBottomRef = useRef<HTMLDivElement>(null);
176
+ const toggleRef = useRef<HTMLButtonElement>(null);
177
+ const chatbotRef = useRef<HTMLDivElement>(null);
178
+ const historyRef = useRef<HTMLButtonElement>(null);
179
+
180
+ // Auto-scrolls to the latest message
181
+ useEffect(() => {
182
+ // don't scroll the first load - in this demo, we know we start with two messages
183
+ if (messages.length > 2) {
184
+ scrollToBottomRef.current?.scrollIntoView({ behavior: 'smooth' });
185
+ }
186
+ }, [messages]);
187
+
188
+ const onSelectModel = (_event: MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
189
+ setSelectedModel(value as string);
190
+ };
191
+
192
+ const onSelectDisplayMode = (
193
+ _event: MouseEvent<Element, MouseEvent> | undefined,
194
+ value: string | number | undefined
195
+ ) => {
196
+ setDisplayMode(value as ChatbotDisplayMode);
197
+ };
198
+
199
+ // you will likely want to come up with your own unique id function; this is for demo purposes only
200
+ const generateId = () => {
201
+ const id = Date.now() + Math.random();
202
+ return id.toString();
203
+ };
204
+
205
+ const handleSend = (message: string) => {
206
+ setIsSendButtonDisabled(true);
207
+ const newMessages: MessageProps[] = [];
208
+ // We can't use structuredClone since messages contains functions, but we can't mutate
209
+ // items that are going into state or the UI won't update correctly
210
+ messages.forEach((message) => newMessages.push(message));
211
+ // It's important to set a timestamp prop since the Message components re-render.
212
+ // The timestamps re-render with them.
213
+ const date = new Date();
214
+ newMessages.push({
215
+ id: generateId(),
216
+ role: 'user',
217
+ content: message,
218
+ name: 'User',
219
+ avatar: userAvatar,
220
+ timestamp: date.toLocaleString(),
221
+ avatarProps: { isBordered: true }
222
+ });
223
+ newMessages.push({
224
+ id: generateId(),
225
+ role: 'bot',
226
+ content: 'API response goes here',
227
+ name: 'Bot',
228
+ isLoading: true,
229
+ avatar: patternflyAvatar,
230
+ timestamp: date.toLocaleString()
231
+ });
232
+ setMessages(newMessages);
233
+ // make announcement to assistive devices that new messages have been added
234
+ setAnnouncement(`Message from User: ${message}. Message from Bot is loading.`);
235
+
236
+ // this is for demo purposes only; in a real situation, there would be an API response we would wait for
237
+ setTimeout(() => {
238
+ const loadedMessages: MessageProps[] = [];
239
+ // We can't use structuredClone since messages contains functions, but we can't mutate
240
+ // items that are going into state or the UI won't update correctly
241
+ newMessages.forEach((message) => loadedMessages.push(message));
242
+ loadedMessages.pop();
243
+ loadedMessages.push({
244
+ id: generateId(),
245
+ role: 'bot',
246
+ content: 'API response goes here',
247
+ name: 'Bot',
248
+ isLoading: false,
249
+ avatar: patternflyAvatar,
250
+ timestamp: date.toLocaleString(),
251
+ actions: {
252
+ // eslint-disable-next-line no-console
253
+ positive: { onClick: () => console.log('Good response') },
254
+ // eslint-disable-next-line no-console
255
+ negative: { onClick: () => console.log('Bad response') },
256
+ // eslint-disable-next-line no-console
257
+ copy: { onClick: () => console.log('Copy') },
258
+ // eslint-disable-next-line no-console
259
+ share: { onClick: () => console.log('Share') },
260
+ // eslint-disable-next-line no-console
261
+ listen: { onClick: () => console.log('Listen') }
262
+ }
263
+ });
264
+ setMessages(loadedMessages);
265
+ // make announcement to assistive devices that new message has loaded
266
+ setAnnouncement(`Message from Bot: API response goes here`);
267
+ setIsSendButtonDisabled(false);
268
+ }, 5000);
269
+ };
270
+
271
+ const findMatchingItems = (targetValue: string) => {
272
+ let filteredConversations = Object.entries(initialConversations).reduce((acc, [key, items]) => {
273
+ const filteredItems = items.filter((item) => item.text.toLowerCase().includes(targetValue.toLowerCase()));
274
+ if (filteredItems.length > 0) {
275
+ acc[key] = filteredItems;
276
+ }
277
+ return acc;
278
+ }, {});
279
+
280
+ // append message if no items are found
281
+ if (Object.keys(filteredConversations).length === 0) {
282
+ filteredConversations = [{ id: '13', noIcon: true, text: 'No results found' }];
283
+ }
284
+ return filteredConversations;
285
+ };
286
+
287
+ const horizontalLogo = (
288
+ <Bullseye>
289
+ <Brand className="show-light" src={PFHorizontalLogoColor} alt="PatternFly" />
290
+ <Brand className="show-dark" src={PFHorizontalLogoReverse} alt="PatternFly" />
291
+ </Bullseye>
292
+ );
293
+
294
+ const iconLogo = (
295
+ <>
296
+ <Brand className="show-light" src={PFIconLogoColor} alt="PatternFly" />
297
+ <Brand className="show-dark" src={PFIconLogoReverse} alt="PatternFly" />
298
+ </>
299
+ );
300
+
301
+ const handleSkipToContent = (e) => {
302
+ e.preventDefault();
303
+ /* eslint-disable indent */
304
+ switch (displayMode) {
305
+ case ChatbotDisplayMode.default:
306
+ if (!chatbotVisible && toggleRef.current) {
307
+ toggleRef.current.focus();
308
+ }
309
+ if (chatbotVisible && chatbotRef.current) {
310
+ chatbotRef.current.focus();
311
+ }
312
+ break;
313
+
314
+ case ChatbotDisplayMode.docked:
315
+ if (chatbotRef.current) {
316
+ chatbotRef.current.focus();
317
+ }
318
+ break;
319
+ default:
320
+ if (historyRef.current) {
321
+ historyRef.current.focus();
322
+ }
323
+ break;
324
+ }
325
+ /* eslint-enable indent */
326
+ };
327
+
328
+ return (
329
+ <>
330
+ <SkipToContent onClick={handleSkipToContent} href="#">
331
+ Skip to chatbot
332
+ </SkipToContent>
333
+ <ChatbotToggle
334
+ tooltipLabel="Chatbot"
335
+ isChatbotVisible={chatbotVisible}
336
+ onToggleChatbot={function () {
337
+ setChatbotVisible(!chatbotVisible);
338
+ }}
339
+ id="chatbot-toggle"
340
+ ref={toggleRef}
341
+ />
342
+ <Chatbot isCompact isVisible={chatbotVisible} displayMode={displayMode} ref={chatbotRef}>
343
+ <ChatbotConversationHistoryNav
344
+ displayMode={displayMode}
345
+ onDrawerToggle={() => {
346
+ setIsDrawerOpen(!isDrawerOpen);
347
+ setConversations(initialConversations);
348
+ }}
349
+ isDrawerOpen={isDrawerOpen}
350
+ setIsDrawerOpen={setIsDrawerOpen}
351
+ activeItemId="1"
352
+ // eslint-disable-next-line no-console
353
+ onSelectActiveItem={(e, selectedItem) => console.log(`Selected history item with id ${selectedItem}`)}
354
+ conversations={conversations}
355
+ onNewChat={() => {
356
+ setIsDrawerOpen(!isDrawerOpen);
357
+ setMessages([]);
358
+ setConversations(initialConversations);
359
+ }}
360
+ handleTextInputChange={(value: string) => {
361
+ if (value === '') {
362
+ setConversations(initialConversations);
363
+ }
364
+ // this is where you would perform search on the items in the drawer
365
+ // and update the state
366
+ const newConversations: { [key: string]: Conversation[] } = findMatchingItems(value);
367
+ setConversations(newConversations);
368
+ }}
369
+ isCompact
370
+ drawerContent={
371
+ <>
372
+ <ChatbotHeader>
373
+ <ChatbotHeaderMain>
374
+ <ChatbotHeaderMenu
375
+ ref={historyRef}
376
+ aria-expanded={isDrawerOpen}
377
+ onMenuToggle={() => setIsDrawerOpen(!isDrawerOpen)}
378
+ isCompact
379
+ />
380
+ <ChatbotHeaderTitle
381
+ displayMode={displayMode}
382
+ showOnFullScreen={horizontalLogo}
383
+ showOnDefault={iconLogo}
384
+ ></ChatbotHeaderTitle>
385
+ </ChatbotHeaderMain>
386
+ <ChatbotHeaderActions>
387
+ <ChatbotHeaderSelectorDropdown value={selectedModel} onSelect={onSelectModel} isCompact>
388
+ <DropdownList>
389
+ <DropdownItem value="Granite 7B" key="granite">
390
+ Granite 7B
391
+ </DropdownItem>
392
+ <DropdownItem value="Llama 3.0" key="llama">
393
+ Llama 3.0
394
+ </DropdownItem>
395
+ <DropdownItem value="Mistral 3B" key="mistral">
396
+ Mistral 3B
397
+ </DropdownItem>
398
+ </DropdownList>
399
+ </ChatbotHeaderSelectorDropdown>
400
+ <ChatbotHeaderOptionsDropdown onSelect={onSelectDisplayMode} isCompact>
401
+ <DropdownGroup label="Display mode">
402
+ <DropdownList>
403
+ <DropdownItem
404
+ value={ChatbotDisplayMode.default}
405
+ key="switchDisplayOverlay"
406
+ icon={<OutlinedWindowRestoreIcon aria-hidden />}
407
+ isSelected={displayMode === ChatbotDisplayMode.default}
408
+ >
409
+ <span>Overlay</span>
410
+ </DropdownItem>
411
+ <DropdownItem
412
+ value={ChatbotDisplayMode.docked}
413
+ key="switchDisplayDock"
414
+ icon={<OpenDrawerRightIcon aria-hidden />}
415
+ isSelected={displayMode === ChatbotDisplayMode.docked}
416
+ >
417
+ <span>Dock to window</span>
418
+ </DropdownItem>
419
+ <DropdownItem
420
+ value={ChatbotDisplayMode.fullscreen}
421
+ key="switchDisplayFullscreen"
422
+ icon={<ExpandIcon aria-hidden />}
423
+ isSelected={displayMode === ChatbotDisplayMode.fullscreen}
424
+ >
425
+ <span>Fullscreen</span>
426
+ </DropdownItem>
427
+ </DropdownList>
428
+ </DropdownGroup>
429
+ </ChatbotHeaderOptionsDropdown>
430
+ </ChatbotHeaderActions>
431
+ </ChatbotHeader>
432
+ <ChatbotContent>
433
+ {/* Update the announcement prop on MessageBox whenever a new message is sent
434
+ so that users of assistive devices receive sufficient context */}
435
+ <MessageBox announcement={announcement}>
436
+ <ChatbotWelcomePrompt
437
+ title="Hi, ChatBot User!"
438
+ description="How can I help you today?"
439
+ prompts={welcomePrompts}
440
+ isCompact
441
+ />
442
+ {/* This code block enables scrolling to the top of the last message.
443
+ You can instead choose to move the div with scrollToBottomRef on it below
444
+ the map of messages, so that users are forced to scroll to the bottom.
445
+ If you are using streaming, you will want to take a different approach;
446
+ see: https://github.com/patternfly/chatbot/issues/201#issuecomment-2400725173 */}
447
+ {messages.map((message, index) => {
448
+ if (index === messages.length - 1) {
449
+ return (
450
+ <>
451
+ <div ref={scrollToBottomRef}></div>
452
+ <Message key={message.id} {...message} />
453
+ </>
454
+ );
455
+ }
456
+ return <Message key={message.id} {...message} />;
457
+ })}
458
+ </MessageBox>
459
+ </ChatbotContent>
460
+ <ChatbotFooter isCompact>
461
+ <MessageBar
462
+ onSendMessage={handleSend}
463
+ hasMicrophoneButton
464
+ isSendButtonDisabled={isSendButtonDisabled}
465
+ isCompact
466
+ />
467
+ <ChatbotFootnote {...footnoteProps} />
468
+ </ChatbotFooter>
469
+ </>
470
+ }
471
+ ></ChatbotConversationHistoryNav>
472
+ </Chatbot>
473
+ </>
474
+ );
475
+ };
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { FunctionComponent, MouseEvent, useEffect, useRef, useState } from 'react';
2
2
 
3
3
  import {
4
4
  Brand,
@@ -88,8 +88,6 @@ spec:
88
88
  Here is some JavaScript code:
89
89
 
90
90
  ~~~js
91
- import React from 'react';
92
-
93
91
  const MessageLoading = () => (
94
92
  <div className="pf-chatbot__message-loading">
95
93
  <span className="pf-chatbot__message-loading-dots">
@@ -176,19 +174,19 @@ const initialConversations = {
176
174
  ]
177
175
  };
178
176
 
179
- export const EmbeddedChatbotDemo: React.FunctionComponent = () => {
180
- const [messages, setMessages] = React.useState<MessageProps[]>(initialMessages);
181
- const [selectedModel, setSelectedModel] = React.useState('Granite 7B');
182
- const [isSendButtonDisabled, setIsSendButtonDisabled] = React.useState(false);
183
- const [isDrawerOpen, setIsDrawerOpen] = React.useState(false);
184
- const [conversations, setConversations] = React.useState<Conversation[] | { [key: string]: Conversation[] }>(
177
+ export const EmbeddedChatbotDemo: FunctionComponent = () => {
178
+ const [messages, setMessages] = useState<MessageProps[]>(initialMessages);
179
+ const [selectedModel, setSelectedModel] = useState('Granite 7B');
180
+ const [isSendButtonDisabled, setIsSendButtonDisabled] = useState(false);
181
+ const [isDrawerOpen, setIsDrawerOpen] = useState(false);
182
+ const [conversations, setConversations] = useState<Conversation[] | { [key: string]: Conversation[] }>(
185
183
  initialConversations
186
184
  );
187
- const [isSidebarOpen, setIsSidebarOpen] = React.useState(false);
188
- const [announcement, setAnnouncement] = React.useState<string>();
189
- const scrollToBottomRef = React.useRef<HTMLDivElement>(null);
190
- const historyRef = React.useRef<HTMLButtonElement>(null);
191
- const drawerRef = React.useRef<HTMLDivElement>();
185
+ const [isSidebarOpen, setIsSidebarOpen] = useState(false);
186
+ const [announcement, setAnnouncement] = useState<string>();
187
+ const scrollToBottomRef = useRef<HTMLDivElement>(null);
188
+ const historyRef = useRef<HTMLButtonElement>(null);
189
+ const drawerRef = useRef<HTMLDivElement>();
192
190
 
193
191
  const displayMode = ChatbotDisplayMode.drawer;
194
192
  const isExpanded = true;
@@ -198,17 +196,14 @@ export const EmbeddedChatbotDemo: React.FunctionComponent = () => {
198
196
  };
199
197
 
200
198
  // Auto-scrolls to the latest message
201
- React.useEffect(() => {
199
+ useEffect(() => {
202
200
  // don't scroll the first load - in this demo, we know we start with two messages
203
201
  if (messages.length > 2) {
204
202
  scrollToBottomRef.current?.scrollIntoView({ behavior: 'smooth' });
205
203
  }
206
204
  }, [messages]);
207
205
 
208
- const onSelectModel = (
209
- _event: React.MouseEvent<Element, MouseEvent> | undefined,
210
- value: string | number | undefined
211
- ) => {
206
+ const onSelectModel = (_event: MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
212
207
  setSelectedModel(value as string);
213
208
  };
214
209
 
@@ -335,7 +330,7 @@ export const EmbeddedChatbotDemo: React.FunctionComponent = () => {
335
330
  </PageSidebar>
336
331
  );
337
332
 
338
- const skipToChatbot = (event: React.MouseEvent) => {
333
+ const skipToChatbot = (event: MouseEvent) => {
339
334
  event.preventDefault();
340
335
  if (historyRef.current) {
341
336
  historyRef.current.focus();