@patternfly/chatbot 6.3.0-prerelease.9 → 6.4.0-prerelease.2

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 (595) 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 +7 -3
  20. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +17 -34
  21. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +73 -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 +8 -3
  51. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +11 -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 +23 -3
  80. package/dist/cjs/FileDropZone/FileDropZone.js +11 -9
  81. package/dist/cjs/FileDropZone/FileDropZone.test.js +86 -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 +20 -3
  86. package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.js +30 -21
  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 +28 -10
  100. package/dist/cjs/Message/Message.js +50 -72
  101. package/dist/cjs/Message/Message.test.js +138 -82
  102. package/dist/cjs/Message/MessageInput.d.ts +4 -2
  103. package/dist/cjs/Message/MessageInput.js +6 -15
  104. package/dist/cjs/Message/MessageLoading.d.ts +1 -2
  105. package/dist/cjs/Message/MessageLoading.js +3 -8
  106. package/dist/cjs/Message/Plugins/index.d.ts +1 -0
  107. package/dist/cjs/Message/Plugins/index.js +5 -0
  108. package/dist/cjs/Message/Plugins/rehypeCodeBlockToggle.d.ts +2 -0
  109. package/dist/cjs/Message/Plugins/rehypeCodeBlockToggle.js +24 -0
  110. package/dist/cjs/Message/Plugins/rehypeMoveImagesOutOfParagraphs.d.ts +2 -0
  111. package/dist/cjs/Message/Plugins/rehypeMoveImagesOutOfParagraphs.js +47 -0
  112. package/dist/cjs/Message/QuickResponse/QuickResponse.d.ts +2 -2
  113. package/dist/cjs/Message/QuickResponse/QuickResponse.js +7 -9
  114. package/dist/cjs/Message/QuickStarts/FallbackImg.d.ts +2 -2
  115. package/dist/cjs/Message/QuickStarts/FallbackImg.js +5 -27
  116. package/dist/cjs/Message/QuickStarts/QuickStartTile.d.ts +2 -2
  117. package/dist/cjs/Message/QuickStarts/QuickStartTile.js +7 -43
  118. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.d.ts +2 -2
  119. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.js +9 -38
  120. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.js +16 -16
  121. package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.d.ts +2 -2
  122. package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.js +2 -26
  123. package/dist/cjs/Message/QuickStarts/types.d.ts +4 -3
  124. package/dist/cjs/Message/TableMessage/TableMessage.d.ts +1 -2
  125. package/dist/cjs/Message/TableMessage/TableMessage.js +8 -10
  126. package/dist/cjs/Message/TableMessage/TbodyMessage.d.ts +2 -3
  127. package/dist/cjs/Message/TableMessage/TbodyMessage.js +7 -9
  128. package/dist/cjs/Message/TableMessage/TdMessage.d.ts +1 -2
  129. package/dist/cjs/Message/TableMessage/TdMessage.js +2 -8
  130. package/dist/cjs/Message/TableMessage/ThMessage.d.ts +1 -2
  131. package/dist/cjs/Message/TableMessage/ThMessage.js +2 -8
  132. package/dist/cjs/Message/TableMessage/TheadMessage.d.ts +1 -2
  133. package/dist/cjs/Message/TableMessage/TheadMessage.js +2 -8
  134. package/dist/cjs/Message/TableMessage/TrMessage.d.ts +2 -3
  135. package/dist/cjs/Message/TableMessage/TrMessage.js +8 -10
  136. package/dist/cjs/Message/TextMessage/TextMessage.d.ts +1 -2
  137. package/dist/cjs/Message/TextMessage/TextMessage.js +2 -9
  138. package/dist/cjs/Message/UserFeedback/CloseButton.d.ts +2 -2
  139. package/dist/cjs/Message/UserFeedback/CloseButton.js +2 -8
  140. package/dist/cjs/Message/UserFeedback/UserFeedback.d.ts +2 -2
  141. package/dist/cjs/Message/UserFeedback/UserFeedback.js +12 -23
  142. package/dist/cjs/Message/UserFeedback/UserFeedback.test.js +53 -53
  143. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
  144. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.js +20 -44
  145. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.js +81 -91
  146. package/dist/cjs/Message/index.d.ts +1 -0
  147. package/dist/cjs/Message/index.js +3 -1
  148. package/dist/cjs/MessageBar/AttachButton.d.ts +26 -3
  149. package/dist/cjs/MessageBar/AttachButton.js +10 -20
  150. package/dist/cjs/MessageBar/AttachButton.test.js +102 -24
  151. package/dist/cjs/MessageBar/MessageBar.d.ts +32 -4
  152. package/dist/cjs/MessageBar/MessageBar.js +30 -32
  153. package/dist/cjs/MessageBar/MessageBar.test.js +122 -108
  154. package/dist/cjs/MessageBar/MicrophoneButton.d.ts +2 -2
  155. package/dist/cjs/MessageBar/MicrophoneButton.js +7 -14
  156. package/dist/cjs/MessageBar/SendButton.d.ts +3 -2
  157. package/dist/cjs/MessageBar/SendButton.js +3 -11
  158. package/dist/cjs/MessageBar/SendButton.test.js +15 -15
  159. package/dist/cjs/MessageBar/StopButton.d.ts +3 -2
  160. package/dist/cjs/MessageBar/StopButton.js +3 -12
  161. package/dist/cjs/MessageBar/StopButton.test.js +15 -15
  162. package/dist/cjs/MessageBox/JumpButton.d.ts +2 -2
  163. package/dist/cjs/MessageBox/JumpButton.js +2 -10
  164. package/dist/cjs/MessageBox/JumpButton.test.js +10 -10
  165. package/dist/cjs/MessageBox/MessageBox.d.ts +21 -5
  166. package/dist/cjs/MessageBox/MessageBox.js +170 -45
  167. package/dist/cjs/MessageBox/MessageBox.test.js +219 -6
  168. package/dist/cjs/MessageDivider/MessageDivider.d.ts +9 -0
  169. package/dist/cjs/MessageDivider/MessageDivider.js +23 -0
  170. package/dist/cjs/MessageDivider/MessageDivider.test.d.ts +1 -0
  171. package/dist/cjs/MessageDivider/MessageDivider.test.js +29 -0
  172. package/dist/cjs/MessageDivider/index.d.ts +2 -0
  173. package/dist/cjs/MessageDivider/index.js +23 -0
  174. package/dist/cjs/PreviewAttachment/PreviewAttachment.d.ts +12 -2
  175. package/dist/cjs/PreviewAttachment/PreviewAttachment.js +3 -6
  176. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.d.ts +1 -1
  177. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.js +34 -12
  178. package/dist/cjs/ResponseActions/ResponseActionButton.d.ts +5 -5
  179. package/dist/cjs/ResponseActions/ResponseActionButton.js +5 -8
  180. package/dist/cjs/ResponseActions/ResponseActionButton.test.js +19 -19
  181. package/dist/cjs/ResponseActions/ResponseActions.d.ts +8 -3
  182. package/dist/cjs/ResponseActions/ResponseActions.js +39 -18
  183. package/dist/cjs/ResponseActions/ResponseActions.test.js +125 -41
  184. package/dist/cjs/Settings/SettingsForm.d.ts +2 -2
  185. package/dist/cjs/Settings/SettingsForm.js +2 -8
  186. package/dist/cjs/Settings/SettingsForm.test.js +9 -12
  187. package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
  188. package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -11
  189. package/dist/cjs/SourcesCard/SourcesCard.d.ts +12 -3
  190. package/dist/cjs/SourcesCard/SourcesCard.js +17 -42
  191. package/dist/cjs/SourcesCard/SourcesCard.test.js +70 -60
  192. package/dist/cjs/TermsOfUse/TermsOfUse.d.ts +3 -3
  193. package/dist/cjs/TermsOfUse/TermsOfUse.js +4 -16
  194. package/dist/cjs/TermsOfUse/TermsOfUse.test.js +31 -33
  195. package/dist/cjs/index.d.ts +2 -0
  196. package/dist/cjs/index.js +4 -1
  197. package/dist/css/main.css +71 -62
  198. package/dist/css/main.css.map +1 -1
  199. package/dist/dynamic/MessageDivider/package.json +1 -0
  200. package/dist/esm/AttachMenu/AttachMenu.d.ts +2 -2
  201. package/dist/esm/AttachMenu/AttachMenu.js +2 -9
  202. package/dist/esm/AttachmentEdit/AttachmentEdit.d.ts +12 -2
  203. package/dist/esm/AttachmentEdit/AttachmentEdit.js +3 -6
  204. package/dist/esm/AttachmentEdit/AttachmentEdit.test.d.ts +1 -1
  205. package/dist/esm/AttachmentEdit/AttachmentEdit.test.js +30 -5
  206. package/dist/esm/Chatbot/Chatbot.d.ts +1 -2
  207. package/dist/esm/Chatbot/Chatbot.js +4 -6
  208. package/dist/esm/Chatbot/Chatbot.test.js +6 -6
  209. package/dist/esm/ChatbotAlert/ChatbotAlert.d.ts +2 -2
  210. package/dist/esm/ChatbotAlert/ChatbotAlert.js +4 -5
  211. package/dist/esm/ChatbotAlert/ChatbotAlert.test.js +4 -4
  212. package/dist/esm/ChatbotContent/ChatbotContent.d.ts +3 -3
  213. package/dist/esm/ChatbotContent/ChatbotContent.js +2 -5
  214. package/dist/esm/ChatbotContent/ChatbotContent.test.js +3 -3
  215. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.d.ts +2 -2
  216. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +7 -11
  217. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +8 -10
  218. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +7 -3
  219. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +19 -36
  220. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +43 -34
  221. package/dist/esm/ChatbotConversationHistoryNav/EmptyState.d.ts +2 -2
  222. package/dist/esm/ChatbotConversationHistoryNav/EmptyState.js +2 -6
  223. package/dist/esm/ChatbotConversationHistoryNav/LoadingState.d.ts +2 -2
  224. package/dist/esm/ChatbotConversationHistoryNav/LoadingState.js +2 -22
  225. package/dist/esm/ChatbotFooter/ChatbotFooter.d.ts +3 -3
  226. package/dist/esm/ChatbotFooter/ChatbotFooter.js +2 -12
  227. package/dist/esm/ChatbotFooter/ChatbotFooter.test.js +4 -4
  228. package/dist/esm/ChatbotFooter/ChatbotFooternote.test.js +5 -5
  229. package/dist/esm/ChatbotFooter/ChatbotFootnote.d.ts +3 -3
  230. package/dist/esm/ChatbotFooter/ChatbotFootnote.js +10 -23
  231. package/dist/esm/ChatbotHeader/ChatbotHeader.d.ts +3 -3
  232. package/dist/esm/ChatbotHeader/ChatbotHeader.js +2 -4
  233. package/dist/esm/ChatbotHeader/ChatbotHeader.test.js +3 -3
  234. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.d.ts +2 -2
  235. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.js +2 -2
  236. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.js +3 -3
  237. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +1 -2
  238. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.js +5 -7
  239. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.js +4 -4
  240. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.d.ts +2 -2
  241. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.js +2 -2
  242. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.js +3 -3
  243. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.d.ts +2 -2
  244. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.js +5 -7
  245. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.js +4 -4
  246. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +6 -3
  247. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +8 -9
  248. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +9 -8
  249. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +8 -3
  250. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +11 -9
  251. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +9 -8
  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 +2 -2
  256. package/dist/esm/ChatbotModal/ChatbotModal.js +3 -6
  257. package/dist/esm/ChatbotModal/ChatbotModal.test.js +2 -14
  258. package/dist/esm/ChatbotPopover/ChatbotPopover.d.ts +2 -2
  259. package/dist/esm/ChatbotPopover/ChatbotPopover.js +2 -5
  260. package/dist/esm/ChatbotToggle/ChatbotToggle.d.ts +1 -2
  261. package/dist/esm/ChatbotToggle/ChatbotToggle.js +8 -13
  262. package/dist/esm/ChatbotToggle/ChatbotToggle.test.js +8 -8
  263. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +2 -2
  264. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +6 -17
  265. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +8 -8
  266. package/dist/esm/CodeModal/CodeModal.d.ts +8 -2
  267. package/dist/esm/CodeModal/CodeModal.js +8 -20
  268. package/dist/esm/CodeModal/CodeModal.test.js +22 -3
  269. package/dist/esm/Compare/Compare.d.ts +2 -2
  270. package/dist/esm/Compare/Compare.js +7 -13
  271. package/dist/esm/Compare/Compare.test.js +4 -6
  272. package/dist/esm/FileDetails/FileDetails.d.ts +2 -2
  273. package/dist/esm/FileDetails/FileDetails.js +2 -15
  274. package/dist/esm/FileDetails/FileDetails.test.js +4 -4
  275. package/dist/esm/FileDetailsLabel/FileDetailsLabel.d.ts +2 -2
  276. package/dist/esm/FileDetailsLabel/FileDetailsLabel.js +2 -5
  277. package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.js +9 -9
  278. package/dist/esm/FileDropZone/FileDropZone.d.ts +23 -3
  279. package/dist/esm/FileDropZone/FileDropZone.js +11 -6
  280. package/dist/esm/FileDropZone/FileDropZone.test.js +84 -3
  281. package/dist/esm/LoadingMessage/LoadingMessage.d.ts +2 -2
  282. package/dist/esm/LoadingMessage/LoadingMessage.js +2 -10
  283. package/dist/esm/LoadingMessage/LoadingMessage.test.js +3 -3
  284. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.d.ts +20 -3
  285. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.js +31 -19
  286. package/dist/esm/Message/ErrorMessage/ErrorMessage.d.ts +1 -2
  287. package/dist/esm/Message/ErrorMessage/ErrorMessage.js +5 -5
  288. package/dist/esm/Message/ImageMessage/ImageMessage.d.ts +1 -2
  289. package/dist/esm/Message/ImageMessage/ImageMessage.js +2 -5
  290. package/dist/esm/Message/LinkMessage/LinkMessage.d.ts +1 -2
  291. package/dist/esm/Message/LinkMessage/LinkMessage.js +6 -6
  292. package/dist/esm/Message/ListMessage/ListItemMessage.d.ts +1 -2
  293. package/dist/esm/Message/ListMessage/ListItemMessage.js +2 -5
  294. package/dist/esm/Message/ListMessage/OrderedListMessage.d.ts +1 -2
  295. package/dist/esm/Message/ListMessage/OrderedListMessage.js +2 -6
  296. package/dist/esm/Message/ListMessage/UnorderedListMessage.d.ts +1 -2
  297. package/dist/esm/Message/ListMessage/UnorderedListMessage.js +2 -6
  298. package/dist/esm/Message/Message.d.ts +28 -10
  299. package/dist/esm/Message/Message.js +50 -72
  300. package/dist/esm/Message/Message.test.js +138 -82
  301. package/dist/esm/Message/MessageInput.d.ts +4 -2
  302. package/dist/esm/Message/MessageInput.js +6 -12
  303. package/dist/esm/Message/MessageLoading.d.ts +1 -2
  304. package/dist/esm/Message/MessageLoading.js +2 -4
  305. package/dist/esm/Message/Plugins/index.d.ts +1 -0
  306. package/dist/esm/Message/Plugins/index.js +1 -0
  307. package/dist/esm/Message/Plugins/rehypeCodeBlockToggle.d.ts +2 -0
  308. package/dist/esm/Message/Plugins/rehypeCodeBlockToggle.js +20 -0
  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 +2 -2
  312. package/dist/esm/Message/QuickResponse/QuickResponse.js +7 -6
  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 +2 -2
  316. package/dist/esm/Message/QuickStarts/QuickStartTile.js +7 -20
  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 +12 -23
  341. package/dist/esm/Message/UserFeedback/UserFeedback.test.js +21 -21
  342. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
  343. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.js +20 -44
  344. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.js +26 -36
  345. package/dist/esm/Message/index.d.ts +1 -0
  346. package/dist/esm/Message/index.js +1 -0
  347. package/dist/esm/MessageBar/AttachButton.d.ts +26 -3
  348. package/dist/esm/MessageBar/AttachButton.js +10 -17
  349. package/dist/esm/MessageBar/AttachButton.test.js +95 -17
  350. package/dist/esm/MessageBar/MessageBar.d.ts +32 -4
  351. package/dist/esm/MessageBar/MessageBar.js +28 -30
  352. package/dist/esm/MessageBar/MessageBar.test.js +87 -73
  353. package/dist/esm/MessageBar/MicrophoneButton.d.ts +2 -2
  354. package/dist/esm/MessageBar/MicrophoneButton.js +7 -11
  355. package/dist/esm/MessageBar/SendButton.d.ts +3 -2
  356. package/dist/esm/MessageBar/SendButton.js +3 -8
  357. package/dist/esm/MessageBar/SendButton.test.js +9 -9
  358. package/dist/esm/MessageBar/StopButton.d.ts +3 -2
  359. package/dist/esm/MessageBar/StopButton.js +3 -9
  360. package/dist/esm/MessageBar/StopButton.test.js +9 -9
  361. package/dist/esm/MessageBox/JumpButton.d.ts +2 -2
  362. package/dist/esm/MessageBox/JumpButton.js +2 -7
  363. package/dist/esm/MessageBox/JumpButton.test.js +9 -9
  364. package/dist/esm/MessageBox/MessageBox.d.ts +21 -5
  365. package/dist/esm/MessageBox/MessageBox.js +170 -45
  366. package/dist/esm/MessageBox/MessageBox.test.js +220 -7
  367. package/dist/esm/MessageDivider/MessageDivider.d.ts +9 -0
  368. package/dist/esm/MessageDivider/MessageDivider.js +21 -0
  369. package/dist/esm/MessageDivider/MessageDivider.test.d.ts +1 -0
  370. package/dist/esm/MessageDivider/MessageDivider.test.js +24 -0
  371. package/dist/esm/MessageDivider/index.d.ts +2 -0
  372. package/dist/esm/MessageDivider/index.js +2 -0
  373. package/dist/esm/PreviewAttachment/PreviewAttachment.d.ts +12 -2
  374. package/dist/esm/PreviewAttachment/PreviewAttachment.js +3 -6
  375. package/dist/esm/PreviewAttachment/PreviewAttachment.test.d.ts +1 -1
  376. package/dist/esm/PreviewAttachment/PreviewAttachment.test.js +30 -5
  377. package/dist/esm/ResponseActions/ResponseActionButton.d.ts +5 -5
  378. package/dist/esm/ResponseActions/ResponseActionButton.js +5 -5
  379. package/dist/esm/ResponseActions/ResponseActionButton.test.js +7 -7
  380. package/dist/esm/ResponseActions/ResponseActions.d.ts +8 -3
  381. package/dist/esm/ResponseActions/ResponseActions.js +40 -19
  382. package/dist/esm/ResponseActions/ResponseActions.test.js +100 -16
  383. package/dist/esm/Settings/SettingsForm.d.ts +2 -2
  384. package/dist/esm/Settings/SettingsForm.js +2 -5
  385. package/dist/esm/Settings/SettingsForm.test.js +6 -6
  386. package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
  387. package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -8
  388. package/dist/esm/SourcesCard/SourcesCard.d.ts +12 -3
  389. package/dist/esm/SourcesCard/SourcesCard.js +17 -39
  390. package/dist/esm/SourcesCard/SourcesCard.test.js +29 -19
  391. package/dist/esm/TermsOfUse/TermsOfUse.d.ts +3 -3
  392. package/dist/esm/TermsOfUse/TermsOfUse.js +4 -16
  393. package/dist/esm/TermsOfUse/TermsOfUse.test.js +10 -12
  394. package/dist/esm/index.d.ts +2 -0
  395. package/dist/esm/index.js +2 -0
  396. package/dist/tsconfig.tsbuildinfo +1 -1
  397. package/package.json +9 -8
  398. package/patternfly-docs/content/extensions/chatbot/design-guidelines.md +10 -0
  399. package/patternfly-docs/content/extensions/chatbot/examples/Customizing Messages/Customizing Messages.md +51 -0
  400. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachMenu.tsx +9 -9
  401. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentEdit.tsx +5 -5
  402. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentError.tsx +2 -2
  403. package/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +24 -20
  404. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetails.tsx +2 -2
  405. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetailsLabel.tsx +9 -9
  406. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDropZone.tsx +4 -4
  407. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithAttachment.tsx +7 -7
  408. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithClickedResponseActions.tsx +25 -0
  409. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithCustomResponseActions.tsx +3 -12
  410. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithDividers.tsx +24 -0
  411. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedback.tsx +4 -4
  412. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedbackTimeout.tsx +3 -3
  413. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickResponses.tsx +2 -2
  414. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickStart.tsx +2 -2
  415. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithResponseActions.tsx +3 -3
  416. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithSources.tsx +3 -3
  417. package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +33 -0
  418. package/patternfly-docs/content/extensions/chatbot/examples/Messages/PreviewAttachment.tsx +5 -5
  419. package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +61 -18
  420. package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessageWithExtraContent.tsx +4 -4
  421. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotContainer.tsx +59 -36
  422. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFooter.tsx +2 -2
  423. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFootnote.tsx +2 -2
  424. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderBasic.tsx +10 -13
  425. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawer.tsx +19 -10
  426. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerNavigation.tsx +5 -5
  427. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerResizable.tsx +5 -5
  428. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithActions.tsx +6 -6
  429. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithPin.tsx +196 -0
  430. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithSelection.tsx +7 -7
  431. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderTitle.tsx +59 -34
  432. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBar.tsx +2 -2
  433. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarAttach.tsx +9 -9
  434. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarDisabled.tsx +3 -3
  435. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarLanguage.tsx +2 -2
  436. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarStop.tsx +2 -2
  437. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotModal.tsx +74 -37
  438. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotToggleBasic.tsx +3 -3
  439. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomeInteraction.tsx +8 -8
  440. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomePrompt.tsx +3 -3
  441. package/patternfly-docs/content/extensions/chatbot/examples/UI/CompactSettings.tsx +16 -23
  442. package/patternfly-docs/content/extensions/chatbot/examples/UI/CustomClosedIcon.tsx +3 -3
  443. package/patternfly-docs/content/extensions/chatbot/examples/UI/Settings.tsx +16 -23
  444. package/patternfly-docs/content/extensions/chatbot/examples/UI/SkipToContent.tsx +5 -5
  445. package/patternfly-docs/content/extensions/chatbot/examples/UI/SquareChatbotToggle.tsx +3 -3
  446. package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUse.tsx +91 -48
  447. package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUseCompact.tsx +82 -39
  448. package/patternfly-docs/content/extensions/chatbot/examples/UI/UI.md +12 -1
  449. package/patternfly-docs/content/extensions/chatbot/examples/demos/AttachmentDemos.md +37 -0
  450. package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +34 -1
  451. package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +19 -25
  452. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachment.tsx +42 -15
  453. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachmentMenu.tsx +15 -14
  454. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotCompact.tsx +19 -25
  455. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotDisplayMode.tsx +486 -0
  456. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotInDrawer.tsx +17 -22
  457. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotScrolling.tsx +536 -0
  458. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotTranscripts.tsx +565 -0
  459. package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedChatbot.tsx +17 -22
  460. package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedComparisonChatbot.tsx +13 -13
  461. package/patternfly-docs/content/extensions/chatbot/examples/demos/Feedback.tsx +7 -7
  462. package/patternfly-docs/content/extensions/chatbot/img/quick-response-confirmation.svg +67 -0
  463. package/src/AttachMenu/AttachMenu.tsx +2 -2
  464. package/src/AttachmentEdit/AttachmentEdit.test.tsx +46 -2
  465. package/src/AttachmentEdit/AttachmentEdit.tsx +25 -7
  466. package/src/Chatbot/Chatbot.scss +1 -1
  467. package/src/Chatbot/Chatbot.test.tsx +0 -1
  468. package/src/Chatbot/Chatbot.tsx +5 -3
  469. package/src/ChatbotAlert/ChatbotAlert.test.tsx +0 -1
  470. package/src/ChatbotAlert/ChatbotAlert.tsx +2 -2
  471. package/src/ChatbotContent/ChatbotContent.scss +1 -1
  472. package/src/ChatbotContent/ChatbotContent.test.tsx +0 -1
  473. package/src/ChatbotContent/ChatbotContent.tsx +3 -3
  474. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.tsx +0 -1
  475. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.tsx +6 -4
  476. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.scss +14 -2
  477. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.tsx +61 -3
  478. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.tsx +37 -18
  479. package/src/ChatbotConversationHistoryNav/EmptyState.tsx +2 -2
  480. package/src/ChatbotConversationHistoryNav/LoadingState.tsx +2 -2
  481. package/src/ChatbotFooter/ChatbotFooter.scss +1 -1
  482. package/src/ChatbotFooter/ChatbotFooter.test.tsx +0 -1
  483. package/src/ChatbotFooter/ChatbotFooter.tsx +3 -3
  484. package/src/ChatbotFooter/ChatbotFooternote.test.tsx +0 -1
  485. package/src/ChatbotFooter/ChatbotFootnote.tsx +6 -4
  486. package/src/ChatbotHeader/ChatbotHeader.scss +3 -3
  487. package/src/ChatbotHeader/ChatbotHeader.test.tsx +0 -1
  488. package/src/ChatbotHeader/ChatbotHeader.tsx +3 -6
  489. package/src/ChatbotHeader/ChatbotHeaderActions.test.tsx +0 -1
  490. package/src/ChatbotHeader/ChatbotHeaderActions.tsx +2 -2
  491. package/src/ChatbotHeader/ChatbotHeaderCloseButton.test.tsx +0 -1
  492. package/src/ChatbotHeader/ChatbotHeaderCloseButton.tsx +5 -4
  493. package/src/ChatbotHeader/ChatbotHeaderMain.test.tsx +0 -1
  494. package/src/ChatbotHeader/ChatbotHeaderMain.tsx +2 -2
  495. package/src/ChatbotHeader/ChatbotHeaderMenu.test.tsx +0 -1
  496. package/src/ChatbotHeader/ChatbotHeaderMenu.tsx +7 -7
  497. package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.tsx +9 -1
  498. package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.tsx +12 -5
  499. package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.tsx +9 -1
  500. package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.tsx +26 -6
  501. package/src/ChatbotHeader/ChatbotHeaderTitle.test.tsx +0 -1
  502. package/src/ChatbotHeader/ChatbotHeaderTitle.tsx +2 -2
  503. package/src/ChatbotModal/ChatbotModal.test.tsx +0 -1
  504. package/src/ChatbotModal/ChatbotModal.tsx +2 -2
  505. package/src/ChatbotPopover/ChatbotPopover.tsx +3 -3
  506. package/src/ChatbotToggle/ChatbotToggle.scss +2 -2
  507. package/src/ChatbotToggle/ChatbotToggle.test.tsx +0 -1
  508. package/src/ChatbotToggle/ChatbotToggle.tsx +5 -3
  509. package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.tsx +0 -1
  510. package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.tsx +2 -2
  511. package/src/CodeModal/CodeModal.test.tsx +29 -2
  512. package/src/CodeModal/CodeModal.tsx +18 -8
  513. package/src/Compare/Compare.test.tsx +0 -1
  514. package/src/Compare/Compare.tsx +7 -6
  515. package/src/FileDetails/FileDetails.test.tsx +0 -1
  516. package/src/FileDetails/FileDetails.tsx +1 -1
  517. package/src/FileDetailsLabel/FileDetailsLabel.test.tsx +0 -1
  518. package/src/FileDetailsLabel/FileDetailsLabel.tsx +1 -1
  519. package/src/FileDropZone/FileDropZone.test.tsx +112 -1
  520. package/src/FileDropZone/FileDropZone.tsx +45 -5
  521. package/src/LoadingMessage/LoadingMessage.test.tsx +0 -1
  522. package/src/LoadingMessage/LoadingMessage.tsx +2 -2
  523. package/src/Message/CodeBlockMessage/CodeBlockMessage.scss +7 -0
  524. package/src/Message/CodeBlockMessage/CodeBlockMessage.tsx +104 -20
  525. package/src/Message/ErrorMessage/ErrorMessage.tsx +0 -1
  526. package/src/Message/ImageMessage/ImageMessage.tsx +1 -2
  527. package/src/Message/LinkMessage/LinkMessage.tsx +0 -1
  528. package/src/Message/ListMessage/ListItemMessage.tsx +0 -1
  529. package/src/Message/ListMessage/OrderedListMessage.tsx +0 -1
  530. package/src/Message/ListMessage/UnorderedListMessage.tsx +0 -1
  531. package/src/Message/Message.scss +9 -7
  532. package/src/Message/Message.test.tsx +84 -6
  533. package/src/Message/Message.tsx +39 -18
  534. package/src/Message/MessageInput.tsx +9 -5
  535. package/src/Message/MessageLoading.tsx +0 -2
  536. package/src/Message/Plugins/index.ts +1 -0
  537. package/src/Message/Plugins/rehypeCodeBlockToggle.ts +24 -0
  538. package/src/Message/Plugins/rehypeMoveImagesOutOfParagraphs.ts +53 -0
  539. package/src/Message/QuickResponse/QuickResponse.tsx +4 -3
  540. package/src/Message/QuickStarts/FallbackImg.tsx +4 -3
  541. package/src/Message/QuickStarts/QuickStartTile.tsx +3 -3
  542. package/src/Message/QuickStarts/QuickStartTileDescription.test.tsx +0 -1
  543. package/src/Message/QuickStarts/QuickStartTileDescription.tsx +4 -3
  544. package/src/Message/QuickStarts/QuickStartTileHeader.tsx +2 -2
  545. package/src/Message/QuickStarts/types.ts +4 -3
  546. package/src/Message/TableMessage/TableMessage.tsx +4 -4
  547. package/src/Message/TableMessage/TbodyMessage.tsx +3 -3
  548. package/src/Message/TableMessage/TdMessage.tsx +1 -2
  549. package/src/Message/TableMessage/ThMessage.tsx +1 -2
  550. package/src/Message/TableMessage/TheadMessage.tsx +3 -2
  551. package/src/Message/TableMessage/TrMessage.tsx +4 -4
  552. package/src/Message/TextMessage/TextMessage.scss +2 -5
  553. package/src/Message/TextMessage/TextMessage.tsx +1 -2
  554. package/src/Message/UserFeedback/CloseButton.tsx +2 -2
  555. package/src/Message/UserFeedback/UserFeedback.test.tsx +0 -1
  556. package/src/Message/UserFeedback/UserFeedback.tsx +8 -6
  557. package/src/Message/UserFeedback/UserFeedbackComplete.test.tsx +0 -1
  558. package/src/Message/UserFeedback/UserFeedbackComplete.tsx +16 -14
  559. package/src/Message/index.ts +1 -0
  560. package/src/MessageBar/AttachButton.test.tsx +127 -8
  561. package/src/MessageBar/AttachButton.tsx +50 -7
  562. package/src/MessageBar/MessageBar.test.tsx +81 -30
  563. package/src/MessageBar/MessageBar.tsx +86 -20
  564. package/src/MessageBar/MicrophoneButton.tsx +10 -7
  565. package/src/MessageBar/SendButton.scss +3 -3
  566. package/src/MessageBar/SendButton.test.tsx +5 -6
  567. package/src/MessageBar/SendButton.tsx +4 -3
  568. package/src/MessageBar/StopButton.test.tsx +5 -6
  569. package/src/MessageBar/StopButton.tsx +4 -3
  570. package/src/MessageBox/JumpButton.scss +1 -1
  571. package/src/MessageBox/JumpButton.test.tsx +4 -5
  572. package/src/MessageBox/JumpButton.tsx +3 -3
  573. package/src/MessageBox/MessageBox.test.tsx +295 -5
  574. package/src/MessageBox/MessageBox.tsx +301 -84
  575. package/src/MessageDivider/MessageDivider.scss +45 -0
  576. package/src/MessageDivider/MessageDivider.test.tsx +24 -0
  577. package/src/MessageDivider/MessageDivider.tsx +35 -0
  578. package/src/MessageDivider/index.ts +3 -0
  579. package/src/PreviewAttachment/PreviewAttachment.test.tsx +44 -2
  580. package/src/PreviewAttachment/PreviewAttachment.tsx +24 -6
  581. package/src/ResponseActions/ResponseActionButton.test.tsx +0 -1
  582. package/src/ResponseActions/ResponseActionButton.tsx +6 -5
  583. package/src/ResponseActions/ResponseActions.test.tsx +126 -4
  584. package/src/ResponseActions/ResponseActions.tsx +92 -12
  585. package/src/Settings/SettingsForm.test.tsx +0 -1
  586. package/src/Settings/SettingsForm.tsx +2 -7
  587. package/src/SourceDetailsMenuItem/SourceDetailsMenuItem.tsx +2 -2
  588. package/src/SourcesCard/SourcesCard.test.tsx +14 -1
  589. package/src/SourcesCard/SourcesCard.tsx +19 -7
  590. package/src/TermsOfUse/TermsOfUse.test.tsx +0 -1
  591. package/src/TermsOfUse/TermsOfUse.tsx +6 -5
  592. package/src/index.ts +3 -0
  593. package/src/main.scss +1 -52
  594. package/tsconfig.cjs.json +0 -1
  595. package/tsconfig.json +3 -3
@@ -44,7 +44,8 @@ ChatbotHeaderMenu,
44
44
  ChatbotHeaderTitle,
45
45
  ChatbotHeaderActions,
46
46
  ChatbotHeaderSelectorDropdown,
47
- ChatbotHeaderOptionsDropdown
47
+ ChatbotHeaderOptionsDropdown,
48
+ ChatbotHeaderCloseButton
48
49
  } from '@patternfly/chatbot/dist/dynamic/ChatbotHeader';
49
50
 
50
51
  import ExpandIcon from '@patternfly/react-icons/dist/esm/icons/expand-icon';
@@ -58,6 +59,8 @@ import PFIconLogoReverse from '../UI/PF-IconLogo-Reverse.svg';
58
59
  import userAvatar from '../Messages/user_avatar.svg';
59
60
  import patternflyAvatar from '../Messages/patternfly_avatar.jpg';
60
61
  import { getTrackingProviders } from "@patternfly/chatbot/dist/dynamic/tracking";
62
+ import { useEffect,useCallback, useRef, useState, FunctionComponent, MouseEvent } from 'react';
63
+ import saveAs from 'file-saver';
61
64
 
62
65
  ### Basic ChatBot
63
66
 
@@ -128,6 +131,22 @@ This demo displays a ChatBot in a static, inline drawer. This demo includes:
128
131
 
129
132
  ```
130
133
 
134
+ ### Display mode switcher
135
+
136
+ This demo showcases how the ChatBot can be rendered in different display modes to suit various application layouts. It demonstrates how to dynamically change the page structure in response to the user's selection. This demo includes:
137
+
138
+ 1. The ability to switch between overlay, drawer, and fullscreen modes using the [`<ChatbotHeaderOptionsDropdown>`](/patternfly-ai/chatbot/ui#header-options) in the header.
139
+ 2. A conditional page layout that renders the ChatBot for each display mode option:
140
+ - **Overlay:** As a floating window on top of the page content.
141
+ - **Drawer:** Inside an inline PatternFly `<Drawer>` as a side panel.
142
+ - **Fullscreen:** As a top-level component that covers the entire screen for an embedded experience.
143
+ 3. Logic to show or hide the `<ChatbotToggle>` button, which is only present in the default overlay mode.
144
+ 4. A [basic ChatBot](#basic-chatbot) with a header, welcome prompt, and message bar to populate the different layouts.
145
+
146
+ ```js file="./ChatbotDisplayMode.tsx" isFullscreen
147
+
148
+ ```
149
+
131
150
  ### Comparing ChatBots
132
151
 
133
152
  To let users compare how different ChatBots respond to the same prompt, you can add multiple ChatBots within the same window. The following demo illustrates a comparison view pattern that allows users to toggle between different conversations in a single ChatBot window.
@@ -148,3 +167,17 @@ Your code structure should look like this:
148
167
  ```js file="./EmbeddedComparisonChatbot.tsx" isFullscreen
149
168
 
150
169
  ```
170
+
171
+ ### Chat transcripts
172
+
173
+ This demo illustrates how you could add downloadable transcripts to your ChatBot, which outline conversation details in a Markdown file. This approach allows users to easily share information from a conversation with others.
174
+
175
+ A message transcript includes details from a single chat message. To download a sample message transcript in this demo, click the "Download" action under a bot message.
176
+
177
+ A conversation transcript includes details from the entirety of a ChatBot conversation. To download a sample conversation transcript in this demo, open the chat history menu and click "Download" in the options menu for the conversation.
178
+
179
+ In this example, file download is implemented with [file-saver](https://www.npmjs.com/package/file-saver).
180
+
181
+ ```js file="./ChatbotTranscripts.tsx" isFullscreen
182
+
183
+ ```
@@ -1,5 +1,4 @@
1
- import React from 'react';
2
-
1
+ import { useEffect, useRef, useState, FunctionComponent, MouseEvent } from 'react';
3
2
  import { Bullseye, Brand, DropdownList, DropdownItem, DropdownGroup, SkipToContent } from '@patternfly/react-core';
4
3
 
5
4
  import ChatbotToggle from '@patternfly/chatbot/dist/dynamic/ChatbotToggle';
@@ -80,8 +79,6 @@ spec:
80
79
  Here is some JavaScript code:
81
80
 
82
81
  ~~~js
83
- import React from 'react';
84
-
85
82
  const MessageLoading = () => (
86
83
  <div className="pf-chatbot__message-loading">
87
84
  <span className="pf-chatbot__message-loading-dots">
@@ -135,7 +132,7 @@ const initialMessages: MessageProps[] = [
135
132
  positive: { onClick: () => tracking.trackSingleItem(actionEventName, { response: 'Good response' }) },
136
133
  negative: { onClick: () => tracking.trackSingleItem(actionEventName, { response: 'Bad response' }) },
137
134
  copy: { onClick: () => tracking.trackSingleItem(actionEventName, { response: 'Copy' }) },
138
- share: { onClick: () => tracking.trackSingleItem(actionEventName, { response: 'Share' }) },
135
+ download: { onClick: () => tracking.trackSingleItem(actionEventName, { response: 'Download' }) },
139
136
  listen: { onClick: () => tracking.trackSingleItem(actionEventName, { response: 'Listen' }) }
140
137
  }
141
138
  }
@@ -179,40 +176,37 @@ const initialConversations = {
179
176
  };
180
177
 
181
178
  const actionEvent2 = 'ActionEvent2';
182
- export const ChatbotDemo: React.FunctionComponent = () => {
183
- const [chatbotVisible, setChatbotVisible] = React.useState<boolean>(true);
184
- const [displayMode, setDisplayMode] = React.useState<ChatbotDisplayMode>(ChatbotDisplayMode.default);
185
- const [messages, setMessages] = React.useState<MessageProps[]>(initialMessages);
186
- const [selectedModel, setSelectedModel] = React.useState('Granite 7B');
187
- const [isSendButtonDisabled, setIsSendButtonDisabled] = React.useState(false);
188
- const [isDrawerOpen, setIsDrawerOpen] = React.useState(false);
189
- const [conversations, setConversations] = React.useState<Conversation[] | { [key: string]: Conversation[] }>(
179
+ export const ChatbotDemo: FunctionComponent = () => {
180
+ const [chatbotVisible, setChatbotVisible] = useState<boolean>(true);
181
+ const [displayMode, setDisplayMode] = useState<ChatbotDisplayMode>(ChatbotDisplayMode.default);
182
+ const [messages, setMessages] = useState<MessageProps[]>(initialMessages);
183
+ const [selectedModel, setSelectedModel] = useState('Granite 7B');
184
+ const [isSendButtonDisabled, setIsSendButtonDisabled] = useState(false);
185
+ const [isDrawerOpen, setIsDrawerOpen] = useState(false);
186
+ const [conversations, setConversations] = useState<Conversation[] | { [key: string]: Conversation[] }>(
190
187
  initialConversations
191
188
  );
192
- const [announcement, setAnnouncement] = React.useState<string>();
193
- const scrollToBottomRef = React.useRef<HTMLDivElement>(null);
194
- const toggleRef = React.useRef<HTMLButtonElement>(null);
195
- const chatbotRef = React.useRef<HTMLDivElement>(null);
196
- const historyRef = React.useRef<HTMLButtonElement>(null);
189
+ const [announcement, setAnnouncement] = useState<string>();
190
+ const scrollToBottomRef = useRef<HTMLDivElement>(null);
191
+ const toggleRef = useRef<HTMLButtonElement>(null);
192
+ const chatbotRef = useRef<HTMLDivElement>(null);
193
+ const historyRef = useRef<HTMLButtonElement>(null);
197
194
 
198
195
  // Auto-scrolls to the latest message
199
- React.useEffect(() => {
196
+ useEffect(() => {
200
197
  // don't scroll the first load - in this demo, we know we start with two messages
201
198
  if (messages.length > 2) {
202
199
  scrollToBottomRef.current?.scrollIntoView({ behavior: 'smooth' });
203
200
  }
204
201
  }, [messages]);
205
202
 
206
- const onSelectModel = (
207
- _event: React.MouseEvent<Element, MouseEvent> | undefined,
208
- value: string | number | undefined
209
- ) => {
203
+ const onSelectModel = (_event: MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
210
204
  setSelectedModel(value as string);
211
205
  tracking.trackSingleItem('ModelSelected', { model: value });
212
206
  };
213
207
 
214
208
  const onSelectDisplayMode = (
215
- _event: React.MouseEvent<Element, MouseEvent> | undefined,
209
+ _event: MouseEvent<Element, MouseEvent> | undefined,
216
210
  value: string | number | undefined
217
211
  ) => {
218
212
  setDisplayMode(value as ChatbotDisplayMode);
@@ -275,7 +269,7 @@ export const ChatbotDemo: React.FunctionComponent = () => {
275
269
  positive: { onClick: () => tracking.trackSingleItem(actionEvent2, { response: 'Good response' }) },
276
270
  negative: { onClick: () => tracking.trackSingleItem(actionEvent2, { response: 'Bad response' }) },
277
271
  copy: { onClick: () => tracking.trackSingleItem(actionEvent2, { response: 'Copy' }) },
278
- share: { onClick: () => tracking.trackSingleItem(actionEvent2, { response: 'Share' }) },
272
+ download: { onClick: () => tracking.trackSingleItem(actionEvent2, { response: 'Download' }) },
279
273
  listen: { onClick: () => tracking.trackSingleItem(actionEvent2, { response: 'Listen' }) }
280
274
  }
281
275
  });
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { useState, FunctionComponent, MouseEvent } from 'react';
2
2
  import ChatbotToggle from '@patternfly/chatbot/dist/dynamic/ChatbotToggle';
3
3
  import Chatbot, { ChatbotDisplayMode } from '@patternfly/chatbot/dist/dynamic/Chatbot';
4
4
  import ChatbotContent from '@patternfly/chatbot/dist/dynamic/ChatbotContent';
@@ -37,7 +37,7 @@ interface ModalData {
37
37
  fileName: string;
38
38
  }
39
39
 
40
- export const BasicDemo: React.FunctionComponent = () => {
40
+ export const BasicDemo: FunctionComponent = () => {
41
41
  const onAttachmentClose = (event, name, id) => {
42
42
  const updatedMessages: MessageProps[] = [];
43
43
  messages.map((message) => {
@@ -75,19 +75,19 @@ export const BasicDemo: React.FunctionComponent = () => {
75
75
  }
76
76
  ];
77
77
 
78
- const [error, setError] = React.useState<string>();
79
- const [chatbotVisible, setChatbotVisible] = React.useState<boolean>(true);
80
- const [file, setFile] = React.useState<File>();
81
- const [isLoadingFile, setIsLoadingFile] = React.useState<boolean>(false);
82
- const [messages, setMessages] = React.useState<MessageProps[]>(initialMessages);
83
- const [isPreviewModalOpen, setIsPreviewModalOpen] = React.useState<boolean>(false);
84
- const [isEditModalOpen, setIsEditModalOpen] = React.useState<boolean>(false);
85
- const [currentModalData, setCurrentModalData] = React.useState<ModalData>();
86
- const [showAlert, setShowAlert] = React.useState<boolean>(false);
87
- const [displayMode, setDisplayMode] = React.useState<ChatbotDisplayMode>(ChatbotDisplayMode.default);
78
+ const [error, setError] = useState<string>();
79
+ const [chatbotVisible, setChatbotVisible] = useState<boolean>(true);
80
+ const [file, setFile] = useState<File>();
81
+ const [isLoadingFile, setIsLoadingFile] = useState<boolean>(false);
82
+ const [messages, setMessages] = useState<MessageProps[]>(initialMessages);
83
+ const [isPreviewModalOpen, setIsPreviewModalOpen] = useState<boolean>(false);
84
+ const [isEditModalOpen, setIsEditModalOpen] = useState<boolean>(false);
85
+ const [currentModalData, setCurrentModalData] = useState<ModalData>();
86
+ const [showAlert, setShowAlert] = useState<boolean>(false);
87
+ const [displayMode, setDisplayMode] = useState<ChatbotDisplayMode>(ChatbotDisplayMode.default);
88
88
 
89
89
  const onSelectDisplayMode = (
90
- _event: React.MouseEvent<Element, MouseEvent> | undefined,
90
+ _event: MouseEvent<Element, MouseEvent> | undefined,
91
91
  value: string | number | undefined
92
92
  ) => {
93
93
  setDisplayMode(value as ChatbotDisplayMode);
@@ -138,10 +138,17 @@ export const BasicDemo: React.FunctionComponent = () => {
138
138
  }, 1000);
139
139
  })
140
140
  .catch((error: DOMException) => {
141
+ setShowAlert(true);
141
142
  setError(`Failed to read file: ${error.message}`);
142
143
  });
143
144
  };
144
145
 
146
+ const handleAttachRejected = () => {
147
+ setFile(undefined);
148
+ setShowAlert(true);
149
+ setError('This demo only supports file extensions .txt, .json, .yaml, and .yaml. Please try a different file.');
150
+ };
151
+
145
152
  const handleFileDrop = (event: DropEvent, data: File[]) => {
146
153
  handleFile(data);
147
154
  };
@@ -218,7 +225,17 @@ export const BasicDemo: React.FunctionComponent = () => {
218
225
  </ChatbotHeaderOptionsDropdown>
219
226
  </ChatbotHeaderActions>
220
227
  </ChatbotHeader>
221
- <FileDropZone onFileDrop={handleFileDrop} displayMode={displayMode}>
228
+ <FileDropZone
229
+ onFileDrop={handleFileDrop}
230
+ displayMode={displayMode}
231
+ infoText="Allowed file types are .json, .txt and .yaml and maximum file size is 25 MB."
232
+ allowedFileTypes={{
233
+ 'text/plain': ['.txt'],
234
+ 'application/json': ['.json'],
235
+ 'application/yaml': ['.yaml', '.yml']
236
+ }}
237
+ onAttachRejected={handleAttachRejected}
238
+ >
222
239
  <ChatbotContent>
223
240
  <MessageBox>
224
241
  {showAlert && (
@@ -245,7 +262,17 @@ export const BasicDemo: React.FunctionComponent = () => {
245
262
  <FileDetailsLabel fileName={file.name} isLoading={isLoadingFile} onClose={onClose} />
246
263
  </div>
247
264
  )}
248
- <MessageBar onSendMessage={handleSend} hasAttachButton handleAttach={handleAttach} />
265
+ <MessageBar
266
+ onSendMessage={handleSend}
267
+ hasAttachButton
268
+ handleAttach={handleAttach}
269
+ allowedFileTypes={{
270
+ 'text/plain': ['.txt'],
271
+ 'application/json': ['.json'],
272
+ 'application/yaml': ['.yaml', '.yml']
273
+ }}
274
+ onAttachRejected={handleAttachRejected}
275
+ />
249
276
  <ChatbotFootnote label="ChatBot uses AI. Check for mistakes." />
250
277
  </ChatbotFooter>
251
278
  </FileDropZone>
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import ChatbotToggle from '@patternfly/chatbot/dist/dynamic/ChatbotToggle';
3
2
  import Chatbot from '@patternfly/chatbot/dist/dynamic/Chatbot';
4
3
  import ChatbotContent from '@patternfly/chatbot/dist/dynamic/ChatbotContent';
@@ -18,6 +17,7 @@ import userAvatar from '../Messages/user_avatar.svg';
18
17
  import patternflyAvatar from '../Messages/patternfly_avatar.jpg';
19
18
  import '@patternfly/react-core/dist/styles/base.css';
20
19
  import '@patternfly/chatbot/dist/css/main.css';
20
+ import { cloneElement, FunctionComponent, isValidElement, ReactNode, useState, Children } from 'react';
21
21
 
22
22
  const initialMenuItems = [
23
23
  <DropdownList key="list-1">
@@ -84,14 +84,14 @@ const messages: MessageProps[] = [
84
84
  }
85
85
  ];
86
86
 
87
- export const AttachmentMenuDemo: React.FunctionComponent = () => {
88
- const [chatbotVisible, setChatbotVisible] = React.useState<boolean>(true);
89
- const [file, setFile] = React.useState<File>();
90
- const [isLoadingFile, setIsLoadingFile] = React.useState<boolean>(false);
91
- const [userFacingMenuItems, setUserFacingMenuItems] = React.useState<React.ReactNode>([]);
92
- const [error, setError] = React.useState<string>();
93
- const [showAlert, setShowAlert] = React.useState<boolean>(false);
94
- const [isOpen, setIsOpen] = React.useState<boolean>(false);
87
+ export const AttachmentMenuDemo: FunctionComponent = () => {
88
+ const [chatbotVisible, setChatbotVisible] = useState<boolean>(true);
89
+ const [file, setFile] = useState<File>();
90
+ const [isLoadingFile, setIsLoadingFile] = useState<boolean>(false);
91
+ const [userFacingMenuItems, setUserFacingMenuItems] = useState<ReactNode>([]);
92
+ const [error, setError] = useState<string>();
93
+ const [showAlert, setShowAlert] = useState<boolean>(false);
94
+ const [isOpen, setIsOpen] = useState<boolean>(false);
95
95
 
96
96
  const { open, getInputProps } = useDropzone({
97
97
  onDropAccepted: (files: File[]) => {
@@ -127,6 +127,7 @@ export const AttachmentMenuDemo: React.FunctionComponent = () => {
127
127
  // Attachments
128
128
  // --------------------------------------------------------------------------
129
129
  const handleFileDrop = (event: DropEvent, data: File[]) => {
130
+ setIsOpen(false);
130
131
  setFile(data[0]);
131
132
  setIsLoadingFile(true);
132
133
  setTimeout(() => {
@@ -162,18 +163,18 @@ export const AttachmentMenuDemo: React.FunctionComponent = () => {
162
163
  setUserFacingMenuItems(initialMenuItems.concat(uploadMenuItems));
163
164
  };
164
165
 
165
- const findMatchingElements = (elements: React.ReactNode[], targetValue: string) => {
166
- let matchingElements = [] as React.ReactNode[];
166
+ const findMatchingElements = (elements: ReactNode[], targetValue: string) => {
167
+ let matchingElements = [] as ReactNode[];
167
168
 
168
169
  elements.forEach((element) => {
169
- if (React.isValidElement(element)) {
170
+ if (isValidElement(element)) {
170
171
  // Check if the element's value matches the targetValue
171
172
  if (element.props.value && element.props.value.toLowerCase().includes(targetValue.toLowerCase())) {
172
- matchingElements.push(React.cloneElement(element, { key: element.props.value }));
173
+ matchingElements.push(cloneElement(element, { key: element.props.value }));
173
174
  }
174
175
 
175
176
  // Recursively check the element's children
176
- const children = React.Children.toArray(element.props.children);
177
+ const children = Children.toArray(element.props.children);
177
178
  matchingElements = matchingElements.concat(findMatchingElements(children, targetValue));
178
179
  }
179
180
  });
@@ -1,5 +1,4 @@
1
- import React from 'react';
2
-
1
+ import { useEffect, useRef, useState, FunctionComponent, MouseEvent } from 'react';
3
2
  import { Bullseye, Brand, DropdownList, DropdownItem, DropdownGroup, SkipToContent } from '@patternfly/react-core';
4
3
 
5
4
  import ChatbotToggle from '@patternfly/chatbot/dist/dynamic/ChatbotToggle';
@@ -76,8 +75,6 @@ spec:
76
75
  Here is some JavaScript code:
77
76
 
78
77
  ~~~js
79
- import React from 'react';
80
-
81
78
  const MessageLoading = () => (
82
79
  <div className="pf-chatbot__message-loading">
83
80
  <span className="pf-chatbot__message-loading-dots">
@@ -120,7 +117,7 @@ const initialMessages: MessageProps[] = [
120
117
  // eslint-disable-next-line no-console
121
118
  copy: { onClick: () => console.log('Copy') },
122
119
  // eslint-disable-next-line no-console
123
- share: { onClick: () => console.log('Share') },
120
+ download: { onClick: () => console.log('Download') },
124
121
  // eslint-disable-next-line no-console
125
122
  listen: { onClick: () => console.log('Listen') }
126
123
  }
@@ -164,39 +161,36 @@ const initialConversations = {
164
161
  ]
165
162
  };
166
163
 
167
- export const ChatbotDemo: React.FunctionComponent = () => {
168
- const [chatbotVisible, setChatbotVisible] = React.useState<boolean>(true);
169
- const [displayMode, setDisplayMode] = React.useState<ChatbotDisplayMode>(ChatbotDisplayMode.default);
170
- const [messages, setMessages] = React.useState<MessageProps[]>(initialMessages);
171
- const [selectedModel, setSelectedModel] = React.useState('Granite 7B');
172
- const [isSendButtonDisabled, setIsSendButtonDisabled] = React.useState(false);
173
- const [isDrawerOpen, setIsDrawerOpen] = React.useState(false);
174
- const [conversations, setConversations] = React.useState<Conversation[] | { [key: string]: Conversation[] }>(
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[] }>(
175
172
  initialConversations
176
173
  );
177
- const [announcement, setAnnouncement] = React.useState<string>();
178
- const scrollToBottomRef = React.useRef<HTMLDivElement>(null);
179
- const toggleRef = React.useRef<HTMLButtonElement>(null);
180
- const chatbotRef = React.useRef<HTMLDivElement>(null);
181
- const historyRef = React.useRef<HTMLButtonElement>(null);
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);
182
179
 
183
180
  // Auto-scrolls to the latest message
184
- React.useEffect(() => {
181
+ useEffect(() => {
185
182
  // don't scroll the first load - in this demo, we know we start with two messages
186
183
  if (messages.length > 2) {
187
184
  scrollToBottomRef.current?.scrollIntoView({ behavior: 'smooth' });
188
185
  }
189
186
  }, [messages]);
190
187
 
191
- const onSelectModel = (
192
- _event: React.MouseEvent<Element, MouseEvent> | undefined,
193
- value: string | number | undefined
194
- ) => {
188
+ const onSelectModel = (_event: MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
195
189
  setSelectedModel(value as string);
196
190
  };
197
191
 
198
192
  const onSelectDisplayMode = (
199
- _event: React.MouseEvent<Element, MouseEvent> | undefined,
193
+ _event: MouseEvent<Element, MouseEvent> | undefined,
200
194
  value: string | number | undefined
201
195
  ) => {
202
196
  setDisplayMode(value as ChatbotDisplayMode);
@@ -262,7 +256,7 @@ export const ChatbotDemo: React.FunctionComponent = () => {
262
256
  // eslint-disable-next-line no-console
263
257
  copy: { onClick: () => console.log('Copy') },
264
258
  // eslint-disable-next-line no-console
265
- share: { onClick: () => console.log('Share') },
259
+ download: { onClick: () => console.log('Download') },
266
260
  // eslint-disable-next-line no-console
267
261
  listen: { onClick: () => console.log('Listen') }
268
262
  }