@patternfly/chatbot 6.3.0-prerelease.13 → 6.3.0-prerelease.14

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 (529) 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 +6 -3
  51. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +9 -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 +2 -2
  80. package/dist/cjs/FileDropZone/FileDropZone.js +5 -8
  81. package/dist/cjs/FileDropZone/FileDropZone.test.js +5 -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 +1 -2
  86. package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.js +10 -15
  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 +8 -7
  100. package/dist/cjs/Message/Message.js +47 -70
  101. package/dist/cjs/Message/Message.test.js +75 -79
  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/QuickResponse/QuickResponse.d.ts +2 -2
  107. package/dist/cjs/Message/QuickResponse/QuickResponse.js +7 -9
  108. package/dist/cjs/Message/QuickStarts/FallbackImg.d.ts +2 -2
  109. package/dist/cjs/Message/QuickStarts/FallbackImg.js +5 -27
  110. package/dist/cjs/Message/QuickStarts/QuickStartTile.d.ts +2 -2
  111. package/dist/cjs/Message/QuickStarts/QuickStartTile.js +7 -43
  112. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.d.ts +2 -2
  113. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.js +9 -38
  114. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.js +16 -16
  115. package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.d.ts +2 -2
  116. package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.js +2 -26
  117. package/dist/cjs/Message/QuickStarts/types.d.ts +4 -3
  118. package/dist/cjs/Message/TableMessage/TableMessage.d.ts +1 -2
  119. package/dist/cjs/Message/TableMessage/TableMessage.js +8 -10
  120. package/dist/cjs/Message/TableMessage/TbodyMessage.d.ts +2 -3
  121. package/dist/cjs/Message/TableMessage/TbodyMessage.js +7 -9
  122. package/dist/cjs/Message/TableMessage/TdMessage.d.ts +1 -2
  123. package/dist/cjs/Message/TableMessage/TdMessage.js +2 -8
  124. package/dist/cjs/Message/TableMessage/ThMessage.d.ts +1 -2
  125. package/dist/cjs/Message/TableMessage/ThMessage.js +2 -8
  126. package/dist/cjs/Message/TableMessage/TheadMessage.d.ts +1 -2
  127. package/dist/cjs/Message/TableMessage/TheadMessage.js +2 -8
  128. package/dist/cjs/Message/TableMessage/TrMessage.d.ts +2 -3
  129. package/dist/cjs/Message/TableMessage/TrMessage.js +8 -10
  130. package/dist/cjs/Message/TextMessage/TextMessage.d.ts +1 -2
  131. package/dist/cjs/Message/TextMessage/TextMessage.js +2 -9
  132. package/dist/cjs/Message/UserFeedback/CloseButton.d.ts +2 -2
  133. package/dist/cjs/Message/UserFeedback/CloseButton.js +2 -8
  134. package/dist/cjs/Message/UserFeedback/UserFeedback.d.ts +2 -2
  135. package/dist/cjs/Message/UserFeedback/UserFeedback.js +12 -23
  136. package/dist/cjs/Message/UserFeedback/UserFeedback.test.js +53 -53
  137. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
  138. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.js +20 -44
  139. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.js +81 -91
  140. package/dist/cjs/MessageBar/AttachButton.d.ts +1 -2
  141. package/dist/cjs/MessageBar/AttachButton.js +6 -15
  142. package/dist/cjs/MessageBar/AttachButton.test.js +24 -24
  143. package/dist/cjs/MessageBar/MessageBar.d.ts +2 -2
  144. package/dist/cjs/MessageBar/MessageBar.js +21 -27
  145. package/dist/cjs/MessageBar/MessageBar.test.js +101 -115
  146. package/dist/cjs/MessageBar/MicrophoneButton.d.ts +2 -2
  147. package/dist/cjs/MessageBar/MicrophoneButton.js +7 -14
  148. package/dist/cjs/MessageBar/SendButton.d.ts +3 -2
  149. package/dist/cjs/MessageBar/SendButton.js +3 -11
  150. package/dist/cjs/MessageBar/SendButton.test.js +15 -15
  151. package/dist/cjs/MessageBar/StopButton.d.ts +3 -2
  152. package/dist/cjs/MessageBar/StopButton.js +3 -12
  153. package/dist/cjs/MessageBar/StopButton.test.js +15 -15
  154. package/dist/cjs/MessageBox/JumpButton.d.ts +2 -2
  155. package/dist/cjs/MessageBox/JumpButton.js +2 -10
  156. package/dist/cjs/MessageBox/JumpButton.test.js +10 -10
  157. package/dist/cjs/MessageBox/MessageBox.d.ts +3 -3
  158. package/dist/cjs/MessageBox/MessageBox.js +13 -20
  159. package/dist/cjs/MessageBox/MessageBox.test.js +7 -10
  160. package/dist/cjs/PreviewAttachment/PreviewAttachment.d.ts +12 -2
  161. package/dist/cjs/PreviewAttachment/PreviewAttachment.js +3 -6
  162. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.d.ts +1 -1
  163. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.js +34 -12
  164. package/dist/cjs/ResponseActions/ResponseActionButton.d.ts +3 -3
  165. package/dist/cjs/ResponseActions/ResponseActionButton.js +5 -8
  166. package/dist/cjs/ResponseActions/ResponseActionButton.test.js +19 -19
  167. package/dist/cjs/ResponseActions/ResponseActions.d.ts +2 -2
  168. package/dist/cjs/ResponseActions/ResponseActions.js +10 -14
  169. package/dist/cjs/ResponseActions/ResponseActions.test.js +42 -42
  170. package/dist/cjs/Settings/SettingsForm.d.ts +2 -2
  171. package/dist/cjs/Settings/SettingsForm.js +2 -8
  172. package/dist/cjs/Settings/SettingsForm.test.js +9 -12
  173. package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
  174. package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -11
  175. package/dist/cjs/SourcesCard/SourcesCard.d.ts +2 -2
  176. package/dist/cjs/SourcesCard/SourcesCard.js +16 -42
  177. package/dist/cjs/SourcesCard/SourcesCard.test.js +60 -60
  178. package/dist/cjs/TermsOfUse/TermsOfUse.d.ts +3 -3
  179. package/dist/cjs/TermsOfUse/TermsOfUse.js +4 -16
  180. package/dist/cjs/TermsOfUse/TermsOfUse.test.js +31 -33
  181. package/dist/esm/AttachMenu/AttachMenu.d.ts +2 -2
  182. package/dist/esm/AttachMenu/AttachMenu.js +2 -9
  183. package/dist/esm/AttachmentEdit/AttachmentEdit.d.ts +12 -2
  184. package/dist/esm/AttachmentEdit/AttachmentEdit.js +3 -6
  185. package/dist/esm/AttachmentEdit/AttachmentEdit.test.d.ts +1 -1
  186. package/dist/esm/AttachmentEdit/AttachmentEdit.test.js +30 -5
  187. package/dist/esm/Chatbot/Chatbot.d.ts +1 -2
  188. package/dist/esm/Chatbot/Chatbot.js +4 -6
  189. package/dist/esm/Chatbot/Chatbot.test.js +6 -6
  190. package/dist/esm/ChatbotAlert/ChatbotAlert.d.ts +2 -2
  191. package/dist/esm/ChatbotAlert/ChatbotAlert.js +4 -5
  192. package/dist/esm/ChatbotAlert/ChatbotAlert.test.js +4 -4
  193. package/dist/esm/ChatbotContent/ChatbotContent.d.ts +3 -3
  194. package/dist/esm/ChatbotContent/ChatbotContent.js +2 -5
  195. package/dist/esm/ChatbotContent/ChatbotContent.test.js +3 -3
  196. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.d.ts +2 -2
  197. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +7 -11
  198. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +8 -10
  199. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +2 -2
  200. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +16 -33
  201. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +26 -34
  202. package/dist/esm/ChatbotConversationHistoryNav/EmptyState.d.ts +2 -2
  203. package/dist/esm/ChatbotConversationHistoryNav/EmptyState.js +2 -6
  204. package/dist/esm/ChatbotConversationHistoryNav/LoadingState.d.ts +2 -2
  205. package/dist/esm/ChatbotConversationHistoryNav/LoadingState.js +2 -22
  206. package/dist/esm/ChatbotFooter/ChatbotFooter.d.ts +3 -3
  207. package/dist/esm/ChatbotFooter/ChatbotFooter.js +2 -12
  208. package/dist/esm/ChatbotFooter/ChatbotFooter.test.js +4 -4
  209. package/dist/esm/ChatbotFooter/ChatbotFooternote.test.js +5 -5
  210. package/dist/esm/ChatbotFooter/ChatbotFootnote.d.ts +3 -3
  211. package/dist/esm/ChatbotFooter/ChatbotFootnote.js +10 -23
  212. package/dist/esm/ChatbotHeader/ChatbotHeader.d.ts +3 -3
  213. package/dist/esm/ChatbotHeader/ChatbotHeader.js +2 -4
  214. package/dist/esm/ChatbotHeader/ChatbotHeader.test.js +3 -3
  215. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.d.ts +2 -2
  216. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.js +2 -2
  217. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.js +3 -3
  218. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +1 -2
  219. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.js +5 -7
  220. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.js +4 -4
  221. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.d.ts +2 -2
  222. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.js +2 -2
  223. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.js +3 -3
  224. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.d.ts +2 -2
  225. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.js +5 -7
  226. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.js +4 -4
  227. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +6 -3
  228. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +8 -9
  229. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +9 -8
  230. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +6 -3
  231. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +9 -9
  232. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +9 -8
  233. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.d.ts +2 -2
  234. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.js +2 -2
  235. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.js +12 -12
  236. package/dist/esm/ChatbotModal/ChatbotModal.d.ts +2 -2
  237. package/dist/esm/ChatbotModal/ChatbotModal.js +3 -6
  238. package/dist/esm/ChatbotModal/ChatbotModal.test.js +2 -14
  239. package/dist/esm/ChatbotPopover/ChatbotPopover.d.ts +2 -2
  240. package/dist/esm/ChatbotPopover/ChatbotPopover.js +2 -5
  241. package/dist/esm/ChatbotToggle/ChatbotToggle.d.ts +1 -2
  242. package/dist/esm/ChatbotToggle/ChatbotToggle.js +8 -13
  243. package/dist/esm/ChatbotToggle/ChatbotToggle.test.js +8 -8
  244. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +2 -2
  245. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +6 -17
  246. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +8 -8
  247. package/dist/esm/CodeModal/CodeModal.d.ts +8 -2
  248. package/dist/esm/CodeModal/CodeModal.js +8 -20
  249. package/dist/esm/CodeModal/CodeModal.test.js +22 -3
  250. package/dist/esm/Compare/Compare.d.ts +2 -2
  251. package/dist/esm/Compare/Compare.js +7 -13
  252. package/dist/esm/Compare/Compare.test.js +4 -6
  253. package/dist/esm/FileDetails/FileDetails.d.ts +2 -2
  254. package/dist/esm/FileDetails/FileDetails.js +2 -15
  255. package/dist/esm/FileDetails/FileDetails.test.js +4 -4
  256. package/dist/esm/FileDetailsLabel/FileDetailsLabel.d.ts +2 -2
  257. package/dist/esm/FileDetailsLabel/FileDetailsLabel.js +2 -5
  258. package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.js +9 -9
  259. package/dist/esm/FileDropZone/FileDropZone.d.ts +2 -2
  260. package/dist/esm/FileDropZone/FileDropZone.js +5 -5
  261. package/dist/esm/FileDropZone/FileDropZone.test.js +3 -3
  262. package/dist/esm/LoadingMessage/LoadingMessage.d.ts +2 -2
  263. package/dist/esm/LoadingMessage/LoadingMessage.js +2 -10
  264. package/dist/esm/LoadingMessage/LoadingMessage.test.js +3 -3
  265. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.d.ts +1 -2
  266. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.js +10 -15
  267. package/dist/esm/Message/ErrorMessage/ErrorMessage.d.ts +1 -2
  268. package/dist/esm/Message/ErrorMessage/ErrorMessage.js +5 -5
  269. package/dist/esm/Message/ImageMessage/ImageMessage.d.ts +1 -2
  270. package/dist/esm/Message/ImageMessage/ImageMessage.js +2 -5
  271. package/dist/esm/Message/LinkMessage/LinkMessage.d.ts +1 -2
  272. package/dist/esm/Message/LinkMessage/LinkMessage.js +6 -6
  273. package/dist/esm/Message/ListMessage/ListItemMessage.d.ts +1 -2
  274. package/dist/esm/Message/ListMessage/ListItemMessage.js +2 -5
  275. package/dist/esm/Message/ListMessage/OrderedListMessage.d.ts +1 -2
  276. package/dist/esm/Message/ListMessage/OrderedListMessage.js +2 -6
  277. package/dist/esm/Message/ListMessage/UnorderedListMessage.d.ts +1 -2
  278. package/dist/esm/Message/ListMessage/UnorderedListMessage.js +2 -6
  279. package/dist/esm/Message/Message.d.ts +8 -7
  280. package/dist/esm/Message/Message.js +47 -70
  281. package/dist/esm/Message/Message.test.js +75 -79
  282. package/dist/esm/Message/MessageInput.d.ts +2 -2
  283. package/dist/esm/Message/MessageInput.js +5 -11
  284. package/dist/esm/Message/MessageLoading.d.ts +1 -2
  285. package/dist/esm/Message/MessageLoading.js +2 -4
  286. package/dist/esm/Message/QuickResponse/QuickResponse.d.ts +2 -2
  287. package/dist/esm/Message/QuickResponse/QuickResponse.js +7 -6
  288. package/dist/esm/Message/QuickStarts/FallbackImg.d.ts +2 -2
  289. package/dist/esm/Message/QuickStarts/FallbackImg.js +5 -4
  290. package/dist/esm/Message/QuickStarts/QuickStartTile.d.ts +2 -2
  291. package/dist/esm/Message/QuickStarts/QuickStartTile.js +7 -20
  292. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.d.ts +2 -2
  293. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.js +9 -15
  294. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.js +5 -5
  295. package/dist/esm/Message/QuickStarts/QuickStartTileHeader.d.ts +2 -2
  296. package/dist/esm/Message/QuickStarts/QuickStartTileHeader.js +2 -3
  297. package/dist/esm/Message/QuickStarts/types.d.ts +4 -3
  298. package/dist/esm/Message/TableMessage/TableMessage.d.ts +1 -2
  299. package/dist/esm/Message/TableMessage/TableMessage.js +8 -7
  300. package/dist/esm/Message/TableMessage/TbodyMessage.d.ts +2 -3
  301. package/dist/esm/Message/TableMessage/TbodyMessage.js +7 -6
  302. package/dist/esm/Message/TableMessage/TdMessage.d.ts +1 -2
  303. package/dist/esm/Message/TableMessage/TdMessage.js +2 -5
  304. package/dist/esm/Message/TableMessage/ThMessage.d.ts +1 -2
  305. package/dist/esm/Message/TableMessage/ThMessage.js +2 -5
  306. package/dist/esm/Message/TableMessage/TheadMessage.d.ts +1 -2
  307. package/dist/esm/Message/TableMessage/TheadMessage.js +2 -5
  308. package/dist/esm/Message/TableMessage/TrMessage.d.ts +2 -3
  309. package/dist/esm/Message/TableMessage/TrMessage.js +8 -7
  310. package/dist/esm/Message/TextMessage/TextMessage.d.ts +1 -2
  311. package/dist/esm/Message/TextMessage/TextMessage.js +2 -6
  312. package/dist/esm/Message/UserFeedback/CloseButton.d.ts +2 -2
  313. package/dist/esm/Message/UserFeedback/CloseButton.js +2 -5
  314. package/dist/esm/Message/UserFeedback/UserFeedback.d.ts +2 -2
  315. package/dist/esm/Message/UserFeedback/UserFeedback.js +12 -23
  316. package/dist/esm/Message/UserFeedback/UserFeedback.test.js +21 -21
  317. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
  318. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.js +20 -44
  319. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.js +26 -36
  320. package/dist/esm/MessageBar/AttachButton.d.ts +1 -2
  321. package/dist/esm/MessageBar/AttachButton.js +6 -12
  322. package/dist/esm/MessageBar/AttachButton.test.js +10 -10
  323. package/dist/esm/MessageBar/MessageBar.d.ts +2 -2
  324. package/dist/esm/MessageBar/MessageBar.js +21 -27
  325. package/dist/esm/MessageBar/MessageBar.test.js +34 -48
  326. package/dist/esm/MessageBar/MicrophoneButton.d.ts +2 -2
  327. package/dist/esm/MessageBar/MicrophoneButton.js +7 -11
  328. package/dist/esm/MessageBar/SendButton.d.ts +3 -2
  329. package/dist/esm/MessageBar/SendButton.js +3 -8
  330. package/dist/esm/MessageBar/SendButton.test.js +4 -4
  331. package/dist/esm/MessageBar/StopButton.d.ts +3 -2
  332. package/dist/esm/MessageBar/StopButton.js +3 -9
  333. package/dist/esm/MessageBar/StopButton.test.js +4 -4
  334. package/dist/esm/MessageBox/JumpButton.d.ts +2 -2
  335. package/dist/esm/MessageBox/JumpButton.js +2 -7
  336. package/dist/esm/MessageBox/JumpButton.test.js +5 -5
  337. package/dist/esm/MessageBox/MessageBox.d.ts +3 -3
  338. package/dist/esm/MessageBox/MessageBox.js +13 -20
  339. package/dist/esm/MessageBox/MessageBox.test.js +7 -10
  340. package/dist/esm/PreviewAttachment/PreviewAttachment.d.ts +12 -2
  341. package/dist/esm/PreviewAttachment/PreviewAttachment.js +3 -6
  342. package/dist/esm/PreviewAttachment/PreviewAttachment.test.d.ts +1 -1
  343. package/dist/esm/PreviewAttachment/PreviewAttachment.test.js +30 -5
  344. package/dist/esm/ResponseActions/ResponseActionButton.d.ts +3 -3
  345. package/dist/esm/ResponseActions/ResponseActionButton.js +5 -5
  346. package/dist/esm/ResponseActions/ResponseActionButton.test.js +7 -7
  347. package/dist/esm/ResponseActions/ResponseActions.d.ts +2 -2
  348. package/dist/esm/ResponseActions/ResponseActions.js +10 -14
  349. package/dist/esm/ResponseActions/ResponseActions.test.js +15 -15
  350. package/dist/esm/Settings/SettingsForm.d.ts +2 -2
  351. package/dist/esm/Settings/SettingsForm.js +2 -5
  352. package/dist/esm/Settings/SettingsForm.test.js +6 -6
  353. package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
  354. package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -8
  355. package/dist/esm/SourcesCard/SourcesCard.d.ts +2 -2
  356. package/dist/esm/SourcesCard/SourcesCard.js +16 -39
  357. package/dist/esm/SourcesCard/SourcesCard.test.js +19 -19
  358. package/dist/esm/TermsOfUse/TermsOfUse.d.ts +3 -3
  359. package/dist/esm/TermsOfUse/TermsOfUse.js +4 -16
  360. package/dist/esm/TermsOfUse/TermsOfUse.test.js +10 -12
  361. package/package.json +3 -5
  362. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachMenu.tsx +9 -9
  363. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentEdit.tsx +5 -5
  364. package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentError.tsx +2 -2
  365. package/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +10 -12
  366. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetails.tsx +2 -2
  367. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetailsLabel.tsx +9 -9
  368. package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDropZone.tsx +4 -4
  369. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithAttachment.tsx +7 -7
  370. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithCustomResponseActions.tsx +2 -2
  371. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedback.tsx +4 -4
  372. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedbackTimeout.tsx +3 -3
  373. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickResponses.tsx +2 -2
  374. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickStart.tsx +2 -2
  375. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithResponseActions.tsx +2 -2
  376. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithSources.tsx +3 -3
  377. package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +1 -0
  378. package/patternfly-docs/content/extensions/chatbot/examples/Messages/PreviewAttachment.tsx +5 -5
  379. package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +11 -14
  380. package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessageWithExtraContent.tsx +4 -4
  381. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotContainer.tsx +59 -36
  382. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFooter.tsx +2 -2
  383. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFootnote.tsx +2 -2
  384. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderBasic.tsx +10 -13
  385. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawer.tsx +10 -10
  386. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerNavigation.tsx +5 -5
  387. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerResizable.tsx +5 -5
  388. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithActions.tsx +4 -4
  389. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithSelection.tsx +5 -5
  390. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderTitle.tsx +59 -34
  391. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBar.tsx +2 -2
  392. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarAttach.tsx +9 -9
  393. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarDisabled.tsx +3 -3
  394. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarLanguage.tsx +2 -2
  395. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarStop.tsx +2 -2
  396. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotModal.tsx +74 -37
  397. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotToggleBasic.tsx +3 -3
  398. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomeInteraction.tsx +7 -7
  399. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomePrompt.tsx +3 -3
  400. package/patternfly-docs/content/extensions/chatbot/examples/UI/CompactSettings.tsx +16 -23
  401. package/patternfly-docs/content/extensions/chatbot/examples/UI/CustomClosedIcon.tsx +3 -3
  402. package/patternfly-docs/content/extensions/chatbot/examples/UI/Settings.tsx +16 -23
  403. package/patternfly-docs/content/extensions/chatbot/examples/UI/SkipToContent.tsx +5 -5
  404. package/patternfly-docs/content/extensions/chatbot/examples/UI/SquareChatbotToggle.tsx +3 -3
  405. package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUse.tsx +91 -48
  406. package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUseCompact.tsx +82 -39
  407. package/patternfly-docs/content/extensions/chatbot/examples/UI/UI.md +3 -0
  408. package/patternfly-docs/content/extensions/chatbot/examples/demos/AttachmentDemos.md +1 -0
  409. package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +1 -0
  410. package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +17 -23
  411. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachment.tsx +13 -13
  412. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachmentMenu.tsx +14 -14
  413. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotCompact.tsx +17 -23
  414. package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotInDrawer.tsx +15 -20
  415. package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedChatbot.tsx +15 -20
  416. package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedComparisonChatbot.tsx +12 -12
  417. package/patternfly-docs/content/extensions/chatbot/examples/demos/Feedback.tsx +7 -7
  418. package/src/AttachMenu/AttachMenu.tsx +2 -2
  419. package/src/AttachmentEdit/AttachmentEdit.test.tsx +46 -2
  420. package/src/AttachmentEdit/AttachmentEdit.tsx +25 -7
  421. package/src/Chatbot/Chatbot.test.tsx +0 -1
  422. package/src/Chatbot/Chatbot.tsx +5 -3
  423. package/src/ChatbotAlert/ChatbotAlert.test.tsx +0 -1
  424. package/src/ChatbotAlert/ChatbotAlert.tsx +2 -2
  425. package/src/ChatbotContent/ChatbotContent.test.tsx +0 -1
  426. package/src/ChatbotContent/ChatbotContent.tsx +3 -3
  427. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.tsx +0 -1
  428. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.tsx +6 -4
  429. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.tsx +3 -3
  430. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.tsx +8 -6
  431. package/src/ChatbotConversationHistoryNav/EmptyState.tsx +2 -2
  432. package/src/ChatbotConversationHistoryNav/LoadingState.tsx +2 -2
  433. package/src/ChatbotFooter/ChatbotFooter.test.tsx +0 -1
  434. package/src/ChatbotFooter/ChatbotFooter.tsx +3 -3
  435. package/src/ChatbotFooter/ChatbotFooternote.test.tsx +0 -1
  436. package/src/ChatbotFooter/ChatbotFootnote.tsx +6 -4
  437. package/src/ChatbotHeader/ChatbotHeader.test.tsx +0 -1
  438. package/src/ChatbotHeader/ChatbotHeader.tsx +3 -6
  439. package/src/ChatbotHeader/ChatbotHeaderActions.test.tsx +0 -1
  440. package/src/ChatbotHeader/ChatbotHeaderActions.tsx +2 -2
  441. package/src/ChatbotHeader/ChatbotHeaderCloseButton.test.tsx +0 -1
  442. package/src/ChatbotHeader/ChatbotHeaderCloseButton.tsx +5 -4
  443. package/src/ChatbotHeader/ChatbotHeaderMain.test.tsx +0 -1
  444. package/src/ChatbotHeader/ChatbotHeaderMain.tsx +2 -2
  445. package/src/ChatbotHeader/ChatbotHeaderMenu.test.tsx +0 -1
  446. package/src/ChatbotHeader/ChatbotHeaderMenu.tsx +7 -7
  447. package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.tsx +9 -1
  448. package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.tsx +12 -5
  449. package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.tsx +9 -1
  450. package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.tsx +20 -6
  451. package/src/ChatbotHeader/ChatbotHeaderTitle.test.tsx +0 -1
  452. package/src/ChatbotHeader/ChatbotHeaderTitle.tsx +2 -2
  453. package/src/ChatbotModal/ChatbotModal.test.tsx +0 -1
  454. package/src/ChatbotModal/ChatbotModal.tsx +2 -2
  455. package/src/ChatbotPopover/ChatbotPopover.tsx +3 -3
  456. package/src/ChatbotToggle/ChatbotToggle.test.tsx +0 -1
  457. package/src/ChatbotToggle/ChatbotToggle.tsx +5 -3
  458. package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.tsx +0 -1
  459. package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.tsx +2 -2
  460. package/src/CodeModal/CodeModal.test.tsx +29 -2
  461. package/src/CodeModal/CodeModal.tsx +18 -8
  462. package/src/Compare/Compare.test.tsx +0 -1
  463. package/src/Compare/Compare.tsx +7 -6
  464. package/src/FileDetails/FileDetails.test.tsx +0 -1
  465. package/src/FileDetails/FileDetails.tsx +1 -1
  466. package/src/FileDetailsLabel/FileDetailsLabel.test.tsx +0 -1
  467. package/src/FileDetailsLabel/FileDetailsLabel.tsx +1 -1
  468. package/src/FileDropZone/FileDropZone.test.tsx +0 -1
  469. package/src/FileDropZone/FileDropZone.tsx +4 -3
  470. package/src/LoadingMessage/LoadingMessage.test.tsx +0 -1
  471. package/src/LoadingMessage/LoadingMessage.tsx +2 -2
  472. package/src/Message/CodeBlockMessage/CodeBlockMessage.tsx +7 -7
  473. package/src/Message/ErrorMessage/ErrorMessage.tsx +0 -1
  474. package/src/Message/ImageMessage/ImageMessage.tsx +1 -2
  475. package/src/Message/LinkMessage/LinkMessage.tsx +0 -1
  476. package/src/Message/ListMessage/ListItemMessage.tsx +0 -1
  477. package/src/Message/ListMessage/OrderedListMessage.tsx +0 -1
  478. package/src/Message/ListMessage/UnorderedListMessage.tsx +0 -1
  479. package/src/Message/Message.test.tsx +3 -3
  480. package/src/Message/Message.tsx +12 -13
  481. package/src/Message/MessageInput.tsx +5 -5
  482. package/src/Message/MessageLoading.tsx +0 -2
  483. package/src/Message/QuickResponse/QuickResponse.tsx +4 -3
  484. package/src/Message/QuickStarts/FallbackImg.tsx +4 -3
  485. package/src/Message/QuickStarts/QuickStartTile.tsx +3 -3
  486. package/src/Message/QuickStarts/QuickStartTileDescription.test.tsx +0 -1
  487. package/src/Message/QuickStarts/QuickStartTileDescription.tsx +4 -3
  488. package/src/Message/QuickStarts/QuickStartTileHeader.tsx +2 -2
  489. package/src/Message/QuickStarts/types.ts +4 -3
  490. package/src/Message/TableMessage/TableMessage.tsx +4 -4
  491. package/src/Message/TableMessage/TbodyMessage.tsx +3 -3
  492. package/src/Message/TableMessage/TdMessage.tsx +1 -2
  493. package/src/Message/TableMessage/ThMessage.tsx +1 -2
  494. package/src/Message/TableMessage/TheadMessage.tsx +3 -2
  495. package/src/Message/TableMessage/TrMessage.tsx +4 -4
  496. package/src/Message/TextMessage/TextMessage.tsx +1 -2
  497. package/src/Message/UserFeedback/CloseButton.tsx +2 -2
  498. package/src/Message/UserFeedback/UserFeedback.test.tsx +0 -1
  499. package/src/Message/UserFeedback/UserFeedback.tsx +8 -6
  500. package/src/Message/UserFeedback/UserFeedbackComplete.test.tsx +0 -1
  501. package/src/Message/UserFeedback/UserFeedbackComplete.tsx +16 -14
  502. package/src/MessageBar/AttachButton.test.tsx +0 -1
  503. package/src/MessageBar/AttachButton.tsx +5 -3
  504. package/src/MessageBar/MessageBar.test.tsx +0 -1
  505. package/src/MessageBar/MessageBar.tsx +19 -18
  506. package/src/MessageBar/MicrophoneButton.tsx +8 -6
  507. package/src/MessageBar/SendButton.test.tsx +0 -1
  508. package/src/MessageBar/SendButton.tsx +3 -2
  509. package/src/MessageBar/StopButton.test.tsx +0 -1
  510. package/src/MessageBar/StopButton.tsx +3 -2
  511. package/src/MessageBox/JumpButton.test.tsx +0 -1
  512. package/src/MessageBox/JumpButton.tsx +2 -2
  513. package/src/MessageBox/MessageBox.test.tsx +2 -2
  514. package/src/MessageBox/MessageBox.tsx +15 -13
  515. package/src/PreviewAttachment/PreviewAttachment.test.tsx +44 -2
  516. package/src/PreviewAttachment/PreviewAttachment.tsx +24 -6
  517. package/src/ResponseActions/ResponseActionButton.test.tsx +0 -1
  518. package/src/ResponseActions/ResponseActionButton.tsx +4 -3
  519. package/src/ResponseActions/ResponseActions.test.tsx +0 -1
  520. package/src/ResponseActions/ResponseActions.tsx +8 -7
  521. package/src/Settings/SettingsForm.test.tsx +0 -1
  522. package/src/Settings/SettingsForm.tsx +2 -7
  523. package/src/SourceDetailsMenuItem/SourceDetailsMenuItem.tsx +2 -2
  524. package/src/SourcesCard/SourcesCard.test.tsx +0 -1
  525. package/src/SourcesCard/SourcesCard.tsx +7 -7
  526. package/src/TermsOfUse/TermsOfUse.test.tsx +0 -1
  527. package/src/TermsOfUse/TermsOfUse.tsx +6 -5
  528. package/tsconfig.cjs.json +0 -1
  529. package/tsconfig.json +3 -3
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import ChatbotToggle from '@patternfly/chatbot/dist/dynamic/ChatbotToggle';
3
2
  import Chatbot from '@patternfly/chatbot/dist/dynamic/Chatbot';
4
3
  import ChatbotContent from '@patternfly/chatbot/dist/dynamic/ChatbotContent';
@@ -18,6 +17,7 @@ import userAvatar from '../Messages/user_avatar.svg';
18
17
  import patternflyAvatar from '../Messages/patternfly_avatar.jpg';
19
18
  import '@patternfly/react-core/dist/styles/base.css';
20
19
  import '@patternfly/chatbot/dist/css/main.css';
20
+ import { cloneElement, FunctionComponent, isValidElement, ReactNode, useState, Children } from 'react';
21
21
 
22
22
  const initialMenuItems = [
23
23
  <DropdownList key="list-1">
@@ -84,14 +84,14 @@ const messages: MessageProps[] = [
84
84
  }
85
85
  ];
86
86
 
87
- export const AttachmentMenuDemo: React.FunctionComponent = () => {
88
- const [chatbotVisible, setChatbotVisible] = React.useState<boolean>(true);
89
- const [file, setFile] = React.useState<File>();
90
- const [isLoadingFile, setIsLoadingFile] = React.useState<boolean>(false);
91
- const [userFacingMenuItems, setUserFacingMenuItems] = React.useState<React.ReactNode>([]);
92
- const [error, setError] = React.useState<string>();
93
- const [showAlert, setShowAlert] = React.useState<boolean>(false);
94
- const [isOpen, setIsOpen] = React.useState<boolean>(false);
87
+ export const AttachmentMenuDemo: FunctionComponent = () => {
88
+ const [chatbotVisible, setChatbotVisible] = useState<boolean>(true);
89
+ const [file, setFile] = useState<File>();
90
+ const [isLoadingFile, setIsLoadingFile] = useState<boolean>(false);
91
+ const [userFacingMenuItems, setUserFacingMenuItems] = useState<ReactNode>([]);
92
+ const [error, setError] = useState<string>();
93
+ const [showAlert, setShowAlert] = useState<boolean>(false);
94
+ const [isOpen, setIsOpen] = useState<boolean>(false);
95
95
 
96
96
  const { open, getInputProps } = useDropzone({
97
97
  onDropAccepted: (files: File[]) => {
@@ -162,18 +162,18 @@ export const AttachmentMenuDemo: React.FunctionComponent = () => {
162
162
  setUserFacingMenuItems(initialMenuItems.concat(uploadMenuItems));
163
163
  };
164
164
 
165
- const findMatchingElements = (elements: React.ReactNode[], targetValue: string) => {
166
- let matchingElements = [] as React.ReactNode[];
165
+ const findMatchingElements = (elements: ReactNode[], targetValue: string) => {
166
+ let matchingElements = [] as ReactNode[];
167
167
 
168
168
  elements.forEach((element) => {
169
- if (React.isValidElement(element)) {
169
+ if (isValidElement(element)) {
170
170
  // Check if the element's value matches the targetValue
171
171
  if (element.props.value && element.props.value.toLowerCase().includes(targetValue.toLowerCase())) {
172
- matchingElements.push(React.cloneElement(element, { key: element.props.value }));
172
+ matchingElements.push(cloneElement(element, { key: element.props.value }));
173
173
  }
174
174
 
175
175
  // Recursively check the element's children
176
- const children = React.Children.toArray(element.props.children);
176
+ const children = Children.toArray(element.props.children);
177
177
  matchingElements = matchingElements.concat(findMatchingElements(children, targetValue));
178
178
  }
179
179
  });
@@ -1,5 +1,4 @@
1
- import React from 'react';
2
-
1
+ import { useEffect, useRef, useState, FunctionComponent, MouseEvent } from 'react';
3
2
  import { Bullseye, Brand, DropdownList, DropdownItem, DropdownGroup, SkipToContent } from '@patternfly/react-core';
4
3
 
5
4
  import ChatbotToggle from '@patternfly/chatbot/dist/dynamic/ChatbotToggle';
@@ -76,8 +75,6 @@ spec:
76
75
  Here is some JavaScript code:
77
76
 
78
77
  ~~~js
79
- import React from 'react';
80
-
81
78
  const MessageLoading = () => (
82
79
  <div className="pf-chatbot__message-loading">
83
80
  <span className="pf-chatbot__message-loading-dots">
@@ -164,39 +161,36 @@ const initialConversations = {
164
161
  ]
165
162
  };
166
163
 
167
- export const ChatbotDemo: React.FunctionComponent = () => {
168
- const [chatbotVisible, setChatbotVisible] = React.useState<boolean>(true);
169
- const [displayMode, setDisplayMode] = React.useState<ChatbotDisplayMode>(ChatbotDisplayMode.default);
170
- const [messages, setMessages] = React.useState<MessageProps[]>(initialMessages);
171
- const [selectedModel, setSelectedModel] = React.useState('Granite 7B');
172
- const [isSendButtonDisabled, setIsSendButtonDisabled] = React.useState(false);
173
- const [isDrawerOpen, setIsDrawerOpen] = React.useState(false);
174
- const [conversations, setConversations] = React.useState<Conversation[] | { [key: string]: Conversation[] }>(
164
+ export const ChatbotDemo: FunctionComponent = () => {
165
+ const [chatbotVisible, setChatbotVisible] = useState<boolean>(true);
166
+ const [displayMode, setDisplayMode] = useState<ChatbotDisplayMode>(ChatbotDisplayMode.default);
167
+ const [messages, setMessages] = useState<MessageProps[]>(initialMessages);
168
+ const [selectedModel, setSelectedModel] = useState('Granite 7B');
169
+ const [isSendButtonDisabled, setIsSendButtonDisabled] = useState(false);
170
+ const [isDrawerOpen, setIsDrawerOpen] = useState(false);
171
+ const [conversations, setConversations] = useState<Conversation[] | { [key: string]: Conversation[] }>(
175
172
  initialConversations
176
173
  );
177
- const [announcement, setAnnouncement] = React.useState<string>();
178
- const scrollToBottomRef = React.useRef<HTMLDivElement>(null);
179
- const toggleRef = React.useRef<HTMLButtonElement>(null);
180
- const chatbotRef = React.useRef<HTMLDivElement>(null);
181
- const historyRef = React.useRef<HTMLButtonElement>(null);
174
+ const [announcement, setAnnouncement] = useState<string>();
175
+ const scrollToBottomRef = useRef<HTMLDivElement>(null);
176
+ const toggleRef = useRef<HTMLButtonElement>(null);
177
+ const chatbotRef = useRef<HTMLDivElement>(null);
178
+ const historyRef = useRef<HTMLButtonElement>(null);
182
179
 
183
180
  // Auto-scrolls to the latest message
184
- React.useEffect(() => {
181
+ useEffect(() => {
185
182
  // don't scroll the first load - in this demo, we know we start with two messages
186
183
  if (messages.length > 2) {
187
184
  scrollToBottomRef.current?.scrollIntoView({ behavior: 'smooth' });
188
185
  }
189
186
  }, [messages]);
190
187
 
191
- const onSelectModel = (
192
- _event: React.MouseEvent<Element, MouseEvent> | undefined,
193
- value: string | number | undefined
194
- ) => {
188
+ const onSelectModel = (_event: MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
195
189
  setSelectedModel(value as string);
196
190
  };
197
191
 
198
192
  const onSelectDisplayMode = (
199
- _event: React.MouseEvent<Element, MouseEvent> | undefined,
193
+ _event: MouseEvent<Element, MouseEvent> | undefined,
200
194
  value: string | number | undefined
201
195
  ) => {
202
196
  setDisplayMode(value as ChatbotDisplayMode);
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { FunctionComponent, MouseEvent, useEffect, useRef, useState } from 'react';
2
2
 
3
3
  import {
4
4
  Brand,
@@ -88,8 +88,6 @@ spec:
88
88
  Here is some JavaScript code:
89
89
 
90
90
  ~~~js
91
- import React from 'react';
92
-
93
91
  const MessageLoading = () => (
94
92
  <div className="pf-chatbot__message-loading">
95
93
  <span className="pf-chatbot__message-loading-dots">
@@ -176,19 +174,19 @@ const initialConversations = {
176
174
  ]
177
175
  };
178
176
 
179
- export const EmbeddedChatbotDemo: React.FunctionComponent = () => {
180
- const [messages, setMessages] = React.useState<MessageProps[]>(initialMessages);
181
- const [selectedModel, setSelectedModel] = React.useState('Granite 7B');
182
- const [isSendButtonDisabled, setIsSendButtonDisabled] = React.useState(false);
183
- const [isDrawerOpen, setIsDrawerOpen] = React.useState(false);
184
- const [conversations, setConversations] = React.useState<Conversation[] | { [key: string]: Conversation[] }>(
177
+ export const EmbeddedChatbotDemo: FunctionComponent = () => {
178
+ const [messages, setMessages] = useState<MessageProps[]>(initialMessages);
179
+ const [selectedModel, setSelectedModel] = useState('Granite 7B');
180
+ const [isSendButtonDisabled, setIsSendButtonDisabled] = useState(false);
181
+ const [isDrawerOpen, setIsDrawerOpen] = useState(false);
182
+ const [conversations, setConversations] = useState<Conversation[] | { [key: string]: Conversation[] }>(
185
183
  initialConversations
186
184
  );
187
- const [isSidebarOpen, setIsSidebarOpen] = React.useState(false);
188
- const [announcement, setAnnouncement] = React.useState<string>();
189
- const scrollToBottomRef = React.useRef<HTMLDivElement>(null);
190
- const historyRef = React.useRef<HTMLButtonElement>(null);
191
- const drawerRef = React.useRef<HTMLDivElement>();
185
+ const [isSidebarOpen, setIsSidebarOpen] = useState(false);
186
+ const [announcement, setAnnouncement] = useState<string>();
187
+ const scrollToBottomRef = useRef<HTMLDivElement>(null);
188
+ const historyRef = useRef<HTMLButtonElement>(null);
189
+ const drawerRef = useRef<HTMLDivElement>();
192
190
 
193
191
  const displayMode = ChatbotDisplayMode.drawer;
194
192
  const isExpanded = true;
@@ -198,17 +196,14 @@ export const EmbeddedChatbotDemo: React.FunctionComponent = () => {
198
196
  };
199
197
 
200
198
  // Auto-scrolls to the latest message
201
- React.useEffect(() => {
199
+ useEffect(() => {
202
200
  // don't scroll the first load - in this demo, we know we start with two messages
203
201
  if (messages.length > 2) {
204
202
  scrollToBottomRef.current?.scrollIntoView({ behavior: 'smooth' });
205
203
  }
206
204
  }, [messages]);
207
205
 
208
- const onSelectModel = (
209
- _event: React.MouseEvent<Element, MouseEvent> | undefined,
210
- value: string | number | undefined
211
- ) => {
206
+ const onSelectModel = (_event: MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
212
207
  setSelectedModel(value as string);
213
208
  };
214
209
 
@@ -335,7 +330,7 @@ export const EmbeddedChatbotDemo: React.FunctionComponent = () => {
335
330
  </PageSidebar>
336
331
  );
337
332
 
338
- const skipToChatbot = (event: React.MouseEvent) => {
333
+ const skipToChatbot = (event: MouseEvent) => {
339
334
  event.preventDefault();
340
335
  if (historyRef.current) {
341
336
  historyRef.current.focus();
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { useEffect, useRef, useState, FunctionComponent, MouseEvent } from 'react';
2
2
 
3
3
  import {
4
4
  Bullseye,
@@ -86,8 +86,6 @@ spec:
86
86
  Here is some JavaScript code:
87
87
 
88
88
  ~~~js
89
- import React from 'react';
90
-
91
89
  const MessageLoading = () => (
92
90
  <div className="pf-chatbot__message-loading">
93
91
  <span className="pf-chatbot__message-loading-dots">
@@ -174,32 +172,29 @@ const initialConversations = {
174
172
  ]
175
173
  };
176
174
 
177
- export const EmbeddedChatbotDemo: React.FunctionComponent = () => {
178
- const [messages, setMessages] = React.useState<MessageProps[]>(initialMessages);
179
- const [selectedModel, setSelectedModel] = React.useState('Granite 7B');
180
- const [isSendButtonDisabled, setIsSendButtonDisabled] = React.useState(false);
181
- const [isDrawerOpen, setIsDrawerOpen] = React.useState(false);
182
- const [conversations, setConversations] = React.useState<Conversation[] | { [key: string]: Conversation[] }>(
175
+ export const EmbeddedChatbotDemo: FunctionComponent = () => {
176
+ const [messages, setMessages] = useState<MessageProps[]>(initialMessages);
177
+ const [selectedModel, setSelectedModel] = useState('Granite 7B');
178
+ const [isSendButtonDisabled, setIsSendButtonDisabled] = useState(false);
179
+ const [isDrawerOpen, setIsDrawerOpen] = useState(false);
180
+ const [conversations, setConversations] = useState<Conversation[] | { [key: string]: Conversation[] }>(
183
181
  initialConversations
184
182
  );
185
- const [isSidebarOpen, setIsSidebarOpen] = React.useState(false);
186
- const [announcement, setAnnouncement] = React.useState<string>();
187
- const scrollToBottomRef = React.useRef<HTMLDivElement>(null);
188
- const historyRef = React.useRef<HTMLButtonElement>(null);
183
+ const [isSidebarOpen, setIsSidebarOpen] = useState(false);
184
+ const [announcement, setAnnouncement] = useState<string>();
185
+ const scrollToBottomRef = useRef<HTMLDivElement>(null);
186
+ const historyRef = useRef<HTMLButtonElement>(null);
189
187
 
190
188
  const displayMode = ChatbotDisplayMode.embedded;
191
- // Autu-scrolls to the latest message
192
- React.useEffect(() => {
189
+ // Auto-scrolls to the latest message
190
+ useEffect(() => {
193
191
  // don't scroll the first load - in this demo, we know we start with two messages
194
192
  if (messages.length > 2) {
195
193
  scrollToBottomRef.current?.scrollIntoView({ behavior: 'smooth' });
196
194
  }
197
195
  }, [messages]);
198
196
 
199
- const onSelectModel = (
200
- _event: React.MouseEvent<Element, MouseEvent> | undefined,
201
- value: string | number | undefined
202
- ) => {
197
+ const onSelectModel = (_event: MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
203
198
  setSelectedModel(value as string);
204
199
  };
205
200
 
@@ -327,7 +322,7 @@ export const EmbeddedChatbotDemo: React.FunctionComponent = () => {
327
322
  </PageSidebar>
328
323
  );
329
324
 
330
- const skipToChatbot = (event: React.MouseEvent) => {
325
+ const skipToChatbot = (event: MouseEvent) => {
331
326
  event.preventDefault();
332
327
  if (historyRef.current) {
333
328
  historyRef.current.focus();
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { useState, useRef, useCallback, useEffect, FunctionComponent } from 'react';
2
2
 
3
3
  import {
4
4
  Page,
@@ -27,9 +27,9 @@ import '@patternfly/react-core/dist/styles/base.css';
27
27
  import '@patternfly/chatbot/dist/css/main.css';
28
28
 
29
29
  export const CompareChild = ({ name, input, hasNewInput, setIsSendButtonDisabled }) => {
30
- const [messages, setMessages] = React.useState<MessageProps[]>([]);
31
- const [announcement, setAnnouncement] = React.useState<string>();
32
- const scrollToBottomRef = React.useRef<HTMLDivElement>(null);
30
+ const [messages, setMessages] = useState<MessageProps[]>([]);
31
+ const [announcement, setAnnouncement] = useState<string>();
32
+ const scrollToBottomRef = useRef<HTMLDivElement>(null);
33
33
  const displayMode = ChatbotDisplayMode.embedded;
34
34
 
35
35
  // you will likely want to come up with your own unique id function; this is for demo purposes only
@@ -38,7 +38,7 @@ export const CompareChild = ({ name, input, hasNewInput, setIsSendButtonDisabled
38
38
  return id.toString();
39
39
  };
40
40
 
41
- const handleSend = React.useCallback(
41
+ const handleSend = useCallback(
42
42
  (input: string) => {
43
43
  const date = new Date();
44
44
  const newMessages: MessageProps[] = [];
@@ -101,14 +101,14 @@ export const CompareChild = ({ name, input, hasNewInput, setIsSendButtonDisabled
101
101
  [messages, name, setIsSendButtonDisabled]
102
102
  );
103
103
 
104
- React.useEffect(() => {
104
+ useEffect(() => {
105
105
  if (input) {
106
106
  handleSend(input);
107
107
  }
108
108
  }, [hasNewInput, input]);
109
109
 
110
110
  // Auto-scrolls to the latest message
111
- React.useEffect(() => {
111
+ useEffect(() => {
112
112
  // don't scroll the first load, but scroll if there's a current stream or a new source has popped up
113
113
  if (messages.length > 0) {
114
114
  scrollToBottomRef.current?.scrollIntoView();
@@ -133,11 +133,11 @@ export const CompareChild = ({ name, input, hasNewInput, setIsSendButtonDisabled
133
133
  );
134
134
  };
135
135
 
136
- export const EmbeddedComparisonChatbotDemo: React.FunctionComponent = () => {
137
- const [input, setInput] = React.useState<string>();
138
- const [hasNewInput, setHasNewInput] = React.useState(false);
139
- const [isSidebarOpen, setIsSidebarOpen] = React.useState(false);
140
- const [isSendButtonDisabled, setIsSendButtonDisabled] = React.useState(false);
136
+ export const EmbeddedComparisonChatbotDemo: FunctionComponent = () => {
137
+ const [input, setInput] = useState<string>();
138
+ const [hasNewInput, setHasNewInput] = useState(false);
139
+ const [isSidebarOpen, setIsSidebarOpen] = useState(false);
140
+ const [isSendButtonDisabled, setIsSendButtonDisabled] = useState(false);
141
141
 
142
142
  const handleSend = (value: string) => {
143
143
  setInput(value);
@@ -1,15 +1,15 @@
1
- import React from 'react';
1
+ import { FunctionComponent, useState, useRef } from 'react';
2
2
  import Message from '@patternfly/chatbot/dist/dynamic/Message';
3
3
  import patternflyAvatar from '../Messages/patternfly_avatar.jpg';
4
4
  import '@patternfly/react-core/dist/styles/base.css';
5
5
  import '@patternfly/chatbot/dist/css/main.css';
6
6
 
7
- export const MessageWithFeedbackExample: React.FunctionComponent = () => {
8
- const [showUserFeedbackForm, setShowUserFeedbackForm] = React.useState(false);
9
- const [showCompletionForm, setShowCompletionForm] = React.useState(false);
10
- const [launchButton, setLaunchButton] = React.useState<string>();
11
- const positiveRef = React.useRef<HTMLButtonElement>(null);
12
- const negativeRef = React.useRef<HTMLButtonElement>(null);
7
+ export const MessageWithFeedbackExample: FunctionComponent = () => {
8
+ const [showUserFeedbackForm, setShowUserFeedbackForm] = useState(false);
9
+ const [showCompletionForm, setShowCompletionForm] = useState(false);
10
+ const [launchButton, setLaunchButton] = useState<string>();
11
+ const positiveRef = useRef<HTMLButtonElement>(null);
12
+ const negativeRef = useRef<HTMLButtonElement>(null);
13
13
  const feedbackId = 'user-feedback-form';
14
14
  const completeId = 'user-feedback-received';
15
15
 
@@ -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 = {