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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (586) hide show
  1. package/dist/cjs/AttachMenu/AttachMenu.d.ts +2 -2
  2. package/dist/cjs/AttachMenu/AttachMenu.js +2 -12
  3. package/dist/cjs/AttachmentEdit/AttachmentEdit.d.ts +14 -2
  4. package/dist/cjs/AttachmentEdit/AttachmentEdit.js +3 -6
  5. package/dist/cjs/AttachmentEdit/AttachmentEdit.test.d.ts +1 -1
  6. package/dist/cjs/AttachmentEdit/AttachmentEdit.test.js +33 -8
  7. package/dist/cjs/Chatbot/Chatbot.d.ts +3 -2
  8. package/dist/cjs/Chatbot/Chatbot.js +5 -10
  9. package/dist/cjs/Chatbot/Chatbot.test.js +13 -9
  10. package/dist/cjs/ChatbotAlert/ChatbotAlert.d.ts +2 -2
  11. package/dist/cjs/ChatbotAlert/ChatbotAlert.js +4 -8
  12. package/dist/cjs/ChatbotAlert/ChatbotAlert.test.js +10 -10
  13. package/dist/cjs/ChatbotContent/ChatbotContent.d.ts +3 -3
  14. package/dist/cjs/ChatbotContent/ChatbotContent.js +2 -8
  15. package/dist/cjs/ChatbotContent/ChatbotContent.test.js +5 -5
  16. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.d.ts +2 -2
  17. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +7 -11
  18. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +31 -33
  19. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +4 -2
  20. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +17 -34
  21. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +58 -62
  22. package/dist/cjs/ChatbotConversationHistoryNav/EmptyState.d.ts +2 -2
  23. package/dist/cjs/ChatbotConversationHistoryNav/EmptyState.js +2 -9
  24. package/dist/cjs/ChatbotConversationHistoryNav/LoadingState.d.ts +2 -2
  25. package/dist/cjs/ChatbotConversationHistoryNav/LoadingState.js +2 -25
  26. package/dist/cjs/ChatbotFooter/ChatbotFooter.d.ts +4 -3
  27. package/dist/cjs/ChatbotFooter/ChatbotFooter.js +3 -16
  28. package/dist/cjs/ChatbotFooter/ChatbotFooter.test.d.ts +1 -1
  29. package/dist/cjs/ChatbotFooter/ChatbotFooter.test.js +10 -5
  30. package/dist/cjs/ChatbotFooter/ChatbotFooternote.test.js +28 -28
  31. package/dist/cjs/ChatbotFooter/ChatbotFootnote.d.ts +3 -3
  32. package/dist/cjs/ChatbotFooter/ChatbotFootnote.js +10 -23
  33. package/dist/cjs/ChatbotHeader/ChatbotHeader.d.ts +3 -3
  34. package/dist/cjs/ChatbotHeader/ChatbotHeader.js +2 -7
  35. package/dist/cjs/ChatbotHeader/ChatbotHeader.test.js +5 -5
  36. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.d.ts +2 -2
  37. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.js +2 -5
  38. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.test.js +5 -5
  39. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +5 -4
  40. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.js +19 -10
  41. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +1 -1
  42. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.js +10 -8
  43. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.d.ts +2 -2
  44. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.js +2 -5
  45. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.test.js +5 -5
  46. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.d.ts +5 -4
  47. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.js +20 -8
  48. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +1 -1
  49. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.js +10 -8
  50. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +7 -3
  51. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +8 -9
  52. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +1 -1
  53. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +22 -19
  54. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +9 -3
  55. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +11 -12
  56. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +1 -1
  57. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +20 -17
  58. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.d.ts +2 -2
  59. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.js +2 -5
  60. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.test.js +23 -23
  61. package/dist/cjs/ChatbotModal/ChatbotModal.d.ts +5 -2
  62. package/dist/cjs/ChatbotModal/ChatbotModal.js +4 -10
  63. package/dist/cjs/ChatbotModal/ChatbotModal.test.d.ts +1 -0
  64. package/dist/cjs/ChatbotModal/ChatbotModal.test.js +16 -0
  65. package/dist/cjs/ChatbotPopover/ChatbotPopover.d.ts +2 -2
  66. package/dist/cjs/ChatbotPopover/ChatbotPopover.js +2 -8
  67. package/dist/cjs/ChatbotToggle/ChatbotToggle.d.ts +1 -2
  68. package/dist/cjs/ChatbotToggle/ChatbotToggle.js +8 -13
  69. package/dist/cjs/ChatbotToggle/ChatbotToggle.test.js +25 -25
  70. package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +3 -2
  71. package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +7 -21
  72. package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +18 -14
  73. package/dist/cjs/CodeModal/CodeModal.d.ts +10 -2
  74. package/dist/cjs/CodeModal/CodeModal.js +8 -20
  75. package/dist/cjs/CodeModal/CodeModal.test.d.ts +1 -0
  76. package/dist/cjs/CodeModal/CodeModal.test.js +34 -0
  77. package/dist/cjs/Compare/Compare.d.ts +2 -2
  78. package/dist/cjs/Compare/Compare.js +7 -16
  79. package/dist/cjs/Compare/Compare.test.js +7 -9
  80. package/dist/cjs/FileDetails/FileDetails.d.ts +2 -2
  81. package/dist/cjs/FileDetails/FileDetails.js +2 -15
  82. package/dist/cjs/FileDetails/FileDetails.test.js +10 -10
  83. package/dist/cjs/FileDetailsLabel/FileDetailsLabel.d.ts +2 -2
  84. package/dist/cjs/FileDetailsLabel/FileDetailsLabel.js +2 -5
  85. package/dist/cjs/FileDetailsLabel/FileDetailsLabel.test.js +21 -21
  86. package/dist/cjs/FileDropZone/FileDropZone.d.ts +9 -2
  87. package/dist/cjs/FileDropZone/FileDropZone.js +6 -9
  88. package/dist/cjs/FileDropZone/FileDropZone.test.js +31 -5
  89. package/dist/cjs/LoadingMessage/LoadingMessage.d.ts +2 -2
  90. package/dist/cjs/LoadingMessage/LoadingMessage.js +2 -10
  91. package/dist/cjs/LoadingMessage/LoadingMessage.test.js +6 -6
  92. package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.d.ts +20 -3
  93. package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.js +22 -16
  94. package/dist/cjs/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.d.ts +62 -0
  95. package/dist/cjs/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.js +136 -0
  96. package/dist/cjs/Message/ErrorMessage/ErrorMessage.d.ts +1 -2
  97. package/dist/cjs/Message/ErrorMessage/ErrorMessage.js +5 -8
  98. package/dist/cjs/Message/ImageMessage/ImageMessage.d.ts +1 -2
  99. package/dist/cjs/Message/ImageMessage/ImageMessage.js +2 -8
  100. package/dist/cjs/Message/LinkMessage/LinkMessage.d.ts +1 -2
  101. package/dist/cjs/Message/LinkMessage/LinkMessage.js +6 -9
  102. package/dist/cjs/Message/ListMessage/ListItemMessage.d.ts +1 -2
  103. package/dist/cjs/Message/ListMessage/ListItemMessage.js +2 -8
  104. package/dist/cjs/Message/ListMessage/OrderedListMessage.d.ts +1 -2
  105. package/dist/cjs/Message/ListMessage/OrderedListMessage.js +2 -9
  106. package/dist/cjs/Message/ListMessage/UnorderedListMessage.d.ts +1 -2
  107. package/dist/cjs/Message/ListMessage/UnorderedListMessage.js +2 -9
  108. package/dist/cjs/Message/Message.d.ts +26 -8
  109. package/dist/cjs/Message/Message.js +50 -72
  110. package/dist/cjs/Message/Message.test.js +123 -81
  111. package/dist/cjs/Message/MessageInput.d.ts +2 -2
  112. package/dist/cjs/Message/MessageInput.js +5 -14
  113. package/dist/cjs/Message/MessageLoading.d.ts +1 -2
  114. package/dist/cjs/Message/MessageLoading.js +3 -8
  115. package/dist/cjs/Message/Plugins/rehypeMoveImagesOutOfParagraphs.d.ts +2 -0
  116. package/dist/cjs/Message/Plugins/rehypeMoveImagesOutOfParagraphs.js +47 -0
  117. package/dist/cjs/Message/QuickResponse/QuickResponse.d.ts +4 -2
  118. package/dist/cjs/Message/QuickResponse/QuickResponse.js +8 -10
  119. package/dist/cjs/Message/QuickStarts/FallbackImg.d.ts +2 -2
  120. package/dist/cjs/Message/QuickStarts/FallbackImg.js +5 -27
  121. package/dist/cjs/Message/QuickStarts/QuickStartTile.d.ts +4 -2
  122. package/dist/cjs/Message/QuickStarts/QuickStartTile.js +8 -44
  123. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.d.ts +2 -2
  124. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.js +9 -38
  125. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.js +16 -16
  126. package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.d.ts +2 -2
  127. package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.js +2 -26
  128. package/dist/cjs/Message/QuickStarts/types.d.ts +4 -3
  129. package/dist/cjs/Message/TableMessage/TableMessage.d.ts +1 -2
  130. package/dist/cjs/Message/TableMessage/TableMessage.js +8 -10
  131. package/dist/cjs/Message/TableMessage/TbodyMessage.d.ts +2 -3
  132. package/dist/cjs/Message/TableMessage/TbodyMessage.js +7 -9
  133. package/dist/cjs/Message/TableMessage/TdMessage.d.ts +1 -2
  134. package/dist/cjs/Message/TableMessage/TdMessage.js +2 -8
  135. package/dist/cjs/Message/TableMessage/ThMessage.d.ts +1 -2
  136. package/dist/cjs/Message/TableMessage/ThMessage.js +2 -8
  137. package/dist/cjs/Message/TableMessage/TheadMessage.d.ts +1 -2
  138. package/dist/cjs/Message/TableMessage/TheadMessage.js +2 -8
  139. package/dist/cjs/Message/TableMessage/TrMessage.d.ts +2 -3
  140. package/dist/cjs/Message/TableMessage/TrMessage.js +8 -10
  141. package/dist/cjs/Message/TextMessage/TextMessage.d.ts +1 -2
  142. package/dist/cjs/Message/TextMessage/TextMessage.js +2 -9
  143. package/dist/cjs/Message/UserFeedback/CloseButton.d.ts +2 -2
  144. package/dist/cjs/Message/UserFeedback/CloseButton.js +2 -8
  145. package/dist/cjs/Message/UserFeedback/UserFeedback.d.ts +2 -2
  146. package/dist/cjs/Message/UserFeedback/UserFeedback.js +13 -24
  147. package/dist/cjs/Message/UserFeedback/UserFeedback.test.js +55 -51
  148. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
  149. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.js +21 -45
  150. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.js +83 -89
  151. package/dist/cjs/MessageBar/AttachButton.d.ts +9 -2
  152. package/dist/cjs/MessageBar/AttachButton.js +9 -17
  153. package/dist/cjs/MessageBar/AttachButton.test.js +50 -22
  154. package/dist/cjs/MessageBar/MessageBar.d.ts +16 -3
  155. package/dist/cjs/MessageBar/MessageBar.js +36 -37
  156. package/dist/cjs/MessageBar/MessageBar.test.js +122 -108
  157. package/dist/cjs/MessageBar/MicrophoneButton.d.ts +3 -2
  158. package/dist/cjs/MessageBar/MicrophoneButton.js +8 -15
  159. package/dist/cjs/MessageBar/SendButton.d.ts +4 -2
  160. package/dist/cjs/MessageBar/SendButton.js +4 -12
  161. package/dist/cjs/MessageBar/SendButton.test.js +18 -14
  162. package/dist/cjs/MessageBar/StopButton.d.ts +4 -2
  163. package/dist/cjs/MessageBar/StopButton.js +4 -13
  164. package/dist/cjs/MessageBar/StopButton.test.js +18 -14
  165. package/dist/cjs/MessageBox/JumpButton.d.ts +2 -2
  166. package/dist/cjs/MessageBox/JumpButton.js +2 -10
  167. package/dist/cjs/MessageBox/JumpButton.test.js +10 -10
  168. package/dist/cjs/MessageBox/MessageBox.d.ts +21 -5
  169. package/dist/cjs/MessageBox/MessageBox.js +181 -44
  170. package/dist/cjs/MessageBox/MessageBox.test.js +219 -6
  171. package/dist/cjs/PreviewAttachment/PreviewAttachment.d.ts +14 -2
  172. package/dist/cjs/PreviewAttachment/PreviewAttachment.js +3 -6
  173. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.d.ts +1 -1
  174. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.js +34 -12
  175. package/dist/cjs/ResponseActions/ResponseActionButton.d.ts +5 -5
  176. package/dist/cjs/ResponseActions/ResponseActionButton.js +5 -8
  177. package/dist/cjs/ResponseActions/ResponseActionButton.test.js +19 -19
  178. package/dist/cjs/ResponseActions/ResponseActions.d.ts +7 -3
  179. package/dist/cjs/ResponseActions/ResponseActions.js +12 -16
  180. package/dist/cjs/ResponseActions/ResponseActions.test.js +60 -41
  181. package/dist/cjs/Settings/SettingsForm.d.ts +4 -2
  182. package/dist/cjs/Settings/SettingsForm.js +3 -9
  183. package/dist/cjs/Settings/SettingsForm.test.d.ts +1 -1
  184. package/dist/cjs/Settings/SettingsForm.test.js +18 -9
  185. package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
  186. package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -11
  187. package/dist/cjs/SourcesCard/SourcesCard.d.ts +2 -2
  188. package/dist/cjs/SourcesCard/SourcesCard.js +17 -43
  189. package/dist/cjs/SourcesCard/SourcesCard.test.js +60 -60
  190. package/dist/cjs/TermsOfUse/TermsOfUse.d.ts +5 -3
  191. package/dist/cjs/TermsOfUse/TermsOfUse.js +5 -17
  192. package/dist/cjs/TermsOfUse/TermsOfUse.test.js +31 -33
  193. package/dist/css/main.css +228 -15
  194. package/dist/css/main.css.map +1 -1
  195. package/dist/esm/AttachMenu/AttachMenu.d.ts +2 -2
  196. package/dist/esm/AttachMenu/AttachMenu.js +2 -9
  197. package/dist/esm/AttachmentEdit/AttachmentEdit.d.ts +14 -2
  198. package/dist/esm/AttachmentEdit/AttachmentEdit.js +3 -6
  199. package/dist/esm/AttachmentEdit/AttachmentEdit.test.d.ts +1 -1
  200. package/dist/esm/AttachmentEdit/AttachmentEdit.test.js +30 -5
  201. package/dist/esm/Chatbot/Chatbot.d.ts +3 -2
  202. package/dist/esm/Chatbot/Chatbot.js +5 -7
  203. package/dist/esm/Chatbot/Chatbot.test.js +9 -5
  204. package/dist/esm/ChatbotAlert/ChatbotAlert.d.ts +2 -2
  205. package/dist/esm/ChatbotAlert/ChatbotAlert.js +4 -5
  206. package/dist/esm/ChatbotAlert/ChatbotAlert.test.js +4 -4
  207. package/dist/esm/ChatbotContent/ChatbotContent.d.ts +3 -3
  208. package/dist/esm/ChatbotContent/ChatbotContent.js +2 -5
  209. package/dist/esm/ChatbotContent/ChatbotContent.test.js +3 -3
  210. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.d.ts +2 -2
  211. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +7 -11
  212. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +8 -10
  213. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +4 -2
  214. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +17 -34
  215. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +29 -33
  216. package/dist/esm/ChatbotConversationHistoryNav/EmptyState.d.ts +2 -2
  217. package/dist/esm/ChatbotConversationHistoryNav/EmptyState.js +2 -6
  218. package/dist/esm/ChatbotConversationHistoryNav/LoadingState.d.ts +2 -2
  219. package/dist/esm/ChatbotConversationHistoryNav/LoadingState.js +2 -22
  220. package/dist/esm/ChatbotFooter/ChatbotFooter.d.ts +4 -3
  221. package/dist/esm/ChatbotFooter/ChatbotFooter.js +3 -13
  222. package/dist/esm/ChatbotFooter/ChatbotFooter.test.d.ts +1 -1
  223. package/dist/esm/ChatbotFooter/ChatbotFooter.test.js +8 -3
  224. package/dist/esm/ChatbotFooter/ChatbotFooternote.test.js +5 -5
  225. package/dist/esm/ChatbotFooter/ChatbotFootnote.d.ts +3 -3
  226. package/dist/esm/ChatbotFooter/ChatbotFootnote.js +10 -23
  227. package/dist/esm/ChatbotHeader/ChatbotHeader.d.ts +3 -3
  228. package/dist/esm/ChatbotHeader/ChatbotHeader.js +2 -4
  229. package/dist/esm/ChatbotHeader/ChatbotHeader.test.js +3 -3
  230. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.d.ts +2 -2
  231. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.js +2 -2
  232. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.js +3 -3
  233. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +5 -4
  234. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.js +20 -8
  235. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +1 -1
  236. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.js +8 -3
  237. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.d.ts +2 -2
  238. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.js +2 -2
  239. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.js +3 -3
  240. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.d.ts +5 -4
  241. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.js +20 -8
  242. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +1 -1
  243. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.js +8 -3
  244. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +7 -3
  245. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +8 -9
  246. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +1 -1
  247. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +13 -7
  248. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +9 -3
  249. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +11 -9
  250. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +1 -1
  251. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +13 -7
  252. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.d.ts +2 -2
  253. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.js +2 -2
  254. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.js +12 -12
  255. package/dist/esm/ChatbotModal/ChatbotModal.d.ts +5 -2
  256. package/dist/esm/ChatbotModal/ChatbotModal.js +4 -7
  257. package/dist/esm/ChatbotModal/ChatbotModal.test.d.ts +1 -0
  258. package/dist/esm/ChatbotModal/ChatbotModal.test.js +11 -0
  259. package/dist/esm/ChatbotPopover/ChatbotPopover.d.ts +2 -2
  260. package/dist/esm/ChatbotPopover/ChatbotPopover.js +2 -5
  261. package/dist/esm/ChatbotToggle/ChatbotToggle.d.ts +1 -2
  262. package/dist/esm/ChatbotToggle/ChatbotToggle.js +8 -13
  263. package/dist/esm/ChatbotToggle/ChatbotToggle.test.js +8 -8
  264. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +3 -2
  265. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +7 -18
  266. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +11 -7
  267. package/dist/esm/CodeModal/CodeModal.d.ts +10 -2
  268. package/dist/esm/CodeModal/CodeModal.js +8 -20
  269. package/dist/esm/CodeModal/CodeModal.test.d.ts +1 -0
  270. package/dist/esm/CodeModal/CodeModal.test.js +29 -0
  271. package/dist/esm/Compare/Compare.d.ts +2 -2
  272. package/dist/esm/Compare/Compare.js +7 -13
  273. package/dist/esm/Compare/Compare.test.js +4 -6
  274. package/dist/esm/FileDetails/FileDetails.d.ts +2 -2
  275. package/dist/esm/FileDetails/FileDetails.js +2 -15
  276. package/dist/esm/FileDetails/FileDetails.test.js +4 -4
  277. package/dist/esm/FileDetailsLabel/FileDetailsLabel.d.ts +2 -2
  278. package/dist/esm/FileDetailsLabel/FileDetailsLabel.js +2 -5
  279. package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.js +9 -9
  280. package/dist/esm/FileDropZone/FileDropZone.d.ts +9 -2
  281. package/dist/esm/FileDropZone/FileDropZone.js +6 -6
  282. package/dist/esm/FileDropZone/FileDropZone.test.js +29 -3
  283. package/dist/esm/LoadingMessage/LoadingMessage.d.ts +2 -2
  284. package/dist/esm/LoadingMessage/LoadingMessage.js +2 -10
  285. package/dist/esm/LoadingMessage/LoadingMessage.test.js +3 -3
  286. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.d.ts +20 -3
  287. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.js +23 -17
  288. package/dist/esm/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.d.ts +62 -0
  289. package/dist/esm/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.js +130 -0
  290. package/dist/esm/Message/ErrorMessage/ErrorMessage.d.ts +1 -2
  291. package/dist/esm/Message/ErrorMessage/ErrorMessage.js +5 -5
  292. package/dist/esm/Message/ImageMessage/ImageMessage.d.ts +1 -2
  293. package/dist/esm/Message/ImageMessage/ImageMessage.js +2 -5
  294. package/dist/esm/Message/LinkMessage/LinkMessage.d.ts +1 -2
  295. package/dist/esm/Message/LinkMessage/LinkMessage.js +6 -6
  296. package/dist/esm/Message/ListMessage/ListItemMessage.d.ts +1 -2
  297. package/dist/esm/Message/ListMessage/ListItemMessage.js +2 -5
  298. package/dist/esm/Message/ListMessage/OrderedListMessage.d.ts +1 -2
  299. package/dist/esm/Message/ListMessage/OrderedListMessage.js +2 -6
  300. package/dist/esm/Message/ListMessage/UnorderedListMessage.d.ts +1 -2
  301. package/dist/esm/Message/ListMessage/UnorderedListMessage.js +2 -6
  302. package/dist/esm/Message/Message.d.ts +26 -8
  303. package/dist/esm/Message/Message.js +50 -72
  304. package/dist/esm/Message/Message.test.js +123 -81
  305. package/dist/esm/Message/MessageInput.d.ts +2 -2
  306. package/dist/esm/Message/MessageInput.js +5 -11
  307. package/dist/esm/Message/MessageLoading.d.ts +1 -2
  308. package/dist/esm/Message/MessageLoading.js +2 -4
  309. package/dist/esm/Message/Plugins/rehypeMoveImagesOutOfParagraphs.d.ts +2 -0
  310. package/dist/esm/Message/Plugins/rehypeMoveImagesOutOfParagraphs.js +43 -0
  311. package/dist/esm/Message/QuickResponse/QuickResponse.d.ts +4 -2
  312. package/dist/esm/Message/QuickResponse/QuickResponse.js +8 -7
  313. package/dist/esm/Message/QuickStarts/FallbackImg.d.ts +2 -2
  314. package/dist/esm/Message/QuickStarts/FallbackImg.js +5 -4
  315. package/dist/esm/Message/QuickStarts/QuickStartTile.d.ts +4 -2
  316. package/dist/esm/Message/QuickStarts/QuickStartTile.js +8 -21
  317. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.d.ts +2 -2
  318. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.js +9 -15
  319. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.js +5 -5
  320. package/dist/esm/Message/QuickStarts/QuickStartTileHeader.d.ts +2 -2
  321. package/dist/esm/Message/QuickStarts/QuickStartTileHeader.js +2 -3
  322. package/dist/esm/Message/QuickStarts/types.d.ts +4 -3
  323. package/dist/esm/Message/TableMessage/TableMessage.d.ts +1 -2
  324. package/dist/esm/Message/TableMessage/TableMessage.js +8 -7
  325. package/dist/esm/Message/TableMessage/TbodyMessage.d.ts +2 -3
  326. package/dist/esm/Message/TableMessage/TbodyMessage.js +7 -6
  327. package/dist/esm/Message/TableMessage/TdMessage.d.ts +1 -2
  328. package/dist/esm/Message/TableMessage/TdMessage.js +2 -5
  329. package/dist/esm/Message/TableMessage/ThMessage.d.ts +1 -2
  330. package/dist/esm/Message/TableMessage/ThMessage.js +2 -5
  331. package/dist/esm/Message/TableMessage/TheadMessage.d.ts +1 -2
  332. package/dist/esm/Message/TableMessage/TheadMessage.js +2 -5
  333. package/dist/esm/Message/TableMessage/TrMessage.d.ts +2 -3
  334. package/dist/esm/Message/TableMessage/TrMessage.js +8 -7
  335. package/dist/esm/Message/TextMessage/TextMessage.d.ts +1 -2
  336. package/dist/esm/Message/TextMessage/TextMessage.js +2 -6
  337. package/dist/esm/Message/UserFeedback/CloseButton.d.ts +2 -2
  338. package/dist/esm/Message/UserFeedback/CloseButton.js +2 -5
  339. package/dist/esm/Message/UserFeedback/UserFeedback.d.ts +2 -2
  340. package/dist/esm/Message/UserFeedback/UserFeedback.js +13 -24
  341. package/dist/esm/Message/UserFeedback/UserFeedback.test.js +24 -20
  342. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
  343. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.js +21 -45
  344. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.js +29 -35
  345. package/dist/esm/MessageBar/AttachButton.d.ts +9 -2
  346. package/dist/esm/MessageBar/AttachButton.js +9 -14
  347. package/dist/esm/MessageBar/AttachButton.test.js +44 -16
  348. package/dist/esm/MessageBar/MessageBar.d.ts +16 -3
  349. package/dist/esm/MessageBar/MessageBar.js +34 -35
  350. package/dist/esm/MessageBar/MessageBar.test.js +87 -73
  351. package/dist/esm/MessageBar/MicrophoneButton.d.ts +3 -2
  352. package/dist/esm/MessageBar/MicrophoneButton.js +8 -12
  353. package/dist/esm/MessageBar/SendButton.d.ts +4 -2
  354. package/dist/esm/MessageBar/SendButton.js +4 -9
  355. package/dist/esm/MessageBar/SendButton.test.js +13 -9
  356. package/dist/esm/MessageBar/StopButton.d.ts +4 -2
  357. package/dist/esm/MessageBar/StopButton.js +4 -10
  358. package/dist/esm/MessageBar/StopButton.test.js +13 -9
  359. package/dist/esm/MessageBox/JumpButton.d.ts +2 -2
  360. package/dist/esm/MessageBox/JumpButton.js +2 -7
  361. package/dist/esm/MessageBox/JumpButton.test.js +9 -9
  362. package/dist/esm/MessageBox/MessageBox.d.ts +21 -5
  363. package/dist/esm/MessageBox/MessageBox.js +181 -44
  364. package/dist/esm/MessageBox/MessageBox.test.js +220 -7
  365. package/dist/esm/PreviewAttachment/PreviewAttachment.d.ts +14 -2
  366. package/dist/esm/PreviewAttachment/PreviewAttachment.js +3 -6
  367. package/dist/esm/PreviewAttachment/PreviewAttachment.test.d.ts +1 -1
  368. package/dist/esm/PreviewAttachment/PreviewAttachment.test.js +30 -5
  369. package/dist/esm/ResponseActions/ResponseActionButton.d.ts +5 -5
  370. package/dist/esm/ResponseActions/ResponseActionButton.js +5 -5
  371. package/dist/esm/ResponseActions/ResponseActionButton.test.js +7 -7
  372. package/dist/esm/ResponseActions/ResponseActions.d.ts +7 -3
  373. package/dist/esm/ResponseActions/ResponseActions.js +13 -17
  374. package/dist/esm/ResponseActions/ResponseActions.test.js +35 -16
  375. package/dist/esm/Settings/SettingsForm.d.ts +4 -2
  376. package/dist/esm/Settings/SettingsForm.js +3 -6
  377. package/dist/esm/Settings/SettingsForm.test.d.ts +1 -1
  378. package/dist/esm/Settings/SettingsForm.test.js +16 -4
  379. package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
  380. package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -8
  381. package/dist/esm/SourcesCard/SourcesCard.d.ts +2 -2
  382. package/dist/esm/SourcesCard/SourcesCard.js +17 -40
  383. package/dist/esm/SourcesCard/SourcesCard.test.js +19 -19
  384. package/dist/esm/TermsOfUse/TermsOfUse.d.ts +5 -3
  385. package/dist/esm/TermsOfUse/TermsOfUse.js +5 -17
  386. package/dist/esm/TermsOfUse/TermsOfUse.test.js +10 -12
  387. package/dist/tsconfig.tsbuildinfo +1 -1
  388. package/package.json +5 -6
  389. package/patternfly-docs/content/extensions/chatbot/design-guidelines.md +10 -0
  390. package/patternfly-docs/content/extensions/chatbot/examples/Customizing Messages/Customizing Messages.md +51 -0
  391. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachMenu.tsx +9 -9
  392. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentEdit.tsx +14 -5
  393. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentError.tsx +2 -2
  394. package/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +19 -20
  395. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetails.tsx +2 -2
  396. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetailsLabel.tsx +9 -9
  397. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDropZone.tsx +4 -4
  398. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithAttachment.tsx +7 -7
  399. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithCustomResponseActions.tsx +2 -12
  400. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedback.tsx +37 -4
  401. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedbackTimeout.tsx +3 -3
  402. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickResponses.tsx +26 -2
  403. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickStart.tsx +13 -2
  404. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithResponseActions.tsx +3 -3
  405. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithSources.tsx +24 -3
  406. package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +1 -0
  407. package/patternfly-docs/content/extensions/chatbot/examples/Messages/PreviewAttachment.tsx +14 -5
  408. package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +20 -14
  409. package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessageWithExtraContent.tsx +4 -4
  410. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotContainer.tsx +59 -36
  411. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFooter.tsx +2 -2
  412. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFootnote.tsx +2 -2
  413. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderBasic.tsx +10 -13
  414. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawer.tsx +18 -9
  415. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerNavigation.tsx +5 -5
  416. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerResizable.tsx +5 -5
  417. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithActions.tsx +14 -5
  418. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithSelection.tsx +17 -8
  419. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderTitle.tsx +59 -34
  420. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBar.tsx +2 -2
  421. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarAttach.tsx +9 -9
  422. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarDisabled.tsx +3 -3
  423. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarLanguage.tsx +2 -2
  424. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarStop.tsx +2 -2
  425. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotModal.tsx +74 -37
  426. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotToggleBasic.tsx +3 -3
  427. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomeInteraction.tsx +8 -8
  428. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomePrompt.tsx +3 -3
  429. package/patternfly-docs/content/extensions/chatbot/examples/UI/CompactSettings.tsx +282 -0
  430. package/patternfly-docs/content/extensions/chatbot/examples/UI/CustomClosedIcon.tsx +3 -3
  431. package/patternfly-docs/content/extensions/chatbot/examples/UI/Settings.tsx +16 -23
  432. package/patternfly-docs/content/extensions/chatbot/examples/UI/SkipToContent.tsx +5 -5
  433. package/patternfly-docs/content/extensions/chatbot/examples/UI/SquareChatbotToggle.tsx +3 -3
  434. package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUse.tsx +91 -48
  435. package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUseCompact.tsx +179 -0
  436. package/patternfly-docs/content/extensions/chatbot/examples/UI/UI.md +17 -0
  437. package/patternfly-docs/content/extensions/chatbot/examples/demos/AttachmentDemos.md +37 -0
  438. package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +9 -1
  439. package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +19 -25
  440. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachment.tsx +23 -14
  441. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachmentMenu.tsx +14 -14
  442. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotCompact.tsx +475 -0
  443. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotInDrawer.tsx +17 -22
  444. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotScrolling.tsx +536 -0
  445. package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedChatbot.tsx +17 -22
  446. package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedComparisonChatbot.tsx +13 -13
  447. package/patternfly-docs/content/extensions/chatbot/examples/demos/Feedback.tsx +7 -7
  448. package/patternfly-docs/content/extensions/chatbot/img/quick-response-confirmation.svg +67 -0
  449. package/src/AttachMenu/AttachMenu.tsx +2 -2
  450. package/src/AttachmentEdit/AttachmentEdit.test.tsx +46 -2
  451. package/src/AttachmentEdit/AttachmentEdit.tsx +29 -7
  452. package/src/Chatbot/Chatbot.scss +7 -0
  453. package/src/Chatbot/Chatbot.test.tsx +9 -1
  454. package/src/Chatbot/Chatbot.tsx +9 -4
  455. package/src/ChatbotAlert/ChatbotAlert.test.tsx +0 -1
  456. package/src/ChatbotAlert/ChatbotAlert.tsx +2 -2
  457. package/src/ChatbotContent/ChatbotContent.test.tsx +0 -1
  458. package/src/ChatbotContent/ChatbotContent.tsx +3 -3
  459. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.tsx +0 -1
  460. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.tsx +6 -4
  461. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.scss +38 -3
  462. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.tsx +21 -3
  463. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.tsx +17 -8
  464. package/src/ChatbotConversationHistoryNav/EmptyState.tsx +2 -2
  465. package/src/ChatbotConversationHistoryNav/LoadingState.tsx +2 -2
  466. package/src/ChatbotFooter/ChatbotFooter.scss +5 -0
  467. package/src/ChatbotFooter/ChatbotFooter.test.tsx +10 -1
  468. package/src/ChatbotFooter/ChatbotFooter.tsx +6 -4
  469. package/src/ChatbotFooter/ChatbotFooternote.test.tsx +0 -1
  470. package/src/ChatbotFooter/ChatbotFootnote.tsx +6 -4
  471. package/src/ChatbotHeader/ChatbotHeader.scss +25 -0
  472. package/src/ChatbotHeader/ChatbotHeader.test.tsx +0 -1
  473. package/src/ChatbotHeader/ChatbotHeader.tsx +4 -7
  474. package/src/ChatbotHeader/ChatbotHeaderActions.test.tsx +0 -1
  475. package/src/ChatbotHeader/ChatbotHeaderActions.tsx +2 -2
  476. package/src/ChatbotHeader/ChatbotHeaderCloseButton.test.tsx +6 -1
  477. package/src/ChatbotHeader/ChatbotHeaderCloseButton.tsx +17 -10
  478. package/src/ChatbotHeader/ChatbotHeaderMain.test.tsx +0 -1
  479. package/src/ChatbotHeader/ChatbotHeaderMain.tsx +5 -3
  480. package/src/ChatbotHeader/ChatbotHeaderMenu.test.tsx +8 -1
  481. package/src/ChatbotHeader/ChatbotHeaderMenu.tsx +17 -12
  482. package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.tsx +15 -1
  483. package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.tsx +17 -7
  484. package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.tsx +19 -1
  485. package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.tsx +30 -6
  486. package/src/ChatbotHeader/ChatbotHeaderTitle.test.tsx +0 -1
  487. package/src/ChatbotHeader/ChatbotHeaderTitle.tsx +2 -2
  488. package/src/ChatbotModal/ChatbotModal.scss +15 -4
  489. package/src/ChatbotModal/ChatbotModal.test.tsx +58 -0
  490. package/src/ChatbotModal/ChatbotModal.tsx +7 -3
  491. package/src/ChatbotPopover/ChatbotPopover.scss +9 -5
  492. package/src/ChatbotPopover/ChatbotPopover.tsx +2 -2
  493. package/src/ChatbotToggle/ChatbotToggle.test.tsx +0 -1
  494. package/src/ChatbotToggle/ChatbotToggle.tsx +5 -3
  495. package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.scss +9 -1
  496. package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.tsx +13 -1
  497. package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.tsx +15 -4
  498. package/src/ChatbotWelcomePrompt/__snapshots__/ChatbotWelcomePrompt.test.tsx.snap +1 -1
  499. package/src/CodeModal/CodeModal.scss +11 -3
  500. package/src/CodeModal/CodeModal.test.tsx +51 -0
  501. package/src/CodeModal/CodeModal.tsx +24 -10
  502. package/src/Compare/Compare.test.tsx +0 -1
  503. package/src/Compare/Compare.tsx +7 -6
  504. package/src/FileDetails/FileDetails.test.tsx +0 -1
  505. package/src/FileDetails/FileDetails.tsx +2 -2
  506. package/src/FileDetails/__snapshots__/FileDetails.test.tsx.snap +1 -1
  507. package/src/FileDetailsLabel/FileDetailsLabel.test.tsx +0 -1
  508. package/src/FileDetailsLabel/FileDetailsLabel.tsx +1 -1
  509. package/src/FileDetailsLabel/__snapshots__/FileDetailsLabel.test.tsx.snap +1 -1
  510. package/src/FileDropZone/FileDropZone.test.tsx +29 -1
  511. package/src/FileDropZone/FileDropZone.tsx +13 -3
  512. package/src/LoadingMessage/LoadingMessage.test.tsx +0 -1
  513. package/src/LoadingMessage/LoadingMessage.tsx +2 -2
  514. package/src/Message/CodeBlockMessage/CodeBlockMessage.scss +7 -0
  515. package/src/Message/CodeBlockMessage/CodeBlockMessage.tsx +105 -18
  516. package/src/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.tsx +220 -0
  517. package/src/Message/ErrorMessage/ErrorMessage.tsx +0 -1
  518. package/src/Message/ImageMessage/ImageMessage.tsx +1 -2
  519. package/src/Message/LinkMessage/LinkMessage.tsx +0 -1
  520. package/src/Message/ListMessage/ListItemMessage.tsx +0 -1
  521. package/src/Message/ListMessage/OrderedListMessage.tsx +0 -1
  522. package/src/Message/ListMessage/UnorderedListMessage.tsx +0 -1
  523. package/src/Message/Message.scss +27 -0
  524. package/src/Message/Message.test.tsx +70 -6
  525. package/src/Message/Message.tsx +41 -17
  526. package/src/Message/MessageInput.tsx +5 -5
  527. package/src/Message/MessageLoading.tsx +0 -2
  528. package/src/Message/Plugins/rehypeMoveImagesOutOfParagraphs.ts +53 -0
  529. package/src/Message/QuickResponse/QuickResponse.tsx +9 -4
  530. package/src/Message/QuickStarts/FallbackImg.tsx +4 -3
  531. package/src/Message/QuickStarts/QuickStartTile.tsx +8 -4
  532. package/src/Message/QuickStarts/QuickStartTileDescription.test.tsx +0 -1
  533. package/src/Message/QuickStarts/QuickStartTileDescription.tsx +4 -3
  534. package/src/Message/QuickStarts/QuickStartTileHeader.tsx +2 -2
  535. package/src/Message/QuickStarts/types.ts +4 -3
  536. package/src/Message/TableMessage/TableMessage.tsx +4 -4
  537. package/src/Message/TableMessage/TbodyMessage.tsx +3 -3
  538. package/src/Message/TableMessage/TdMessage.tsx +1 -2
  539. package/src/Message/TableMessage/ThMessage.tsx +1 -2
  540. package/src/Message/TableMessage/TheadMessage.tsx +3 -2
  541. package/src/Message/TableMessage/TrMessage.tsx +4 -4
  542. package/src/Message/TextMessage/TextMessage.scss +25 -0
  543. package/src/Message/TextMessage/TextMessage.tsx +1 -2
  544. package/src/Message/UserFeedback/CloseButton.tsx +2 -2
  545. package/src/Message/UserFeedback/UserFeedback.scss +24 -3
  546. package/src/Message/UserFeedback/UserFeedback.test.tsx +13 -1
  547. package/src/Message/UserFeedback/UserFeedback.tsx +12 -8
  548. package/src/Message/UserFeedback/UserFeedbackComplete.test.tsx +4 -1
  549. package/src/Message/UserFeedback/UserFeedbackComplete.tsx +26 -16
  550. package/src/MessageBar/AttachButton.scss +10 -0
  551. package/src/MessageBar/AttachButton.test.tsx +56 -8
  552. package/src/MessageBar/AttachButton.tsx +21 -8
  553. package/src/MessageBar/MessageBar.scss +17 -0
  554. package/src/MessageBar/MessageBar.test.tsx +81 -30
  555. package/src/MessageBar/MessageBar.tsx +60 -25
  556. package/src/MessageBar/MicrophoneButton.scss +10 -0
  557. package/src/MessageBar/MicrophoneButton.tsx +15 -9
  558. package/src/MessageBar/SendButton.scss +10 -0
  559. package/src/MessageBar/SendButton.test.tsx +10 -7
  560. package/src/MessageBar/SendButton.tsx +9 -5
  561. package/src/MessageBar/StopButton.scss +10 -0
  562. package/src/MessageBar/StopButton.test.tsx +10 -7
  563. package/src/MessageBar/StopButton.tsx +9 -5
  564. package/src/MessageBox/JumpButton.test.tsx +4 -5
  565. package/src/MessageBox/JumpButton.tsx +3 -3
  566. package/src/MessageBox/MessageBox.scss +6 -0
  567. package/src/MessageBox/MessageBox.test.tsx +295 -5
  568. package/src/MessageBox/MessageBox.tsx +301 -82
  569. package/src/PreviewAttachment/PreviewAttachment.test.tsx +44 -2
  570. package/src/PreviewAttachment/PreviewAttachment.tsx +29 -7
  571. package/src/ResponseActions/ResponseActionButton.test.tsx +0 -1
  572. package/src/ResponseActions/ResponseActionButton.tsx +6 -5
  573. package/src/ResponseActions/ResponseActions.test.tsx +23 -3
  574. package/src/ResponseActions/ResponseActions.tsx +40 -10
  575. package/src/Settings/Settings.scss +11 -0
  576. package/src/Settings/SettingsForm.test.tsx +17 -1
  577. package/src/Settings/SettingsForm.tsx +8 -3
  578. package/src/SourceDetailsMenuItem/SourceDetailsMenuItem.tsx +2 -2
  579. package/src/SourcesCard/SourcesCard.scss +8 -0
  580. package/src/SourcesCard/SourcesCard.test.tsx +0 -1
  581. package/src/SourcesCard/SourcesCard.tsx +9 -8
  582. package/src/TermsOfUse/TermsOfUse.scss +20 -0
  583. package/src/TermsOfUse/TermsOfUse.test.tsx +0 -1
  584. package/src/TermsOfUse/TermsOfUse.tsx +15 -9
  585. package/tsconfig.cjs.json +0 -1
  586. package/tsconfig.json +3 -3
@@ -1,9 +1,8 @@
1
1
  // ============================================================================
2
2
  // Chatbot Main - Message
3
3
  // ============================================================================
4
-
5
- import React, { ReactNode } from 'react';
6
-
4
+ import { forwardRef, ReactNode, useEffect, useState } from 'react';
5
+ import type { FunctionComponent, HTMLProps, MouseEvent as ReactMouseEvent, Ref } from 'react';
7
6
  import Markdown from 'react-markdown';
8
7
  import remarkGfm from 'remark-gfm';
9
8
  import {
@@ -12,6 +11,8 @@ import {
12
11
  AvatarProps,
13
12
  ButtonProps,
14
13
  ContentVariants,
14
+ ExpandableSectionProps,
15
+ ExpandableSectionToggleProps,
15
16
  FormProps,
16
17
  Label,
17
18
  LabelGroupProps,
@@ -47,6 +48,7 @@ import { PluggableList } from 'react-markdown/lib';
47
48
  import LinkMessage from './LinkMessage/LinkMessage';
48
49
  import ErrorMessage from './ErrorMessage/ErrorMessage';
49
50
  import MessageInput from './MessageInput';
51
+ import { rehypeMoveImagesOutOfParagraphs } from './Plugins/rehypeMoveImagesOutOfParagraphs';
50
52
 
51
53
  export interface MessageAttachment {
52
54
  /** Name of file attached to the message */
@@ -78,7 +80,7 @@ export interface MessageExtraContent {
78
80
  endContent?: ReactNode;
79
81
  }
80
82
 
81
- export interface MessageProps extends Omit<React.HTMLProps<HTMLDivElement>, 'role'> {
83
+ export interface MessageProps extends Omit<HTMLProps<HTMLDivElement>, 'role'> {
82
84
  /** Unique id for message */
83
85
  id?: string;
84
86
  /** Role of the user sending the message */
@@ -107,9 +109,24 @@ export interface MessageProps extends Omit<React.HTMLProps<HTMLDivElement>, 'rol
107
109
  botWord?: string;
108
110
  /** Label for the English "Loading message," displayed to screenreaders when loading a message */
109
111
  loadingWord?: string;
112
+ /** Props for code blocks */
110
113
  codeBlockProps?: {
114
+ /** Aria label applied to code blocks */
111
115
  'aria-label'?: string;
116
+ /** Class name applied to code blocks */
112
117
  className?: string;
118
+ /** Whether code blocks are expandable */
119
+ isExpandable?: boolean;
120
+ /** Length of text initially shown in expandable code blocks; defaults to 10 characters */
121
+ maxLength?: number;
122
+ /** Additional props passed to expandable section if isExpandable is applied */
123
+ expandableSectionProps?: Omit<ExpandableSectionProps, 'ref'>;
124
+ /** Additional props passed to expandable toggle if isExpandable is applied */
125
+ expandableSectionToggleProps?: ExpandableSectionToggleProps;
126
+ /** Link text applied to expandable toggle when expanded */
127
+ expandedText?: string;
128
+ /** Link text applied to expandable toggle when collapsed */
129
+ collapsedText?: string;
113
130
  };
114
131
  /** Props for quick responses */
115
132
  quickResponses?: QuickResponse[];
@@ -139,7 +156,7 @@ export interface MessageProps extends Omit<React.HTMLProps<HTMLDivElement>, 'rol
139
156
  /** Turns the container into a live region so that changes to content within the Message, such as appending a feedback card, are reliably announced to assistive technology. */
140
157
  isLiveRegion?: boolean;
141
158
  /** Ref applied to message */
142
- innerRef?: React.Ref<HTMLDivElement>;
159
+ innerRef?: Ref<HTMLDivElement>;
143
160
  /** Props for table message. It is important to include a detailed aria-label that describes the purpose of the table. */
144
161
  tableProps?: Required<Pick<TableProps, 'aria-label'>> & TableProps;
145
162
  /** Additional rehype plugins passed from the consumer */
@@ -159,14 +176,16 @@ export interface MessageProps extends Omit<React.HTMLProps<HTMLDivElement>, 'rol
159
176
  /** Label for the English word "Cancel" used in edit mode. */
160
177
  cancelWord?: string;
161
178
  /** Callback function for when edit mode update button is clicked */
162
- onEditUpdate?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
179
+ onEditUpdate?: (event: ReactMouseEvent<HTMLButtonElement, MouseEvent>) => void;
163
180
  /** Callback functionf or when edit cancel update button is clicked */
164
- onEditCancel?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
181
+ onEditCancel?: (event: ReactMouseEvent<HTMLButtonElement, MouseEvent>) => void;
165
182
  /** Props for edit form */
166
183
  editFormProps?: FormProps;
184
+ /** Sets message to compact styling. */
185
+ isCompact?: boolean;
167
186
  }
168
187
 
169
- export const MessageBase: React.FunctionComponent<MessageProps> = ({
188
+ export const MessageBase: FunctionComponent<MessageProps> = ({
170
189
  role,
171
190
  content,
172
191
  extraContent,
@@ -201,16 +220,17 @@ export const MessageBase: React.FunctionComponent<MessageProps> = ({
201
220
  onEditUpdate,
202
221
  onEditCancel,
203
222
  editFormProps,
223
+ isCompact,
204
224
  ...props
205
225
  }: MessageProps) => {
206
- const [messageText, setMessageText] = React.useState(content);
226
+ const [messageText, setMessageText] = useState(content);
207
227
 
208
- React.useEffect(() => {
228
+ useEffect(() => {
209
229
  setMessageText(content);
210
230
  }, [content]);
211
231
 
212
232
  const { beforeMainContent, afterMainContent, endContent } = extraContent || {};
213
- let rehypePlugins: PluggableList = [rehypeUnwrapImages];
233
+ let rehypePlugins: PluggableList = [rehypeUnwrapImages, rehypeMoveImagesOutOfParagraphs];
214
234
  if (openLinkInNewTab) {
215
235
  rehypePlugins = rehypePlugins.concat([[rehypeExternalLinks, { target: '_blank' }, rehypeSanitize]]);
216
236
  }
@@ -240,9 +260,9 @@ export const MessageBase: React.FunctionComponent<MessageProps> = ({
240
260
  editPlaceholder={editPlaceholder}
241
261
  updateWord={updateWord}
242
262
  cancelWord={cancelWord}
243
- onEditUpdate={(event, text) => {
263
+ onEditUpdate={(event: ReactMouseEvent<HTMLButtonElement, MouseEvent>, value: string) => {
244
264
  onEditUpdate && onEditUpdate(event);
245
- setMessageText(text);
265
+ setMessageText(value);
246
266
  }}
247
267
  onEditCancel={onEditCancel}
248
268
  {...editFormProps}
@@ -336,7 +356,7 @@ export const MessageBase: React.FunctionComponent<MessageProps> = ({
336
356
  <div className="pf-chatbot__message-and-actions">
337
357
  {renderMessage()}
338
358
  {afterMainContent && <>{afterMainContent}</>}
339
- {!isLoading && sources && <SourcesCard {...sources} />}
359
+ {!isLoading && sources && <SourcesCard {...sources} isCompact={isCompact} />}
340
360
  {quickStarts && quickStarts.quickStart && (
341
361
  <QuickStartTile
342
362
  quickStart={quickStarts.quickStart}
@@ -346,15 +366,19 @@ export const MessageBase: React.FunctionComponent<MessageProps> = ({
346
366
  prerequisiteWord={quickStarts.prerequisiteWord}
347
367
  prerequisiteWordPlural={quickStarts.prerequisiteWordPlural}
348
368
  quickStartButtonAriaLabel={quickStarts.quickStartButtonAriaLabel}
369
+ isCompact={isCompact}
349
370
  />
350
371
  )}
351
372
  {!isLoading && actions && <ResponseActions actions={actions} />}
352
- {userFeedbackForm && <UserFeedback {...userFeedbackForm} timestamp={dateString} />}
353
- {userFeedbackComplete && <UserFeedbackComplete {...userFeedbackComplete} timestamp={dateString} />}
373
+ {userFeedbackForm && <UserFeedback {...userFeedbackForm} timestamp={dateString} isCompact={isCompact} />}
374
+ {userFeedbackComplete && (
375
+ <UserFeedbackComplete {...userFeedbackComplete} timestamp={dateString} isCompact={isCompact} />
376
+ )}
354
377
  {!isLoading && quickResponses && (
355
378
  <QuickResponse
356
379
  quickResponses={quickResponses}
357
380
  quickResponseContainerProps={quickResponseContainerProps}
381
+ isCompact={isCompact}
358
382
  />
359
383
  )}
360
384
  </div>
@@ -383,7 +407,7 @@ export const MessageBase: React.FunctionComponent<MessageProps> = ({
383
407
  );
384
408
  };
385
409
 
386
- const Message = React.forwardRef((props: MessageProps, ref: React.Ref<HTMLDivElement>) => (
410
+ const Message = forwardRef((props: MessageProps, ref: Ref<HTMLDivElement>) => (
387
411
  <MessageBase innerRef={ref} {...props} />
388
412
  ));
389
413
 
@@ -1,8 +1,8 @@
1
1
  // ============================================================================
2
2
  // Chatbot Main - Message Input
3
3
  // ============================================================================
4
-
5
- import React from 'react';
4
+ import type { FormEvent, FunctionComponent } from 'react';
5
+ import { useState } from 'react';
6
6
  import { ActionGroup, Button, Form, FormProps, TextArea } from '@patternfly/react-core';
7
7
 
8
8
  export interface MessageInputProps extends FormProps {
@@ -20,7 +20,7 @@ export interface MessageInputProps extends FormProps {
20
20
  content?: string;
21
21
  }
22
22
 
23
- const MessageInput: React.FunctionComponent<MessageInputProps> = ({
23
+ const MessageInput: FunctionComponent<MessageInputProps> = ({
24
24
  editPlaceholder = 'Edit prompt message...',
25
25
  updateWord = 'Update',
26
26
  cancelWord = 'Cancel',
@@ -29,9 +29,9 @@ const MessageInput: React.FunctionComponent<MessageInputProps> = ({
29
29
  content,
30
30
  ...props
31
31
  }: MessageInputProps) => {
32
- const [messageText, setMessageText] = React.useState(content ?? '');
32
+ const [messageText, setMessageText] = useState(content ?? '');
33
33
 
34
- const onChange = (event: React.FormEvent<HTMLTextAreaElement>, value: string) => {
34
+ const onChange = (_event: FormEvent<HTMLTextAreaElement>, value: string) => {
35
35
  setMessageText(value);
36
36
  };
37
37
 
@@ -2,8 +2,6 @@
2
2
  // Chatbot Main - Message - Processing
3
3
  // ============================================================================
4
4
 
5
- import React from 'react';
6
-
7
5
  const MessageLoading = ({ loadingWord }) => (
8
6
  <div className="pf-chatbot__message-loading">
9
7
  <span className="pf-chatbot__message-loading-dots">
@@ -0,0 +1,53 @@
1
+ import { visit } from 'unist-util-visit';
2
+ import { Element } from 'hast';
3
+ import { Node } from 'unist';
4
+
5
+ // Rehype plugin to remove images from within p tags and put them as separate block-level elements.
6
+ // This allows us to avoid having a blue background on images - this is something Kayla requested.
7
+ export const rehypeMoveImagesOutOfParagraphs = () => (tree: Node) => {
8
+ const nodesToRemove: { parent: Element; index: number; node: Element }[] = [];
9
+
10
+ visit(tree, 'element', (node: Element, index: number | null, parent: Element | null) => {
11
+ if (node.tagName === 'p' && node.children) {
12
+ const imagesInParagraph: { node: Element; index: number }[] = [];
13
+
14
+ node.children.forEach((child: Node, childIndex: number) => {
15
+ if (child.type === 'element' && (child as Element).tagName === 'img') {
16
+ imagesInParagraph.push({ node: child as Element, index: childIndex });
17
+ }
18
+ });
19
+
20
+ if (imagesInParagraph.length > 0 && parent && index !== null) {
21
+ imagesInParagraph.forEach(({ node: imgNode, index: imgIndex }) => {
22
+ nodesToRemove.push({ parent: node, index: imgIndex, node: imgNode });
23
+ });
24
+
25
+ // To avoid issues with index shifting during removal, we process in reverse
26
+ for (let i = nodesToRemove.length - 1; i >= 0; i--) {
27
+ const { parent: pTag, index: imgIndexToRemove } = nodesToRemove[i];
28
+ if (pTag.children) {
29
+ pTag.children.splice(imgIndexToRemove, 1);
30
+ }
31
+ }
32
+
33
+ // Insert the removed images after the paragraph
34
+ const paragraphIndexInParent = parent.children.indexOf(node);
35
+ if (paragraphIndexInParent !== -1) {
36
+ imagesInParagraph.forEach(({ node: imgNode }) => {
37
+ parent.children.splice(paragraphIndexInParent + 1, 0, imgNode);
38
+ });
39
+ }
40
+
41
+ // Remove paragraph if it's now empty after image removal
42
+ if (node.children.length === 0) {
43
+ const paragraphIndexInParent = parent.children.indexOf(node);
44
+ if (paragraphIndexInParent !== -1) {
45
+ parent.children.splice(paragraphIndexInParent, 1);
46
+ }
47
+ }
48
+
49
+ nodesToRemove.length = 0;
50
+ }
51
+ }
52
+ });
53
+ };
@@ -1,4 +1,5 @@
1
- import React from 'react';
1
+ import type { FunctionComponent } from 'react';
2
+ import { useState } from 'react';
2
3
  import { Label, LabelGroup, LabelGroupProps, LabelProps } from '@patternfly/react-core';
3
4
  import { CheckIcon } from '@patternfly/react-icons';
4
5
 
@@ -15,14 +16,17 @@ export interface QuickResponseProps {
15
16
  quickResponseContainerProps?: Omit<LabelGroupProps, 'ref'>;
16
17
  /** Callback when a response is clicked; used in feedback cards */
17
18
  onSelect?: (id: string) => void;
19
+ /** Sets the quick responses to compact styling */
20
+ isCompact?: boolean;
18
21
  }
19
22
 
20
- export const QuickResponse: React.FunctionComponent<QuickResponseProps> = ({
23
+ export const QuickResponse: FunctionComponent<QuickResponseProps> = ({
21
24
  quickResponses,
22
25
  quickResponseContainerProps = { numLabels: 5 },
23
- onSelect
26
+ onSelect,
27
+ isCompact
24
28
  }: QuickResponseProps) => {
25
- const [selectedQuickResponse, setSelectedQuickResponse] = React.useState<string>();
29
+ const [selectedQuickResponse, setSelectedQuickResponse] = useState<string>();
26
30
 
27
31
  const handleQuickResponseClick = (id: string, onClick?: () => void) => {
28
32
  setSelectedQuickResponse(id);
@@ -42,6 +46,7 @@ export const QuickResponse: React.FunctionComponent<QuickResponseProps> = ({
42
46
  key={id}
43
47
  onClick={() => handleQuickResponseClick(id, onClick)}
44
48
  className={`${id === selectedQuickResponse ? 'pf-chatbot__message-quick-response--selected' : ''} ${className ? className : ''}`}
49
+ isCompact={isCompact}
45
50
  {...props}
46
51
  >
47
52
  {content}
@@ -1,4 +1,5 @@
1
- import * as React from 'react';
1
+ import type { FC } from 'react';
2
+ import { useState } from 'react';
2
3
 
3
4
  interface FallbackImgProps {
4
5
  /** Image source */
@@ -11,8 +12,8 @@ interface FallbackImgProps {
11
12
  fallback?: React.ReactNode;
12
13
  }
13
14
 
14
- const FallbackImg: React.FC<FallbackImgProps> = ({ src, alt, className, fallback }) => {
15
- const [isSrcValid, setIsSrcValid] = React.useState<boolean>(true);
15
+ const FallbackImg: FC<FallbackImgProps> = ({ src, alt, className, fallback }) => {
16
+ const [isSrcValid, setIsSrcValid] = useState<boolean>(true);
16
17
 
17
18
  if (src && isSrcValid) {
18
19
  return <img className={className} src={src} alt={alt} onError={() => setIsSrcValid(false)} />;
@@ -1,4 +1,4 @@
1
- import * as React from 'react';
1
+ import type { FC, ReactNode } from 'react';
2
2
  import RocketIcon from '@patternfly/react-icons/dist/js/icons/rocket-icon';
3
3
  import OutlinedBookmarkIcon from '@patternfly/react-icons/dist/js/icons/outlined-bookmark-icon';
4
4
  import {
@@ -49,9 +49,11 @@ export interface QuickStartTileProps {
49
49
  prerequisiteWordPlural?: string;
50
50
  /** Aria-label for the quick start description button */
51
51
  quickStartButtonAriaLabel?: string;
52
+ /** Sets the tile to compact styling */
53
+ isCompact?: boolean;
52
54
  }
53
55
 
54
- const QuickStartTile: React.FC<QuickStartTileProps> = ({
56
+ const QuickStartTile: FC<QuickStartTileProps> = ({
55
57
  className,
56
58
  quickStart,
57
59
  onClick,
@@ -61,14 +63,15 @@ const QuickStartTile: React.FC<QuickStartTileProps> = ({
61
63
  prerequisiteWord,
62
64
  prerequisiteWordPlural,
63
65
  quickStartButtonAriaLabel,
64
- action
66
+ action,
67
+ isCompact
65
68
  }) => {
66
69
  const {
67
70
  metadata: { name: id },
68
71
  spec: { icon, displayName, description, durationMinutes, prerequisites, link, type }
69
72
  } = quickStart;
70
73
 
71
- let quickStartIcon: React.ReactNode;
74
+ let quickStartIcon: ReactNode;
72
75
  if (typeof icon === 'object') {
73
76
  quickStartIcon = <Icon size="2xl">{icon}</Icon>;
74
77
  } else {
@@ -105,6 +108,7 @@ const QuickStartTile: React.FC<QuickStartTileProps> = ({
105
108
  id={`${id}-chatbot-qs-tile`}
106
109
  style={{ height: '100%' }}
107
110
  data-testid={`chatbot-qs-card-${camelize(displayName)}`}
111
+ isCompact={isCompact}
108
112
  >
109
113
  <CardHeader
110
114
  {...(action && {
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { render, screen } from '@testing-library/react';
3
2
  import '@testing-library/jest-dom';
4
3
  import userEvent from '@testing-library/user-event';
@@ -1,4 +1,5 @@
1
- import * as React from 'react';
1
+ import type { FC } from 'react';
2
+ import { useRef } from 'react';
2
3
  import { Button, Flex, pluralize, Popover } from '@patternfly/react-core';
3
4
  import InfoCircleIcon from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
4
5
 
@@ -29,7 +30,7 @@ export function pluralizeWord(i: number, singular: string, plural?: string) {
29
30
  return `${i === 1 ? singular : plural}`;
30
31
  }
31
32
 
32
- const QuickStartTileDescription: React.FC<QuickStartTileDescriptionProps> = ({
33
+ const QuickStartTileDescription: FC<QuickStartTileDescriptionProps> = ({
33
34
  description,
34
35
  prerequisites,
35
36
  prerequisiteWord = 'Prerequisite',
@@ -37,7 +38,7 @@ const QuickStartTileDescription: React.FC<QuickStartTileDescriptionProps> = ({
37
38
  quickStartButtonAriaLabel = 'Show prerequisites'
38
39
  }) => {
39
40
  const prereqs = prerequisites?.filter((p) => p);
40
- const buttonRef = React.useRef<HTMLButtonElement>(null);
41
+ const buttonRef = useRef<HTMLButtonElement>(null);
41
42
  const pluralizedPrereq = pluralizeWord(prereqs?.length || 0, prerequisiteWord, prerequisiteWordPlural);
42
43
  return (
43
44
  <>
@@ -1,5 +1,5 @@
1
- import * as React from 'react';
2
1
  import { Button, Flex } from '@patternfly/react-core';
2
+ import type { FunctionComponent } from 'react';
3
3
 
4
4
  interface QuickStartTileHeaderProps {
5
5
  /** Name for the header */
@@ -10,7 +10,7 @@ interface QuickStartTileHeaderProps {
10
10
  onSelect: (e: React.FormEvent<HTMLInputElement> | React.MouseEvent<Element, MouseEvent>) => void;
11
11
  }
12
12
 
13
- const QuickStartTileHeader: React.FC<QuickStartTileHeaderProps> = ({ name, quickStartId, onSelect }) => (
13
+ const QuickStartTileHeader: FunctionComponent<QuickStartTileHeaderProps> = ({ name, quickStartId, onSelect }) => (
14
14
  <Flex flexWrap={{ default: 'nowrap' }}>
15
15
  <Button data-test="title" id={quickStartId} variant="link" isInline onClick={onSelect}>
16
16
  {name}
@@ -1,4 +1,5 @@
1
1
  import { ButtonProps } from '@patternfly/react-core';
2
+ import type { ComponentType, ReactNode, SyntheticEvent } from 'react';
2
3
 
3
4
  // These types are all from the QuickStart extension.
4
5
  // We want to ensure parity, so be careful when adjusting these.
@@ -77,9 +78,9 @@ export interface QuickstartAction {
77
78
  /** Screen reader aria label. */
78
79
  'aria-label': string;
79
80
  /** Icon to be rendered as a plain button, by default Bookmark outlined will be used. */
80
- icon?: React.ComponentType<unknown>;
81
+ icon?: ComponentType<unknown>;
81
82
  /** Callback with synthetic event parameter. */
82
- onClick?: (e: React.SyntheticEvent) => void;
83
+ onClick?: (e: SyntheticEvent) => void;
83
84
  /** Additional button props to be rendered as extra props. */
84
85
  buttonProps?: ButtonProps;
85
86
  }
@@ -95,7 +96,7 @@ export interface QuickStartSpec {
95
96
  version?: number;
96
97
  displayName: string;
97
98
  durationMinutes?: number;
98
- icon: React.ReactNode;
99
+ icon: ReactNode;
99
100
  description: string;
100
101
  prerequisites?: string[];
101
102
  introduction?: string;
@@ -2,7 +2,7 @@
2
2
  // Chatbot Main - Message - Content - Table
3
3
  // ============================================================================
4
4
 
5
- import React from 'react';
5
+ import { Children, cloneElement } from 'react';
6
6
  import { ExtraProps } from 'react-markdown';
7
7
  import { Table, TableProps } from '@patternfly/react-table';
8
8
 
@@ -19,7 +19,7 @@ export interface TableNode {
19
19
  type: string;
20
20
  }
21
21
 
22
- const TableMessage = ({ children, ...props }: TableProps & ExtraProps) => {
22
+ const TableMessage = ({ children, ...props }: Omit<TableProps, 'ref'> & ExtraProps) => {
23
23
  const { className, ...rest } = props;
24
24
 
25
25
  // This allows us to parse the nested data we get back from the 3rd party Markdown parser
@@ -53,9 +53,9 @@ const TableMessage = ({ children, ...props }: TableProps & ExtraProps) => {
53
53
  // This is somewhat opinionated and may break if 3rd party library changes
54
54
  // See Tr and Tbody for other usage
55
55
  const modifyChildren = (children) =>
56
- React.Children.map(children, (child) => {
56
+ Children.map(children, (child) => {
57
57
  if (child && headerTextValues?.length > 0) {
58
- return React.cloneElement(child, { extraHeaders: headerTextValues });
58
+ return cloneElement(child, { extraHeaders: headerTextValues });
59
59
  }
60
60
  return child;
61
61
  });
@@ -2,15 +2,15 @@
2
2
  // Chatbot Main - Message - Content - Table
3
3
  // ============================================================================
4
4
 
5
- import React from 'react';
5
+ import { Children, cloneElement } from 'react';
6
6
  import { ExtraProps } from 'react-markdown';
7
7
  import { Tbody, TbodyProps } from '@patternfly/react-table';
8
8
 
9
- const TbodyProps = ({ children, ...props }: TbodyProps & ExtraProps & { extraHeaders?: string[] }) => {
9
+ const TbodyProps = ({ children, ...props }: Omit<TbodyProps, 'ref'> & ExtraProps & { extraHeaders?: string[] }) => {
10
10
  // passthrough so we can place dataLabel on tds
11
11
  const modifyChildren = (children) => {
12
12
  if (children && props.extraHeaders) {
13
- return React.Children.map(children, (child) => React.cloneElement(child, { extraHeaders: props.extraHeaders }));
13
+ return Children.map(children, (child) => cloneElement(child, { extraHeaders: props.extraHeaders }));
14
14
  }
15
15
  return children;
16
16
  };
@@ -2,10 +2,9 @@
2
2
  // Chatbot Main - Message - Content - Table
3
3
  // ============================================================================
4
4
 
5
- import React from 'react';
6
5
  import { ExtraProps } from 'react-markdown';
7
6
  import { Td, TdProps } from '@patternfly/react-table';
8
7
 
9
- const TdMessage = ({ children, ...props }: TdProps & ExtraProps) => <Td {...props}>{children}</Td>;
8
+ const TdMessage = ({ children, ...props }: Omit<TdProps, 'ref'> & ExtraProps) => <Td {...props}>{children}</Td>;
10
9
 
11
10
  export default TdMessage;
@@ -2,10 +2,9 @@
2
2
  // Chatbot Main - Message - Content - Table
3
3
  // ============================================================================
4
4
 
5
- import React from 'react';
6
5
  import { ExtraProps } from 'react-markdown';
7
6
  import { Th, ThProps } from '@patternfly/react-table';
8
7
 
9
- const ThMessage = ({ children, ...props }: ThProps & ExtraProps) => <Th {...props}>{children}</Th>;
8
+ const ThMessage = ({ children, ...props }: Omit<ThProps, 'ref'> & ExtraProps) => <Th {...props}>{children}</Th>;
10
9
 
11
10
  export default ThMessage;
@@ -2,10 +2,11 @@
2
2
  // Chatbot Main - Message - Content - Table
3
3
  // ============================================================================
4
4
 
5
- import React from 'react';
6
5
  import { ExtraProps } from 'react-markdown';
7
6
  import { Thead, TheadProps } from '@patternfly/react-table';
8
7
 
9
- const TheadMessage = ({ children, ...props }: TheadProps & ExtraProps) => <Thead {...props}>{children}</Thead>;
8
+ const TheadMessage = ({ children, ...props }: Omit<TheadProps, 'ref'> & ExtraProps) => (
9
+ <Thead {...props}>{children}</Thead>
10
+ );
10
11
 
11
12
  export default TheadMessage;
@@ -2,19 +2,19 @@
2
2
  // Chatbot Main - Message - Content - Table
3
3
  // ============================================================================
4
4
 
5
- import React from 'react';
5
+ import { Children, cloneElement } from 'react';
6
6
  import { ExtraProps } from 'react-markdown';
7
7
  import { Tr, TrProps } from '@patternfly/react-table';
8
8
 
9
- const TrMessage = ({ children, ...props }: TrProps & ExtraProps & { extraHeaders?: string[] }) => {
9
+ const TrMessage = ({ children, ...props }: Omit<TrProps, 'ref'> & ExtraProps & { extraHeaders?: string[] }) => {
10
10
  let tdIndex = 0;
11
11
 
12
12
  // passthrough so we can place dataLabel on tds
13
13
  // places column name on correct child
14
14
  const modifyChildren = (children) =>
15
- React.Children.map(children, (child) => {
15
+ Children.map(children, (child) => {
16
16
  if (child.type.name === 'td' && props.extraHeaders) {
17
- const clonedChild = React.cloneElement(child, { dataLabel: props.extraHeaders[tdIndex] });
17
+ const clonedChild = cloneElement(child, { dataLabel: props.extraHeaders[tdIndex] });
18
18
  tdIndex = tdIndex + 1;
19
19
  return clonedChild;
20
20
  }
@@ -58,3 +58,28 @@
58
58
  }
59
59
  }
60
60
  }
61
+
62
+ // ============================================================================
63
+ // Information density styles
64
+ // ============================================================================
65
+ .pf-chatbot.pf-m-compact {
66
+ // Need to inline shorter text
67
+ .pf-chatbot__message-text {
68
+ .pf-v6-c-button.pf-m-link {
69
+ font-size: var(--pf-t--global--font--size--sm);
70
+ }
71
+
72
+ .pf-v6-c-content,
73
+ .pf-v6-c-content--small,
74
+ .pf-v6-c-content--blockquote,
75
+ p,
76
+ a {
77
+ --pf-v6-c-content--FontSize: var(--pf-t--global--font--size--sm);
78
+ }
79
+
80
+ .pf-v6-c-content--blockquote {
81
+ --pf-v6-c-content--blockquote--PaddingBlockStart: 0;
82
+ --pf-v6-c-content--blockquote--PaddingBlockEnd: 0;
83
+ }
84
+ }
85
+ }
@@ -2,11 +2,10 @@
2
2
  // Chatbot Main - Message - Content - Text
3
3
  // ============================================================================
4
4
 
5
- import React from 'react';
6
5
  import { ExtraProps } from 'react-markdown';
7
6
  import { Content, ContentProps } from '@patternfly/react-core';
8
7
 
9
- const TextMessage = ({ component, children, ...props }: ContentProps & ExtraProps) => (
8
+ const TextMessage = ({ component, children, ...props }: Omit<ContentProps, 'ref'> & ExtraProps) => (
10
9
  <span className="pf-chatbot__message-text">
11
10
  <Content component={component} {...props}>
12
11
  {children}
@@ -1,7 +1,7 @@
1
1
  // ============================================================================
2
2
  // Chatbot Main - Messages - Close Button
3
3
  // ============================================================================
4
- import React from 'react';
4
+ import type { FunctionComponent } from 'react';
5
5
 
6
6
  // Import PatternFly components
7
7
  import { Button, ButtonProps } from '@patternfly/react-core';
@@ -14,7 +14,7 @@ export interface CloseButtonProps extends ButtonProps {
14
14
  ariaLabel?: string;
15
15
  }
16
16
 
17
- const CloseButton: React.FunctionComponent<CloseButtonProps> = ({ onClose, ariaLabel }: CloseButtonProps) => (
17
+ const CloseButton: FunctionComponent<CloseButtonProps> = ({ onClose, ariaLabel }: CloseButtonProps) => (
18
18
  <Button variant="plain" onClick={onClose} icon={<CloseIcon />} aria-label={ariaLabel} />
19
19
  );
20
20
 
@@ -11,6 +11,7 @@
11
11
  flex-direction: column;
12
12
  gap: var(--pf-t--global--spacer--lg);
13
13
  align-items: center;
14
+ text-align: center;
14
15
  }
15
16
  .pf-chatbot__feedback-complete-text {
16
17
  display: flex;
@@ -26,9 +27,6 @@
26
27
  align-items: center;
27
28
  justify-content: center;
28
29
  }
29
- .pf-chatbot__feedback-complete-body {
30
- text-align: center;
31
- }
32
30
  .pf-chatbot__feedback-complete-title {
33
31
  font-family: var(--pf-t--global--font--family--heading);
34
32
  font-size: var(--pf-t--global--font--size--lg);
@@ -51,3 +49,26 @@
51
49
  .pf-chatbot__feedback-card-optional {
52
50
  font-weight: initial;
53
51
  }
52
+
53
+ // Compact styles
54
+ .pf-v6-c-card.pf-m-compact.pf-chatbot__feedback-card {
55
+ .pf-chatbot__feedback-card-form.pf-m-compact {
56
+ --pf-v6-c-form--GridGap: var(--pf-t--global--spacer--md);
57
+ }
58
+ }
59
+
60
+ .pf-v6-c-card.pf-m-compact.pf-chatbot__feedback-card.pf-chatbot__feedback-card-complete {
61
+ div.pf-chatbot__feedback-complete-body {
62
+ gap: var(--pf-t--global--spacer--sm);
63
+ }
64
+
65
+ .pf-chatbot__feedback-complete-image {
66
+ width: 40px;
67
+ }
68
+
69
+ .pf-chatbot__feedback-card-complete-empty-header {
70
+ .pf-v6-c-card__header:first-child {
71
+ --pf-v6-c-card--first-child--PaddingBlockStart: var(--pf-t--global--spacer--sm);
72
+ }
73
+ }
74
+ }