@patternfly/chatbot 6.3.0-prerelease.9 → 6.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (559) hide show
  1. package/dist/cjs/AttachMenu/AttachMenu.d.ts +2 -2
  2. package/dist/cjs/AttachMenu/AttachMenu.js +2 -12
  3. package/dist/cjs/AttachmentEdit/AttachmentEdit.d.ts +12 -2
  4. package/dist/cjs/AttachmentEdit/AttachmentEdit.js +3 -6
  5. package/dist/cjs/AttachmentEdit/AttachmentEdit.test.d.ts +1 -1
  6. package/dist/cjs/AttachmentEdit/AttachmentEdit.test.js +33 -8
  7. package/dist/cjs/Chatbot/Chatbot.d.ts +1 -2
  8. package/dist/cjs/Chatbot/Chatbot.js +4 -9
  9. package/dist/cjs/Chatbot/Chatbot.test.js +11 -11
  10. package/dist/cjs/ChatbotAlert/ChatbotAlert.d.ts +2 -2
  11. package/dist/cjs/ChatbotAlert/ChatbotAlert.js +4 -8
  12. package/dist/cjs/ChatbotAlert/ChatbotAlert.test.js +10 -10
  13. package/dist/cjs/ChatbotContent/ChatbotContent.d.ts +3 -3
  14. package/dist/cjs/ChatbotContent/ChatbotContent.js +2 -8
  15. package/dist/cjs/ChatbotContent/ChatbotContent.test.js +5 -5
  16. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.d.ts +2 -2
  17. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +7 -11
  18. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +31 -33
  19. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +2 -2
  20. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +16 -33
  21. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +56 -64
  22. package/dist/cjs/ChatbotConversationHistoryNav/EmptyState.d.ts +2 -2
  23. package/dist/cjs/ChatbotConversationHistoryNav/EmptyState.js +2 -9
  24. package/dist/cjs/ChatbotConversationHistoryNav/LoadingState.d.ts +2 -2
  25. package/dist/cjs/ChatbotConversationHistoryNav/LoadingState.js +2 -25
  26. package/dist/cjs/ChatbotFooter/ChatbotFooter.d.ts +3 -3
  27. package/dist/cjs/ChatbotFooter/ChatbotFooter.js +2 -15
  28. package/dist/cjs/ChatbotFooter/ChatbotFooter.test.js +7 -7
  29. package/dist/cjs/ChatbotFooter/ChatbotFooternote.test.js +28 -28
  30. package/dist/cjs/ChatbotFooter/ChatbotFootnote.d.ts +3 -3
  31. package/dist/cjs/ChatbotFooter/ChatbotFootnote.js +10 -23
  32. package/dist/cjs/ChatbotHeader/ChatbotHeader.d.ts +3 -3
  33. package/dist/cjs/ChatbotHeader/ChatbotHeader.js +2 -7
  34. package/dist/cjs/ChatbotHeader/ChatbotHeader.test.js +5 -5
  35. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.d.ts +2 -2
  36. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.js +2 -5
  37. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.test.js +5 -5
  38. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +1 -2
  39. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.js +5 -10
  40. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.js +7 -10
  41. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.d.ts +2 -2
  42. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.js +2 -5
  43. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.test.js +5 -5
  44. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.d.ts +2 -2
  45. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.js +5 -7
  46. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.js +7 -10
  47. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +6 -3
  48. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +8 -9
  49. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +19 -21
  50. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +8 -3
  51. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +11 -12
  52. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +17 -19
  53. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.d.ts +2 -2
  54. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.js +2 -5
  55. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.test.js +23 -23
  56. package/dist/cjs/ChatbotModal/ChatbotModal.d.ts +2 -2
  57. package/dist/cjs/ChatbotModal/ChatbotModal.js +3 -9
  58. package/dist/cjs/ChatbotModal/ChatbotModal.test.js +4 -16
  59. package/dist/cjs/ChatbotPopover/ChatbotPopover.d.ts +2 -2
  60. package/dist/cjs/ChatbotPopover/ChatbotPopover.js +2 -8
  61. package/dist/cjs/ChatbotToggle/ChatbotToggle.d.ts +1 -2
  62. package/dist/cjs/ChatbotToggle/ChatbotToggle.js +8 -13
  63. package/dist/cjs/ChatbotToggle/ChatbotToggle.test.js +25 -25
  64. package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +2 -2
  65. package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +6 -20
  66. package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +16 -16
  67. package/dist/cjs/CodeModal/CodeModal.d.ts +8 -2
  68. package/dist/cjs/CodeModal/CodeModal.js +8 -20
  69. package/dist/cjs/CodeModal/CodeModal.test.js +23 -4
  70. package/dist/cjs/Compare/Compare.d.ts +2 -2
  71. package/dist/cjs/Compare/Compare.js +7 -16
  72. package/dist/cjs/Compare/Compare.test.js +7 -9
  73. package/dist/cjs/FileDetails/FileDetails.d.ts +2 -2
  74. package/dist/cjs/FileDetails/FileDetails.js +2 -15
  75. package/dist/cjs/FileDetails/FileDetails.test.js +10 -10
  76. package/dist/cjs/FileDetailsLabel/FileDetailsLabel.d.ts +2 -2
  77. package/dist/cjs/FileDetailsLabel/FileDetailsLabel.js +2 -5
  78. package/dist/cjs/FileDetailsLabel/FileDetailsLabel.test.js +21 -21
  79. package/dist/cjs/FileDropZone/FileDropZone.d.ts +23 -2
  80. package/dist/cjs/FileDropZone/FileDropZone.js +11 -9
  81. package/dist/cjs/FileDropZone/FileDropZone.test.js +86 -5
  82. package/dist/cjs/LoadingMessage/LoadingMessage.d.ts +2 -2
  83. package/dist/cjs/LoadingMessage/LoadingMessage.js +2 -10
  84. package/dist/cjs/LoadingMessage/LoadingMessage.test.js +6 -6
  85. package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.d.ts +20 -3
  86. package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.js +30 -21
  87. package/dist/cjs/Message/ErrorMessage/ErrorMessage.d.ts +1 -2
  88. package/dist/cjs/Message/ErrorMessage/ErrorMessage.js +5 -8
  89. package/dist/cjs/Message/ImageMessage/ImageMessage.d.ts +1 -2
  90. package/dist/cjs/Message/ImageMessage/ImageMessage.js +2 -8
  91. package/dist/cjs/Message/LinkMessage/LinkMessage.d.ts +1 -2
  92. package/dist/cjs/Message/LinkMessage/LinkMessage.js +6 -9
  93. package/dist/cjs/Message/ListMessage/ListItemMessage.d.ts +1 -2
  94. package/dist/cjs/Message/ListMessage/ListItemMessage.js +2 -8
  95. package/dist/cjs/Message/ListMessage/OrderedListMessage.d.ts +1 -2
  96. package/dist/cjs/Message/ListMessage/OrderedListMessage.js +2 -9
  97. package/dist/cjs/Message/ListMessage/UnorderedListMessage.d.ts +1 -2
  98. package/dist/cjs/Message/ListMessage/UnorderedListMessage.js +2 -9
  99. package/dist/cjs/Message/Message.d.ts +24 -8
  100. package/dist/cjs/Message/Message.js +49 -71
  101. package/dist/cjs/Message/Message.test.js +112 -82
  102. package/dist/cjs/Message/MessageInput.d.ts +2 -2
  103. package/dist/cjs/Message/MessageInput.js +5 -14
  104. package/dist/cjs/Message/MessageLoading.d.ts +1 -2
  105. package/dist/cjs/Message/MessageLoading.js +3 -8
  106. package/dist/cjs/Message/Plugins/index.d.ts +1 -0
  107. package/dist/cjs/Message/Plugins/index.js +5 -0
  108. package/dist/cjs/Message/Plugins/rehypeCodeBlockToggle.d.ts +2 -0
  109. package/dist/cjs/Message/Plugins/rehypeCodeBlockToggle.js +24 -0
  110. package/dist/cjs/Message/Plugins/rehypeMoveImagesOutOfParagraphs.d.ts +2 -0
  111. package/dist/cjs/Message/Plugins/rehypeMoveImagesOutOfParagraphs.js +47 -0
  112. package/dist/cjs/Message/QuickResponse/QuickResponse.d.ts +2 -2
  113. package/dist/cjs/Message/QuickResponse/QuickResponse.js +7 -9
  114. package/dist/cjs/Message/QuickStarts/FallbackImg.d.ts +2 -2
  115. package/dist/cjs/Message/QuickStarts/FallbackImg.js +5 -27
  116. package/dist/cjs/Message/QuickStarts/QuickStartTile.d.ts +2 -2
  117. package/dist/cjs/Message/QuickStarts/QuickStartTile.js +7 -43
  118. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.d.ts +2 -2
  119. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.js +9 -38
  120. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.js +16 -16
  121. package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.d.ts +2 -2
  122. package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.js +2 -26
  123. package/dist/cjs/Message/QuickStarts/types.d.ts +4 -3
  124. package/dist/cjs/Message/TableMessage/TableMessage.d.ts +1 -2
  125. package/dist/cjs/Message/TableMessage/TableMessage.js +8 -10
  126. package/dist/cjs/Message/TableMessage/TbodyMessage.d.ts +2 -3
  127. package/dist/cjs/Message/TableMessage/TbodyMessage.js +7 -9
  128. package/dist/cjs/Message/TableMessage/TdMessage.d.ts +1 -2
  129. package/dist/cjs/Message/TableMessage/TdMessage.js +2 -8
  130. package/dist/cjs/Message/TableMessage/ThMessage.d.ts +1 -2
  131. package/dist/cjs/Message/TableMessage/ThMessage.js +2 -8
  132. package/dist/cjs/Message/TableMessage/TheadMessage.d.ts +1 -2
  133. package/dist/cjs/Message/TableMessage/TheadMessage.js +2 -8
  134. package/dist/cjs/Message/TableMessage/TrMessage.d.ts +2 -3
  135. package/dist/cjs/Message/TableMessage/TrMessage.js +8 -10
  136. package/dist/cjs/Message/TextMessage/TextMessage.d.ts +1 -2
  137. package/dist/cjs/Message/TextMessage/TextMessage.js +2 -9
  138. package/dist/cjs/Message/UserFeedback/CloseButton.d.ts +2 -2
  139. package/dist/cjs/Message/UserFeedback/CloseButton.js +2 -8
  140. package/dist/cjs/Message/UserFeedback/UserFeedback.d.ts +2 -2
  141. package/dist/cjs/Message/UserFeedback/UserFeedback.js +12 -23
  142. package/dist/cjs/Message/UserFeedback/UserFeedback.test.js +53 -53
  143. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
  144. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.js +20 -44
  145. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.js +81 -91
  146. package/dist/cjs/Message/index.d.ts +1 -0
  147. package/dist/cjs/Message/index.js +3 -1
  148. package/dist/cjs/MessageBar/AttachButton.d.ts +25 -2
  149. package/dist/cjs/MessageBar/AttachButton.js +10 -20
  150. package/dist/cjs/MessageBar/AttachButton.test.js +102 -24
  151. package/dist/cjs/MessageBar/MessageBar.d.ts +31 -3
  152. package/dist/cjs/MessageBar/MessageBar.js +30 -32
  153. package/dist/cjs/MessageBar/MessageBar.test.js +122 -108
  154. package/dist/cjs/MessageBar/MicrophoneButton.d.ts +2 -2
  155. package/dist/cjs/MessageBar/MicrophoneButton.js +7 -14
  156. package/dist/cjs/MessageBar/SendButton.d.ts +3 -2
  157. package/dist/cjs/MessageBar/SendButton.js +3 -11
  158. package/dist/cjs/MessageBar/SendButton.test.js +15 -15
  159. package/dist/cjs/MessageBar/StopButton.d.ts +3 -2
  160. package/dist/cjs/MessageBar/StopButton.js +3 -12
  161. package/dist/cjs/MessageBar/StopButton.test.js +15 -15
  162. package/dist/cjs/MessageBox/JumpButton.d.ts +2 -2
  163. package/dist/cjs/MessageBox/JumpButton.js +2 -10
  164. package/dist/cjs/MessageBox/JumpButton.test.js +10 -10
  165. package/dist/cjs/MessageBox/MessageBox.d.ts +21 -5
  166. package/dist/cjs/MessageBox/MessageBox.js +170 -45
  167. package/dist/cjs/MessageBox/MessageBox.test.js +219 -6
  168. package/dist/cjs/PreviewAttachment/PreviewAttachment.d.ts +12 -2
  169. package/dist/cjs/PreviewAttachment/PreviewAttachment.js +3 -6
  170. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.d.ts +1 -1
  171. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.js +34 -12
  172. package/dist/cjs/ResponseActions/ResponseActionButton.d.ts +5 -5
  173. package/dist/cjs/ResponseActions/ResponseActionButton.js +5 -8
  174. package/dist/cjs/ResponseActions/ResponseActionButton.test.js +19 -19
  175. package/dist/cjs/ResponseActions/ResponseActions.d.ts +7 -3
  176. package/dist/cjs/ResponseActions/ResponseActions.js +39 -18
  177. package/dist/cjs/ResponseActions/ResponseActions.test.js +120 -41
  178. package/dist/cjs/Settings/SettingsForm.d.ts +2 -2
  179. package/dist/cjs/Settings/SettingsForm.js +2 -8
  180. package/dist/cjs/Settings/SettingsForm.test.js +9 -12
  181. package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
  182. package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -11
  183. package/dist/cjs/SourcesCard/SourcesCard.d.ts +12 -3
  184. package/dist/cjs/SourcesCard/SourcesCard.js +17 -42
  185. package/dist/cjs/SourcesCard/SourcesCard.test.js +70 -60
  186. package/dist/cjs/TermsOfUse/TermsOfUse.d.ts +3 -3
  187. package/dist/cjs/TermsOfUse/TermsOfUse.js +4 -16
  188. package/dist/cjs/TermsOfUse/TermsOfUse.test.js +31 -33
  189. package/dist/css/main.css +15 -7
  190. package/dist/css/main.css.map +1 -1
  191. package/dist/esm/AttachMenu/AttachMenu.d.ts +2 -2
  192. package/dist/esm/AttachMenu/AttachMenu.js +2 -9
  193. package/dist/esm/AttachmentEdit/AttachmentEdit.d.ts +12 -2
  194. package/dist/esm/AttachmentEdit/AttachmentEdit.js +3 -6
  195. package/dist/esm/AttachmentEdit/AttachmentEdit.test.d.ts +1 -1
  196. package/dist/esm/AttachmentEdit/AttachmentEdit.test.js +30 -5
  197. package/dist/esm/Chatbot/Chatbot.d.ts +1 -2
  198. package/dist/esm/Chatbot/Chatbot.js +4 -6
  199. package/dist/esm/Chatbot/Chatbot.test.js +6 -6
  200. package/dist/esm/ChatbotAlert/ChatbotAlert.d.ts +2 -2
  201. package/dist/esm/ChatbotAlert/ChatbotAlert.js +4 -5
  202. package/dist/esm/ChatbotAlert/ChatbotAlert.test.js +4 -4
  203. package/dist/esm/ChatbotContent/ChatbotContent.d.ts +3 -3
  204. package/dist/esm/ChatbotContent/ChatbotContent.js +2 -5
  205. package/dist/esm/ChatbotContent/ChatbotContent.test.js +3 -3
  206. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.d.ts +2 -2
  207. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +7 -11
  208. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +8 -10
  209. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +2 -2
  210. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +16 -33
  211. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +26 -34
  212. package/dist/esm/ChatbotConversationHistoryNav/EmptyState.d.ts +2 -2
  213. package/dist/esm/ChatbotConversationHistoryNav/EmptyState.js +2 -6
  214. package/dist/esm/ChatbotConversationHistoryNav/LoadingState.d.ts +2 -2
  215. package/dist/esm/ChatbotConversationHistoryNav/LoadingState.js +2 -22
  216. package/dist/esm/ChatbotFooter/ChatbotFooter.d.ts +3 -3
  217. package/dist/esm/ChatbotFooter/ChatbotFooter.js +2 -12
  218. package/dist/esm/ChatbotFooter/ChatbotFooter.test.js +4 -4
  219. package/dist/esm/ChatbotFooter/ChatbotFooternote.test.js +5 -5
  220. package/dist/esm/ChatbotFooter/ChatbotFootnote.d.ts +3 -3
  221. package/dist/esm/ChatbotFooter/ChatbotFootnote.js +10 -23
  222. package/dist/esm/ChatbotHeader/ChatbotHeader.d.ts +3 -3
  223. package/dist/esm/ChatbotHeader/ChatbotHeader.js +2 -4
  224. package/dist/esm/ChatbotHeader/ChatbotHeader.test.js +3 -3
  225. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.d.ts +2 -2
  226. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.js +2 -2
  227. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.js +3 -3
  228. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +1 -2
  229. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.js +5 -7
  230. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.js +4 -4
  231. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.d.ts +2 -2
  232. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.js +2 -2
  233. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.js +3 -3
  234. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.d.ts +2 -2
  235. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.js +5 -7
  236. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.js +4 -4
  237. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +6 -3
  238. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +8 -9
  239. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +9 -8
  240. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +8 -3
  241. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +11 -9
  242. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +9 -8
  243. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.d.ts +2 -2
  244. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.js +2 -2
  245. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.js +12 -12
  246. package/dist/esm/ChatbotModal/ChatbotModal.d.ts +2 -2
  247. package/dist/esm/ChatbotModal/ChatbotModal.js +3 -6
  248. package/dist/esm/ChatbotModal/ChatbotModal.test.js +2 -14
  249. package/dist/esm/ChatbotPopover/ChatbotPopover.d.ts +2 -2
  250. package/dist/esm/ChatbotPopover/ChatbotPopover.js +2 -5
  251. package/dist/esm/ChatbotToggle/ChatbotToggle.d.ts +1 -2
  252. package/dist/esm/ChatbotToggle/ChatbotToggle.js +8 -13
  253. package/dist/esm/ChatbotToggle/ChatbotToggle.test.js +8 -8
  254. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +2 -2
  255. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +6 -17
  256. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +8 -8
  257. package/dist/esm/CodeModal/CodeModal.d.ts +8 -2
  258. package/dist/esm/CodeModal/CodeModal.js +8 -20
  259. package/dist/esm/CodeModal/CodeModal.test.js +22 -3
  260. package/dist/esm/Compare/Compare.d.ts +2 -2
  261. package/dist/esm/Compare/Compare.js +7 -13
  262. package/dist/esm/Compare/Compare.test.js +4 -6
  263. package/dist/esm/FileDetails/FileDetails.d.ts +2 -2
  264. package/dist/esm/FileDetails/FileDetails.js +2 -15
  265. package/dist/esm/FileDetails/FileDetails.test.js +4 -4
  266. package/dist/esm/FileDetailsLabel/FileDetailsLabel.d.ts +2 -2
  267. package/dist/esm/FileDetailsLabel/FileDetailsLabel.js +2 -5
  268. package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.js +9 -9
  269. package/dist/esm/FileDropZone/FileDropZone.d.ts +23 -2
  270. package/dist/esm/FileDropZone/FileDropZone.js +11 -6
  271. package/dist/esm/FileDropZone/FileDropZone.test.js +84 -3
  272. package/dist/esm/LoadingMessage/LoadingMessage.d.ts +2 -2
  273. package/dist/esm/LoadingMessage/LoadingMessage.js +2 -10
  274. package/dist/esm/LoadingMessage/LoadingMessage.test.js +3 -3
  275. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.d.ts +20 -3
  276. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.js +31 -19
  277. package/dist/esm/Message/ErrorMessage/ErrorMessage.d.ts +1 -2
  278. package/dist/esm/Message/ErrorMessage/ErrorMessage.js +5 -5
  279. package/dist/esm/Message/ImageMessage/ImageMessage.d.ts +1 -2
  280. package/dist/esm/Message/ImageMessage/ImageMessage.js +2 -5
  281. package/dist/esm/Message/LinkMessage/LinkMessage.d.ts +1 -2
  282. package/dist/esm/Message/LinkMessage/LinkMessage.js +6 -6
  283. package/dist/esm/Message/ListMessage/ListItemMessage.d.ts +1 -2
  284. package/dist/esm/Message/ListMessage/ListItemMessage.js +2 -5
  285. package/dist/esm/Message/ListMessage/OrderedListMessage.d.ts +1 -2
  286. package/dist/esm/Message/ListMessage/OrderedListMessage.js +2 -6
  287. package/dist/esm/Message/ListMessage/UnorderedListMessage.d.ts +1 -2
  288. package/dist/esm/Message/ListMessage/UnorderedListMessage.js +2 -6
  289. package/dist/esm/Message/Message.d.ts +24 -8
  290. package/dist/esm/Message/Message.js +49 -71
  291. package/dist/esm/Message/Message.test.js +112 -82
  292. package/dist/esm/Message/MessageInput.d.ts +2 -2
  293. package/dist/esm/Message/MessageInput.js +5 -11
  294. package/dist/esm/Message/MessageLoading.d.ts +1 -2
  295. package/dist/esm/Message/MessageLoading.js +2 -4
  296. package/dist/esm/Message/Plugins/index.d.ts +1 -0
  297. package/dist/esm/Message/Plugins/index.js +1 -0
  298. package/dist/esm/Message/Plugins/rehypeCodeBlockToggle.d.ts +2 -0
  299. package/dist/esm/Message/Plugins/rehypeCodeBlockToggle.js +20 -0
  300. package/dist/esm/Message/Plugins/rehypeMoveImagesOutOfParagraphs.d.ts +2 -0
  301. package/dist/esm/Message/Plugins/rehypeMoveImagesOutOfParagraphs.js +43 -0
  302. package/dist/esm/Message/QuickResponse/QuickResponse.d.ts +2 -2
  303. package/dist/esm/Message/QuickResponse/QuickResponse.js +7 -6
  304. package/dist/esm/Message/QuickStarts/FallbackImg.d.ts +2 -2
  305. package/dist/esm/Message/QuickStarts/FallbackImg.js +5 -4
  306. package/dist/esm/Message/QuickStarts/QuickStartTile.d.ts +2 -2
  307. package/dist/esm/Message/QuickStarts/QuickStartTile.js +7 -20
  308. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.d.ts +2 -2
  309. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.js +9 -15
  310. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.js +5 -5
  311. package/dist/esm/Message/QuickStarts/QuickStartTileHeader.d.ts +2 -2
  312. package/dist/esm/Message/QuickStarts/QuickStartTileHeader.js +2 -3
  313. package/dist/esm/Message/QuickStarts/types.d.ts +4 -3
  314. package/dist/esm/Message/TableMessage/TableMessage.d.ts +1 -2
  315. package/dist/esm/Message/TableMessage/TableMessage.js +8 -7
  316. package/dist/esm/Message/TableMessage/TbodyMessage.d.ts +2 -3
  317. package/dist/esm/Message/TableMessage/TbodyMessage.js +7 -6
  318. package/dist/esm/Message/TableMessage/TdMessage.d.ts +1 -2
  319. package/dist/esm/Message/TableMessage/TdMessage.js +2 -5
  320. package/dist/esm/Message/TableMessage/ThMessage.d.ts +1 -2
  321. package/dist/esm/Message/TableMessage/ThMessage.js +2 -5
  322. package/dist/esm/Message/TableMessage/TheadMessage.d.ts +1 -2
  323. package/dist/esm/Message/TableMessage/TheadMessage.js +2 -5
  324. package/dist/esm/Message/TableMessage/TrMessage.d.ts +2 -3
  325. package/dist/esm/Message/TableMessage/TrMessage.js +8 -7
  326. package/dist/esm/Message/TextMessage/TextMessage.d.ts +1 -2
  327. package/dist/esm/Message/TextMessage/TextMessage.js +2 -6
  328. package/dist/esm/Message/UserFeedback/CloseButton.d.ts +2 -2
  329. package/dist/esm/Message/UserFeedback/CloseButton.js +2 -5
  330. package/dist/esm/Message/UserFeedback/UserFeedback.d.ts +2 -2
  331. package/dist/esm/Message/UserFeedback/UserFeedback.js +12 -23
  332. package/dist/esm/Message/UserFeedback/UserFeedback.test.js +21 -21
  333. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
  334. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.js +20 -44
  335. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.js +26 -36
  336. package/dist/esm/Message/index.d.ts +1 -0
  337. package/dist/esm/Message/index.js +1 -0
  338. package/dist/esm/MessageBar/AttachButton.d.ts +25 -2
  339. package/dist/esm/MessageBar/AttachButton.js +10 -17
  340. package/dist/esm/MessageBar/AttachButton.test.js +95 -17
  341. package/dist/esm/MessageBar/MessageBar.d.ts +31 -3
  342. package/dist/esm/MessageBar/MessageBar.js +28 -30
  343. package/dist/esm/MessageBar/MessageBar.test.js +87 -73
  344. package/dist/esm/MessageBar/MicrophoneButton.d.ts +2 -2
  345. package/dist/esm/MessageBar/MicrophoneButton.js +7 -11
  346. package/dist/esm/MessageBar/SendButton.d.ts +3 -2
  347. package/dist/esm/MessageBar/SendButton.js +3 -8
  348. package/dist/esm/MessageBar/SendButton.test.js +9 -9
  349. package/dist/esm/MessageBar/StopButton.d.ts +3 -2
  350. package/dist/esm/MessageBar/StopButton.js +3 -9
  351. package/dist/esm/MessageBar/StopButton.test.js +9 -9
  352. package/dist/esm/MessageBox/JumpButton.d.ts +2 -2
  353. package/dist/esm/MessageBox/JumpButton.js +2 -7
  354. package/dist/esm/MessageBox/JumpButton.test.js +9 -9
  355. package/dist/esm/MessageBox/MessageBox.d.ts +21 -5
  356. package/dist/esm/MessageBox/MessageBox.js +170 -45
  357. package/dist/esm/MessageBox/MessageBox.test.js +220 -7
  358. package/dist/esm/PreviewAttachment/PreviewAttachment.d.ts +12 -2
  359. package/dist/esm/PreviewAttachment/PreviewAttachment.js +3 -6
  360. package/dist/esm/PreviewAttachment/PreviewAttachment.test.d.ts +1 -1
  361. package/dist/esm/PreviewAttachment/PreviewAttachment.test.js +30 -5
  362. package/dist/esm/ResponseActions/ResponseActionButton.d.ts +5 -5
  363. package/dist/esm/ResponseActions/ResponseActionButton.js +5 -5
  364. package/dist/esm/ResponseActions/ResponseActionButton.test.js +7 -7
  365. package/dist/esm/ResponseActions/ResponseActions.d.ts +7 -3
  366. package/dist/esm/ResponseActions/ResponseActions.js +40 -19
  367. package/dist/esm/ResponseActions/ResponseActions.test.js +95 -16
  368. package/dist/esm/Settings/SettingsForm.d.ts +2 -2
  369. package/dist/esm/Settings/SettingsForm.js +2 -5
  370. package/dist/esm/Settings/SettingsForm.test.js +6 -6
  371. package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
  372. package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -8
  373. package/dist/esm/SourcesCard/SourcesCard.d.ts +12 -3
  374. package/dist/esm/SourcesCard/SourcesCard.js +17 -39
  375. package/dist/esm/SourcesCard/SourcesCard.test.js +29 -19
  376. package/dist/esm/TermsOfUse/TermsOfUse.d.ts +3 -3
  377. package/dist/esm/TermsOfUse/TermsOfUse.js +4 -16
  378. package/dist/esm/TermsOfUse/TermsOfUse.test.js +10 -12
  379. package/dist/tsconfig.tsbuildinfo +1 -1
  380. package/package.json +5 -7
  381. package/patternfly-docs/content/extensions/chatbot/design-guidelines.md +10 -0
  382. package/patternfly-docs/content/extensions/chatbot/examples/Customizing Messages/Customizing Messages.md +51 -0
  383. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachMenu.tsx +9 -9
  384. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentEdit.tsx +5 -5
  385. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentError.tsx +2 -2
  386. package/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +24 -20
  387. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetails.tsx +2 -2
  388. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetailsLabel.tsx +9 -9
  389. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDropZone.tsx +4 -4
  390. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithAttachment.tsx +7 -7
  391. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithClickedResponseActions.tsx +25 -0
  392. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithCustomResponseActions.tsx +3 -12
  393. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedback.tsx +4 -4
  394. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedbackTimeout.tsx +3 -3
  395. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickResponses.tsx +2 -2
  396. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickStart.tsx +2 -2
  397. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithResponseActions.tsx +3 -3
  398. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithSources.tsx +3 -3
  399. package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +19 -0
  400. package/patternfly-docs/content/extensions/chatbot/examples/Messages/PreviewAttachment.tsx +5 -5
  401. package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +25 -14
  402. package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessageWithExtraContent.tsx +4 -4
  403. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotContainer.tsx +59 -36
  404. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFooter.tsx +2 -2
  405. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFootnote.tsx +2 -2
  406. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderBasic.tsx +10 -13
  407. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawer.tsx +10 -10
  408. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerNavigation.tsx +5 -5
  409. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerResizable.tsx +5 -5
  410. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithActions.tsx +6 -6
  411. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithSelection.tsx +7 -7
  412. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderTitle.tsx +59 -34
  413. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBar.tsx +2 -2
  414. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarAttach.tsx +9 -9
  415. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarDisabled.tsx +3 -3
  416. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarLanguage.tsx +2 -2
  417. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarStop.tsx +2 -2
  418. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotModal.tsx +74 -37
  419. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotToggleBasic.tsx +3 -3
  420. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomeInteraction.tsx +8 -8
  421. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomePrompt.tsx +3 -3
  422. package/patternfly-docs/content/extensions/chatbot/examples/UI/CompactSettings.tsx +16 -23
  423. package/patternfly-docs/content/extensions/chatbot/examples/UI/CustomClosedIcon.tsx +3 -3
  424. package/patternfly-docs/content/extensions/chatbot/examples/UI/Settings.tsx +16 -23
  425. package/patternfly-docs/content/extensions/chatbot/examples/UI/SkipToContent.tsx +5 -5
  426. package/patternfly-docs/content/extensions/chatbot/examples/UI/SquareChatbotToggle.tsx +3 -3
  427. package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUse.tsx +91 -48
  428. package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUseCompact.tsx +82 -39
  429. package/patternfly-docs/content/extensions/chatbot/examples/UI/UI.md +3 -0
  430. package/patternfly-docs/content/extensions/chatbot/examples/demos/AttachmentDemos.md +37 -0
  431. package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +1 -0
  432. package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +19 -25
  433. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachment.tsx +42 -15
  434. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachmentMenu.tsx +15 -14
  435. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotCompact.tsx +19 -25
  436. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotInDrawer.tsx +17 -22
  437. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotScrolling.tsx +536 -0
  438. package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedChatbot.tsx +17 -22
  439. package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedComparisonChatbot.tsx +13 -13
  440. package/patternfly-docs/content/extensions/chatbot/examples/demos/Feedback.tsx +7 -7
  441. package/patternfly-docs/content/extensions/chatbot/img/quick-response-confirmation.svg +67 -0
  442. package/src/AttachMenu/AttachMenu.tsx +2 -2
  443. package/src/AttachmentEdit/AttachmentEdit.test.tsx +46 -2
  444. package/src/AttachmentEdit/AttachmentEdit.tsx +25 -7
  445. package/src/Chatbot/Chatbot.test.tsx +0 -1
  446. package/src/Chatbot/Chatbot.tsx +5 -3
  447. package/src/ChatbotAlert/ChatbotAlert.test.tsx +0 -1
  448. package/src/ChatbotAlert/ChatbotAlert.tsx +2 -2
  449. package/src/ChatbotContent/ChatbotContent.test.tsx +0 -1
  450. package/src/ChatbotContent/ChatbotContent.tsx +3 -3
  451. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.tsx +0 -1
  452. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.tsx +6 -4
  453. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.tsx +3 -3
  454. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.tsx +8 -6
  455. package/src/ChatbotConversationHistoryNav/EmptyState.tsx +2 -2
  456. package/src/ChatbotConversationHistoryNav/LoadingState.tsx +2 -2
  457. package/src/ChatbotFooter/ChatbotFooter.test.tsx +0 -1
  458. package/src/ChatbotFooter/ChatbotFooter.tsx +3 -3
  459. package/src/ChatbotFooter/ChatbotFooternote.test.tsx +0 -1
  460. package/src/ChatbotFooter/ChatbotFootnote.tsx +6 -4
  461. package/src/ChatbotHeader/ChatbotHeader.test.tsx +0 -1
  462. package/src/ChatbotHeader/ChatbotHeader.tsx +3 -6
  463. package/src/ChatbotHeader/ChatbotHeaderActions.test.tsx +0 -1
  464. package/src/ChatbotHeader/ChatbotHeaderActions.tsx +2 -2
  465. package/src/ChatbotHeader/ChatbotHeaderCloseButton.test.tsx +0 -1
  466. package/src/ChatbotHeader/ChatbotHeaderCloseButton.tsx +5 -4
  467. package/src/ChatbotHeader/ChatbotHeaderMain.test.tsx +0 -1
  468. package/src/ChatbotHeader/ChatbotHeaderMain.tsx +2 -2
  469. package/src/ChatbotHeader/ChatbotHeaderMenu.test.tsx +0 -1
  470. package/src/ChatbotHeader/ChatbotHeaderMenu.tsx +7 -7
  471. package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.tsx +9 -1
  472. package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.tsx +12 -5
  473. package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.tsx +9 -1
  474. package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.tsx +26 -6
  475. package/src/ChatbotHeader/ChatbotHeaderTitle.test.tsx +0 -1
  476. package/src/ChatbotHeader/ChatbotHeaderTitle.tsx +2 -2
  477. package/src/ChatbotModal/ChatbotModal.test.tsx +0 -1
  478. package/src/ChatbotModal/ChatbotModal.tsx +2 -2
  479. package/src/ChatbotPopover/ChatbotPopover.tsx +3 -3
  480. package/src/ChatbotToggle/ChatbotToggle.test.tsx +0 -1
  481. package/src/ChatbotToggle/ChatbotToggle.tsx +5 -3
  482. package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.tsx +0 -1
  483. package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.tsx +2 -2
  484. package/src/CodeModal/CodeModal.test.tsx +29 -2
  485. package/src/CodeModal/CodeModal.tsx +18 -8
  486. package/src/Compare/Compare.test.tsx +0 -1
  487. package/src/Compare/Compare.tsx +7 -6
  488. package/src/FileDetails/FileDetails.test.tsx +0 -1
  489. package/src/FileDetails/FileDetails.tsx +1 -1
  490. package/src/FileDetailsLabel/FileDetailsLabel.test.tsx +0 -1
  491. package/src/FileDetailsLabel/FileDetailsLabel.tsx +1 -1
  492. package/src/FileDropZone/FileDropZone.test.tsx +112 -1
  493. package/src/FileDropZone/FileDropZone.tsx +44 -4
  494. package/src/LoadingMessage/LoadingMessage.test.tsx +0 -1
  495. package/src/LoadingMessage/LoadingMessage.tsx +2 -2
  496. package/src/Message/CodeBlockMessage/CodeBlockMessage.scss +7 -0
  497. package/src/Message/CodeBlockMessage/CodeBlockMessage.tsx +104 -20
  498. package/src/Message/ErrorMessage/ErrorMessage.tsx +0 -1
  499. package/src/Message/ImageMessage/ImageMessage.tsx +1 -2
  500. package/src/Message/LinkMessage/LinkMessage.tsx +0 -1
  501. package/src/Message/ListMessage/ListItemMessage.tsx +0 -1
  502. package/src/Message/ListMessage/OrderedListMessage.tsx +0 -1
  503. package/src/Message/ListMessage/UnorderedListMessage.tsx +0 -1
  504. package/src/Message/Message.test.tsx +49 -6
  505. package/src/Message/Message.tsx +31 -14
  506. package/src/Message/MessageInput.tsx +5 -5
  507. package/src/Message/MessageLoading.tsx +0 -2
  508. package/src/Message/Plugins/index.ts +1 -0
  509. package/src/Message/Plugins/rehypeCodeBlockToggle.ts +24 -0
  510. package/src/Message/Plugins/rehypeMoveImagesOutOfParagraphs.ts +53 -0
  511. package/src/Message/QuickResponse/QuickResponse.tsx +4 -3
  512. package/src/Message/QuickStarts/FallbackImg.tsx +4 -3
  513. package/src/Message/QuickStarts/QuickStartTile.tsx +3 -3
  514. package/src/Message/QuickStarts/QuickStartTileDescription.test.tsx +0 -1
  515. package/src/Message/QuickStarts/QuickStartTileDescription.tsx +4 -3
  516. package/src/Message/QuickStarts/QuickStartTileHeader.tsx +2 -2
  517. package/src/Message/QuickStarts/types.ts +4 -3
  518. package/src/Message/TableMessage/TableMessage.tsx +4 -4
  519. package/src/Message/TableMessage/TbodyMessage.tsx +3 -3
  520. package/src/Message/TableMessage/TdMessage.tsx +1 -2
  521. package/src/Message/TableMessage/ThMessage.tsx +1 -2
  522. package/src/Message/TableMessage/TheadMessage.tsx +3 -2
  523. package/src/Message/TableMessage/TrMessage.tsx +4 -4
  524. package/src/Message/TextMessage/TextMessage.scss +2 -5
  525. package/src/Message/TextMessage/TextMessage.tsx +1 -2
  526. package/src/Message/UserFeedback/CloseButton.tsx +2 -2
  527. package/src/Message/UserFeedback/UserFeedback.test.tsx +0 -1
  528. package/src/Message/UserFeedback/UserFeedback.tsx +8 -6
  529. package/src/Message/UserFeedback/UserFeedbackComplete.test.tsx +0 -1
  530. package/src/Message/UserFeedback/UserFeedbackComplete.tsx +16 -14
  531. package/src/Message/index.ts +1 -0
  532. package/src/MessageBar/AttachButton.test.tsx +127 -8
  533. package/src/MessageBar/AttachButton.tsx +49 -6
  534. package/src/MessageBar/MessageBar.test.tsx +81 -30
  535. package/src/MessageBar/MessageBar.tsx +85 -19
  536. package/src/MessageBar/MicrophoneButton.tsx +10 -7
  537. package/src/MessageBar/SendButton.test.tsx +5 -6
  538. package/src/MessageBar/SendButton.tsx +4 -3
  539. package/src/MessageBar/StopButton.test.tsx +5 -6
  540. package/src/MessageBar/StopButton.tsx +4 -3
  541. package/src/MessageBox/JumpButton.test.tsx +4 -5
  542. package/src/MessageBox/JumpButton.tsx +3 -3
  543. package/src/MessageBox/MessageBox.test.tsx +295 -5
  544. package/src/MessageBox/MessageBox.tsx +301 -84
  545. package/src/PreviewAttachment/PreviewAttachment.test.tsx +44 -2
  546. package/src/PreviewAttachment/PreviewAttachment.tsx +24 -6
  547. package/src/ResponseActions/ResponseActionButton.test.tsx +0 -1
  548. package/src/ResponseActions/ResponseActionButton.tsx +6 -5
  549. package/src/ResponseActions/ResponseActions.test.tsx +121 -4
  550. package/src/ResponseActions/ResponseActions.tsx +71 -12
  551. package/src/Settings/SettingsForm.test.tsx +0 -1
  552. package/src/Settings/SettingsForm.tsx +2 -7
  553. package/src/SourceDetailsMenuItem/SourceDetailsMenuItem.tsx +2 -2
  554. package/src/SourcesCard/SourcesCard.test.tsx +14 -1
  555. package/src/SourcesCard/SourcesCard.tsx +19 -7
  556. package/src/TermsOfUse/TermsOfUse.test.tsx +0 -1
  557. package/src/TermsOfUse/TermsOfUse.tsx +6 -5
  558. package/tsconfig.cjs.json +0 -1
  559. package/tsconfig.json +3 -3
@@ -7,7 +7,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import React from 'react';
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ import { Fragment } from 'react';
11
12
  import { render, screen } from '@testing-library/react';
12
13
  import '@testing-library/jest-dom';
13
14
  import Message from './Message';
@@ -135,12 +136,11 @@ const EMPTY_TABLE = `
135
136
 
136
137
  `;
137
138
  const IMAGE = `![Multi-colored wavy lines on a black background](https://cdn.dribbble.com/userupload/10651749/file/original-8a07b8e39d9e8bf002358c66fce1223e.gif)`;
139
+ const INLINE_IMAGE = `inline text ![Multi-colored wavy lines on a black background](https://cdn.dribbble.com/userupload/10651749/file/original-8a07b8e39d9e8bf002358c66fce1223e.gif)`;
138
140
  const ERROR = {
139
141
  title: 'Could not load chat',
140
142
  children: 'Wait a few minutes and check your network settings. If the issue persists: ',
141
- actionLinks: (React.createElement(React.Fragment, null,
142
- React.createElement(AlertActionLink, { component: "a", href: "#" }, "Start a new chat"),
143
- React.createElement(AlertActionLink, { component: "a", href: "#" }, "Contact support")))
143
+ actionLinks: (_jsxs(Fragment, { children: [_jsx(AlertActionLink, { component: "a", href: "#", children: "Start a new chat" }), _jsx(AlertActionLink, { component: "a", href: "#", children: "Contact support" })] }))
144
144
  };
145
145
  const checkListItemsRendered = () => {
146
146
  const items = ['Item 1', 'Item 2', 'Item 3'];
@@ -155,7 +155,7 @@ describe('Message', () => {
155
155
  jest.clearAllMocks();
156
156
  });
157
157
  it('should render user messages correctly', () => {
158
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: "Hi" }));
158
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Hi" }));
159
159
  expect(screen.getByText('User')).toBeTruthy();
160
160
  expect(screen.getByText('Hi')).toBeTruthy();
161
161
  const date = new Date();
@@ -169,7 +169,7 @@ describe('Message', () => {
169
169
  expect(screen.getByRole('img')).toHaveAttribute('src', './img');
170
170
  });
171
171
  it('should render bot messages correctly', () => {
172
- render(React.createElement(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi" }));
172
+ render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi" }));
173
173
  expect(screen.getByText('Bot')).toBeTruthy();
174
174
  expect(screen.getByText('AI')).toBeTruthy();
175
175
  expect(screen.getByText('Hi')).toBeTruthy();
@@ -182,18 +182,18 @@ describe('Message', () => {
182
182
  })).toBeInTheDocument();
183
183
  });
184
184
  it('should render avatar correctly', () => {
185
- render(React.createElement(Message, { avatar: "./testImg", role: "bot", name: "Bot", content: "Hi" }));
185
+ render(_jsx(Message, { avatar: "./testImg", role: "bot", name: "Bot", content: "Hi" }));
186
186
  expect(screen.getByRole('img')).toHaveAttribute('src', './testImg');
187
187
  });
188
188
  it('should render botWord correctly', () => {
189
- render(React.createElement(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", botWord: "\u4EBA\u5DE5\u77E5\u80FD" }));
189
+ render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", botWord: "\u4EBA\u5DE5\u77E5\u80FD" }));
190
190
  expect(screen.getByText('Bot')).toBeTruthy();
191
191
  expect(screen.getByText('人工知能')).toBeTruthy();
192
192
  expect(screen.queryByText('AI')).toBeFalsy();
193
193
  expect(screen.getByText('Hi')).toBeTruthy();
194
194
  });
195
195
  it('should render timestamps', () => {
196
- render(React.createElement(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", timestamp: "2 hours ago" }));
196
+ render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", timestamp: "2 hours ago" }));
197
197
  expect(screen.getByText('Bot')).toBeTruthy();
198
198
  expect(screen.getByText('AI')).toBeTruthy();
199
199
  expect(screen.getByText('Hi')).toBeTruthy();
@@ -207,13 +207,13 @@ describe('Message', () => {
207
207
  })).not.toBeInTheDocument();
208
208
  });
209
209
  it('should render attachments', () => {
210
- render(React.createElement(Message, { avatar: "./img", role: "user", content: "Hi", attachments: [{ name: 'testAttachment' }] }));
210
+ render(_jsx(Message, { avatar: "./img", role: "user", content: "Hi", attachments: [{ name: 'testAttachment' }] }));
211
211
  expect(screen.getByText('Hi')).toBeTruthy();
212
212
  expect(screen.getByText('testAttachment')).toBeTruthy();
213
213
  });
214
214
  it('should be able to click attachments', () => __awaiter(void 0, void 0, void 0, function* () {
215
215
  const spy = jest.fn();
216
- render(React.createElement(Message, { avatar: "./img", role: "user", content: "Hi", attachments: [{ name: 'testAttachment', onClick: spy }] }));
216
+ render(_jsx(Message, { avatar: "./img", role: "user", content: "Hi", attachments: [{ name: 'testAttachment', onClick: spy }] }));
217
217
  expect(screen.getByText('Hi')).toBeTruthy();
218
218
  expect(screen.getByText('testAttachment')).toBeTruthy();
219
219
  yield userEvent.click(screen.getByRole('button', { name: /testAttachment/i }));
@@ -221,7 +221,7 @@ describe('Message', () => {
221
221
  }));
222
222
  it('should be able to close attachments', () => __awaiter(void 0, void 0, void 0, function* () {
223
223
  const spy = jest.fn();
224
- render(React.createElement(Message, { avatar: "./img", role: "user", content: "Hi", attachments: [{ name: 'testAttachment', onClose: spy }] }));
224
+ render(_jsx(Message, { avatar: "./img", role: "user", content: "Hi", attachments: [{ name: 'testAttachment', onClose: spy }] }));
225
225
  expect(screen.getByText('Hi')).toBeTruthy();
226
226
  expect(screen.getByText('testAttachment')).toBeTruthy();
227
227
  expect(screen.getByRole('button', { name: /close testAttachment/i })).toBeTruthy();
@@ -229,7 +229,7 @@ describe('Message', () => {
229
229
  expect(spy).toHaveBeenCalledTimes(1);
230
230
  }));
231
231
  it('should render loading state', () => {
232
- render(React.createElement(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", isLoading: true }));
232
+ render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", isLoading: true }));
233
233
  expect(screen.getByText('Bot')).toBeTruthy();
234
234
  expect(screen.getByText('AI')).toBeTruthy();
235
235
  expect(screen.queryByText('Hi')).toBeFalsy();
@@ -243,7 +243,7 @@ describe('Message', () => {
243
243
  expect(screen.getByText('Loading message')).toBeTruthy();
244
244
  });
245
245
  it('should be able to show sources', () => __awaiter(void 0, void 0, void 0, function* () {
246
- render(React.createElement(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", sources: {
246
+ render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", sources: {
247
247
  sources: [
248
248
  {
249
249
  title: 'Getting started with Red Hat OpenShift',
@@ -255,7 +255,7 @@ describe('Message', () => {
255
255
  expect(screen.getByText('Getting started with Red Hat OpenShift')).toBeTruthy();
256
256
  }));
257
257
  it('should not show sources if loading', () => {
258
- render(React.createElement(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", isLoading: true, sources: {
258
+ render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", isLoading: true, sources: {
259
259
  sources: [
260
260
  {
261
261
  title: 'Getting started with Red Hat OpenShift',
@@ -269,7 +269,7 @@ describe('Message', () => {
269
269
  });
270
270
  it('should be able to show quick response', () => __awaiter(void 0, void 0, void 0, function* () {
271
271
  const spy = jest.fn();
272
- render(React.createElement(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", quickResponses: [
272
+ render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", quickResponses: [
273
273
  {
274
274
  id: '1',
275
275
  content: 'Yes',
@@ -283,7 +283,7 @@ describe('Message', () => {
283
283
  expect(spy).toHaveBeenCalledTimes(1);
284
284
  }));
285
285
  it('should be able to handle isCompact', () => __awaiter(void 0, void 0, void 0, function* () {
286
- render(React.createElement(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", quickResponses: [
286
+ render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", quickResponses: [
287
287
  {
288
288
  id: '1',
289
289
  content: 'Yes',
@@ -296,7 +296,7 @@ describe('Message', () => {
296
296
  }));
297
297
  it('should be able to show more than 1 quick response', () => __awaiter(void 0, void 0, void 0, function* () {
298
298
  const spy = jest.fn();
299
- render(React.createElement(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", quickResponses: [
299
+ render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", quickResponses: [
300
300
  {
301
301
  id: '1',
302
302
  content: 'Yes',
@@ -313,7 +313,7 @@ describe('Message', () => {
313
313
  }));
314
314
  it('should be able to spread quickResponseContainerProps', () => __awaiter(void 0, void 0, void 0, function* () {
315
315
  const spy = jest.fn();
316
- render(React.createElement(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", quickResponses: [
316
+ render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", quickResponses: [
317
317
  {
318
318
  id: '1',
319
319
  content: 'Yes',
@@ -333,7 +333,7 @@ describe('Message', () => {
333
333
  expect(screen.getByRole('button', { name: /1 more/i }));
334
334
  }));
335
335
  it('should be able to show actions', () => __awaiter(void 0, void 0, void 0, function* () {
336
- render(React.createElement(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", actions: {
336
+ render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", actions: {
337
337
  // eslint-disable-next-line no-console
338
338
  positive: { onClick: () => console.log('Good response') },
339
339
  // eslint-disable-next-line no-console
@@ -343,6 +343,8 @@ describe('Message', () => {
343
343
  // eslint-disable-next-line no-console
344
344
  share: { onClick: () => console.log('Share') },
345
345
  // eslint-disable-next-line no-console
346
+ download: { onClick: () => console.log('Download') },
347
+ // eslint-disable-next-line no-console
346
348
  listen: { onClick: () => console.log('Listen') }
347
349
  } }));
348
350
  ALL_ACTIONS.forEach(({ label }) => {
@@ -350,7 +352,7 @@ describe('Message', () => {
350
352
  });
351
353
  }));
352
354
  it('should not show actions if loading', () => __awaiter(void 0, void 0, void 0, function* () {
353
- render(React.createElement(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", isLoading: true, actions: {
355
+ render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", isLoading: true, actions: {
354
356
  // eslint-disable-next-line no-console
355
357
  positive: { onClick: () => console.log('Good response') },
356
358
  // eslint-disable-next-line no-console
@@ -360,6 +362,8 @@ describe('Message', () => {
360
362
  // eslint-disable-next-line no-console
361
363
  share: { onClick: () => console.log('Share') },
362
364
  // eslint-disable-next-line no-console
365
+ download: { onClick: () => console.log('Download') },
366
+ // eslint-disable-next-line no-console
363
367
  listen: { onClick: () => console.log('Listen') }
364
368
  } }));
365
369
  expect(screen.getByText('Loading message')).toBeTruthy();
@@ -368,30 +372,30 @@ describe('Message', () => {
368
372
  });
369
373
  }));
370
374
  it('should render unordered lists correctly', () => {
371
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: UNORDERED_LIST }));
375
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: UNORDERED_LIST }));
372
376
  expect(screen.getByText('Here is an unordered list:')).toBeTruthy();
373
377
  checkListItemsRendered();
374
378
  });
375
379
  it('should render ordered lists correctly', () => {
376
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: ORDERED_LIST }));
380
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: ORDERED_LIST }));
377
381
  expect(screen.getByText('Here is an ordered list:')).toBeTruthy();
378
382
  checkListItemsRendered();
379
383
  });
380
384
  it('should render ordered lists correctly if there is interstitial content', () => {
381
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: ORDERED_LIST_WITH_CODE }));
385
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: ORDERED_LIST_WITH_CODE }));
382
386
  checkListItemsRendered();
383
387
  const list = screen.getAllByRole('list')[1];
384
388
  expect(list).toHaveAttribute('start', '3');
385
389
  });
386
390
  it('should render inline code', () => {
387
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: INLINE_CODE }));
391
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: INLINE_CODE }));
388
392
  expect(screen.getByText(/() => void/i)).toBeTruthy();
389
393
  expect(screen.queryByRole('button', { name: 'Copy code button' })).toBeFalsy();
390
394
  });
391
395
  it('should render code correctly', () => {
392
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: CODE_MESSAGE }));
396
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: CODE_MESSAGE }));
393
397
  expect(screen.getByText('Here is some YAML code:')).toBeTruthy();
394
- expect(screen.getByRole('button', { name: 'Copy code button' })).toBeTruthy();
398
+ expect(screen.getByRole('button', { name: 'Copy code' })).toBeTruthy();
395
399
  expect(screen.getByText(/yaml/)).toBeTruthy();
396
400
  expect(screen.getByText(/apiVersion:/i)).toBeTruthy();
397
401
  expect(screen.getByText(/helm.openshift.io\/v1beta1/i)).toBeTruthy();
@@ -403,44 +407,68 @@ describe('Message', () => {
403
407
  expect(screen.getByText(/url:/i)).toBeTruthy();
404
408
  expect(screen.getByText(/https:\/\/raw.githubusercontent.com\/Azure-Samples\/helm-charts\/master\/docs/i)).toBeTruthy();
405
409
  });
410
+ it('should render expandable code correctly', () => {
411
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: CODE_MESSAGE, codeBlockProps: { isExpandable: true } }));
412
+ expect(screen.getByText('Here is some YAML code:')).toBeTruthy();
413
+ expect(screen.getByRole('button', { name: 'Copy code' })).toBeTruthy();
414
+ expect(screen.getByText(/yaml/)).toBeTruthy();
415
+ expect(screen.getByText(/apiVersion/i)).toBeTruthy();
416
+ expect(screen.getByRole('button', { name: /Show more/i })).toBeTruthy();
417
+ });
418
+ it('should handle click on expandable code correctly', () => __awaiter(void 0, void 0, void 0, function* () {
419
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: CODE_MESSAGE, codeBlockProps: { isExpandable: true } }));
420
+ const button = screen.getByRole('button', { name: /Show more/i });
421
+ yield userEvent.click(button);
422
+ expect(screen.getByRole('button', { name: /Show less/i })).toBeTruthy();
423
+ expect(screen.getByText(/yaml/)).toBeTruthy();
424
+ expect(screen.getByText(/apiVersion:/i)).toBeTruthy();
425
+ expect(screen.getByText(/helm.openshift.io\/v1beta1/i)).toBeTruthy();
426
+ expect(screen.getByText(/metadata:/i)).toBeTruthy();
427
+ expect(screen.getByText(/name:/i)).toBeTruthy();
428
+ expect(screen.getByText(/azure-sample-repo0oooo00ooo/i)).toBeTruthy();
429
+ expect(screen.getByText(/spec/i)).toBeTruthy();
430
+ expect(screen.getByText(/connectionConfig:/i)).toBeTruthy();
431
+ expect(screen.getByText(/url:/i)).toBeTruthy();
432
+ expect(screen.getByText(/https:\/\/raw.githubusercontent.com\/Azure-Samples\/helm-charts\/master\/docs/i)).toBeTruthy();
433
+ }));
406
434
  it('can click copy code button', () => __awaiter(void 0, void 0, void 0, function* () {
407
435
  // need explicit setup since RTL stubs clipboard if you do this
408
436
  const user = userEvent.setup();
409
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: CODE_MESSAGE }));
410
- expect(screen.getByRole('button', { name: 'Copy code button' })).toBeTruthy();
411
- yield user.click(screen.getByRole('button', { name: 'Copy code button' }));
437
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: CODE_MESSAGE }));
438
+ expect(screen.getByRole('button', { name: 'Copy code' })).toBeTruthy();
439
+ yield user.click(screen.getByRole('button', { name: 'Copy code' }));
412
440
  const clipboardText = yield navigator.clipboard.readText();
413
441
  expect(clipboardText.trim()).toEqual(CODE.trim());
414
442
  }));
415
443
  it('should handle codeBlockProps correctly by spreading it onto the CodeMessage', () => {
416
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: CODE_MESSAGE, codeBlockProps: { 'aria-label': 'test' } }));
444
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: CODE_MESSAGE, codeBlockProps: { 'aria-label': 'test' } }));
417
445
  expect(screen.getByRole('button', { name: 'test' })).toBeTruthy();
418
446
  });
419
447
  it('should handle hasRoundAvatar correctly when it is true', () => {
420
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: "Hi", hasRoundAvatar: true }));
448
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Hi", hasRoundAvatar: true }));
421
449
  expect(screen.getByRole('img')).toBeTruthy();
422
450
  expect(screen.getByRole('img')).toHaveClass('pf-chatbot__message-avatar');
423
451
  expect(screen.getByRole('img')).toHaveClass('pf-chatbot__message-avatar--round');
424
452
  });
425
453
  it('should handle hasRoundAvatar correctly when it is false', () => {
426
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: "Hi", hasRoundAvatar: false }));
454
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Hi", hasRoundAvatar: false }));
427
455
  expect(screen.getByRole('img')).toBeTruthy();
428
456
  expect(screen.getByRole('img')).toHaveClass('pf-chatbot__message-avatar');
429
457
  expect(screen.getByRole('img')).not.toHaveClass('pf-chatbot__message-avatar--round');
430
458
  });
431
459
  it('should handle avatarProps correctly by spreading it onto the Message Avatar', () => {
432
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: "Hi", avatarProps: { className: 'test' } }));
460
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Hi", avatarProps: { className: 'test' } }));
433
461
  expect(screen.getByRole('img')).toBeTruthy();
434
462
  expect(screen.getByRole('img')).toHaveClass('test');
435
463
  });
436
464
  it('should handle avatarProps and hasRoundAvatar correctly', () => {
437
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: "Hi", avatarProps: { className: 'test' }, hasRoundAvatar: false }));
465
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Hi", avatarProps: { className: 'test' }, hasRoundAvatar: false }));
438
466
  expect(screen.getByRole('img')).toBeTruthy();
439
467
  expect(screen.getByRole('img')).toHaveClass('test');
440
468
  expect(screen.getByRole('img')).toHaveClass('pf-chatbot__message-avatar');
441
469
  });
442
470
  it('should handle QuickStart tile correctly', () => {
443
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: "Hi", quickStarts: {
471
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Hi", quickStarts: {
444
472
  quickStart: monitorSampleAppQuickStart,
445
473
  onSelectQuickStart: (id) => alert(id)
446
474
  } }));
@@ -451,7 +479,7 @@ describe('Message', () => {
451
479
  });
452
480
  it('should handle click on QuickStart tile correctly', () => __awaiter(void 0, void 0, void 0, function* () {
453
481
  const spy = jest.fn();
454
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: "Hi", quickStarts: {
482
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Hi", quickStarts: {
455
483
  quickStart: monitorSampleAppQuickStart,
456
484
  onSelectQuickStart: (id) => spy(id)
457
485
  } }));
@@ -461,20 +489,20 @@ describe('Message', () => {
461
489
  }));
462
490
  it('should handle QuickStart tile with image correctly', () => __awaiter(void 0, void 0, void 0, function* () {
463
491
  const spy = jest.fn();
464
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: "Hi", quickStarts: {
492
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Hi", quickStarts: {
465
493
  quickStart: monitorSampleAppQuickStartWithImage,
466
494
  onSelectQuickStart: (id) => spy(id)
467
495
  } }));
468
496
  expect(screen.getAllByRole('img')[1]).toHaveAttribute('src', 'test.png');
469
497
  }));
470
498
  it('should handle block quote correctly', () => {
471
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: BLOCK_QUOTES }));
499
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: BLOCK_QUOTES }));
472
500
  expect(screen.getByText(/Blockquotes can also be nested.../)).toBeTruthy();
473
501
  expect(screen.getByText('...by using additional greater-than signs (>) right next to each other...')).toBeTruthy();
474
502
  expect(screen.getByText(/...or with spaces between each sign./)).toBeTruthy();
475
503
  });
476
504
  it('should handle heading correctly', () => {
477
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: HEADING }));
505
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: HEADING }));
478
506
  expect(screen.getByRole('heading', { name: /h1 Heading/i })).toBeTruthy();
479
507
  expect(screen.getByRole('heading', { name: /h2 Heading/i })).toBeTruthy();
480
508
  expect(screen.getByRole('heading', { name: /h3 Heading/i })).toBeTruthy();
@@ -483,7 +511,7 @@ describe('Message', () => {
483
511
  expect(screen.getByRole('heading', { name: /h6 Heading/i })).toBeTruthy();
484
512
  });
485
513
  it('should render table correctly', () => {
486
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: TABLE }));
514
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: TABLE }));
487
515
  expect(screen.getByRole('row', { name: /Column 1 Column 2/i })).toBeTruthy();
488
516
  expect(screen.getByRole('row', { name: /Cell 1 Cell 2/i })).toBeTruthy();
489
517
  expect(screen.getByRole('row', { name: /Cell 3 Cell 4/i })).toBeTruthy();
@@ -495,7 +523,7 @@ describe('Message', () => {
495
523
  expect(screen.getByRole('cell', { name: /Cell 4/i })).toBeTruthy();
496
524
  });
497
525
  it('should render table data labels correctly for mobile breakpoint', () => {
498
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: TABLE }));
526
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: TABLE }));
499
527
  expect(screen.getByRole('row', { name: /Cell 1 Cell 2/i })).toHaveAttribute('extraHeaders', 'Column 1,Column 2');
500
528
  expect(screen.getByRole('row', { name: /Cell 3 Cell 4/i })).toHaveAttribute('extraHeaders', 'Column 1,Column 2');
501
529
  expect(screen.getByRole('cell', { name: /Cell 1/i })).toHaveAttribute('data-label', 'Column 1');
@@ -504,70 +532,70 @@ describe('Message', () => {
504
532
  expect(screen.getByRole('cell', { name: /Cell 4/i })).toHaveAttribute('data-label', 'Column 2');
505
533
  });
506
534
  it('should render table data labels correctly for mobile breakpoint for one column table', () => {
507
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: ONE_COLUMN_TABLE }));
535
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: ONE_COLUMN_TABLE }));
508
536
  expect(screen.getByRole('row', { name: /Cell 1/i })).toHaveAttribute('extraHeaders', 'Column 1');
509
537
  expect(screen.getByRole('row', { name: /Cell 2/i })).toHaveAttribute('extraHeaders', 'Column 1');
510
538
  expect(screen.getByRole('cell', { name: /Cell 1/i })).toHaveAttribute('data-label', 'Column 1');
511
539
  expect(screen.getByRole('cell', { name: /Cell 2/i })).toHaveAttribute('data-label', 'Column 1');
512
540
  });
513
541
  it('should render table data labels correctly for mobile breakpoint for one cell table', () => {
514
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: ONE_CELL_TABLE }));
542
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: ONE_CELL_TABLE }));
515
543
  expect(screen.getByRole('row', { name: /Cell 1/i })).toHaveAttribute('extraHeaders', 'Column 1');
516
544
  expect(screen.getByRole('cell', { name: /Cell 1/i })).toHaveAttribute('data-label', 'Column 1');
517
545
  });
518
546
  it('should render table data labels correctly for mobile breakpoint for headerless', () => {
519
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: HEADERLESS_TABLE }));
547
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: HEADERLESS_TABLE }));
520
548
  expect(screen.getByRole('row', { name: /Cell 1/i })).toHaveAttribute('extraHeaders', '');
521
549
  expect(screen.getByRole('cell', { name: /Cell 1/i })).not.toHaveAttribute('data-label');
522
550
  });
523
551
  it('should render table data labels correctly for mobile breakpoint for childless', () => {
524
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: CHILDLESS_TABLE }));
552
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: CHILDLESS_TABLE }));
525
553
  expect(screen.getByRole('cell')).not.toHaveAttribute('extraHeaders', 'Column 1');
526
554
  });
527
555
  it('should render table data labels correctly for mobile breakpoint for empty', () => {
528
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: EMPTY_TABLE }));
556
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: EMPTY_TABLE }));
529
557
  expect(screen.getByRole('cell')).not.toHaveAttribute('extraHeaders', '');
530
558
  });
531
559
  it('should render custom table aria label correctly', () => {
532
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: TABLE, tableProps: { 'aria-label': 'Test' } }));
560
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: TABLE, tableProps: { 'aria-label': 'Test' } }));
533
561
  expect(screen.getByRole('grid', { name: /Test/i })).toBeTruthy();
534
562
  });
535
563
  it('should render beforeMainContent with main content', () => {
536
564
  const mainContent = 'Main message content';
537
565
  const beforeMainContentText = 'Before main content';
538
- const beforeMainContent = React.createElement("div", null, beforeMainContentText);
539
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: mainContent, extraContent: { beforeMainContent } }));
566
+ const beforeMainContent = _jsx("div", { children: beforeMainContentText });
567
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: mainContent, extraContent: { beforeMainContent } }));
540
568
  expect(screen.getByText(beforeMainContentText)).toBeTruthy();
541
569
  expect(screen.getByText(mainContent)).toBeTruthy();
542
570
  });
543
571
  it('should render afterMainContent with main content', () => {
544
572
  const mainContent = 'Main message content';
545
573
  const afterMainContentText = 'After main content';
546
- const afterMainContent = React.createElement("div", null, afterMainContentText);
547
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: mainContent, extraContent: { afterMainContent } }));
574
+ const afterMainContent = _jsx("div", { children: afterMainContentText });
575
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: mainContent, extraContent: { afterMainContent } }));
548
576
  expect(screen.getByText(afterMainContentText)).toBeTruthy();
549
577
  expect(screen.getByText(mainContent)).toBeTruthy();
550
578
  });
551
579
  it('should render endContent with main content', () => {
552
580
  const mainContent = 'Main message content';
553
581
  const endMainContentText = 'End content';
554
- const endContent = React.createElement("div", null, endMainContentText);
555
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: mainContent, extraContent: { endContent } }));
582
+ const endContent = _jsx("div", { children: endMainContentText });
583
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: mainContent, extraContent: { endContent } }));
556
584
  expect(screen.getByText(endMainContentText)).toBeTruthy();
557
585
  expect(screen.getByText(mainContent)).toBeTruthy();
558
586
  });
559
587
  it('should render all parts of extraContent with main content', () => {
560
- const beforeMainContent = React.createElement("div", null, "Before main content");
561
- const afterMainContent = React.createElement("div", null, "After main content");
562
- const endContent = React.createElement("div", null, "End content");
563
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: "Main message content", extraContent: { beforeMainContent, afterMainContent, endContent } }));
588
+ const beforeMainContent = _jsx("div", { children: "Before main content" });
589
+ const afterMainContent = _jsx("div", { children: "After main content" });
590
+ const endContent = _jsx("div", { children: "End content" });
591
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Main message content", extraContent: { beforeMainContent, afterMainContent, endContent } }));
564
592
  expect(screen.getByText('Before main content')).toBeTruthy();
565
593
  expect(screen.getByText('Main message content')).toBeTruthy();
566
594
  expect(screen.getByText('After main content')).toBeTruthy();
567
595
  expect(screen.getByText('End content')).toBeTruthy();
568
596
  });
569
597
  it('should not render extraContent when not provided', () => {
570
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: "Main message content" }));
598
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Main message content" }));
571
599
  // Ensure no extraContent is rendered
572
600
  expect(screen.getByText('Main message content')).toBeTruthy();
573
601
  expect(screen.queryByText('Before main content')).toBeFalsy();
@@ -575,7 +603,7 @@ describe('Message', () => {
575
603
  expect(screen.queryByText('end message content')).toBeFalsy();
576
604
  });
577
605
  it('should handle undefined or null values in extraContent gracefully', () => {
578
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: "Main message content", extraContent: { beforeMainContent: null, afterMainContent: undefined, endContent: null } }));
606
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Main message content", extraContent: { beforeMainContent: null, afterMainContent: undefined, endContent: null } }));
579
607
  // Ensure that no extraContent is rendered if they are null or undefined
580
608
  expect(screen.getByText('Main message content')).toBeTruthy();
581
609
  expect(screen.queryByText('Before main content')).toBeFalsy();
@@ -583,64 +611,66 @@ describe('Message', () => {
583
611
  expect(screen.queryByText('end message content')).toBeFalsy();
584
612
  });
585
613
  it('should render JSX in extraContent correctly', () => {
586
- const beforeMainContent = (React.createElement("div", { "data-testid": "before-main-content" },
587
- React.createElement("strong", null, "Bold before content")));
588
- const afterMainContent = (React.createElement("div", { "data-testid": "after-main-content" },
589
- React.createElement("strong", null, "Bold after content")));
590
- const endContent = (React.createElement("div", { "data-testid": "end-main-content" },
591
- React.createElement("strong", null, "Bold end content")));
592
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: "Main message content", extraContent: { beforeMainContent, afterMainContent, endContent } }));
614
+ const beforeMainContent = (_jsx("div", { "data-testid": "before-main-content", children: _jsx("strong", { children: "Bold before content" }) }));
615
+ const afterMainContent = (_jsx("div", { "data-testid": "after-main-content", children: _jsx("strong", { children: "Bold after content" }) }));
616
+ const endContent = (_jsx("div", { "data-testid": "end-main-content", children: _jsx("strong", { children: "Bold end content" }) }));
617
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Main message content", extraContent: { beforeMainContent, afterMainContent, endContent } }));
593
618
  // Check that the JSX is correctly rendered
594
619
  expect(screen.getByTestId('before-main-content')).toContainHTML('<strong>Bold before content</strong>');
595
620
  expect(screen.getByTestId('after-main-content')).toContainHTML('<strong>Bold after content</strong>');
596
621
  expect(screen.getByTestId('end-main-content')).toContainHTML('<strong>Bold end content</strong>');
597
622
  });
598
623
  it('should handle image correctly', () => {
599
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: IMAGE }));
624
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: IMAGE }));
625
+ expect(screen.getByRole('img', { name: /Multi-colored wavy lines on a black background/i })).toBeTruthy();
626
+ });
627
+ it('inline image parent should have class pf-chatbot__message-and-actions', () => {
628
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: INLINE_IMAGE }));
600
629
  expect(screen.getByRole('img', { name: /Multi-colored wavy lines on a black background/i })).toBeTruthy();
630
+ expect(screen.getByRole('img', { name: /Multi-colored wavy lines on a black background/i }).parentElement).toHaveClass('pf-chatbot__message-and-actions');
601
631
  });
602
632
  it('should handle external links correctly', () => {
603
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: `[PatternFly](https://www.patternfly.org/)` }));
633
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: `[PatternFly](https://www.patternfly.org/)` }));
604
634
  // we are mocking rehype libraries, so we can't test target _blank addition on links directly with RTL
605
635
  expect(rehypeExternalLinks).toHaveBeenCalledTimes(1);
606
636
  });
607
637
  it('should handle external links correctly', () => {
608
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: `[PatternFly](https://www.patternfly.org/)`, openLinkInNewTab: false }));
638
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: `[PatternFly](https://www.patternfly.org/)`, openLinkInNewTab: false }));
609
639
  // we are mocking rehype libraries, so we can't test target _blank addition on links directly with RTL
610
640
  expect(rehypeExternalLinks).not.toHaveBeenCalled();
611
641
  });
612
642
  it('should handle extra link props correctly', () => __awaiter(void 0, void 0, void 0, function* () {
613
643
  const spy = jest.fn();
614
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: `[PatternFly](https://www.patternfly.org/)`, linkProps: { onClick: spy } }));
644
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: `[PatternFly](https://www.patternfly.org/)`, linkProps: { onClick: spy } }));
615
645
  yield userEvent.click(screen.getByRole('link', { name: /PatternFly/i }));
616
646
  expect(spy).toHaveBeenCalledTimes(1);
617
647
  }));
618
648
  it('should handle error correctly', () => {
619
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", error: ERROR }));
649
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", error: ERROR }));
620
650
  expect(screen.getByRole('heading', { name: /Could not load chat/i })).toBeTruthy();
621
651
  expect(screen.getByRole('link', { name: /Start a new chat/i })).toBeTruthy();
622
652
  expect(screen.getByRole('link', { name: /Contact support/i })).toBeTruthy();
623
653
  expect(screen.getByText('Wait a few minutes and check your network settings. If the issue persists:')).toBeTruthy();
624
654
  });
625
655
  it('should handle error correctly when loading', () => {
626
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", error: ERROR, isLoading: true }));
656
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", error: ERROR, isLoading: true }));
627
657
  expect(screen.queryByRole('heading', { name: /Could not load chat/i })).toBeFalsy();
628
658
  expect(screen.getByText('Loading message')).toBeTruthy();
629
659
  });
630
660
  it('should handle error correctly when these is content', () => {
631
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", error: ERROR, content: "Test" }));
661
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", error: ERROR, content: "Test" }));
632
662
  expect(screen.getByRole('heading', { name: /Could not load chat/i })).toBeTruthy();
633
663
  expect(screen.queryByText('Test')).toBeFalsy();
634
664
  });
635
665
  it('should handle isEditable when there is message content', () => {
636
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", isEditable: true, content: "Test" }));
666
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", isEditable: true, content: "Test" }));
637
667
  expect(screen.getByRole('textbox')).toBeTruthy();
638
668
  expect(screen.getByRole('textbox')).toHaveValue('Test');
639
669
  expect(screen.getByRole('button', { name: /Update/i })).toBeTruthy();
640
670
  expect(screen.getByRole('button', { name: /Cancel/i })).toBeTruthy();
641
671
  });
642
672
  it('should handle isEditable when there is no message content', () => {
643
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", isEditable: true }));
673
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", isEditable: true }));
644
674
  expect(screen.getByRole('textbox')).toBeTruthy();
645
675
  expect(screen.getByRole('textbox')).toHaveValue('');
646
676
  expect(screen.getByRole('textbox')).toHaveAttribute('placeholder', 'Edit prompt message...');
@@ -648,33 +678,33 @@ describe('Message', () => {
648
678
  expect(screen.getByRole('button', { name: /Cancel/i })).toBeTruthy();
649
679
  });
650
680
  it('should be able to change edit placeholder', () => {
651
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", isEditable: true, editPlaceholder: "I am a placeholder" }));
681
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", isEditable: true, editPlaceholder: "I am a placeholder" }));
652
682
  expect(screen.getByRole('textbox')).toBeTruthy();
653
683
  expect(screen.getByRole('textbox')).toHaveValue('');
654
684
  expect(screen.getByRole('textbox')).toHaveAttribute('placeholder', 'I am a placeholder');
655
685
  });
656
686
  it('should be able to change updateWord', () => {
657
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", isEditable: true, updateWord: "Submit" }));
687
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", isEditable: true, updateWord: "Submit" }));
658
688
  expect(screen.getByRole('button', { name: /Submit/i })).toBeTruthy();
659
689
  });
660
690
  it('should be able to change cancelWord', () => {
661
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", isEditable: true, cancelWord: "Don't submit" }));
691
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", isEditable: true, cancelWord: "Don't submit" }));
662
692
  expect(screen.getByRole('button', { name: /Don't submit/i })).toBeTruthy();
663
693
  });
664
694
  it('should be able to add onEditUpdate', () => __awaiter(void 0, void 0, void 0, function* () {
665
695
  const spy = jest.fn();
666
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", isEditable: true, onEditUpdate: spy }));
696
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", isEditable: true, onEditUpdate: spy }));
667
697
  yield userEvent.click(screen.getByRole('button', { name: /Update/i }));
668
698
  expect(spy).toHaveBeenCalledTimes(1);
669
699
  }));
670
700
  it('should be able to add onEditCancel', () => __awaiter(void 0, void 0, void 0, function* () {
671
701
  const spy = jest.fn();
672
- render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", isEditable: true, onEditCancel: spy }));
702
+ render(_jsx(Message, { avatar: "./img", role: "user", name: "User", isEditable: true, onEditCancel: spy }));
673
703
  yield userEvent.click(screen.getByRole('button', { name: /Cancel/i }));
674
704
  expect(spy).toHaveBeenCalledTimes(1);
675
705
  }));
676
706
  it('should be able to add editFormProps', () => {
677
- const { container } = render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", isEditable: true, editFormProps: { className: 'test' } }));
707
+ const { container } = render(_jsx(Message, { avatar: "./img", role: "user", name: "User", isEditable: true, editFormProps: { className: 'test' } }));
678
708
  const form = container.querySelector('form');
679
709
  expect(form).toHaveClass('test');
680
710
  });
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type { FunctionComponent } from 'react';
2
2
  import { FormProps } from '@patternfly/react-core';
3
3
  export interface MessageInputProps extends FormProps {
4
4
  /** Placeholder for edit input */
@@ -14,5 +14,5 @@ export interface MessageInputProps extends FormProps {
14
14
  /** Message text */
15
15
  content?: string;
16
16
  }
17
- declare const MessageInput: React.FunctionComponent<MessageInputProps>;
17
+ declare const MessageInput: FunctionComponent<MessageInputProps>;
18
18
  export default MessageInput;