@patternfly/chatbot 6.3.0-prerelease.9 → 6.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (559) hide show
  1. package/dist/cjs/AttachMenu/AttachMenu.d.ts +2 -2
  2. package/dist/cjs/AttachMenu/AttachMenu.js +2 -12
  3. package/dist/cjs/AttachmentEdit/AttachmentEdit.d.ts +12 -2
  4. package/dist/cjs/AttachmentEdit/AttachmentEdit.js +3 -6
  5. package/dist/cjs/AttachmentEdit/AttachmentEdit.test.d.ts +1 -1
  6. package/dist/cjs/AttachmentEdit/AttachmentEdit.test.js +33 -8
  7. package/dist/cjs/Chatbot/Chatbot.d.ts +1 -2
  8. package/dist/cjs/Chatbot/Chatbot.js +4 -9
  9. package/dist/cjs/Chatbot/Chatbot.test.js +11 -11
  10. package/dist/cjs/ChatbotAlert/ChatbotAlert.d.ts +2 -2
  11. package/dist/cjs/ChatbotAlert/ChatbotAlert.js +4 -8
  12. package/dist/cjs/ChatbotAlert/ChatbotAlert.test.js +10 -10
  13. package/dist/cjs/ChatbotContent/ChatbotContent.d.ts +3 -3
  14. package/dist/cjs/ChatbotContent/ChatbotContent.js +2 -8
  15. package/dist/cjs/ChatbotContent/ChatbotContent.test.js +5 -5
  16. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.d.ts +2 -2
  17. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +7 -11
  18. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +31 -33
  19. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +2 -2
  20. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +16 -33
  21. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +56 -64
  22. package/dist/cjs/ChatbotConversationHistoryNav/EmptyState.d.ts +2 -2
  23. package/dist/cjs/ChatbotConversationHistoryNav/EmptyState.js +2 -9
  24. package/dist/cjs/ChatbotConversationHistoryNav/LoadingState.d.ts +2 -2
  25. package/dist/cjs/ChatbotConversationHistoryNav/LoadingState.js +2 -25
  26. package/dist/cjs/ChatbotFooter/ChatbotFooter.d.ts +3 -3
  27. package/dist/cjs/ChatbotFooter/ChatbotFooter.js +2 -15
  28. package/dist/cjs/ChatbotFooter/ChatbotFooter.test.js +7 -7
  29. package/dist/cjs/ChatbotFooter/ChatbotFooternote.test.js +28 -28
  30. package/dist/cjs/ChatbotFooter/ChatbotFootnote.d.ts +3 -3
  31. package/dist/cjs/ChatbotFooter/ChatbotFootnote.js +10 -23
  32. package/dist/cjs/ChatbotHeader/ChatbotHeader.d.ts +3 -3
  33. package/dist/cjs/ChatbotHeader/ChatbotHeader.js +2 -7
  34. package/dist/cjs/ChatbotHeader/ChatbotHeader.test.js +5 -5
  35. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.d.ts +2 -2
  36. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.js +2 -5
  37. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.test.js +5 -5
  38. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +1 -2
  39. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.js +5 -10
  40. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.js +7 -10
  41. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.d.ts +2 -2
  42. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.js +2 -5
  43. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.test.js +5 -5
  44. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.d.ts +2 -2
  45. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.js +5 -7
  46. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.js +7 -10
  47. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +6 -3
  48. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +8 -9
  49. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +19 -21
  50. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +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 -2
  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 +24 -8
  100. package/dist/cjs/Message/Message.js +49 -71
  101. package/dist/cjs/Message/Message.test.js +112 -82
  102. package/dist/cjs/Message/MessageInput.d.ts +2 -2
  103. package/dist/cjs/Message/MessageInput.js +5 -14
  104. package/dist/cjs/Message/MessageLoading.d.ts +1 -2
  105. package/dist/cjs/Message/MessageLoading.js +3 -8
  106. package/dist/cjs/Message/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 +25 -2
  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 +31 -3
  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/PreviewAttachment/PreviewAttachment.d.ts +12 -2
  169. package/dist/cjs/PreviewAttachment/PreviewAttachment.js +3 -6
  170. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.d.ts +1 -1
  171. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.js +34 -12
  172. package/dist/cjs/ResponseActions/ResponseActionButton.d.ts +5 -5
  173. package/dist/cjs/ResponseActions/ResponseActionButton.js +5 -8
  174. package/dist/cjs/ResponseActions/ResponseActionButton.test.js +19 -19
  175. package/dist/cjs/ResponseActions/ResponseActions.d.ts +7 -3
  176. package/dist/cjs/ResponseActions/ResponseActions.js +39 -18
  177. package/dist/cjs/ResponseActions/ResponseActions.test.js +120 -41
  178. package/dist/cjs/Settings/SettingsForm.d.ts +2 -2
  179. package/dist/cjs/Settings/SettingsForm.js +2 -8
  180. package/dist/cjs/Settings/SettingsForm.test.js +9 -12
  181. package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
  182. package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -11
  183. package/dist/cjs/SourcesCard/SourcesCard.d.ts +12 -3
  184. package/dist/cjs/SourcesCard/SourcesCard.js +17 -42
  185. package/dist/cjs/SourcesCard/SourcesCard.test.js +70 -60
  186. package/dist/cjs/TermsOfUse/TermsOfUse.d.ts +3 -3
  187. package/dist/cjs/TermsOfUse/TermsOfUse.js +4 -16
  188. package/dist/cjs/TermsOfUse/TermsOfUse.test.js +31 -33
  189. package/dist/css/main.css +15 -7
  190. package/dist/css/main.css.map +1 -1
  191. package/dist/esm/AttachMenu/AttachMenu.d.ts +2 -2
  192. package/dist/esm/AttachMenu/AttachMenu.js +2 -9
  193. package/dist/esm/AttachmentEdit/AttachmentEdit.d.ts +12 -2
  194. package/dist/esm/AttachmentEdit/AttachmentEdit.js +3 -6
  195. package/dist/esm/AttachmentEdit/AttachmentEdit.test.d.ts +1 -1
  196. package/dist/esm/AttachmentEdit/AttachmentEdit.test.js +30 -5
  197. package/dist/esm/Chatbot/Chatbot.d.ts +1 -2
  198. package/dist/esm/Chatbot/Chatbot.js +4 -6
  199. package/dist/esm/Chatbot/Chatbot.test.js +6 -6
  200. package/dist/esm/ChatbotAlert/ChatbotAlert.d.ts +2 -2
  201. package/dist/esm/ChatbotAlert/ChatbotAlert.js +4 -5
  202. package/dist/esm/ChatbotAlert/ChatbotAlert.test.js +4 -4
  203. package/dist/esm/ChatbotContent/ChatbotContent.d.ts +3 -3
  204. package/dist/esm/ChatbotContent/ChatbotContent.js +2 -5
  205. package/dist/esm/ChatbotContent/ChatbotContent.test.js +3 -3
  206. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.d.ts +2 -2
  207. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +7 -11
  208. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +8 -10
  209. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +2 -2
  210. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +16 -33
  211. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +26 -34
  212. package/dist/esm/ChatbotConversationHistoryNav/EmptyState.d.ts +2 -2
  213. package/dist/esm/ChatbotConversationHistoryNav/EmptyState.js +2 -6
  214. package/dist/esm/ChatbotConversationHistoryNav/LoadingState.d.ts +2 -2
  215. package/dist/esm/ChatbotConversationHistoryNav/LoadingState.js +2 -22
  216. package/dist/esm/ChatbotFooter/ChatbotFooter.d.ts +3 -3
  217. package/dist/esm/ChatbotFooter/ChatbotFooter.js +2 -12
  218. package/dist/esm/ChatbotFooter/ChatbotFooter.test.js +4 -4
  219. package/dist/esm/ChatbotFooter/ChatbotFooternote.test.js +5 -5
  220. package/dist/esm/ChatbotFooter/ChatbotFootnote.d.ts +3 -3
  221. package/dist/esm/ChatbotFooter/ChatbotFootnote.js +10 -23
  222. package/dist/esm/ChatbotHeader/ChatbotHeader.d.ts +3 -3
  223. package/dist/esm/ChatbotHeader/ChatbotHeader.js +2 -4
  224. package/dist/esm/ChatbotHeader/ChatbotHeader.test.js +3 -3
  225. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.d.ts +2 -2
  226. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.js +2 -2
  227. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.js +3 -3
  228. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +1 -2
  229. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.js +5 -7
  230. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.js +4 -4
  231. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.d.ts +2 -2
  232. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.js +2 -2
  233. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.js +3 -3
  234. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.d.ts +2 -2
  235. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.js +5 -7
  236. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.js +4 -4
  237. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +6 -3
  238. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +8 -9
  239. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +9 -8
  240. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +8 -3
  241. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +11 -9
  242. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +9 -8
  243. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.d.ts +2 -2
  244. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.js +2 -2
  245. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.js +12 -12
  246. package/dist/esm/ChatbotModal/ChatbotModal.d.ts +2 -2
  247. package/dist/esm/ChatbotModal/ChatbotModal.js +3 -6
  248. package/dist/esm/ChatbotModal/ChatbotModal.test.js +2 -14
  249. package/dist/esm/ChatbotPopover/ChatbotPopover.d.ts +2 -2
  250. package/dist/esm/ChatbotPopover/ChatbotPopover.js +2 -5
  251. package/dist/esm/ChatbotToggle/ChatbotToggle.d.ts +1 -2
  252. package/dist/esm/ChatbotToggle/ChatbotToggle.js +8 -13
  253. package/dist/esm/ChatbotToggle/ChatbotToggle.test.js +8 -8
  254. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +2 -2
  255. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +6 -17
  256. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +8 -8
  257. package/dist/esm/CodeModal/CodeModal.d.ts +8 -2
  258. package/dist/esm/CodeModal/CodeModal.js +8 -20
  259. package/dist/esm/CodeModal/CodeModal.test.js +22 -3
  260. package/dist/esm/Compare/Compare.d.ts +2 -2
  261. package/dist/esm/Compare/Compare.js +7 -13
  262. package/dist/esm/Compare/Compare.test.js +4 -6
  263. package/dist/esm/FileDetails/FileDetails.d.ts +2 -2
  264. package/dist/esm/FileDetails/FileDetails.js +2 -15
  265. package/dist/esm/FileDetails/FileDetails.test.js +4 -4
  266. package/dist/esm/FileDetailsLabel/FileDetailsLabel.d.ts +2 -2
  267. package/dist/esm/FileDetailsLabel/FileDetailsLabel.js +2 -5
  268. package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.js +9 -9
  269. package/dist/esm/FileDropZone/FileDropZone.d.ts +23 -2
  270. package/dist/esm/FileDropZone/FileDropZone.js +11 -6
  271. package/dist/esm/FileDropZone/FileDropZone.test.js +84 -3
  272. package/dist/esm/LoadingMessage/LoadingMessage.d.ts +2 -2
  273. package/dist/esm/LoadingMessage/LoadingMessage.js +2 -10
  274. package/dist/esm/LoadingMessage/LoadingMessage.test.js +3 -3
  275. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.d.ts +20 -3
  276. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.js +31 -19
  277. package/dist/esm/Message/ErrorMessage/ErrorMessage.d.ts +1 -2
  278. package/dist/esm/Message/ErrorMessage/ErrorMessage.js +5 -5
  279. package/dist/esm/Message/ImageMessage/ImageMessage.d.ts +1 -2
  280. package/dist/esm/Message/ImageMessage/ImageMessage.js +2 -5
  281. package/dist/esm/Message/LinkMessage/LinkMessage.d.ts +1 -2
  282. package/dist/esm/Message/LinkMessage/LinkMessage.js +6 -6
  283. package/dist/esm/Message/ListMessage/ListItemMessage.d.ts +1 -2
  284. package/dist/esm/Message/ListMessage/ListItemMessage.js +2 -5
  285. package/dist/esm/Message/ListMessage/OrderedListMessage.d.ts +1 -2
  286. package/dist/esm/Message/ListMessage/OrderedListMessage.js +2 -6
  287. package/dist/esm/Message/ListMessage/UnorderedListMessage.d.ts +1 -2
  288. package/dist/esm/Message/ListMessage/UnorderedListMessage.js +2 -6
  289. package/dist/esm/Message/Message.d.ts +24 -8
  290. package/dist/esm/Message/Message.js +49 -71
  291. package/dist/esm/Message/Message.test.js +112 -82
  292. package/dist/esm/Message/MessageInput.d.ts +2 -2
  293. package/dist/esm/Message/MessageInput.js +5 -11
  294. package/dist/esm/Message/MessageLoading.d.ts +1 -2
  295. package/dist/esm/Message/MessageLoading.js +2 -4
  296. package/dist/esm/Message/Plugins/index.d.ts +1 -0
  297. package/dist/esm/Message/Plugins/index.js +1 -0
  298. package/dist/esm/Message/Plugins/rehypeCodeBlockToggle.d.ts +2 -0
  299. package/dist/esm/Message/Plugins/rehypeCodeBlockToggle.js +20 -0
  300. package/dist/esm/Message/Plugins/rehypeMoveImagesOutOfParagraphs.d.ts +2 -0
  301. package/dist/esm/Message/Plugins/rehypeMoveImagesOutOfParagraphs.js +43 -0
  302. package/dist/esm/Message/QuickResponse/QuickResponse.d.ts +2 -2
  303. package/dist/esm/Message/QuickResponse/QuickResponse.js +7 -6
  304. package/dist/esm/Message/QuickStarts/FallbackImg.d.ts +2 -2
  305. package/dist/esm/Message/QuickStarts/FallbackImg.js +5 -4
  306. package/dist/esm/Message/QuickStarts/QuickStartTile.d.ts +2 -2
  307. package/dist/esm/Message/QuickStarts/QuickStartTile.js +7 -20
  308. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.d.ts +2 -2
  309. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.js +9 -15
  310. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.js +5 -5
  311. package/dist/esm/Message/QuickStarts/QuickStartTileHeader.d.ts +2 -2
  312. package/dist/esm/Message/QuickStarts/QuickStartTileHeader.js +2 -3
  313. package/dist/esm/Message/QuickStarts/types.d.ts +4 -3
  314. package/dist/esm/Message/TableMessage/TableMessage.d.ts +1 -2
  315. package/dist/esm/Message/TableMessage/TableMessage.js +8 -7
  316. package/dist/esm/Message/TableMessage/TbodyMessage.d.ts +2 -3
  317. package/dist/esm/Message/TableMessage/TbodyMessage.js +7 -6
  318. package/dist/esm/Message/TableMessage/TdMessage.d.ts +1 -2
  319. package/dist/esm/Message/TableMessage/TdMessage.js +2 -5
  320. package/dist/esm/Message/TableMessage/ThMessage.d.ts +1 -2
  321. package/dist/esm/Message/TableMessage/ThMessage.js +2 -5
  322. package/dist/esm/Message/TableMessage/TheadMessage.d.ts +1 -2
  323. package/dist/esm/Message/TableMessage/TheadMessage.js +2 -5
  324. package/dist/esm/Message/TableMessage/TrMessage.d.ts +2 -3
  325. package/dist/esm/Message/TableMessage/TrMessage.js +8 -7
  326. package/dist/esm/Message/TextMessage/TextMessage.d.ts +1 -2
  327. package/dist/esm/Message/TextMessage/TextMessage.js +2 -6
  328. package/dist/esm/Message/UserFeedback/CloseButton.d.ts +2 -2
  329. package/dist/esm/Message/UserFeedback/CloseButton.js +2 -5
  330. package/dist/esm/Message/UserFeedback/UserFeedback.d.ts +2 -2
  331. package/dist/esm/Message/UserFeedback/UserFeedback.js +12 -23
  332. package/dist/esm/Message/UserFeedback/UserFeedback.test.js +21 -21
  333. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
  334. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.js +20 -44
  335. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.js +26 -36
  336. package/dist/esm/Message/index.d.ts +1 -0
  337. package/dist/esm/Message/index.js +1 -0
  338. package/dist/esm/MessageBar/AttachButton.d.ts +25 -2
  339. package/dist/esm/MessageBar/AttachButton.js +10 -17
  340. package/dist/esm/MessageBar/AttachButton.test.js +95 -17
  341. package/dist/esm/MessageBar/MessageBar.d.ts +31 -3
  342. package/dist/esm/MessageBar/MessageBar.js +28 -30
  343. package/dist/esm/MessageBar/MessageBar.test.js +87 -73
  344. package/dist/esm/MessageBar/MicrophoneButton.d.ts +2 -2
  345. package/dist/esm/MessageBar/MicrophoneButton.js +7 -11
  346. package/dist/esm/MessageBar/SendButton.d.ts +3 -2
  347. package/dist/esm/MessageBar/SendButton.js +3 -8
  348. package/dist/esm/MessageBar/SendButton.test.js +9 -9
  349. package/dist/esm/MessageBar/StopButton.d.ts +3 -2
  350. package/dist/esm/MessageBar/StopButton.js +3 -9
  351. package/dist/esm/MessageBar/StopButton.test.js +9 -9
  352. package/dist/esm/MessageBox/JumpButton.d.ts +2 -2
  353. package/dist/esm/MessageBox/JumpButton.js +2 -7
  354. package/dist/esm/MessageBox/JumpButton.test.js +9 -9
  355. package/dist/esm/MessageBox/MessageBox.d.ts +21 -5
  356. package/dist/esm/MessageBox/MessageBox.js +170 -45
  357. package/dist/esm/MessageBox/MessageBox.test.js +220 -7
  358. package/dist/esm/PreviewAttachment/PreviewAttachment.d.ts +12 -2
  359. package/dist/esm/PreviewAttachment/PreviewAttachment.js +3 -6
  360. package/dist/esm/PreviewAttachment/PreviewAttachment.test.d.ts +1 -1
  361. package/dist/esm/PreviewAttachment/PreviewAttachment.test.js +30 -5
  362. package/dist/esm/ResponseActions/ResponseActionButton.d.ts +5 -5
  363. package/dist/esm/ResponseActions/ResponseActionButton.js +5 -5
  364. package/dist/esm/ResponseActions/ResponseActionButton.test.js +7 -7
  365. package/dist/esm/ResponseActions/ResponseActions.d.ts +7 -3
  366. package/dist/esm/ResponseActions/ResponseActions.js +40 -19
  367. package/dist/esm/ResponseActions/ResponseActions.test.js +95 -16
  368. package/dist/esm/Settings/SettingsForm.d.ts +2 -2
  369. package/dist/esm/Settings/SettingsForm.js +2 -5
  370. package/dist/esm/Settings/SettingsForm.test.js +6 -6
  371. package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
  372. package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -8
  373. package/dist/esm/SourcesCard/SourcesCard.d.ts +12 -3
  374. package/dist/esm/SourcesCard/SourcesCard.js +17 -39
  375. package/dist/esm/SourcesCard/SourcesCard.test.js +29 -19
  376. package/dist/esm/TermsOfUse/TermsOfUse.d.ts +3 -3
  377. package/dist/esm/TermsOfUse/TermsOfUse.js +4 -16
  378. package/dist/esm/TermsOfUse/TermsOfUse.test.js +10 -12
  379. package/dist/tsconfig.tsbuildinfo +1 -1
  380. package/package.json +5 -7
  381. package/patternfly-docs/content/extensions/chatbot/design-guidelines.md +10 -0
  382. package/patternfly-docs/content/extensions/chatbot/examples/Customizing Messages/Customizing Messages.md +51 -0
  383. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachMenu.tsx +9 -9
  384. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentEdit.tsx +5 -5
  385. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentError.tsx +2 -2
  386. package/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +24 -20
  387. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetails.tsx +2 -2
  388. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetailsLabel.tsx +9 -9
  389. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDropZone.tsx +4 -4
  390. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithAttachment.tsx +7 -7
  391. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithClickedResponseActions.tsx +25 -0
  392. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithCustomResponseActions.tsx +3 -12
  393. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedback.tsx +4 -4
  394. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedbackTimeout.tsx +3 -3
  395. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickResponses.tsx +2 -2
  396. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickStart.tsx +2 -2
  397. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithResponseActions.tsx +3 -3
  398. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithSources.tsx +3 -3
  399. package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +19 -0
  400. package/patternfly-docs/content/extensions/chatbot/examples/Messages/PreviewAttachment.tsx +5 -5
  401. package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +25 -14
  402. package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessageWithExtraContent.tsx +4 -4
  403. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotContainer.tsx +59 -36
  404. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFooter.tsx +2 -2
  405. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFootnote.tsx +2 -2
  406. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderBasic.tsx +10 -13
  407. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawer.tsx +10 -10
  408. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerNavigation.tsx +5 -5
  409. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerResizable.tsx +5 -5
  410. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithActions.tsx +6 -6
  411. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithSelection.tsx +7 -7
  412. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderTitle.tsx +59 -34
  413. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBar.tsx +2 -2
  414. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarAttach.tsx +9 -9
  415. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarDisabled.tsx +3 -3
  416. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarLanguage.tsx +2 -2
  417. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarStop.tsx +2 -2
  418. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotModal.tsx +74 -37
  419. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotToggleBasic.tsx +3 -3
  420. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomeInteraction.tsx +8 -8
  421. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomePrompt.tsx +3 -3
  422. package/patternfly-docs/content/extensions/chatbot/examples/UI/CompactSettings.tsx +16 -23
  423. package/patternfly-docs/content/extensions/chatbot/examples/UI/CustomClosedIcon.tsx +3 -3
  424. package/patternfly-docs/content/extensions/chatbot/examples/UI/Settings.tsx +16 -23
  425. package/patternfly-docs/content/extensions/chatbot/examples/UI/SkipToContent.tsx +5 -5
  426. package/patternfly-docs/content/extensions/chatbot/examples/UI/SquareChatbotToggle.tsx +3 -3
  427. package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUse.tsx +91 -48
  428. package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUseCompact.tsx +82 -39
  429. package/patternfly-docs/content/extensions/chatbot/examples/UI/UI.md +3 -0
  430. package/patternfly-docs/content/extensions/chatbot/examples/demos/AttachmentDemos.md +37 -0
  431. package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +1 -0
  432. package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +19 -25
  433. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachment.tsx +42 -15
  434. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachmentMenu.tsx +15 -14
  435. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotCompact.tsx +19 -25
  436. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotInDrawer.tsx +17 -22
  437. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotScrolling.tsx +536 -0
  438. package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedChatbot.tsx +17 -22
  439. package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedComparisonChatbot.tsx +13 -13
  440. package/patternfly-docs/content/extensions/chatbot/examples/demos/Feedback.tsx +7 -7
  441. package/patternfly-docs/content/extensions/chatbot/img/quick-response-confirmation.svg +67 -0
  442. package/src/AttachMenu/AttachMenu.tsx +2 -2
  443. package/src/AttachmentEdit/AttachmentEdit.test.tsx +46 -2
  444. package/src/AttachmentEdit/AttachmentEdit.tsx +25 -7
  445. package/src/Chatbot/Chatbot.test.tsx +0 -1
  446. package/src/Chatbot/Chatbot.tsx +5 -3
  447. package/src/ChatbotAlert/ChatbotAlert.test.tsx +0 -1
  448. package/src/ChatbotAlert/ChatbotAlert.tsx +2 -2
  449. package/src/ChatbotContent/ChatbotContent.test.tsx +0 -1
  450. package/src/ChatbotContent/ChatbotContent.tsx +3 -3
  451. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.tsx +0 -1
  452. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.tsx +6 -4
  453. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.tsx +3 -3
  454. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.tsx +8 -6
  455. package/src/ChatbotConversationHistoryNav/EmptyState.tsx +2 -2
  456. package/src/ChatbotConversationHistoryNav/LoadingState.tsx +2 -2
  457. package/src/ChatbotFooter/ChatbotFooter.test.tsx +0 -1
  458. package/src/ChatbotFooter/ChatbotFooter.tsx +3 -3
  459. package/src/ChatbotFooter/ChatbotFooternote.test.tsx +0 -1
  460. package/src/ChatbotFooter/ChatbotFootnote.tsx +6 -4
  461. package/src/ChatbotHeader/ChatbotHeader.test.tsx +0 -1
  462. package/src/ChatbotHeader/ChatbotHeader.tsx +3 -6
  463. package/src/ChatbotHeader/ChatbotHeaderActions.test.tsx +0 -1
  464. package/src/ChatbotHeader/ChatbotHeaderActions.tsx +2 -2
  465. package/src/ChatbotHeader/ChatbotHeaderCloseButton.test.tsx +0 -1
  466. package/src/ChatbotHeader/ChatbotHeaderCloseButton.tsx +5 -4
  467. package/src/ChatbotHeader/ChatbotHeaderMain.test.tsx +0 -1
  468. package/src/ChatbotHeader/ChatbotHeaderMain.tsx +2 -2
  469. package/src/ChatbotHeader/ChatbotHeaderMenu.test.tsx +0 -1
  470. package/src/ChatbotHeader/ChatbotHeaderMenu.tsx +7 -7
  471. package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.tsx +9 -1
  472. package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.tsx +12 -5
  473. package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.tsx +9 -1
  474. package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.tsx +26 -6
  475. package/src/ChatbotHeader/ChatbotHeaderTitle.test.tsx +0 -1
  476. package/src/ChatbotHeader/ChatbotHeaderTitle.tsx +2 -2
  477. package/src/ChatbotModal/ChatbotModal.test.tsx +0 -1
  478. package/src/ChatbotModal/ChatbotModal.tsx +2 -2
  479. package/src/ChatbotPopover/ChatbotPopover.tsx +3 -3
  480. package/src/ChatbotToggle/ChatbotToggle.test.tsx +0 -1
  481. package/src/ChatbotToggle/ChatbotToggle.tsx +5 -3
  482. package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.tsx +0 -1
  483. package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.tsx +2 -2
  484. package/src/CodeModal/CodeModal.test.tsx +29 -2
  485. package/src/CodeModal/CodeModal.tsx +18 -8
  486. package/src/Compare/Compare.test.tsx +0 -1
  487. package/src/Compare/Compare.tsx +7 -6
  488. package/src/FileDetails/FileDetails.test.tsx +0 -1
  489. package/src/FileDetails/FileDetails.tsx +1 -1
  490. package/src/FileDetailsLabel/FileDetailsLabel.test.tsx +0 -1
  491. package/src/FileDetailsLabel/FileDetailsLabel.tsx +1 -1
  492. package/src/FileDropZone/FileDropZone.test.tsx +112 -1
  493. package/src/FileDropZone/FileDropZone.tsx +44 -4
  494. package/src/LoadingMessage/LoadingMessage.test.tsx +0 -1
  495. package/src/LoadingMessage/LoadingMessage.tsx +2 -2
  496. package/src/Message/CodeBlockMessage/CodeBlockMessage.scss +7 -0
  497. package/src/Message/CodeBlockMessage/CodeBlockMessage.tsx +104 -20
  498. package/src/Message/ErrorMessage/ErrorMessage.tsx +0 -1
  499. package/src/Message/ImageMessage/ImageMessage.tsx +1 -2
  500. package/src/Message/LinkMessage/LinkMessage.tsx +0 -1
  501. package/src/Message/ListMessage/ListItemMessage.tsx +0 -1
  502. package/src/Message/ListMessage/OrderedListMessage.tsx +0 -1
  503. package/src/Message/ListMessage/UnorderedListMessage.tsx +0 -1
  504. package/src/Message/Message.test.tsx +49 -6
  505. package/src/Message/Message.tsx +31 -14
  506. package/src/Message/MessageInput.tsx +5 -5
  507. package/src/Message/MessageLoading.tsx +0 -2
  508. package/src/Message/Plugins/index.ts +1 -0
  509. package/src/Message/Plugins/rehypeCodeBlockToggle.ts +24 -0
  510. package/src/Message/Plugins/rehypeMoveImagesOutOfParagraphs.ts +53 -0
  511. package/src/Message/QuickResponse/QuickResponse.tsx +4 -3
  512. package/src/Message/QuickStarts/FallbackImg.tsx +4 -3
  513. package/src/Message/QuickStarts/QuickStartTile.tsx +3 -3
  514. package/src/Message/QuickStarts/QuickStartTileDescription.test.tsx +0 -1
  515. package/src/Message/QuickStarts/QuickStartTileDescription.tsx +4 -3
  516. package/src/Message/QuickStarts/QuickStartTileHeader.tsx +2 -2
  517. package/src/Message/QuickStarts/types.ts +4 -3
  518. package/src/Message/TableMessage/TableMessage.tsx +4 -4
  519. package/src/Message/TableMessage/TbodyMessage.tsx +3 -3
  520. package/src/Message/TableMessage/TdMessage.tsx +1 -2
  521. package/src/Message/TableMessage/ThMessage.tsx +1 -2
  522. package/src/Message/TableMessage/TheadMessage.tsx +3 -2
  523. package/src/Message/TableMessage/TrMessage.tsx +4 -4
  524. package/src/Message/TextMessage/TextMessage.scss +2 -5
  525. package/src/Message/TextMessage/TextMessage.tsx +1 -2
  526. package/src/Message/UserFeedback/CloseButton.tsx +2 -2
  527. package/src/Message/UserFeedback/UserFeedback.test.tsx +0 -1
  528. package/src/Message/UserFeedback/UserFeedback.tsx +8 -6
  529. package/src/Message/UserFeedback/UserFeedbackComplete.test.tsx +0 -1
  530. package/src/Message/UserFeedback/UserFeedbackComplete.tsx +16 -14
  531. package/src/Message/index.ts +1 -0
  532. package/src/MessageBar/AttachButton.test.tsx +127 -8
  533. package/src/MessageBar/AttachButton.tsx +49 -6
  534. package/src/MessageBar/MessageBar.test.tsx +81 -30
  535. package/src/MessageBar/MessageBar.tsx +85 -19
  536. package/src/MessageBar/MicrophoneButton.tsx +10 -7
  537. package/src/MessageBar/SendButton.test.tsx +5 -6
  538. package/src/MessageBar/SendButton.tsx +4 -3
  539. package/src/MessageBar/StopButton.test.tsx +5 -6
  540. package/src/MessageBar/StopButton.tsx +4 -3
  541. package/src/MessageBox/JumpButton.test.tsx +4 -5
  542. package/src/MessageBox/JumpButton.tsx +3 -3
  543. package/src/MessageBox/MessageBox.test.tsx +295 -5
  544. package/src/MessageBox/MessageBox.tsx +301 -84
  545. package/src/PreviewAttachment/PreviewAttachment.test.tsx +44 -2
  546. package/src/PreviewAttachment/PreviewAttachment.tsx +24 -6
  547. package/src/ResponseActions/ResponseActionButton.test.tsx +0 -1
  548. package/src/ResponseActions/ResponseActionButton.tsx +6 -5
  549. package/src/ResponseActions/ResponseActions.test.tsx +121 -4
  550. package/src/ResponseActions/ResponseActions.tsx +71 -12
  551. package/src/Settings/SettingsForm.test.tsx +0 -1
  552. package/src/Settings/SettingsForm.tsx +2 -7
  553. package/src/SourceDetailsMenuItem/SourceDetailsMenuItem.tsx +2 -2
  554. package/src/SourcesCard/SourcesCard.test.tsx +14 -1
  555. package/src/SourcesCard/SourcesCard.tsx +19 -7
  556. package/src/TermsOfUse/TermsOfUse.test.tsx +0 -1
  557. package/src/TermsOfUse/TermsOfUse.tsx +6 -5
  558. package/tsconfig.cjs.json +0 -1
  559. package/tsconfig.json +3 -3
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type { FunctionComponent } from 'react';
2
2
  import { ModalProps } from '@patternfly/react-core';
3
3
  import { ChatbotDisplayMode } from '../Chatbot';
4
4
  export interface TermsOfUseProps extends ModalProps {
@@ -31,6 +31,6 @@ export interface TermsOfUseProps extends ModalProps {
31
31
  /** Sets modal to compact styling. */
32
32
  isCompact?: boolean;
33
33
  }
34
- export declare const TermsOfUseBase: React.FunctionComponent<TermsOfUseProps>;
35
- declare const TermsOfUse: React.ForwardRefExoticComponent<Omit<TermsOfUseProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
34
+ export declare const TermsOfUseBase: FunctionComponent<TermsOfUseProps>;
35
+ declare const TermsOfUse: import("react").ForwardRefExoticComponent<Omit<TermsOfUseProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
36
36
  export default TermsOfUse;
@@ -9,10 +9,8 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
- // ============================================================================
13
- // Terms of Use Modal - Chatbot Modal Extension
14
- // ============================================================================
15
- import React from 'react';
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { forwardRef } from 'react';
16
14
  import { Button, Content, ModalBody, ModalFooter, ModalHeader } from '@patternfly/react-core';
17
15
  import { ChatbotDisplayMode } from '../Chatbot';
18
16
  import ChatbotModal from '../ChatbotModal/ChatbotModal';
@@ -25,18 +23,8 @@ export const TermsOfUseBase = (_a) => {
25
23
  const handleSecondaryAction = (_event) => {
26
24
  onSecondaryAction(_event);
27
25
  };
28
- const modal = (React.createElement(ChatbotModal, Object.assign({ isOpen: isModalOpen, ouiaId: ouiaId, "aria-labelledby": "terms-of-use-title", "aria-describedby": "terms-of-use-modal", className: `pf-chatbot__terms-of-use-modal pf-chatbot__terms-of-use-modal--${displayMode} ${isCompact ? 'pf-m-compact' : ''} ${className ? className : ''}`, displayMode: displayMode }, props),
29
- React.createElement("section", { className: `pf-chatbot__terms-of-use--section`, "aria-label": title, tabIndex: -1, ref: innerRef },
30
- React.createElement(ModalHeader, { className: "pf-chatbot__terms-of-use--modal-header" },
31
- React.createElement("div", { className: "pf-chatbot__terms-of-use--header" },
32
- !isCompact && image && altText && (React.createElement("img", { src: image, className: "pf-chatbot__terms-of-use--image", alt: altText })),
33
- React.createElement("h1", { className: "pf-chatbot__terms-of-use--title" }, title))),
34
- React.createElement(ModalBody, { className: "pf-chatbot__terms-of-use--modal-body" },
35
- React.createElement(Content, null, children)),
36
- React.createElement(ModalFooter, { className: "pf-chatbot__terms-of-use--footer" },
37
- React.createElement(Button, { isBlock: true, key: "terms-of-use-modal-primary", variant: "primary", onClick: handlePrimaryAction, form: "terms-of-use-form", size: "lg" }, primaryActionBtn),
38
- React.createElement(Button, { isBlock: true, key: "terms-of-use-modal-secondary", variant: "secondary", onClick: handleSecondaryAction, size: "lg" }, secondaryActionBtn)))));
26
+ const modal = (_jsx(ChatbotModal, Object.assign({ isOpen: isModalOpen, ouiaId: ouiaId, "aria-labelledby": "terms-of-use-title", "aria-describedby": "terms-of-use-modal", className: `pf-chatbot__terms-of-use-modal pf-chatbot__terms-of-use-modal--${displayMode} ${isCompact ? 'pf-m-compact' : ''} ${className ? className : ''}`, displayMode: displayMode }, props, { children: _jsxs("section", { className: `pf-chatbot__terms-of-use--section`, "aria-label": title, tabIndex: -1, ref: innerRef, children: [_jsx(ModalHeader, { className: "pf-chatbot__terms-of-use--modal-header", children: _jsxs("div", { className: "pf-chatbot__terms-of-use--header", children: [!isCompact && image && altText && (_jsx("img", { src: image, className: "pf-chatbot__terms-of-use--image", alt: altText })), _jsx("h1", { className: "pf-chatbot__terms-of-use--title", children: title })] }) }), _jsx(ModalBody, { className: "pf-chatbot__terms-of-use--modal-body", children: _jsx(Content, { children: children }) }), _jsxs(ModalFooter, { className: "pf-chatbot__terms-of-use--footer", children: [_jsx(Button, { isBlock: true, variant: "primary", onClick: handlePrimaryAction, form: "terms-of-use-form", size: "lg", children: primaryActionBtn }, "terms-of-use-modal-primary"), _jsx(Button, { isBlock: true, variant: "secondary", onClick: handleSecondaryAction, size: "lg", children: secondaryActionBtn }, "terms-of-use-modal-secondary")] })] }) })));
39
27
  return modal;
40
28
  };
41
- const TermsOfUse = React.forwardRef((props, ref) => (React.createElement(TermsOfUseBase, Object.assign({ innerRef: ref }, props))));
29
+ const TermsOfUse = forwardRef((props, ref) => (_jsx(TermsOfUseBase, Object.assign({ innerRef: ref }, props))));
42
30
  export default TermsOfUse;
@@ -7,7 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import React from 'react';
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
11
  import { render, screen } from '@testing-library/react';
12
12
  import '@testing-library/jest-dom';
13
13
  import userEvent from '@testing-library/user-event';
@@ -16,15 +16,13 @@ import { Content } from '@patternfly/react-core';
16
16
  const handleModalToggle = jest.fn();
17
17
  const onPrimaryAction = jest.fn();
18
18
  const onSecondaryAction = jest.fn();
19
- const body = (React.createElement(Content, null,
20
- React.createElement("h1", null, "Heading 1"),
21
- React.createElement("p", null, "Legal text")));
19
+ const body = (_jsxs(Content, { children: [_jsx("h1", { children: "Heading 1" }), _jsx("p", { children: "Legal text" })] }));
22
20
  describe('TermsOfUse', () => {
23
21
  afterEach(() => {
24
22
  jest.clearAllMocks();
25
23
  });
26
24
  it('should render modal correctly', () => {
27
- render(React.createElement(TermsOfUse, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, ouiaId: "Terms" }, body));
25
+ render(_jsx(TermsOfUse, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, ouiaId: "Terms", children: body }));
28
26
  expect(screen.getByRole('heading', { name: /Terms of use/i })).toBeTruthy();
29
27
  expect(screen.getByRole('button', { name: /Accept/i })).toBeTruthy();
30
28
  expect(screen.getByRole('button', { name: /Decline/i })).toBeTruthy();
@@ -34,39 +32,39 @@ describe('TermsOfUse', () => {
34
32
  expect(screen.getByRole('dialog')).toHaveClass('pf-chatbot__terms-of-use-modal--default');
35
33
  });
36
34
  it('should handle image and altText props', () => {
37
- render(React.createElement(TermsOfUse, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, image: "./image.png", altText: "Test image" }, body));
35
+ render(_jsx(TermsOfUse, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, image: "./image.png", altText: "Test image", children: body }));
38
36
  expect(screen.getByRole('img')).toBeTruthy();
39
37
  expect(screen.getByRole('img')).toHaveAttribute('alt', 'Test image');
40
38
  });
41
39
  it('should handle className prop', () => {
42
- render(React.createElement(TermsOfUse, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, className: "test" }, body));
40
+ render(_jsx(TermsOfUse, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, className: "test", children: body }));
43
41
  expect(screen.getByRole('dialog')).toHaveClass('pf-chatbot__terms-of-use-modal');
44
42
  expect(screen.getByRole('dialog')).toHaveClass('pf-chatbot__terms-of-use-modal--default');
45
43
  expect(screen.getByRole('dialog')).toHaveClass('test');
46
44
  });
47
45
  it('should handle title prop', () => {
48
- render(React.createElement(TermsOfUse, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, title: "Updated title" }, body));
46
+ render(_jsx(TermsOfUse, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, title: "Updated title", children: body }));
49
47
  expect(screen.getByRole('heading', { name: /Updated title/i })).toBeTruthy();
50
48
  expect(screen.queryByRole('heading', { name: /Terms of use/i })).toBeFalsy();
51
49
  });
52
50
  it('should handle primary button prop', () => {
53
- render(React.createElement(TermsOfUse, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, primaryActionBtn: "First" }, body));
51
+ render(_jsx(TermsOfUse, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, primaryActionBtn: "First", children: body }));
54
52
  expect(screen.getByRole('button', { name: /First/i })).toBeTruthy();
55
53
  expect(screen.queryByRole('button', { name: /Accept/i })).toBeFalsy();
56
54
  });
57
55
  it('should handle secondary button prop', () => {
58
- render(React.createElement(TermsOfUse, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, secondaryActionBtn: "Second" }, body));
56
+ render(_jsx(TermsOfUse, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, secondaryActionBtn: "Second", children: body }));
59
57
  expect(screen.getByRole('button', { name: /Second/i })).toBeTruthy();
60
58
  expect(screen.queryByRole('button', { name: /Deny/i })).toBeFalsy();
61
59
  });
62
60
  it('should handle primary button click', () => __awaiter(void 0, void 0, void 0, function* () {
63
- render(React.createElement(TermsOfUse, { isModalOpen: true, onPrimaryAction: onPrimaryAction, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle }, body));
61
+ render(_jsx(TermsOfUse, { isModalOpen: true, onPrimaryAction: onPrimaryAction, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, children: body }));
64
62
  yield userEvent.click(screen.getByRole('button', { name: /Accept/i }));
65
63
  expect(onPrimaryAction).toHaveBeenCalledTimes(1);
66
64
  expect(handleModalToggle).toHaveBeenCalledTimes(1);
67
65
  }));
68
66
  it('should handle secondary button click', () => __awaiter(void 0, void 0, void 0, function* () {
69
- render(React.createElement(TermsOfUse, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle }, body));
67
+ render(_jsx(TermsOfUse, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, children: body }));
70
68
  yield userEvent.click(screen.getByRole('button', { name: /Decline/i }));
71
69
  expect(onSecondaryAction).toHaveBeenCalledTimes(1);
72
70
  expect(handleModalToggle).not.toHaveBeenCalled();
@@ -1 +1 @@
1
- {"root":["../src/index.ts","../src/AttachMenu/AttachMenu.tsx","../src/AttachMenu/index.ts","../src/AttachmentEdit/AttachmentEdit.test.tsx","../src/AttachmentEdit/AttachmentEdit.tsx","../src/AttachmentEdit/index.ts","../src/Chatbot/Chatbot.test.tsx","../src/Chatbot/Chatbot.tsx","../src/Chatbot/index.ts","../src/ChatbotAlert/ChatbotAlert.test.tsx","../src/ChatbotAlert/ChatbotAlert.tsx","../src/ChatbotAlert/index.ts","../src/ChatbotContent/ChatbotContent.test.tsx","../src/ChatbotContent/ChatbotContent.tsx","../src/ChatbotContent/index.ts","../src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.tsx","../src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.tsx","../src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.tsx","../src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.tsx","../src/ChatbotConversationHistoryNav/EmptyState.tsx","../src/ChatbotConversationHistoryNav/LoadingState.tsx","../src/ChatbotConversationHistoryNav/index.ts","../src/ChatbotFooter/ChatbotFooter.test.tsx","../src/ChatbotFooter/ChatbotFooter.tsx","../src/ChatbotFooter/ChatbotFooternote.test.tsx","../src/ChatbotFooter/ChatbotFootnote.tsx","../src/ChatbotFooter/index.ts","../src/ChatbotHeader/ChatbotHeader.test.tsx","../src/ChatbotHeader/ChatbotHeader.tsx","../src/ChatbotHeader/ChatbotHeaderActions.test.tsx","../src/ChatbotHeader/ChatbotHeaderActions.tsx","../src/ChatbotHeader/ChatbotHeaderCloseButton.test.tsx","../src/ChatbotHeader/ChatbotHeaderCloseButton.tsx","../src/ChatbotHeader/ChatbotHeaderMain.test.tsx","../src/ChatbotHeader/ChatbotHeaderMain.tsx","../src/ChatbotHeader/ChatbotHeaderMenu.test.tsx","../src/ChatbotHeader/ChatbotHeaderMenu.tsx","../src/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.tsx","../src/ChatbotHeader/ChatbotHeaderOptionsDropdown.tsx","../src/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.tsx","../src/ChatbotHeader/ChatbotHeaderSelectorDropdown.tsx","../src/ChatbotHeader/ChatbotHeaderTitle.test.tsx","../src/ChatbotHeader/ChatbotHeaderTitle.tsx","../src/ChatbotHeader/index.ts","../src/ChatbotModal/ChatbotModal.test.tsx","../src/ChatbotModal/ChatbotModal.tsx","../src/ChatbotModal/index.ts","../src/ChatbotPopover/ChatbotPopover.tsx","../src/ChatbotPopover/index.ts","../src/ChatbotToggle/ChatbotToggle.test.tsx","../src/ChatbotToggle/ChatbotToggle.tsx","../src/ChatbotToggle/index.ts","../src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.tsx","../src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.tsx","../src/ChatbotWelcomePrompt/index.ts","../src/CodeModal/CodeModal.test.tsx","../src/CodeModal/CodeModal.tsx","../src/CodeModal/index.ts","../src/Compare/Compare.test.tsx","../src/Compare/Compare.tsx","../src/Compare/index.ts","../src/FileDetails/FileDetails.test.tsx","../src/FileDetails/FileDetails.tsx","../src/FileDetails/index.ts","../src/FileDetailsLabel/FileDetailsLabel.test.tsx","../src/FileDetailsLabel/FileDetailsLabel.tsx","../src/FileDetailsLabel/index.ts","../src/FileDropZone/FileDropZone.test.tsx","../src/FileDropZone/FileDropZone.tsx","../src/FileDropZone/index.ts","../src/LoadingMessage/LoadingMessage.test.tsx","../src/LoadingMessage/LoadingMessage.tsx","../src/LoadingMessage/index.ts","../src/Message/Message.test.tsx","../src/Message/Message.tsx","../src/Message/MessageInput.tsx","../src/Message/MessageLoading.tsx","../src/Message/index.ts","../src/Message/CodeBlockMessage/CodeBlockMessage.tsx","../src/Message/ErrorMessage/ErrorMessage.tsx","../src/Message/ImageMessage/ImageMessage.tsx","../src/Message/LinkMessage/LinkMessage.tsx","../src/Message/ListMessage/ListItemMessage.tsx","../src/Message/ListMessage/OrderedListMessage.tsx","../src/Message/ListMessage/UnorderedListMessage.tsx","../src/Message/QuickResponse/QuickResponse.tsx","../src/Message/QuickStarts/FallbackImg.tsx","../src/Message/QuickStarts/QuickStartTile.tsx","../src/Message/QuickStarts/QuickStartTileDescription.test.tsx","../src/Message/QuickStarts/QuickStartTileDescription.tsx","../src/Message/QuickStarts/QuickStartTileHeader.tsx","../src/Message/QuickStarts/monitor-sampleapp-quickstart-with-image.ts","../src/Message/QuickStarts/monitor-sampleapp-quickstart.ts","../src/Message/QuickStarts/types.ts","../src/Message/TableMessage/TableMessage.tsx","../src/Message/TableMessage/TbodyMessage.tsx","../src/Message/TableMessage/TdMessage.tsx","../src/Message/TableMessage/ThMessage.tsx","../src/Message/TableMessage/TheadMessage.tsx","../src/Message/TableMessage/TrMessage.tsx","../src/Message/TextMessage/TextMessage.tsx","../src/Message/UserFeedback/CloseButton.tsx","../src/Message/UserFeedback/UserFeedback.test.tsx","../src/Message/UserFeedback/UserFeedback.tsx","../src/Message/UserFeedback/UserFeedbackComplete.test.tsx","../src/Message/UserFeedback/UserFeedbackComplete.tsx","../src/MessageBar/AttachButton.test.tsx","../src/MessageBar/AttachButton.tsx","../src/MessageBar/MessageBar.test.tsx","../src/MessageBar/MessageBar.tsx","../src/MessageBar/MicrophoneButton.tsx","../src/MessageBar/SendButton.test.tsx","../src/MessageBar/SendButton.tsx","../src/MessageBar/StopButton.test.tsx","../src/MessageBar/StopButton.tsx","../src/MessageBar/index.ts","../src/MessageBox/JumpButton.test.tsx","../src/MessageBox/JumpButton.tsx","../src/MessageBox/MessageBox.test.tsx","../src/MessageBox/MessageBox.tsx","../src/MessageBox/index.ts","../src/PreviewAttachment/PreviewAttachment.test.tsx","../src/PreviewAttachment/PreviewAttachment.tsx","../src/PreviewAttachment/index.ts","../src/ResponseActions/ResponseActionButton.test.tsx","../src/ResponseActions/ResponseActionButton.tsx","../src/ResponseActions/ResponseActions.test.tsx","../src/ResponseActions/ResponseActions.tsx","../src/ResponseActions/index.ts","../src/Settings/SettingsForm.test.tsx","../src/Settings/SettingsForm.tsx","../src/Settings/index.ts","../src/SourceDetailsMenuItem/SourceDetailsMenuItem.tsx","../src/SourceDetailsMenuItem/index.ts","../src/SourcesCard/SourcesCard.test.tsx","../src/SourcesCard/SourcesCard.tsx","../src/SourcesCard/index.ts","../src/TermsOfUse/TermsOfUse.test.tsx","../src/TermsOfUse/TermsOfUse.tsx","../src/TermsOfUse/index.ts","../src/__mocks__/rehype-external-links.ts","../src/__mocks__/rehype-sanitize.ts","../src/__mocks__/rehype-unwrap-images.tsx","../src/tracking/console_tracking_provider.ts","../src/tracking/index.ts","../src/tracking/posthog_tracking_provider.ts","../src/tracking/segment_tracking_provider.ts","../src/tracking/trackingProviderProxy.ts","../src/tracking/tracking_api.ts","../src/tracking/tracking_registry.ts","../src/tracking/tracking_spi.ts","../src/tracking/umami_tracking_provider.ts"],"version":"5.6.3"}
1
+ {"root":["../src/index.ts","../src/attachmenu/attachmenu.tsx","../src/attachmenu/index.ts","../src/attachmentedit/attachmentedit.test.tsx","../src/attachmentedit/attachmentedit.tsx","../src/attachmentedit/index.ts","../src/chatbot/chatbot.test.tsx","../src/chatbot/chatbot.tsx","../src/chatbot/index.ts","../src/chatbotalert/chatbotalert.test.tsx","../src/chatbotalert/chatbotalert.tsx","../src/chatbotalert/index.ts","../src/chatbotcontent/chatbotcontent.test.tsx","../src/chatbotcontent/chatbotcontent.tsx","../src/chatbotcontent/index.ts","../src/chatbotconversationhistorynav/chatbotconversationhistorydropdown.test.tsx","../src/chatbotconversationhistorynav/chatbotconversationhistorydropdown.tsx","../src/chatbotconversationhistorynav/chatbotconversationhistorynav.test.tsx","../src/chatbotconversationhistorynav/chatbotconversationhistorynav.tsx","../src/chatbotconversationhistorynav/emptystate.tsx","../src/chatbotconversationhistorynav/loadingstate.tsx","../src/chatbotconversationhistorynav/index.ts","../src/chatbotfooter/chatbotfooter.test.tsx","../src/chatbotfooter/chatbotfooter.tsx","../src/chatbotfooter/chatbotfooternote.test.tsx","../src/chatbotfooter/chatbotfootnote.tsx","../src/chatbotfooter/index.ts","../src/chatbotheader/chatbotheader.test.tsx","../src/chatbotheader/chatbotheader.tsx","../src/chatbotheader/chatbotheaderactions.test.tsx","../src/chatbotheader/chatbotheaderactions.tsx","../src/chatbotheader/chatbotheaderclosebutton.test.tsx","../src/chatbotheader/chatbotheaderclosebutton.tsx","../src/chatbotheader/chatbotheadermain.test.tsx","../src/chatbotheader/chatbotheadermain.tsx","../src/chatbotheader/chatbotheadermenu.test.tsx","../src/chatbotheader/chatbotheadermenu.tsx","../src/chatbotheader/chatbotheaderoptionsdropdown.test.tsx","../src/chatbotheader/chatbotheaderoptionsdropdown.tsx","../src/chatbotheader/chatbotheaderselectordropdown.test.tsx","../src/chatbotheader/chatbotheaderselectordropdown.tsx","../src/chatbotheader/chatbotheadertitle.test.tsx","../src/chatbotheader/chatbotheadertitle.tsx","../src/chatbotheader/index.ts","../src/chatbotmodal/chatbotmodal.test.tsx","../src/chatbotmodal/chatbotmodal.tsx","../src/chatbotmodal/index.ts","../src/chatbotpopover/chatbotpopover.tsx","../src/chatbotpopover/index.ts","../src/chatbottoggle/chatbottoggle.test.tsx","../src/chatbottoggle/chatbottoggle.tsx","../src/chatbottoggle/index.ts","../src/chatbotwelcomeprompt/chatbotwelcomeprompt.test.tsx","../src/chatbotwelcomeprompt/chatbotwelcomeprompt.tsx","../src/chatbotwelcomeprompt/index.ts","../src/codemodal/codemodal.test.tsx","../src/codemodal/codemodal.tsx","../src/codemodal/index.ts","../src/compare/compare.test.tsx","../src/compare/compare.tsx","../src/compare/index.ts","../src/filedetails/filedetails.test.tsx","../src/filedetails/filedetails.tsx","../src/filedetails/index.ts","../src/filedetailslabel/filedetailslabel.test.tsx","../src/filedetailslabel/filedetailslabel.tsx","../src/filedetailslabel/index.ts","../src/filedropzone/filedropzone.test.tsx","../src/filedropzone/filedropzone.tsx","../src/filedropzone/index.ts","../src/loadingmessage/loadingmessage.test.tsx","../src/loadingmessage/loadingmessage.tsx","../src/loadingmessage/index.ts","../src/message/message.test.tsx","../src/message/message.tsx","../src/message/messageinput.tsx","../src/message/messageloading.tsx","../src/message/index.ts","../src/message/codeblockmessage/codeblockmessage.tsx","../src/message/errormessage/errormessage.tsx","../src/message/imagemessage/imagemessage.tsx","../src/message/linkmessage/linkmessage.tsx","../src/message/listmessage/listitemmessage.tsx","../src/message/listmessage/orderedlistmessage.tsx","../src/message/listmessage/unorderedlistmessage.tsx","../src/message/plugins/index.ts","../src/message/plugins/rehypecodeblocktoggle.ts","../src/message/plugins/rehypemoveimagesoutofparagraphs.ts","../src/message/quickresponse/quickresponse.tsx","../src/message/quickstarts/fallbackimg.tsx","../src/message/quickstarts/quickstarttile.tsx","../src/message/quickstarts/quickstarttiledescription.test.tsx","../src/message/quickstarts/quickstarttiledescription.tsx","../src/message/quickstarts/quickstarttileheader.tsx","../src/message/quickstarts/monitor-sampleapp-quickstart-with-image.ts","../src/message/quickstarts/monitor-sampleapp-quickstart.ts","../src/message/quickstarts/types.ts","../src/message/tablemessage/tablemessage.tsx","../src/message/tablemessage/tbodymessage.tsx","../src/message/tablemessage/tdmessage.tsx","../src/message/tablemessage/thmessage.tsx","../src/message/tablemessage/theadmessage.tsx","../src/message/tablemessage/trmessage.tsx","../src/message/textmessage/textmessage.tsx","../src/message/userfeedback/closebutton.tsx","../src/message/userfeedback/userfeedback.test.tsx","../src/message/userfeedback/userfeedback.tsx","../src/message/userfeedback/userfeedbackcomplete.test.tsx","../src/message/userfeedback/userfeedbackcomplete.tsx","../src/messagebar/attachbutton.test.tsx","../src/messagebar/attachbutton.tsx","../src/messagebar/messagebar.test.tsx","../src/messagebar/messagebar.tsx","../src/messagebar/microphonebutton.tsx","../src/messagebar/sendbutton.test.tsx","../src/messagebar/sendbutton.tsx","../src/messagebar/stopbutton.test.tsx","../src/messagebar/stopbutton.tsx","../src/messagebar/index.ts","../src/messagebox/jumpbutton.test.tsx","../src/messagebox/jumpbutton.tsx","../src/messagebox/messagebox.test.tsx","../src/messagebox/messagebox.tsx","../src/messagebox/index.ts","../src/previewattachment/previewattachment.test.tsx","../src/previewattachment/previewattachment.tsx","../src/previewattachment/index.ts","../src/responseactions/responseactionbutton.test.tsx","../src/responseactions/responseactionbutton.tsx","../src/responseactions/responseactions.test.tsx","../src/responseactions/responseactions.tsx","../src/responseactions/index.ts","../src/settings/settingsform.test.tsx","../src/settings/settingsform.tsx","../src/settings/index.ts","../src/sourcedetailsmenuitem/sourcedetailsmenuitem.tsx","../src/sourcedetailsmenuitem/index.ts","../src/sourcescard/sourcescard.test.tsx","../src/sourcescard/sourcescard.tsx","../src/sourcescard/index.ts","../src/termsofuse/termsofuse.test.tsx","../src/termsofuse/termsofuse.tsx","../src/termsofuse/index.ts","../src/__mocks__/rehype-external-links.ts","../src/__mocks__/rehype-sanitize.ts","../src/__mocks__/rehype-unwrap-images.tsx","../src/tracking/console_tracking_provider.ts","../src/tracking/index.ts","../src/tracking/posthog_tracking_provider.ts","../src/tracking/segment_tracking_provider.ts","../src/tracking/trackingproviderproxy.ts","../src/tracking/tracking_api.ts","../src/tracking/tracking_registry.ts","../src/tracking/tracking_spi.ts","../src/tracking/umami_tracking_provider.ts"],"version":"5.6.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/chatbot",
3
- "version": "6.3.0-prerelease.9",
3
+ "version": "6.3.1",
4
4
  "description": "This library provides React components based on PatternFly 6 that can be used to build chatbots.",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -40,16 +40,16 @@
40
40
  "clsx": "^2.1.0",
41
41
  "framer-motion": "^11.3.28",
42
42
  "react-markdown": "^9.0.1",
43
- "react-syntax-highlighter": "^15.5.0",
44
43
  "remark-gfm": "^4.0.0",
45
44
  "rehype-unwrap-images": "^1.0.0",
46
45
  "rehype-external-links": "^3.0.0",
47
46
  "rehype-sanitize": "^6.0.0",
48
- "path-browserify": "^1.0.1"
47
+ "path-browserify": "^1.0.1",
48
+ "unist-util-visit": "^5.0.0"
49
49
  },
50
50
  "peerDependencies": {
51
- "react": "^17 || ^18",
52
- "react-dom": "^17 || ^18"
51
+ "react": "^17 || ^18 || ^19",
52
+ "react-dom": "^17 || ^18 || ^19"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@patternfly/documentation-framework": "6.8.2",
@@ -57,8 +57,6 @@
57
57
  "@patternfly/patternfly-a11y": "^5.0.0",
58
58
  "@types/dom-speech-recognition": "^0.0.4",
59
59
  "@types/react": "^18.2.61",
60
- "react": "^18.2.0",
61
- "react-dom": "^18.2.0",
62
60
  "rimraf": "^2.7.1",
63
61
  "typescript": "^5.3.3",
64
62
  "@octokit/rest": "^18.0.0",
@@ -261,6 +261,16 @@ Each time a user begins a new conversation, display a [welcome message, with pro
261
261
 
262
262
  As much as possible, the suggested prompts should consider the user’s location in the service or application, or the situation their project is undergoing.
263
263
 
264
+ ### Executing user requests
265
+
266
+ Instead of automatically initiating what sounds like a request from a user, the ChatBot should ask users to confirm or deny their intent. This differentiates moments where users are simply asking about feasibility, rather than actually making a request.
267
+
268
+ This can be done using the [quick response](/patternfly-ai/chatbot/messages#messages-with-quick-responses) buttons:
269
+
270
+ <div class="ws-docs-content-img">
271
+ ![Confirmation options from a bot in response to a user's request.](./img/quick-response-confirmation.svg)
272
+ </div>
273
+
264
274
  ### Using the conversation history menu
265
275
 
266
276
  The ChatBot history menu contains a log of a users' previous chats. Clicking the menu icon opens a side drawer in the ChatBot window.
@@ -0,0 +1,51 @@
1
+ ---
2
+ # Sidenav top-level section
3
+ # should be the same for all markdown files
4
+ section: PatternFly-AI
5
+ subsection: ChatBot
6
+ # Sidenav secondary level section
7
+ # should be the same for all markdown files
8
+ id: Customizing messages
9
+ source: Customizing messages
10
+ # Tab (react | react-demos | html | html-demos | design-guidelines | accessibility)
11
+ # If you use typescript, the name of the interface to display props for
12
+ # These are found through the sourceProps function provided in patternfly-docs.source.js
13
+ sortValue: 60
14
+ ---
15
+
16
+ ## Modifying static content
17
+
18
+ The ChatBot extension `<Message>` component transforms Markdown to PatternFly React components via [react-markdown](https://github.com/remarkjs/react-markdown), which supports both [rehype](https://unifiedjs.com/explore/package/rehype/) and [remark](https://unifiedjs.com/explore/package/remark/) plugins for further output customization.
19
+
20
+ remark parses Markdown as input and serializes Markdown as output, while rehype does the same for HTML. This allows you to target and make transformations at specific checkpoints in the transformation process: either while the text tree is still in Markdown, or while the text tree is in HTML format. For more detailed information on the architecture of this library, see the [react-markdown documentation](https://github.com/remarkjs/react-markdown?tab=readme-ov-file#architecture).
21
+
22
+ You may need these plugins if, for example, you wanted to change the `href` on a link based on the link text. The `<Message>` prop `rehypePlugins` will accept any custom rehype plugins. We use already use these plugins in ChatBot to [render images a certain way](https://www.npmjs.com/package/rehype-unwrap-images) and [handle external links](https://www.npmjs.com/package/rehype-external-links).
23
+
24
+ There are many open source libraries available for other common customization needs. If you can't find one for your use case, [Unified](https://unifiedjs.com/) has a helpful [guide on creating custom plugins](https://unifiedjs.com/learn/guide/create-a-rehype-plugin/).
25
+ For a more direct example, if we wanted to change the `href` on links that included the text string `react`, we could write a very basic plugin like this:
26
+
27
+ ```
28
+ import { visit } from 'unist-util-visit';
29
+
30
+ export const rehypeLinkHrefUpdater = (options) => (tree) => {
31
+ visit(tree, 'element', (node) => {
32
+ if (node.tagName === 'a' && node.properties) {
33
+ if (node.properties.href.includes('react')) {
34
+ node.properties.href = '#';
35
+ }
36
+ }
37
+ });
38
+ };
39
+
40
+ ```
41
+
42
+ You could then pass `[rehypeLinkHrefUpdater]` to the `additionalRehypePlugins` prop on `<Message>` to have this applied to all relevant links read by that `<Message>` component.
43
+
44
+ ## Modifying dynamic content
45
+
46
+ Props can also be used to modify dynamic content in messages.
47
+
48
+ Continuing with our link modification example, let's say you also wanted to add custom `onClick` events. In this case, you would not use `remark` or `rehype`, since they're for static tree manipulation.
49
+
50
+ Instead, you can utilize ChatBot features to customize dynamic content. We offer many `<Message>` props that allow you to implement custom behavior.
51
+ For example, you can use `linkProps` to pass `onClick` events and other PatternFly `<Button>` props down to links. A very basic example would be `linkProps={{onClick: (event) => console.log(event}}`, which would apply to every link in the `<Message>`. Or, you could use the `event.target`, adding your own custom `onClick` logic based on the `innerText`, `innerHTML`, or other attributes of the `event.target`.
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { useState, isValidElement, cloneElement, Children, FunctionComponent, ReactNode } from 'react';
2
2
  import AttachMenu from '@patternfly/chatbot/dist/dynamic/AttachMenu';
3
3
  import SourceDetailsMenuItem from '@patternfly/chatbot/dist/dynamic/SourceDetailsMenuItem';
4
4
  import { Button, Divider, DropdownGroup, DropdownItem, DropdownList } from '@patternfly/react-core';
@@ -63,27 +63,27 @@ const uploadMenuItems = [
63
63
  </DropdownList>
64
64
  ];
65
65
 
66
- export const AttachmentMenuExample: React.FunctionComponent = () => {
67
- const [isOpen, setIsOpen] = React.useState<boolean>(false);
68
- const [userFacingMenuItems, setUserFacingMenuItems] = React.useState<React.ReactNode>([]);
66
+ export const AttachmentMenuExample: FunctionComponent = () => {
67
+ const [isOpen, setIsOpen] = useState<boolean>(false);
68
+ const [userFacingMenuItems, setUserFacingMenuItems] = useState<ReactNode>([]);
69
69
 
70
70
  const onToggleClick = () => {
71
71
  setIsOpen(!isOpen);
72
72
  setUserFacingMenuItems(initialMenuItems.concat(uploadMenuItems));
73
73
  };
74
74
 
75
- const findMatchingElements = (elements: React.ReactNode[], targetValue: string) => {
76
- let matchingElements = [] as React.ReactNode[];
75
+ const findMatchingElements = (elements: ReactNode[], targetValue: string) => {
76
+ let matchingElements = [] as ReactNode[];
77
77
 
78
78
  elements.forEach((element) => {
79
- if (React.isValidElement(element)) {
79
+ if (isValidElement(element)) {
80
80
  // Check if the element's value matches the targetValue
81
81
  if (element.props.value && element.props.value.toLowerCase().includes(targetValue.toLowerCase())) {
82
- matchingElements.push(React.cloneElement(element, { key: element.props.value }));
82
+ matchingElements.push(cloneElement(element, { key: element.props.value }));
83
83
  }
84
84
 
85
85
  // Recursively check the element's children
86
- const children = React.Children.toArray(element.props.children);
86
+ const children = Children.toArray(element.props.children);
87
87
  matchingElements = matchingElements.concat(findMatchingElements(children, targetValue));
88
88
  }
89
89
  });
@@ -1,12 +1,12 @@
1
- import React from 'react';
1
+ import { FunctionComponent, MouseEvent as ReactMouseEvent, useState } from 'react';
2
2
  import { Button, Checkbox } from '@patternfly/react-core';
3
3
  import { AttachmentEdit } from '@patternfly/chatbot/dist/dynamic/AttachmentEdit';
4
4
 
5
- export const AttachmentEditModalExample: React.FunctionComponent = () => {
6
- const [isModalOpen, setIsModalOpen] = React.useState(false);
7
- const [isCompact, setIsCompact] = React.useState(false);
5
+ export const AttachmentEditModalExample: FunctionComponent = () => {
6
+ const [isModalOpen, setIsModalOpen] = useState(false);
7
+ const [isCompact, setIsCompact] = useState(false);
8
8
 
9
- const handleModalToggle = (_event: React.MouseEvent | MouseEvent | KeyboardEvent) => {
9
+ const handleModalToggle = (_event: ReactMouseEvent | MouseEvent | KeyboardEvent) => {
10
10
  setIsModalOpen(!isModalOpen);
11
11
  };
12
12
 
@@ -1,7 +1,7 @@
1
- import React from 'react';
1
+ import { FunctionComponent } from 'react';
2
2
  import ChatbotAlert from '@patternfly/chatbot/dist/dynamic/ChatbotAlert';
3
3
 
4
- export const AttachmentErrorExample: React.FunctionComponent = () => (
4
+ export const AttachmentErrorExample: FunctionComponent = () => (
5
5
  <ChatbotAlert
6
6
  variant="danger"
7
7
  // eslint-disable-next-line no-console
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { CSSProperties, useState, Fragment, FunctionComponent, MouseEvent, Ref } from 'react';
2
2
  import Message from '@patternfly/chatbot/dist/dynamic/Message';
3
3
  import patternflyAvatar from './patternfly_avatar.jpg';
4
4
  import squareImg from './PF-social-color-square.svg';
@@ -10,16 +10,19 @@ import {
10
10
  SelectList,
11
11
  SelectOption
12
12
  } from '@patternfly/react-core';
13
+ import { rehypeCodeBlockToggle } from '@patternfly/chatbot/dist/esm/Message/Plugins/rehypeCodeBlockToggle';
13
14
 
14
- export const BotMessageExample: React.FunctionComponent = () => {
15
- const [variant, setVariant] = React.useState<string>('Code');
16
- const [isOpen, setIsOpen] = React.useState(false);
17
- const [selected, setSelected] = React.useState<string>('Message content type');
15
+ export const BotMessageExample: FunctionComponent = () => {
16
+ const [variant, setVariant] = useState<string>('Code');
17
+ const [isOpen, setIsOpen] = useState(false);
18
+ const [selected, setSelected] = useState<string>('Message content type');
19
+ const [isExpandable, setIsExpanded] = useState(false);
18
20
 
19
21
  /* eslint-disable indent */
20
22
  const renderContent = () => {
21
23
  switch (variant) {
22
24
  case 'Code':
25
+ case 'Expandable code':
23
26
  return code;
24
27
  case 'Heading':
25
28
  return heading;
@@ -63,8 +66,6 @@ spec:
63
66
  Here is some JavaScript code:
64
67
 
65
68
  ~~~js
66
- import React from 'react';
67
-
68
69
  const MessageLoading = () => (
69
70
  <div className="pf-chatbot__message-loading">
70
71
  <span className="pf-chatbot__message-loading-dots">
@@ -153,28 +154,33 @@ _Italic text, formatted with single underscores_
153
154
  title: 'Could not load chat',
154
155
  children: 'Wait a few minutes and check your network settings. If the issue persists: ',
155
156
  actionLinks: (
156
- <React.Fragment>
157
+ <Fragment>
157
158
  <AlertActionLink component="a" href="#">
158
159
  Start a new chat
159
160
  </AlertActionLink>
160
161
  <AlertActionLink component="a" href="#">
161
162
  Contact support
162
163
  </AlertActionLink>
163
- </React.Fragment>
164
+ </Fragment>
164
165
  )
165
166
  };
166
167
 
167
- const onSelect = (_event: React.MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
168
+ const onSelect = (_event: MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
168
169
  setVariant(value);
169
170
  setSelected(value as string);
170
171
  setIsOpen(false);
172
+ if (value === 'Expandable code') {
173
+ setIsExpanded(true);
174
+ } else {
175
+ setIsExpanded(false);
176
+ }
171
177
  };
172
178
 
173
179
  const onToggleClick = () => {
174
180
  setIsOpen(!isOpen);
175
181
  };
176
182
 
177
- const toggle = (toggleRef: React.Ref<MenuToggleElement>) => (
183
+ const toggle = (toggleRef: Ref<MenuToggleElement>) => (
178
184
  <MenuToggle
179
185
  className="pf-v6-u-mb-md"
180
186
  ref={toggleRef}
@@ -183,7 +189,7 @@ _Italic text, formatted with single underscores_
183
189
  style={
184
190
  {
185
191
  width: '200px'
186
- } as React.CSSProperties
192
+ } as CSSProperties
187
193
  }
188
194
  >
189
195
  {selected}
@@ -220,14 +226,6 @@ _Italic text, formatted with single underscores_
220
226
  content="This bot has a square avatar. You can further customize the avatar by applying an additional class or passing [PatternFly avatar props](/components/avatar) to the `<Message>` component via `avatarProps`."
221
227
  hasRoundAvatar={false}
222
228
  />
223
- <Message
224
- name="Bot"
225
- role="bot"
226
- avatar={patternflyAvatar}
227
- content={`Text-based message from a bot named "Bot," with updated timestamp`}
228
- timestamp="1 hour ago"
229
- />
230
- <Message name="Bot" role="bot" avatar={patternflyAvatar} content="Example content" isLoading />
231
229
  <Select
232
230
  id="single-select"
233
231
  isOpen={isOpen}
@@ -239,6 +237,7 @@ _Italic text, formatted with single underscores_
239
237
  >
240
238
  <SelectList>
241
239
  <SelectOption value="Code">Code</SelectOption>
240
+ <SelectOption value="Expandable code">Expandable code</SelectOption>
242
241
  <SelectOption value="Inline code">Inline code</SelectOption>
243
242
  <SelectOption value="Heading">Heading</SelectOption>
244
243
  <SelectOption value="Block quotes">Block quotes</SelectOption>
@@ -261,6 +260,11 @@ _Italic text, formatted with single underscores_
261
260
  variant === 'Table' ? { 'aria-label': 'App information and user roles for bot messages' } : undefined
262
261
  }
263
262
  error={variant === 'Error' ? error : undefined}
263
+ codeBlockProps={{ isExpandable, expandableSectionProps: { truncateMaxLines: isExpandable ? 1 : undefined } }}
264
+ // In this example, custom plugin will override any custom expandedText or collapsedText attributes provided
265
+ // The purpose of this plugin is to provide unique link names for the code blocks
266
+ // Because they are in the same message, this requires a custom plugin to parse the syntax tree
267
+ additionalRehypePlugins={[rehypeCodeBlockToggle]}
264
268
  />
265
269
  </>
266
270
  );
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { FunctionComponent } from 'react';
2
2
  import FileDetails from '@patternfly/chatbot/dist/dynamic/FileDetails';
3
3
 
4
- export const FileDetailsExample: React.FunctionComponent = () => <FileDetails fileName="test.yml" />;
4
+ export const FileDetailsExample: FunctionComponent = () => <FileDetails fileName="test.yml" />;
@@ -1,14 +1,14 @@
1
- import React from 'react';
1
+ import { useState, FunctionComponent, MouseEvent, Ref, CSSProperties } from 'react';
2
2
  import FileDetailsLabel from '@patternfly/chatbot/dist/dynamic/FileDetailsLabel';
3
3
  import { Stack, MenuToggle, MenuToggleElement, Select, SelectList, SelectOption } from '@patternfly/react-core';
4
4
 
5
- export const FileDetailsLabelExample: React.FunctionComponent = () => {
6
- const [variant, setVariant] = React.useState<string>('plain');
7
- const [isOpen, setIsOpen] = React.useState<boolean>(false);
8
- const [selected, setSelected] = React.useState<string>('Variant');
5
+ export const FileDetailsLabelExample: FunctionComponent = () => {
6
+ const [variant, setVariant] = useState<string>('plain');
7
+ const [isOpen, setIsOpen] = useState<boolean>(false);
8
+ const [selected, setSelected] = useState<string>('Variant');
9
9
 
10
- const onSelect = (_event: React.MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
11
- setVariant(value);
10
+ const onSelect = (_event: MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
11
+ setVariant(value as string);
12
12
  setSelected(value as string);
13
13
  setIsOpen(false);
14
14
  };
@@ -17,7 +17,7 @@ export const FileDetailsLabelExample: React.FunctionComponent = () => {
17
17
  setIsOpen(!isOpen);
18
18
  };
19
19
 
20
- const toggle = (toggleRef: React.Ref<MenuToggleElement>) => (
20
+ const toggle = (toggleRef: Ref<MenuToggleElement>) => (
21
21
  <MenuToggle
22
22
  ref={toggleRef}
23
23
  onClick={onToggleClick}
@@ -25,7 +25,7 @@ export const FileDetailsLabelExample: React.FunctionComponent = () => {
25
25
  style={
26
26
  {
27
27
  width: '200px'
28
- } as React.CSSProperties
28
+ } as CSSProperties
29
29
  }
30
30
  >
31
31
  {selected}
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { FunctionComponent, useState } from 'react';
2
2
  import FileDropZone from '@patternfly/chatbot/dist/dynamic/FileDropZone';
3
3
  import { DropEvent } from '@patternfly/react-core';
4
4
 
@@ -9,9 +9,9 @@ interface readFile {
9
9
  loadError?: DOMException;
10
10
  }
11
11
 
12
- export const DropzoneExample: React.FunctionComponent = () => {
13
- const [currentFiles, setCurrentFiles] = React.useState<File[]>([]);
14
- const [readFileData, setReadFileData] = React.useState<readFile[]>([]);
12
+ export const DropzoneExample: FunctionComponent = () => {
13
+ const [currentFiles, setCurrentFiles] = useState<File[]>([]);
14
+ const [readFileData, setReadFileData] = useState<readFile[]>([]);
15
15
 
16
16
  // remove files from both state arrays based on their name
17
17
  const removeFiles = (namesOfFilesToRemove: string[]) => {
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { useState, FunctionComponent, MouseEvent } from 'react';
2
2
 
3
3
  import Message from '@patternfly/chatbot/dist/dynamic/Message';
4
4
  import PreviewAttachment from '@patternfly/chatbot/dist/dynamic/PreviewAttachment';
@@ -10,18 +10,18 @@ interface ModalData {
10
10
  fileName: string;
11
11
  }
12
12
 
13
- export const AttachmentMenuExample: React.FunctionComponent = () => {
14
- const [isPreviewModalOpen, setIsPreviewModalOpen] = React.useState<boolean>(false);
15
- const [isEditModalOpen, setIsEditModalOpen] = React.useState<boolean>(false);
16
- const [currentModalData, setCurrentModalData] = React.useState<ModalData>();
13
+ export const AttachmentMenuExample: FunctionComponent = () => {
14
+ const [isPreviewModalOpen, setIsPreviewModalOpen] = useState<boolean>(false);
15
+ const [isEditModalOpen, setIsEditModalOpen] = useState<boolean>(false);
16
+ const [currentModalData, setCurrentModalData] = useState<ModalData>();
17
17
 
18
- const onClick = (event: React.MouseEvent, name: string) => {
18
+ const onClick = (event: MouseEvent, name: string) => {
19
19
  setCurrentModalData({ fileName: name, code: 'test' });
20
20
  setIsEditModalOpen(false);
21
21
  setIsPreviewModalOpen(true);
22
22
  };
23
23
 
24
- const onClose = (event: React.MouseEvent, name: string, id: number | string | undefined) => {
24
+ const onClose = (event: MouseEvent, name: string, id: number | string | undefined) => {
25
25
  // eslint-disable-next-line no-console
26
26
  console.log(`Closed attachment with name: ${name} and id: ${id}`);
27
27
  };
@@ -0,0 +1,25 @@
1
+ import { FunctionComponent } from 'react';
2
+
3
+ import Message from '@patternfly/chatbot/dist/dynamic/Message';
4
+ import patternflyAvatar from './patternfly_avatar.jpg';
5
+
6
+ export const ResponseActionClickedExample: FunctionComponent = () => (
7
+ <Message
8
+ name="Bot"
9
+ role="bot"
10
+ avatar={patternflyAvatar}
11
+ content="I updated your account with those settings. You're ready to set up your first dashboard!"
12
+ actions={{
13
+ // eslint-disable-next-line no-console
14
+ positive: { onClick: () => console.log('Good response'), isClicked: true },
15
+ // eslint-disable-next-line no-console
16
+ negative: { onClick: () => console.log('Bad response') },
17
+ // eslint-disable-next-line no-console
18
+ copy: { onClick: () => console.log('Copy') },
19
+ // eslint-disable-next-line no-console
20
+ download: { onClick: () => console.log('Download') },
21
+ // eslint-disable-next-line no-console
22
+ listen: { onClick: () => console.log('Listen') }
23
+ }}
24
+ />
25
+ );