@patternfly/chatbot 6.3.0-prerelease.9 → 6.3.0

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 (564) 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 +34 -16
  87. package/dist/cjs/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.d.ts +62 -0
  88. package/dist/cjs/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.js +139 -0
  89. package/dist/cjs/Message/ErrorMessage/ErrorMessage.d.ts +1 -2
  90. package/dist/cjs/Message/ErrorMessage/ErrorMessage.js +5 -8
  91. package/dist/cjs/Message/ImageMessage/ImageMessage.d.ts +1 -2
  92. package/dist/cjs/Message/ImageMessage/ImageMessage.js +2 -8
  93. package/dist/cjs/Message/LinkMessage/LinkMessage.d.ts +1 -2
  94. package/dist/cjs/Message/LinkMessage/LinkMessage.js +6 -9
  95. package/dist/cjs/Message/ListMessage/ListItemMessage.d.ts +1 -2
  96. package/dist/cjs/Message/ListMessage/ListItemMessage.js +2 -8
  97. package/dist/cjs/Message/ListMessage/OrderedListMessage.d.ts +1 -2
  98. package/dist/cjs/Message/ListMessage/OrderedListMessage.js +2 -9
  99. package/dist/cjs/Message/ListMessage/UnorderedListMessage.d.ts +1 -2
  100. package/dist/cjs/Message/ListMessage/UnorderedListMessage.js +2 -9
  101. package/dist/cjs/Message/Message.d.ts +24 -8
  102. package/dist/cjs/Message/Message.js +49 -71
  103. package/dist/cjs/Message/Message.test.js +112 -82
  104. package/dist/cjs/Message/MessageInput.d.ts +2 -2
  105. package/dist/cjs/Message/MessageInput.js +5 -14
  106. package/dist/cjs/Message/MessageLoading.d.ts +1 -2
  107. package/dist/cjs/Message/MessageLoading.js +3 -8
  108. package/dist/cjs/Message/Plugins/index.d.ts +1 -0
  109. package/dist/cjs/Message/Plugins/index.js +5 -0
  110. package/dist/cjs/Message/Plugins/rehypeCodeBlockToggle.d.ts +2 -0
  111. package/dist/cjs/Message/Plugins/rehypeCodeBlockToggle.js +24 -0
  112. package/dist/cjs/Message/Plugins/rehypeMoveImagesOutOfParagraphs.d.ts +2 -0
  113. package/dist/cjs/Message/Plugins/rehypeMoveImagesOutOfParagraphs.js +47 -0
  114. package/dist/cjs/Message/QuickResponse/QuickResponse.d.ts +2 -2
  115. package/dist/cjs/Message/QuickResponse/QuickResponse.js +7 -9
  116. package/dist/cjs/Message/QuickStarts/FallbackImg.d.ts +2 -2
  117. package/dist/cjs/Message/QuickStarts/FallbackImg.js +5 -27
  118. package/dist/cjs/Message/QuickStarts/QuickStartTile.d.ts +2 -2
  119. package/dist/cjs/Message/QuickStarts/QuickStartTile.js +7 -43
  120. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.d.ts +2 -2
  121. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.js +9 -38
  122. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.js +16 -16
  123. package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.d.ts +2 -2
  124. package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.js +2 -26
  125. package/dist/cjs/Message/QuickStarts/types.d.ts +4 -3
  126. package/dist/cjs/Message/TableMessage/TableMessage.d.ts +1 -2
  127. package/dist/cjs/Message/TableMessage/TableMessage.js +8 -10
  128. package/dist/cjs/Message/TableMessage/TbodyMessage.d.ts +2 -3
  129. package/dist/cjs/Message/TableMessage/TbodyMessage.js +7 -9
  130. package/dist/cjs/Message/TableMessage/TdMessage.d.ts +1 -2
  131. package/dist/cjs/Message/TableMessage/TdMessage.js +2 -8
  132. package/dist/cjs/Message/TableMessage/ThMessage.d.ts +1 -2
  133. package/dist/cjs/Message/TableMessage/ThMessage.js +2 -8
  134. package/dist/cjs/Message/TableMessage/TheadMessage.d.ts +1 -2
  135. package/dist/cjs/Message/TableMessage/TheadMessage.js +2 -8
  136. package/dist/cjs/Message/TableMessage/TrMessage.d.ts +2 -3
  137. package/dist/cjs/Message/TableMessage/TrMessage.js +8 -10
  138. package/dist/cjs/Message/TextMessage/TextMessage.d.ts +1 -2
  139. package/dist/cjs/Message/TextMessage/TextMessage.js +2 -9
  140. package/dist/cjs/Message/UserFeedback/CloseButton.d.ts +2 -2
  141. package/dist/cjs/Message/UserFeedback/CloseButton.js +2 -8
  142. package/dist/cjs/Message/UserFeedback/UserFeedback.d.ts +2 -2
  143. package/dist/cjs/Message/UserFeedback/UserFeedback.js +12 -23
  144. package/dist/cjs/Message/UserFeedback/UserFeedback.test.js +53 -53
  145. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
  146. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.js +20 -44
  147. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.js +81 -91
  148. package/dist/cjs/Message/index.d.ts +1 -0
  149. package/dist/cjs/Message/index.js +3 -1
  150. package/dist/cjs/MessageBar/AttachButton.d.ts +25 -2
  151. package/dist/cjs/MessageBar/AttachButton.js +10 -20
  152. package/dist/cjs/MessageBar/AttachButton.test.js +102 -24
  153. package/dist/cjs/MessageBar/MessageBar.d.ts +31 -3
  154. package/dist/cjs/MessageBar/MessageBar.js +30 -32
  155. package/dist/cjs/MessageBar/MessageBar.test.js +122 -108
  156. package/dist/cjs/MessageBar/MicrophoneButton.d.ts +2 -2
  157. package/dist/cjs/MessageBar/MicrophoneButton.js +7 -14
  158. package/dist/cjs/MessageBar/SendButton.d.ts +3 -2
  159. package/dist/cjs/MessageBar/SendButton.js +3 -11
  160. package/dist/cjs/MessageBar/SendButton.test.js +15 -15
  161. package/dist/cjs/MessageBar/StopButton.d.ts +3 -2
  162. package/dist/cjs/MessageBar/StopButton.js +3 -12
  163. package/dist/cjs/MessageBar/StopButton.test.js +15 -15
  164. package/dist/cjs/MessageBox/JumpButton.d.ts +2 -2
  165. package/dist/cjs/MessageBox/JumpButton.js +2 -10
  166. package/dist/cjs/MessageBox/JumpButton.test.js +10 -10
  167. package/dist/cjs/MessageBox/MessageBox.d.ts +21 -5
  168. package/dist/cjs/MessageBox/MessageBox.js +170 -45
  169. package/dist/cjs/MessageBox/MessageBox.test.js +219 -6
  170. package/dist/cjs/PreviewAttachment/PreviewAttachment.d.ts +12 -2
  171. package/dist/cjs/PreviewAttachment/PreviewAttachment.js +3 -6
  172. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.d.ts +1 -1
  173. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.js +34 -12
  174. package/dist/cjs/ResponseActions/ResponseActionButton.d.ts +5 -5
  175. package/dist/cjs/ResponseActions/ResponseActionButton.js +5 -8
  176. package/dist/cjs/ResponseActions/ResponseActionButton.test.js +19 -19
  177. package/dist/cjs/ResponseActions/ResponseActions.d.ts +7 -3
  178. package/dist/cjs/ResponseActions/ResponseActions.js +39 -18
  179. package/dist/cjs/ResponseActions/ResponseActions.test.js +120 -41
  180. package/dist/cjs/Settings/SettingsForm.d.ts +2 -2
  181. package/dist/cjs/Settings/SettingsForm.js +2 -8
  182. package/dist/cjs/Settings/SettingsForm.test.js +9 -12
  183. package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
  184. package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -11
  185. package/dist/cjs/SourcesCard/SourcesCard.d.ts +12 -3
  186. package/dist/cjs/SourcesCard/SourcesCard.js +17 -42
  187. package/dist/cjs/SourcesCard/SourcesCard.test.js +70 -60
  188. package/dist/cjs/TermsOfUse/TermsOfUse.d.ts +3 -3
  189. package/dist/cjs/TermsOfUse/TermsOfUse.js +4 -16
  190. package/dist/cjs/TermsOfUse/TermsOfUse.test.js +31 -33
  191. package/dist/css/main.css +15 -7
  192. package/dist/css/main.css.map +1 -1
  193. package/dist/esm/AttachMenu/AttachMenu.d.ts +2 -2
  194. package/dist/esm/AttachMenu/AttachMenu.js +2 -9
  195. package/dist/esm/AttachmentEdit/AttachmentEdit.d.ts +12 -2
  196. package/dist/esm/AttachmentEdit/AttachmentEdit.js +3 -6
  197. package/dist/esm/AttachmentEdit/AttachmentEdit.test.d.ts +1 -1
  198. package/dist/esm/AttachmentEdit/AttachmentEdit.test.js +30 -5
  199. package/dist/esm/Chatbot/Chatbot.d.ts +1 -2
  200. package/dist/esm/Chatbot/Chatbot.js +4 -6
  201. package/dist/esm/Chatbot/Chatbot.test.js +6 -6
  202. package/dist/esm/ChatbotAlert/ChatbotAlert.d.ts +2 -2
  203. package/dist/esm/ChatbotAlert/ChatbotAlert.js +4 -5
  204. package/dist/esm/ChatbotAlert/ChatbotAlert.test.js +4 -4
  205. package/dist/esm/ChatbotContent/ChatbotContent.d.ts +3 -3
  206. package/dist/esm/ChatbotContent/ChatbotContent.js +2 -5
  207. package/dist/esm/ChatbotContent/ChatbotContent.test.js +3 -3
  208. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.d.ts +2 -2
  209. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +7 -11
  210. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +8 -10
  211. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +2 -2
  212. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +16 -33
  213. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +26 -34
  214. package/dist/esm/ChatbotConversationHistoryNav/EmptyState.d.ts +2 -2
  215. package/dist/esm/ChatbotConversationHistoryNav/EmptyState.js +2 -6
  216. package/dist/esm/ChatbotConversationHistoryNav/LoadingState.d.ts +2 -2
  217. package/dist/esm/ChatbotConversationHistoryNav/LoadingState.js +2 -22
  218. package/dist/esm/ChatbotFooter/ChatbotFooter.d.ts +3 -3
  219. package/dist/esm/ChatbotFooter/ChatbotFooter.js +2 -12
  220. package/dist/esm/ChatbotFooter/ChatbotFooter.test.js +4 -4
  221. package/dist/esm/ChatbotFooter/ChatbotFooternote.test.js +5 -5
  222. package/dist/esm/ChatbotFooter/ChatbotFootnote.d.ts +3 -3
  223. package/dist/esm/ChatbotFooter/ChatbotFootnote.js +10 -23
  224. package/dist/esm/ChatbotHeader/ChatbotHeader.d.ts +3 -3
  225. package/dist/esm/ChatbotHeader/ChatbotHeader.js +2 -4
  226. package/dist/esm/ChatbotHeader/ChatbotHeader.test.js +3 -3
  227. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.d.ts +2 -2
  228. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.js +2 -2
  229. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.js +3 -3
  230. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +1 -2
  231. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.js +5 -7
  232. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.js +4 -4
  233. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.d.ts +2 -2
  234. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.js +2 -2
  235. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.js +3 -3
  236. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.d.ts +2 -2
  237. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.js +5 -7
  238. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.js +4 -4
  239. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +6 -3
  240. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +8 -9
  241. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +9 -8
  242. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +8 -3
  243. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +11 -9
  244. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +9 -8
  245. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.d.ts +2 -2
  246. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.js +2 -2
  247. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.js +12 -12
  248. package/dist/esm/ChatbotModal/ChatbotModal.d.ts +2 -2
  249. package/dist/esm/ChatbotModal/ChatbotModal.js +3 -6
  250. package/dist/esm/ChatbotModal/ChatbotModal.test.js +2 -14
  251. package/dist/esm/ChatbotPopover/ChatbotPopover.d.ts +2 -2
  252. package/dist/esm/ChatbotPopover/ChatbotPopover.js +2 -5
  253. package/dist/esm/ChatbotToggle/ChatbotToggle.d.ts +1 -2
  254. package/dist/esm/ChatbotToggle/ChatbotToggle.js +8 -13
  255. package/dist/esm/ChatbotToggle/ChatbotToggle.test.js +8 -8
  256. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +2 -2
  257. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +6 -17
  258. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +8 -8
  259. package/dist/esm/CodeModal/CodeModal.d.ts +8 -2
  260. package/dist/esm/CodeModal/CodeModal.js +8 -20
  261. package/dist/esm/CodeModal/CodeModal.test.js +22 -3
  262. package/dist/esm/Compare/Compare.d.ts +2 -2
  263. package/dist/esm/Compare/Compare.js +7 -13
  264. package/dist/esm/Compare/Compare.test.js +4 -6
  265. package/dist/esm/FileDetails/FileDetails.d.ts +2 -2
  266. package/dist/esm/FileDetails/FileDetails.js +2 -15
  267. package/dist/esm/FileDetails/FileDetails.test.js +4 -4
  268. package/dist/esm/FileDetailsLabel/FileDetailsLabel.d.ts +2 -2
  269. package/dist/esm/FileDetailsLabel/FileDetailsLabel.js +2 -5
  270. package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.js +9 -9
  271. package/dist/esm/FileDropZone/FileDropZone.d.ts +23 -2
  272. package/dist/esm/FileDropZone/FileDropZone.js +11 -6
  273. package/dist/esm/FileDropZone/FileDropZone.test.js +84 -3
  274. package/dist/esm/LoadingMessage/LoadingMessage.d.ts +2 -2
  275. package/dist/esm/LoadingMessage/LoadingMessage.js +2 -10
  276. package/dist/esm/LoadingMessage/LoadingMessage.test.js +3 -3
  277. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.d.ts +20 -3
  278. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.js +35 -17
  279. package/dist/esm/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.d.ts +62 -0
  280. package/dist/esm/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.js +133 -0
  281. package/dist/esm/Message/ErrorMessage/ErrorMessage.d.ts +1 -2
  282. package/dist/esm/Message/ErrorMessage/ErrorMessage.js +5 -5
  283. package/dist/esm/Message/ImageMessage/ImageMessage.d.ts +1 -2
  284. package/dist/esm/Message/ImageMessage/ImageMessage.js +2 -5
  285. package/dist/esm/Message/LinkMessage/LinkMessage.d.ts +1 -2
  286. package/dist/esm/Message/LinkMessage/LinkMessage.js +6 -6
  287. package/dist/esm/Message/ListMessage/ListItemMessage.d.ts +1 -2
  288. package/dist/esm/Message/ListMessage/ListItemMessage.js +2 -5
  289. package/dist/esm/Message/ListMessage/OrderedListMessage.d.ts +1 -2
  290. package/dist/esm/Message/ListMessage/OrderedListMessage.js +2 -6
  291. package/dist/esm/Message/ListMessage/UnorderedListMessage.d.ts +1 -2
  292. package/dist/esm/Message/ListMessage/UnorderedListMessage.js +2 -6
  293. package/dist/esm/Message/Message.d.ts +24 -8
  294. package/dist/esm/Message/Message.js +49 -71
  295. package/dist/esm/Message/Message.test.js +112 -82
  296. package/dist/esm/Message/MessageInput.d.ts +2 -2
  297. package/dist/esm/Message/MessageInput.js +5 -11
  298. package/dist/esm/Message/MessageLoading.d.ts +1 -2
  299. package/dist/esm/Message/MessageLoading.js +2 -4
  300. package/dist/esm/Message/Plugins/index.d.ts +1 -0
  301. package/dist/esm/Message/Plugins/index.js +1 -0
  302. package/dist/esm/Message/Plugins/rehypeCodeBlockToggle.d.ts +2 -0
  303. package/dist/esm/Message/Plugins/rehypeCodeBlockToggle.js +20 -0
  304. package/dist/esm/Message/Plugins/rehypeMoveImagesOutOfParagraphs.d.ts +2 -0
  305. package/dist/esm/Message/Plugins/rehypeMoveImagesOutOfParagraphs.js +43 -0
  306. package/dist/esm/Message/QuickResponse/QuickResponse.d.ts +2 -2
  307. package/dist/esm/Message/QuickResponse/QuickResponse.js +7 -6
  308. package/dist/esm/Message/QuickStarts/FallbackImg.d.ts +2 -2
  309. package/dist/esm/Message/QuickStarts/FallbackImg.js +5 -4
  310. package/dist/esm/Message/QuickStarts/QuickStartTile.d.ts +2 -2
  311. package/dist/esm/Message/QuickStarts/QuickStartTile.js +7 -20
  312. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.d.ts +2 -2
  313. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.js +9 -15
  314. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.js +5 -5
  315. package/dist/esm/Message/QuickStarts/QuickStartTileHeader.d.ts +2 -2
  316. package/dist/esm/Message/QuickStarts/QuickStartTileHeader.js +2 -3
  317. package/dist/esm/Message/QuickStarts/types.d.ts +4 -3
  318. package/dist/esm/Message/TableMessage/TableMessage.d.ts +1 -2
  319. package/dist/esm/Message/TableMessage/TableMessage.js +8 -7
  320. package/dist/esm/Message/TableMessage/TbodyMessage.d.ts +2 -3
  321. package/dist/esm/Message/TableMessage/TbodyMessage.js +7 -6
  322. package/dist/esm/Message/TableMessage/TdMessage.d.ts +1 -2
  323. package/dist/esm/Message/TableMessage/TdMessage.js +2 -5
  324. package/dist/esm/Message/TableMessage/ThMessage.d.ts +1 -2
  325. package/dist/esm/Message/TableMessage/ThMessage.js +2 -5
  326. package/dist/esm/Message/TableMessage/TheadMessage.d.ts +1 -2
  327. package/dist/esm/Message/TableMessage/TheadMessage.js +2 -5
  328. package/dist/esm/Message/TableMessage/TrMessage.d.ts +2 -3
  329. package/dist/esm/Message/TableMessage/TrMessage.js +8 -7
  330. package/dist/esm/Message/TextMessage/TextMessage.d.ts +1 -2
  331. package/dist/esm/Message/TextMessage/TextMessage.js +2 -6
  332. package/dist/esm/Message/UserFeedback/CloseButton.d.ts +2 -2
  333. package/dist/esm/Message/UserFeedback/CloseButton.js +2 -5
  334. package/dist/esm/Message/UserFeedback/UserFeedback.d.ts +2 -2
  335. package/dist/esm/Message/UserFeedback/UserFeedback.js +12 -23
  336. package/dist/esm/Message/UserFeedback/UserFeedback.test.js +21 -21
  337. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
  338. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.js +20 -44
  339. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.js +26 -36
  340. package/dist/esm/Message/index.d.ts +1 -0
  341. package/dist/esm/Message/index.js +1 -0
  342. package/dist/esm/MessageBar/AttachButton.d.ts +25 -2
  343. package/dist/esm/MessageBar/AttachButton.js +10 -17
  344. package/dist/esm/MessageBar/AttachButton.test.js +95 -17
  345. package/dist/esm/MessageBar/MessageBar.d.ts +31 -3
  346. package/dist/esm/MessageBar/MessageBar.js +28 -30
  347. package/dist/esm/MessageBar/MessageBar.test.js +87 -73
  348. package/dist/esm/MessageBar/MicrophoneButton.d.ts +2 -2
  349. package/dist/esm/MessageBar/MicrophoneButton.js +7 -11
  350. package/dist/esm/MessageBar/SendButton.d.ts +3 -2
  351. package/dist/esm/MessageBar/SendButton.js +3 -8
  352. package/dist/esm/MessageBar/SendButton.test.js +9 -9
  353. package/dist/esm/MessageBar/StopButton.d.ts +3 -2
  354. package/dist/esm/MessageBar/StopButton.js +3 -9
  355. package/dist/esm/MessageBar/StopButton.test.js +9 -9
  356. package/dist/esm/MessageBox/JumpButton.d.ts +2 -2
  357. package/dist/esm/MessageBox/JumpButton.js +2 -7
  358. package/dist/esm/MessageBox/JumpButton.test.js +9 -9
  359. package/dist/esm/MessageBox/MessageBox.d.ts +21 -5
  360. package/dist/esm/MessageBox/MessageBox.js +170 -45
  361. package/dist/esm/MessageBox/MessageBox.test.js +220 -7
  362. package/dist/esm/PreviewAttachment/PreviewAttachment.d.ts +12 -2
  363. package/dist/esm/PreviewAttachment/PreviewAttachment.js +3 -6
  364. package/dist/esm/PreviewAttachment/PreviewAttachment.test.d.ts +1 -1
  365. package/dist/esm/PreviewAttachment/PreviewAttachment.test.js +30 -5
  366. package/dist/esm/ResponseActions/ResponseActionButton.d.ts +5 -5
  367. package/dist/esm/ResponseActions/ResponseActionButton.js +5 -5
  368. package/dist/esm/ResponseActions/ResponseActionButton.test.js +7 -7
  369. package/dist/esm/ResponseActions/ResponseActions.d.ts +7 -3
  370. package/dist/esm/ResponseActions/ResponseActions.js +40 -19
  371. package/dist/esm/ResponseActions/ResponseActions.test.js +95 -16
  372. package/dist/esm/Settings/SettingsForm.d.ts +2 -2
  373. package/dist/esm/Settings/SettingsForm.js +2 -5
  374. package/dist/esm/Settings/SettingsForm.test.js +6 -6
  375. package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
  376. package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -8
  377. package/dist/esm/SourcesCard/SourcesCard.d.ts +12 -3
  378. package/dist/esm/SourcesCard/SourcesCard.js +17 -39
  379. package/dist/esm/SourcesCard/SourcesCard.test.js +29 -19
  380. package/dist/esm/TermsOfUse/TermsOfUse.d.ts +3 -3
  381. package/dist/esm/TermsOfUse/TermsOfUse.js +4 -16
  382. package/dist/esm/TermsOfUse/TermsOfUse.test.js +10 -12
  383. package/dist/tsconfig.tsbuildinfo +1 -1
  384. package/package.json +5 -6
  385. package/patternfly-docs/content/extensions/chatbot/design-guidelines.md +10 -0
  386. package/patternfly-docs/content/extensions/chatbot/examples/Customizing Messages/Customizing Messages.md +51 -0
  387. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachMenu.tsx +9 -9
  388. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentEdit.tsx +5 -5
  389. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentError.tsx +2 -2
  390. package/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +24 -20
  391. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetails.tsx +2 -2
  392. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetailsLabel.tsx +9 -9
  393. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDropZone.tsx +4 -4
  394. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithAttachment.tsx +7 -7
  395. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithClickedResponseActions.tsx +25 -0
  396. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithCustomResponseActions.tsx +3 -12
  397. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedback.tsx +4 -4
  398. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedbackTimeout.tsx +3 -3
  399. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickResponses.tsx +2 -2
  400. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickStart.tsx +2 -2
  401. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithResponseActions.tsx +3 -3
  402. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithSources.tsx +3 -3
  403. package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +19 -0
  404. package/patternfly-docs/content/extensions/chatbot/examples/Messages/PreviewAttachment.tsx +5 -5
  405. package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +25 -14
  406. package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessageWithExtraContent.tsx +4 -4
  407. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotContainer.tsx +59 -36
  408. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFooter.tsx +2 -2
  409. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFootnote.tsx +2 -2
  410. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderBasic.tsx +10 -13
  411. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawer.tsx +10 -10
  412. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerNavigation.tsx +5 -5
  413. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerResizable.tsx +5 -5
  414. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithActions.tsx +6 -6
  415. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithSelection.tsx +7 -7
  416. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderTitle.tsx +59 -34
  417. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBar.tsx +2 -2
  418. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarAttach.tsx +9 -9
  419. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarDisabled.tsx +3 -3
  420. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarLanguage.tsx +2 -2
  421. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarStop.tsx +2 -2
  422. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotModal.tsx +74 -37
  423. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotToggleBasic.tsx +3 -3
  424. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomeInteraction.tsx +8 -8
  425. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomePrompt.tsx +3 -3
  426. package/patternfly-docs/content/extensions/chatbot/examples/UI/CompactSettings.tsx +16 -23
  427. package/patternfly-docs/content/extensions/chatbot/examples/UI/CustomClosedIcon.tsx +3 -3
  428. package/patternfly-docs/content/extensions/chatbot/examples/UI/Settings.tsx +16 -23
  429. package/patternfly-docs/content/extensions/chatbot/examples/UI/SkipToContent.tsx +5 -5
  430. package/patternfly-docs/content/extensions/chatbot/examples/UI/SquareChatbotToggle.tsx +3 -3
  431. package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUse.tsx +91 -48
  432. package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUseCompact.tsx +82 -39
  433. package/patternfly-docs/content/extensions/chatbot/examples/UI/UI.md +3 -0
  434. package/patternfly-docs/content/extensions/chatbot/examples/demos/AttachmentDemos.md +37 -0
  435. package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +1 -0
  436. package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +19 -25
  437. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachment.tsx +42 -15
  438. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachmentMenu.tsx +15 -14
  439. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotCompact.tsx +19 -25
  440. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotInDrawer.tsx +17 -22
  441. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotScrolling.tsx +536 -0
  442. package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedChatbot.tsx +17 -22
  443. package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedComparisonChatbot.tsx +13 -13
  444. package/patternfly-docs/content/extensions/chatbot/examples/demos/Feedback.tsx +7 -7
  445. package/patternfly-docs/content/extensions/chatbot/img/quick-response-confirmation.svg +67 -0
  446. package/src/AttachMenu/AttachMenu.tsx +2 -2
  447. package/src/AttachmentEdit/AttachmentEdit.test.tsx +46 -2
  448. package/src/AttachmentEdit/AttachmentEdit.tsx +25 -7
  449. package/src/Chatbot/Chatbot.test.tsx +0 -1
  450. package/src/Chatbot/Chatbot.tsx +5 -3
  451. package/src/ChatbotAlert/ChatbotAlert.test.tsx +0 -1
  452. package/src/ChatbotAlert/ChatbotAlert.tsx +2 -2
  453. package/src/ChatbotContent/ChatbotContent.test.tsx +0 -1
  454. package/src/ChatbotContent/ChatbotContent.tsx +3 -3
  455. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.tsx +0 -1
  456. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.tsx +6 -4
  457. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.tsx +3 -3
  458. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.tsx +8 -6
  459. package/src/ChatbotConversationHistoryNav/EmptyState.tsx +2 -2
  460. package/src/ChatbotConversationHistoryNav/LoadingState.tsx +2 -2
  461. package/src/ChatbotFooter/ChatbotFooter.test.tsx +0 -1
  462. package/src/ChatbotFooter/ChatbotFooter.tsx +3 -3
  463. package/src/ChatbotFooter/ChatbotFooternote.test.tsx +0 -1
  464. package/src/ChatbotFooter/ChatbotFootnote.tsx +6 -4
  465. package/src/ChatbotHeader/ChatbotHeader.test.tsx +0 -1
  466. package/src/ChatbotHeader/ChatbotHeader.tsx +3 -6
  467. package/src/ChatbotHeader/ChatbotHeaderActions.test.tsx +0 -1
  468. package/src/ChatbotHeader/ChatbotHeaderActions.tsx +2 -2
  469. package/src/ChatbotHeader/ChatbotHeaderCloseButton.test.tsx +0 -1
  470. package/src/ChatbotHeader/ChatbotHeaderCloseButton.tsx +5 -4
  471. package/src/ChatbotHeader/ChatbotHeaderMain.test.tsx +0 -1
  472. package/src/ChatbotHeader/ChatbotHeaderMain.tsx +2 -2
  473. package/src/ChatbotHeader/ChatbotHeaderMenu.test.tsx +0 -1
  474. package/src/ChatbotHeader/ChatbotHeaderMenu.tsx +7 -7
  475. package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.tsx +9 -1
  476. package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.tsx +12 -5
  477. package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.tsx +9 -1
  478. package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.tsx +26 -6
  479. package/src/ChatbotHeader/ChatbotHeaderTitle.test.tsx +0 -1
  480. package/src/ChatbotHeader/ChatbotHeaderTitle.tsx +2 -2
  481. package/src/ChatbotModal/ChatbotModal.test.tsx +0 -1
  482. package/src/ChatbotModal/ChatbotModal.tsx +2 -2
  483. package/src/ChatbotPopover/ChatbotPopover.tsx +3 -3
  484. package/src/ChatbotToggle/ChatbotToggle.test.tsx +0 -1
  485. package/src/ChatbotToggle/ChatbotToggle.tsx +5 -3
  486. package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.tsx +0 -1
  487. package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.tsx +2 -2
  488. package/src/CodeModal/CodeModal.test.tsx +29 -2
  489. package/src/CodeModal/CodeModal.tsx +18 -8
  490. package/src/Compare/Compare.test.tsx +0 -1
  491. package/src/Compare/Compare.tsx +7 -6
  492. package/src/FileDetails/FileDetails.test.tsx +0 -1
  493. package/src/FileDetails/FileDetails.tsx +1 -1
  494. package/src/FileDetailsLabel/FileDetailsLabel.test.tsx +0 -1
  495. package/src/FileDetailsLabel/FileDetailsLabel.tsx +1 -1
  496. package/src/FileDropZone/FileDropZone.test.tsx +112 -1
  497. package/src/FileDropZone/FileDropZone.tsx +44 -4
  498. package/src/LoadingMessage/LoadingMessage.test.tsx +0 -1
  499. package/src/LoadingMessage/LoadingMessage.tsx +2 -2
  500. package/src/Message/CodeBlockMessage/CodeBlockMessage.scss +7 -0
  501. package/src/Message/CodeBlockMessage/CodeBlockMessage.tsx +126 -18
  502. package/src/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.tsx +223 -0
  503. package/src/Message/ErrorMessage/ErrorMessage.tsx +0 -1
  504. package/src/Message/ImageMessage/ImageMessage.tsx +1 -2
  505. package/src/Message/LinkMessage/LinkMessage.tsx +0 -1
  506. package/src/Message/ListMessage/ListItemMessage.tsx +0 -1
  507. package/src/Message/ListMessage/OrderedListMessage.tsx +0 -1
  508. package/src/Message/ListMessage/UnorderedListMessage.tsx +0 -1
  509. package/src/Message/Message.test.tsx +49 -6
  510. package/src/Message/Message.tsx +31 -14
  511. package/src/Message/MessageInput.tsx +5 -5
  512. package/src/Message/MessageLoading.tsx +0 -2
  513. package/src/Message/Plugins/index.ts +1 -0
  514. package/src/Message/Plugins/rehypeCodeBlockToggle.ts +24 -0
  515. package/src/Message/Plugins/rehypeMoveImagesOutOfParagraphs.ts +53 -0
  516. package/src/Message/QuickResponse/QuickResponse.tsx +4 -3
  517. package/src/Message/QuickStarts/FallbackImg.tsx +4 -3
  518. package/src/Message/QuickStarts/QuickStartTile.tsx +3 -3
  519. package/src/Message/QuickStarts/QuickStartTileDescription.test.tsx +0 -1
  520. package/src/Message/QuickStarts/QuickStartTileDescription.tsx +4 -3
  521. package/src/Message/QuickStarts/QuickStartTileHeader.tsx +2 -2
  522. package/src/Message/QuickStarts/types.ts +4 -3
  523. package/src/Message/TableMessage/TableMessage.tsx +4 -4
  524. package/src/Message/TableMessage/TbodyMessage.tsx +3 -3
  525. package/src/Message/TableMessage/TdMessage.tsx +1 -2
  526. package/src/Message/TableMessage/ThMessage.tsx +1 -2
  527. package/src/Message/TableMessage/TheadMessage.tsx +3 -2
  528. package/src/Message/TableMessage/TrMessage.tsx +4 -4
  529. package/src/Message/TextMessage/TextMessage.scss +2 -5
  530. package/src/Message/TextMessage/TextMessage.tsx +1 -2
  531. package/src/Message/UserFeedback/CloseButton.tsx +2 -2
  532. package/src/Message/UserFeedback/UserFeedback.test.tsx +0 -1
  533. package/src/Message/UserFeedback/UserFeedback.tsx +8 -6
  534. package/src/Message/UserFeedback/UserFeedbackComplete.test.tsx +0 -1
  535. package/src/Message/UserFeedback/UserFeedbackComplete.tsx +16 -14
  536. package/src/Message/index.ts +1 -0
  537. package/src/MessageBar/AttachButton.test.tsx +127 -8
  538. package/src/MessageBar/AttachButton.tsx +49 -6
  539. package/src/MessageBar/MessageBar.test.tsx +81 -30
  540. package/src/MessageBar/MessageBar.tsx +85 -19
  541. package/src/MessageBar/MicrophoneButton.tsx +10 -7
  542. package/src/MessageBar/SendButton.test.tsx +5 -6
  543. package/src/MessageBar/SendButton.tsx +4 -3
  544. package/src/MessageBar/StopButton.test.tsx +5 -6
  545. package/src/MessageBar/StopButton.tsx +4 -3
  546. package/src/MessageBox/JumpButton.test.tsx +4 -5
  547. package/src/MessageBox/JumpButton.tsx +3 -3
  548. package/src/MessageBox/MessageBox.test.tsx +295 -5
  549. package/src/MessageBox/MessageBox.tsx +301 -84
  550. package/src/PreviewAttachment/PreviewAttachment.test.tsx +44 -2
  551. package/src/PreviewAttachment/PreviewAttachment.tsx +24 -6
  552. package/src/ResponseActions/ResponseActionButton.test.tsx +0 -1
  553. package/src/ResponseActions/ResponseActionButton.tsx +6 -5
  554. package/src/ResponseActions/ResponseActions.test.tsx +121 -4
  555. package/src/ResponseActions/ResponseActions.tsx +71 -12
  556. package/src/Settings/SettingsForm.test.tsx +0 -1
  557. package/src/Settings/SettingsForm.tsx +2 -7
  558. package/src/SourceDetailsMenuItem/SourceDetailsMenuItem.tsx +2 -2
  559. package/src/SourcesCard/SourcesCard.test.tsx +14 -1
  560. package/src/SourcesCard/SourcesCard.tsx +19 -7
  561. package/src/TermsOfUse/TermsOfUse.test.tsx +0 -1
  562. package/src/TermsOfUse/TermsOfUse.tsx +6 -5
  563. package/tsconfig.cjs.json +0 -1
  564. package/tsconfig.json +3 -3
@@ -1,7 +1,7 @@
1
1
  // ============================================================================
2
2
  // Chatbot Attachment Menu
3
3
  // ============================================================================
4
- import React from 'react';
4
+ import type { FunctionComponent } from 'react';
5
5
 
6
6
  // Import PatternFly components
7
7
  import {
@@ -41,7 +41,7 @@ export interface AttachMenuProps extends DropdownProps {
41
41
  toggle: DropdownToggleProps | ((toggleRef: React.RefObject<any>) => React.ReactNode);
42
42
  }
43
43
 
44
- export const AttachMenu: React.FunctionComponent<AttachMenuProps> = ({
44
+ export const AttachMenu: FunctionComponent<AttachMenuProps> = ({
45
45
  className,
46
46
  filteredItems,
47
47
  handleTextInputChange,
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
- import { fireEvent, render, screen } from '@testing-library/react';
1
+ import { fireEvent, render, screen, within } from '@testing-library/react';
2
+ import '@testing-library/jest-dom';
3
3
  import AttachmentEdit, { AttachmentEditProps } from './AttachmentEdit';
4
4
 
5
5
  describe('AttachmentEdit', () => {
@@ -52,4 +52,48 @@ describe('AttachmentEdit', () => {
52
52
  fireEvent.click(screen.getByText('Cancel'));
53
53
  expect(onCancelHandler).toHaveBeenCalled();
54
54
  });
55
+
56
+ it('should render custom button text for footer actions buttons', () => {
57
+ render(
58
+ <AttachmentEdit
59
+ code="Hello world"
60
+ fileName="greetings.txt"
61
+ isModalOpen={true}
62
+ onCancel={jest.fn()}
63
+ onSave={jest.fn()}
64
+ handleModalToggle={jest.fn()}
65
+ primaryActionButtonText="Save"
66
+ secondaryActionButtonText="Close"
67
+ />
68
+ );
69
+
70
+ expect(screen.getByText('Save')).toBeInTheDocument();
71
+ expect(screen.getByText('Close')).toBeInTheDocument();
72
+ });
73
+
74
+ it('should render AttachmentEdit with custom classNames', async () => {
75
+ render(
76
+ <AttachmentEdit
77
+ code="Hello world"
78
+ fileName="greetings.txt"
79
+ isModalOpen={true}
80
+ onCancel={jest.fn()}
81
+ onSave={jest.fn()}
82
+ handleModalToggle={jest.fn()}
83
+ primaryActionButtonText="Save"
84
+ secondaryActionButtonText="Close"
85
+ modalHeaderClassName="custom-header-class"
86
+ modalBodyClassName="custom-body-class"
87
+ modalFooterClassName="custom-footer-class"
88
+ ></AttachmentEdit>
89
+ );
90
+
91
+ const modal = screen.getByRole('dialog');
92
+ const modalHeader = within(modal).getByRole('banner');
93
+ expect(modalHeader).toHaveClass('custom-header-class');
94
+ const modalBody = modal.querySelector('#code-modal-body');
95
+ expect(modalBody).toHaveClass('custom-body-class');
96
+ const modalfooter = within(modal).getByRole('contentinfo');
97
+ expect(modalfooter).toHaveClass('custom-footer-class');
98
+ });
55
99
  });
@@ -1,7 +1,7 @@
1
1
  // ============================================================================
2
2
  // Attachment Edit - Chatbot Code Snippet Editor
3
3
  // ============================================================================
4
- import React from 'react';
4
+ import type { FunctionComponent, MouseEvent as ReactMouseEvent } from 'react';
5
5
  import CodeModal from '../CodeModal';
6
6
  import { ChatbotDisplayMode } from '../Chatbot';
7
7
 
@@ -24,9 +24,19 @@ export interface AttachmentEditProps {
24
24
  displayMode?: ChatbotDisplayMode;
25
25
  /** Sets modal to compact styling. */
26
26
  isCompact?: boolean;
27
+ /** Primary action button text */
28
+ primaryActionButtonText?: string;
29
+ /** Secondary action button text */
30
+ secondaryActionButtonText?: string;
31
+ /** Class applied to modal header */
32
+ modalHeaderClassName?: string;
33
+ /** Class applied to modal body */
34
+ modalBodyClassName?: string;
35
+ /** Class applied to modal footer */
36
+ modalFooterClassName?: string;
27
37
  }
28
38
 
29
- export const AttachmentEdit: React.FunctionComponent<AttachmentEditProps> = ({
39
+ export const AttachmentEdit: FunctionComponent<AttachmentEditProps> = ({
30
40
  fileName,
31
41
  code,
32
42
  handleModalToggle,
@@ -35,14 +45,19 @@ export const AttachmentEdit: React.FunctionComponent<AttachmentEditProps> = ({
35
45
  onSave,
36
46
  title = 'Edit attachment',
37
47
  displayMode = ChatbotDisplayMode.default,
38
- isCompact
48
+ isCompact,
49
+ modalHeaderClassName,
50
+ modalBodyClassName,
51
+ modalFooterClassName,
52
+ primaryActionButtonText = 'Save',
53
+ secondaryActionButtonText = 'Cancel'
39
54
  }: AttachmentEditProps) => {
40
- const handleSave = (_event: React.MouseEvent | MouseEvent | KeyboardEvent, code) => {
55
+ const handleSave = (_event: ReactMouseEvent | MouseEvent | KeyboardEvent, code) => {
41
56
  handleModalToggle(_event);
42
57
  onSave(_event, code);
43
58
  };
44
59
 
45
- const handleCancel = (_event: React.MouseEvent | MouseEvent | KeyboardEvent) => {
60
+ const handleCancel = (_event: ReactMouseEvent | MouseEvent | KeyboardEvent) => {
46
61
  handleModalToggle(_event);
47
62
  onCancel(_event);
48
63
  };
@@ -55,11 +70,14 @@ export const AttachmentEdit: React.FunctionComponent<AttachmentEditProps> = ({
55
70
  isModalOpen={isModalOpen}
56
71
  onPrimaryAction={handleSave}
57
72
  onSecondaryAction={handleCancel}
58
- primaryActionBtn="Save"
59
- secondaryActionBtn="Cancel"
73
+ primaryActionBtn={primaryActionButtonText}
74
+ secondaryActionBtn={secondaryActionButtonText}
60
75
  title={title}
61
76
  displayMode={displayMode}
62
77
  isCompact={isCompact}
78
+ modalHeaderClassName={modalHeaderClassName}
79
+ modalBodyClassName={modalBodyClassName}
80
+ modalFooterClassName={modalFooterClassName}
63
81
  />
64
82
  );
65
83
  };
@@ -1,5 +1,4 @@
1
1
  import '@testing-library/jest-dom';
2
- import React from 'react';
3
2
  import { render, screen } from '@testing-library/react';
4
3
  import Chatbot from './Chatbot';
5
4
 
@@ -1,7 +1,9 @@
1
1
  // ============================================================================
2
2
  // Chatbot
3
3
  // ============================================================================
4
- import React from 'react';
4
+ import type { Ref, FunctionComponent } from 'react';
5
+
6
+ import { forwardRef } from 'react';
5
7
  import { motion } from 'framer-motion';
6
8
 
7
9
  export interface ChatbotProps {
@@ -29,7 +31,7 @@ export enum ChatbotDisplayMode {
29
31
  drawer = 'drawer'
30
32
  }
31
33
 
32
- const ChatbotBase: React.FunctionComponent<ChatbotProps> = ({
34
+ const ChatbotBase: FunctionComponent<ChatbotProps> = ({
33
35
  children,
34
36
  displayMode = ChatbotDisplayMode.default,
35
37
  isVisible = true,
@@ -69,7 +71,7 @@ const ChatbotBase: React.FunctionComponent<ChatbotProps> = ({
69
71
  );
70
72
  };
71
73
 
72
- const Chatbot = React.forwardRef((props: ChatbotProps, ref: React.Ref<HTMLDivElement>) => (
74
+ const Chatbot = forwardRef((props: ChatbotProps, ref: Ref<HTMLDivElement>) => (
73
75
  <ChatbotBase innerRef={ref} {...props} />
74
76
  ));
75
77
 
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { fireEvent, render, screen } from '@testing-library/react';
3
2
  import ChatbotAlert from './ChatbotAlert';
4
3
 
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type { FunctionComponent } from 'react';
2
2
  import { Alert, AlertActionCloseButton, AlertProps } from '@patternfly/react-core';
3
3
 
4
4
  export interface ChatbotAlert extends AlertProps {
@@ -6,7 +6,7 @@ export interface ChatbotAlert extends AlertProps {
6
6
  onClose?: () => void;
7
7
  }
8
8
 
9
- export const ChatbotAlert: React.FunctionComponent<ChatbotAlert> = ({
9
+ export const ChatbotAlert: FunctionComponent<ChatbotAlert> = ({
10
10
  variant = 'info',
11
11
  title,
12
12
  children = '',
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { render, screen } from '@testing-library/react';
3
2
  import ChatbotContent from './ChatbotContent';
4
3
 
@@ -1,16 +1,16 @@
1
1
  // ============================================================================
2
2
  // Chatbot Main
3
3
  // ============================================================================
4
- import React from 'react';
4
+ import type { HTMLProps, FunctionComponent } from 'react';
5
5
 
6
- export interface ChatbotContentProps extends React.HTMLProps<HTMLDivElement> {
6
+ export interface ChatbotContentProps extends HTMLProps<HTMLDivElement> {
7
7
  /** Content to be displayed in the chatbot */
8
8
  children: React.ReactNode;
9
9
  /** Custom classname for the ChatbotContent component */
10
10
  className?: string;
11
11
  }
12
12
 
13
- export const ChatbotContent: React.FunctionComponent<ChatbotContentProps> = ({
13
+ export const ChatbotContent: FunctionComponent<ChatbotContentProps> = ({
14
14
  children,
15
15
  className,
16
16
  ...props
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import '@testing-library/jest-dom';
3
2
  import { DropdownItem } from '@patternfly/react-core';
4
3
  import { fireEvent, render, screen, waitFor } from '@testing-library/react';
@@ -1,7 +1,9 @@
1
1
  // ============================================================================
2
2
  // Chatbot Header - Chatbot Conversation History Nav
3
3
  // ============================================================================
4
- import React from 'react';
4
+ import type { MouseEvent, FunctionComponent, Ref } from 'react';
5
+
6
+ import { useState } from 'react';
5
7
 
6
8
  // Import PatternFly components
7
9
  import { MenuToggleElement, Tooltip, MenuToggle, Dropdown, DropdownProps } from '@patternfly/react-core';
@@ -19,15 +21,15 @@ export interface ChatbotConversationHistoryDropdownProps extends Omit<DropdownPr
19
21
  onSelect?: (event?: React.MouseEvent, value?: string | number) => void;
20
22
  }
21
23
 
22
- export const ChatbotConversationHistoryDropdown: React.FunctionComponent<ChatbotConversationHistoryDropdownProps> = ({
24
+ export const ChatbotConversationHistoryDropdown: FunctionComponent<ChatbotConversationHistoryDropdownProps> = ({
23
25
  menuItems,
24
26
  menuClassName,
25
27
  onSelect,
26
28
  label
27
29
  }: ChatbotConversationHistoryDropdownProps) => {
28
- const [isOpen, setIsOpen] = React.useState(false);
30
+ const [isOpen, setIsOpen] = useState(false);
29
31
 
30
- const toggle = (toggleRef: React.Ref<MenuToggleElement>) => (
32
+ const toggle = (toggleRef: Ref<MenuToggleElement>) => (
31
33
  <Tooltip
32
34
  className="pf-chatbot__tooltip"
33
35
  content={label ?? 'Conversation options'}
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import '@testing-library/jest-dom';
3
2
  import { fireEvent, render, screen, waitFor } from '@testing-library/react';
4
3
 
@@ -6,6 +5,7 @@ import { ChatbotDisplayMode } from '../Chatbot/Chatbot';
6
5
  import ChatbotConversationHistoryNav, { Conversation } from './ChatbotConversationHistoryNav';
7
6
  import { EmptyStateStatus, Spinner } from '@patternfly/react-core';
8
7
  import { OutlinedCommentsIcon, SearchIcon } from '@patternfly/react-icons';
8
+ import { ComponentType } from 'react';
9
9
 
10
10
  const ERROR = {
11
11
  bodyText: (
@@ -25,13 +25,13 @@ const ERROR = {
25
25
  const NO_RESULTS = {
26
26
  bodyText: 'Adjust your search query and try again. Check your spelling or try a more general term.',
27
27
  titleText: 'No results found',
28
- icon: SearchIcon
28
+ icon: SearchIcon as ComponentType<any>
29
29
  };
30
30
 
31
31
  const EMPTY_STATE = {
32
32
  bodyText: 'Access timely assistance by starting a conversation with an AI model.',
33
33
  titleText: 'Start a new chat',
34
- icon: OutlinedCommentsIcon
34
+ icon: OutlinedCommentsIcon as ComponentType<any>
35
35
  };
36
36
 
37
37
  const ERROR_WITHOUT_BUTTON = {
@@ -1,7 +1,9 @@
1
1
  // ============================================================================
2
2
  // Chatbot Header - Chatbot Conversation History Nav
3
3
  // ============================================================================
4
- import React from 'react';
4
+ import type { KeyboardEvent, FunctionComponent } from 'react';
5
+
6
+ import { useRef, Fragment } from 'react';
5
7
 
6
8
  // Import PatternFly components
7
9
  import {
@@ -120,7 +122,7 @@ export interface ChatbotConversationHistoryNavProps extends DrawerProps {
120
122
  isCompact?: boolean;
121
123
  }
122
124
 
123
- export const ChatbotConversationHistoryNav: React.FunctionComponent<ChatbotConversationHistoryNavProps> = ({
125
+ export const ChatbotConversationHistoryNav: FunctionComponent<ChatbotConversationHistoryNavProps> = ({
124
126
  onDrawerToggle,
125
127
  isDrawerOpen,
126
128
  setIsDrawerOpen,
@@ -152,7 +154,7 @@ export const ChatbotConversationHistoryNav: React.FunctionComponent<ChatbotConve
152
154
  isCompact,
153
155
  ...props
154
156
  }: ChatbotConversationHistoryNavProps) => {
155
- const drawerRef = React.useRef<HTMLDivElement>(null);
157
+ const drawerRef = useRef<HTMLDivElement>(null);
156
158
 
157
159
  const onExpand = () => {
158
160
  drawerRef.current && drawerRef.current.focus();
@@ -190,7 +192,7 @@ export const ChatbotConversationHistoryNav: React.FunctionComponent<ChatbotConve
190
192
  return (
191
193
  <MenuList>
192
194
  {conversations.map((conversation) => (
193
- <React.Fragment key={conversation.id}>{getNavItem(conversation)}</React.Fragment>
195
+ <Fragment key={conversation.id}>{getNavItem(conversation)}</Fragment>
194
196
  ))}
195
197
  </MenuList>
196
198
  );
@@ -202,7 +204,7 @@ export const ChatbotConversationHistoryNav: React.FunctionComponent<ChatbotConve
202
204
  <MenuGroup className="pf-chatbot__menu-item-header" label={navGroup} key={navGroup}>
203
205
  <MenuList>
204
206
  {conversations[navGroup].map((conversation) => (
205
- <React.Fragment key={conversation.id}>{getNavItem(conversation)}</React.Fragment>
207
+ <Fragment key={conversation.id}>{getNavItem(conversation)}</Fragment>
206
208
  ))}
207
209
  </MenuList>
208
210
  </MenuGroup>
@@ -283,7 +285,7 @@ export const ChatbotConversationHistoryNav: React.FunctionComponent<ChatbotConve
283
285
 
284
286
  // An onKeyDown property must be passed to the Drawer component to handle closing
285
287
  // the drawer panel and deactivating the focus trap via the Escape key.
286
- const onEscape = (event: React.KeyboardEvent) => {
288
+ const onEscape = (event: KeyboardEvent) => {
287
289
  if (event.key === 'Escape') {
288
290
  // prevents using escape key on menu buttons from closing the panel, but I'm not sure if this is allowed
289
291
  if (event.target instanceof HTMLInputElement && event.target.type !== 'button') {
@@ -6,7 +6,7 @@ import {
6
6
  EmptyStateFooter,
7
7
  EmptyStateProps
8
8
  } from '@patternfly/react-core';
9
- import React from 'react';
9
+ import type { FunctionComponent } from 'react';
10
10
 
11
11
  export interface HistoryEmptyStateProps extends EmptyStateProps {
12
12
  onClick?: () => void;
@@ -16,7 +16,7 @@ export interface HistoryEmptyStateProps extends EmptyStateProps {
16
16
  hasButton?: boolean;
17
17
  }
18
18
 
19
- export const HistoryEmptyState: React.FunctionComponent<HistoryEmptyStateProps> = ({
19
+ export const HistoryEmptyState: FunctionComponent<HistoryEmptyStateProps> = ({
20
20
  bodyText,
21
21
  buttonIcon,
22
22
  buttonText,
@@ -1,7 +1,7 @@
1
1
  import { Skeleton, SkeletonProps } from '@patternfly/react-core';
2
- import React from 'react';
2
+ import type { FunctionComponent } from 'react';
3
3
 
4
- export const LoadingState: React.FunctionComponent<SkeletonProps> = ({ screenreaderText, ...rest }: SkeletonProps) => (
4
+ export const LoadingState: FunctionComponent<SkeletonProps> = ({ screenreaderText, ...rest }: SkeletonProps) => (
5
5
  <div className="pf-chatbot__history-loading">
6
6
  <div className="pf-chatbot__history-loading-block">
7
7
  <Skeleton
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { render, screen } from '@testing-library/react';
3
2
  import ChatbotFooter from './ChatbotFooter';
4
3
  import '@testing-library/jest-dom';
@@ -8,11 +8,11 @@
8
8
  // - Footnote
9
9
  // - Footnote popover
10
10
 
11
- import React from 'react';
11
+ import type { HTMLProps, FunctionComponent } from 'react';
12
12
 
13
13
  import { Divider } from '@patternfly/react-core';
14
14
 
15
- export interface ChatbotFooterProps extends React.HTMLProps<HTMLDivElement> {
15
+ export interface ChatbotFooterProps extends HTMLProps<HTMLDivElement> {
16
16
  /** Children for the Footer that supports MessageBar and FootNote components*/
17
17
  children?: React.ReactNode;
18
18
  /** Custom classname for the Footer component */
@@ -20,7 +20,7 @@ export interface ChatbotFooterProps extends React.HTMLProps<HTMLDivElement> {
20
20
  isCompact?: boolean;
21
21
  }
22
22
 
23
- export const ChatbotFooter: React.FunctionComponent<ChatbotFooterProps> = ({
23
+ export const ChatbotFooter: FunctionComponent<ChatbotFooterProps> = ({
24
24
  children,
25
25
  className,
26
26
  isCompact,
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { act, fireEvent, render, screen, waitFor } from '@testing-library/react';
3
2
  import ChatbotFootnote from './ChatbotFootnote';
4
3
 
@@ -2,7 +2,9 @@
2
2
  // Chatbot Footer - Footnote
3
3
  // ============================================================================
4
4
 
5
- import React from 'react';
5
+ import type { HTMLProps, FunctionComponent } from 'react';
6
+
7
+ import { useState } from 'react';
6
8
 
7
9
  // Import Patternfly components
8
10
  import { Button, Content, ContentVariants, Flex, PopoverProps } from '@patternfly/react-core';
@@ -14,7 +16,7 @@ import { ExternalLinkAltIcon } from '@patternfly/react-icons/dist/esm/icons/exte
14
16
  // Import Chatbot components
15
17
  import ChatbotPopover from '../ChatbotPopover/ChatbotPopover';
16
18
 
17
- export interface ChatbotFootnoteProps extends React.HTMLProps<HTMLDivElement> {
19
+ export interface ChatbotFootnoteProps extends Omit<HTMLProps<HTMLDivElement>, 'popover'> {
18
20
  /** Label to show for the footnote */
19
21
  label: string;
20
22
  /** Config for the popover which opens up when footnote is clicked */
@@ -58,14 +60,14 @@ export interface ChatbotFootnotePopoverLink {
58
60
  url: string;
59
61
  }
60
62
 
61
- export const ChatbotFootnote: React.FunctionComponent<ChatbotFootnoteProps> = ({
63
+ export const ChatbotFootnote: FunctionComponent<ChatbotFootnoteProps> = ({
62
64
  label,
63
65
  popover,
64
66
  className,
65
67
  ...props
66
68
  }: ChatbotFootnoteProps) => {
67
69
  // Popover visibility state
68
- const [isVisible, setIsVisible] = React.useState<boolean>(false);
70
+ const [isVisible, setIsVisible] = useState<boolean>(false);
69
71
 
70
72
  // Define popover body content
71
73
  const popoverBodyContent = (
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { render, screen } from '@testing-library/react';
3
2
  import ChatbotHeader from './ChatbotHeader';
4
3
 
@@ -1,18 +1,15 @@
1
- import React from 'react';
1
+ import type { HTMLProps, FunctionComponent } from 'react';
2
2
 
3
3
  import { Divider } from '@patternfly/react-core';
4
4
 
5
- export interface ChatbotHeaderProps extends React.HTMLProps<HTMLDivElement> {
5
+ export interface ChatbotHeaderProps extends HTMLProps<HTMLDivElement> {
6
6
  /** Content to be displayed in the chatbot header */
7
7
  children: React.ReactNode;
8
8
  /** Custom classname for the header component */
9
9
  className?: string;
10
10
  }
11
11
 
12
- export const ChatbotHeader: React.FunctionComponent<ChatbotHeaderProps> = ({
13
- className,
14
- children
15
- }: ChatbotHeaderProps) => (
12
+ export const ChatbotHeader: FunctionComponent<ChatbotHeaderProps> = ({ className, children }: ChatbotHeaderProps) => (
16
13
  <div className="pf-chatbot__header-container">
17
14
  <div className={`pf-chatbot__header${className ? ` ${className}` : ''}`}>{children}</div>
18
15
  <Divider className="pf-chatbot__header__divider" />
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { render, screen } from '@testing-library/react';
3
2
  import ChatbotHeaderActions from './ChatbotHeaderActions';
4
3
 
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type { FunctionComponent } from 'react';
2
2
 
3
3
  export interface ChatbotHeaderActionsProps {
4
4
  /** Content to be displayed in the chatbot header */
@@ -7,7 +7,7 @@ export interface ChatbotHeaderActionsProps {
7
7
  className?: string;
8
8
  }
9
9
 
10
- export const ChatbotHeaderActions: React.FunctionComponent<ChatbotHeaderActionsProps> = ({
10
+ export const ChatbotHeaderActions: FunctionComponent<ChatbotHeaderActionsProps> = ({
11
11
  className,
12
12
  children
13
13
  }: ChatbotHeaderActionsProps) => <div className={`pf-chatbot__actions ${className || ''}`}>{children}</div>;
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { fireEvent, render, screen } from '@testing-library/react';
3
2
  import { ChatbotHeaderCloseButton } from './ChatbotHeaderCloseButton';
4
3
  import '@testing-library/jest-dom';
@@ -1,4 +1,5 @@
1
- import React from 'react';
1
+ import type { Ref, FunctionComponent } from 'react';
2
+ import { forwardRef } from 'react';
2
3
 
3
4
  import { Button, ButtonProps, Icon, Tooltip, TooltipProps } from '@patternfly/react-core';
4
5
  import { CloseIcon } from '@patternfly/react-icons';
@@ -20,7 +21,7 @@ export interface ChatbotHeaderCloseButtonProps extends ButtonProps {
20
21
  isCompact?: boolean;
21
22
  }
22
23
 
23
- const ChatbotHeaderCloseButtonBase: React.FunctionComponent<ChatbotHeaderCloseButtonProps> = ({
24
+ const ChatbotHeaderCloseButtonBase: FunctionComponent<ChatbotHeaderCloseButtonProps> = ({
24
25
  className,
25
26
  onClick,
26
27
  tooltipProps,
@@ -56,8 +57,8 @@ const ChatbotHeaderCloseButtonBase: React.FunctionComponent<ChatbotHeaderCloseBu
56
57
  </div>
57
58
  );
58
59
 
59
- export const ChatbotHeaderCloseButton = React.forwardRef(
60
- (props: ChatbotHeaderCloseButtonProps, ref: React.Ref<HTMLButtonElement>) => (
60
+ export const ChatbotHeaderCloseButton = forwardRef(
61
+ (props: ChatbotHeaderCloseButtonProps, ref: Ref<HTMLButtonElement>) => (
61
62
  <ChatbotHeaderCloseButtonBase innerRef={ref} {...props} />
62
63
  )
63
64
  );
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { render, screen } from '@testing-library/react';
3
2
  import ChatbotHeaderMain from './ChatbotHeaderMain';
4
3
 
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type { FunctionComponent } from 'react';
2
2
 
3
3
  export interface ChatbotHeaderMainProps {
4
4
  /** Custom classname for the header component */
@@ -7,7 +7,7 @@ export interface ChatbotHeaderMainProps {
7
7
  children: React.ReactNode;
8
8
  }
9
9
 
10
- export const ChatbotHeaderMain: React.FunctionComponent<ChatbotHeaderMainProps> = ({
10
+ export const ChatbotHeaderMain: FunctionComponent<ChatbotHeaderMainProps> = ({
11
11
  className,
12
12
  children
13
13
  }: ChatbotHeaderMainProps) => (
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { fireEvent, render, screen } from '@testing-library/react';
3
2
  import { ChatbotHeaderMenu } from './ChatbotHeaderMenu';
4
3
  import '@testing-library/jest-dom';
@@ -1,4 +1,5 @@
1
- import React from 'react';
1
+ import type { Ref, FunctionComponent } from 'react';
2
+ import { forwardRef } from 'react';
2
3
 
3
4
  import { Button, ButtonProps, Icon, Tooltip, TooltipProps } from '@patternfly/react-core';
4
5
  import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
@@ -16,10 +17,11 @@ export interface ChatbotHeaderMenuProps extends ButtonProps {
16
17
  innerRef?: React.Ref<HTMLButtonElement>;
17
18
  /** Content used in tooltip */
18
19
  tooltipContent?: string;
20
+ /** Sets menu to compact styling. */
19
21
  isCompact?: boolean;
20
22
  }
21
23
 
22
- const ChatbotHeaderMenuBase: React.FunctionComponent<ChatbotHeaderMenuProps> = ({
24
+ const ChatbotHeaderMenuBase: FunctionComponent<ChatbotHeaderMenuProps> = ({
23
25
  className,
24
26
  onMenuToggle,
25
27
  tooltipProps,
@@ -55,8 +57,6 @@ const ChatbotHeaderMenuBase: React.FunctionComponent<ChatbotHeaderMenuProps> = (
55
57
  </div>
56
58
  );
57
59
 
58
- export const ChatbotHeaderMenu = React.forwardRef(
59
- (props: ChatbotHeaderMenuProps, ref: React.Ref<HTMLButtonElement>) => (
60
- <ChatbotHeaderMenuBase innerRef={ref} {...props} />
61
- )
62
- );
60
+ export const ChatbotHeaderMenu = forwardRef((props: ChatbotHeaderMenuProps, ref: Ref<HTMLButtonElement>) => (
61
+ <ChatbotHeaderMenuBase innerRef={ref} {...props} />
62
+ ));
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import { DropdownItem } from '@patternfly/react-core';
3
2
  import { act, fireEvent, render, screen, waitFor } from '@testing-library/react';
4
3
  import { ChatbotHeaderOptionsDropdown } from './ChatbotHeaderOptionsDropdown';
@@ -48,4 +47,13 @@ describe('ChatbotHeaderOptionsDropdown', () => {
48
47
  render(<ChatbotHeaderOptionsDropdown isCompact>{dropdownItems}</ChatbotHeaderOptionsDropdown>);
49
48
  expect(screen.getByRole('button', { name: 'Chatbot options' })).toHaveClass('pf-m-compact');
50
49
  });
50
+
51
+ it('should handle toggleProps', () => {
52
+ render(
53
+ <ChatbotHeaderOptionsDropdown isCompact toggleProps={{ isDisabled: true }}>
54
+ {dropdownItems}
55
+ </ChatbotHeaderOptionsDropdown>
56
+ );
57
+ expect(screen.getByRole('button', { name: /Chatbot options/i })).toBeDisabled();
58
+ });
51
59
  });