@patternfly/chatbot 6.8.0-prerelease.8 → 6.9.0-prerelease.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 (307) hide show
  1. package/dist/cjs/CodeModal/CodeModal.js +5 -0
  2. package/dist/cjs/MarkdownContent/MarkdownContent.d.ts +26 -7
  3. package/dist/cjs/MarkdownContent/MarkdownContent.js +79 -166
  4. package/dist/cjs/MarkdownContent/MarkdownRenderer.d.ts +6 -0
  5. package/dist/cjs/MarkdownContent/MarkdownRenderer.js +187 -0
  6. package/dist/cjs/Message/Message.d.ts +3 -4
  7. package/dist/cjs/Message/Message.js +0 -2
  8. package/dist/cjs/MessageBox/MessageBox.js +5 -1
  9. package/dist/cjs/index.d.ts +0 -8
  10. package/dist/cjs/index.js +1 -13
  11. package/dist/css/main.css +18 -3
  12. package/dist/css/main.css.map +1 -1
  13. package/dist/esm/CodeModal/CodeModal.js +5 -0
  14. package/dist/esm/MarkdownContent/MarkdownContent.d.ts +26 -7
  15. package/dist/esm/MarkdownContent/MarkdownContent.js +52 -165
  16. package/dist/esm/MarkdownContent/MarkdownRenderer.d.ts +6 -0
  17. package/dist/esm/MarkdownContent/MarkdownRenderer.js +182 -0
  18. package/dist/esm/Message/Message.d.ts +3 -4
  19. package/dist/esm/Message/Message.js +0 -2
  20. package/dist/esm/MessageBox/MessageBox.js +5 -1
  21. package/dist/esm/index.d.ts +0 -8
  22. package/dist/esm/index.js +0 -8
  23. package/dist/tsconfig.tsbuildinfo +1 -1
  24. package/generate-index.js +41 -16
  25. package/generate-index.test.js +68 -0
  26. package/monaco-environment.js +45 -0
  27. package/package.json +20 -2
  28. package/patternfly-docs/content/extensions/chatbot/chatbot.md +1 -0
  29. package/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +1 -1
  30. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickStart.tsx +2 -2
  31. package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +2 -2
  32. package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +1 -1
  33. package/patternfly-docs/content/extensions/chatbot/examples/Messages/monitor-sampleapp-quickstart.ts +1 -0
  34. package/patternfly-docs/content/extensions/chatbot/tree-shaking.md +124 -0
  35. package/patternfly-docs/monaco-environment.js +45 -0
  36. package/patternfly-docs/patternfly-docs.css.js +6 -0
  37. package/src/Chatbot/Chatbot.scss +4 -0
  38. package/src/ChatbotContent/ChatbotContent.scss +1 -1
  39. package/src/ChatbotFooter/ChatbotFooter.scss +2 -2
  40. package/src/ChatbotHeader/ChatbotHeader.scss +4 -0
  41. package/src/ChatbotModal/ChatbotModal.scss +10 -0
  42. package/src/CodeModal/CodeModal.tsx +6 -0
  43. package/src/DeepThinking/DeepThinking.test.tsx +10 -12
  44. package/src/MarkdownContent/MarkdownContent.test.tsx +52 -5
  45. package/src/MarkdownContent/MarkdownContent.tsx +77 -220
  46. package/src/MarkdownContent/MarkdownRenderer.tsx +235 -0
  47. package/src/Message/Message.test.tsx +5 -0
  48. package/src/Message/Message.tsx +3 -5
  49. package/src/MessageBox/MessageBox.tsx +13 -1
  50. package/src/ResponseActions/ResponseActions.test.tsx +42 -48
  51. package/src/ToolCall/ToolCall.test.tsx +6 -9
  52. package/src/ToolResponse/ToolResponse.test.tsx +16 -22
  53. package/src/index.ts +0 -12
  54. package/src/test-utils/markdownTestUtils.ts +21 -0
  55. package/tsconfig.json +6 -1
  56. package/dist/cjs/AttachmentEdit/AttachmentEdit.test.d.ts +0 -1
  57. package/dist/cjs/AttachmentEdit/AttachmentEdit.test.js +0 -77
  58. package/dist/cjs/Chatbot/Chatbot.test.d.ts +0 -1
  59. package/dist/cjs/Chatbot/Chatbot.test.js +0 -32
  60. package/dist/cjs/ChatbotAlert/ChatbotAlert.test.d.ts +0 -1
  61. package/dist/cjs/ChatbotAlert/ChatbotAlert.test.js +0 -27
  62. package/dist/cjs/ChatbotContent/ChatbotContent.test.d.ts +0 -1
  63. package/dist/cjs/ChatbotContent/ChatbotContent.test.js +0 -22
  64. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.d.ts +0 -1
  65. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +0 -75
  66. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.d.ts +0 -1
  67. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +0 -601
  68. package/dist/cjs/ChatbotFooter/ChatbotFooter.test.d.ts +0 -1
  69. package/dist/cjs/ChatbotFooter/ChatbotFooter.test.js +0 -27
  70. package/dist/cjs/ChatbotFooter/ChatbotFooternote.test.d.ts +0 -1
  71. package/dist/cjs/ChatbotFooter/ChatbotFooternote.test.js +0 -87
  72. package/dist/cjs/ChatbotHeader/ChatbotHeader.test.d.ts +0 -1
  73. package/dist/cjs/ChatbotHeader/ChatbotHeader.test.js +0 -18
  74. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.test.d.ts +0 -1
  75. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.test.js +0 -18
  76. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +0 -1
  77. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.js +0 -22
  78. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.test.d.ts +0 -1
  79. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.test.js +0 -18
  80. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +0 -1
  81. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.js +0 -22
  82. package/dist/cjs/ChatbotHeader/ChatbotHeaderNewChatButton.test.d.ts +0 -1
  83. package/dist/cjs/ChatbotHeader/ChatbotHeaderNewChatButton.test.js +0 -22
  84. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +0 -1
  85. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +0 -46
  86. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +0 -1
  87. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +0 -44
  88. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.test.d.ts +0 -1
  89. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.test.js +0 -55
  90. package/dist/cjs/ChatbotModal/ChatbotModal.test.d.ts +0 -1
  91. package/dist/cjs/ChatbotModal/ChatbotModal.test.js +0 -16
  92. package/dist/cjs/ChatbotToggle/ChatbotToggle.test.d.ts +0 -1
  93. package/dist/cjs/ChatbotToggle/ChatbotToggle.test.js +0 -64
  94. package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.d.ts +0 -1
  95. package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +0 -61
  96. package/dist/cjs/CodeModal/CodeModal.test.d.ts +0 -1
  97. package/dist/cjs/CodeModal/CodeModal.test.js +0 -34
  98. package/dist/cjs/Compare/Compare.test.d.ts +0 -1
  99. package/dist/cjs/Compare/Compare.test.js +0 -18
  100. package/dist/cjs/DeepThinking/DeepThinking.test.d.ts +0 -1
  101. package/dist/cjs/DeepThinking/DeepThinking.test.js +0 -146
  102. package/dist/cjs/FileDetails/FileDetails.test.d.ts +0 -1
  103. package/dist/cjs/FileDetails/FileDetails.test.js +0 -42
  104. package/dist/cjs/FileDetailsLabel/FileDetailsLabel.test.d.ts +0 -1
  105. package/dist/cjs/FileDetailsLabel/FileDetailsLabel.test.js +0 -79
  106. package/dist/cjs/FileDropZone/FileDropZone.test.d.ts +0 -1
  107. package/dist/cjs/FileDropZone/FileDropZone.test.js +0 -100
  108. package/dist/cjs/FilePreview/FilePreview.test.d.ts +0 -1
  109. package/dist/cjs/FilePreview/FilePreview.test.js +0 -97
  110. package/dist/cjs/ImagePreview/ImagePreview.test.d.ts +0 -1
  111. package/dist/cjs/ImagePreview/ImagePreview.test.js +0 -225
  112. package/dist/cjs/MarkdownContent/MarkdownContent.test.d.ts +0 -1
  113. package/dist/cjs/MarkdownContent/MarkdownContent.test.js +0 -192
  114. package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.test.d.ts +0 -1
  115. package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.test.js +0 -131
  116. package/dist/cjs/Message/ErrorMessage/ErrorMessage.test.d.ts +0 -1
  117. package/dist/cjs/Message/ErrorMessage/ErrorMessage.test.js +0 -30
  118. package/dist/cjs/Message/Message.test.d.ts +0 -1
  119. package/dist/cjs/Message/Message.test.js +0 -1128
  120. package/dist/cjs/Message/MessageAndActions/MessageAndActions.test.d.ts +0 -1
  121. package/dist/cjs/Message/MessageAndActions/MessageAndActions.test.js +0 -25
  122. package/dist/cjs/Message/MessageAttachments/MessageAttachmentItem.test.d.ts +0 -1
  123. package/dist/cjs/Message/MessageAttachments/MessageAttachmentItem.test.js +0 -25
  124. package/dist/cjs/Message/MessageAttachments/MessageAttachmentsContainer.test.d.ts +0 -1
  125. package/dist/cjs/Message/MessageAttachments/MessageAttachmentsContainer.test.js +0 -25
  126. package/dist/cjs/Message/MessageLoading.test.d.ts +0 -1
  127. package/dist/cjs/Message/MessageLoading.test.js +0 -25
  128. package/dist/cjs/Message/QuickResponse/QuickResponse.test.d.ts +0 -1
  129. package/dist/cjs/Message/QuickResponse/QuickResponse.test.js +0 -109
  130. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.d.ts +0 -1
  131. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.js +0 -76
  132. package/dist/cjs/Message/UserFeedback/UserFeedback.test.d.ts +0 -1
  133. package/dist/cjs/Message/UserFeedback/UserFeedback.test.js +0 -181
  134. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.d.ts +0 -1
  135. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.js +0 -243
  136. package/dist/cjs/MessageBar/AttachButton.test.d.ts +0 -1
  137. package/dist/cjs/MessageBar/AttachButton.test.js +0 -152
  138. package/dist/cjs/MessageBar/MessageBar.test.d.ts +0 -1
  139. package/dist/cjs/MessageBar/MessageBar.test.js +0 -338
  140. package/dist/cjs/MessageBar/SendButton.test.d.ts +0 -1
  141. package/dist/cjs/MessageBar/SendButton.test.js +0 -58
  142. package/dist/cjs/MessageBar/StopButton.test.d.ts +0 -1
  143. package/dist/cjs/MessageBar/StopButton.test.js +0 -58
  144. package/dist/cjs/MessageBox/JumpButton.test.d.ts +0 -1
  145. package/dist/cjs/MessageBox/JumpButton.test.js +0 -39
  146. package/dist/cjs/MessageBox/MessageBox.test.d.ts +0 -1
  147. package/dist/cjs/MessageBox/MessageBox.test.js +0 -294
  148. package/dist/cjs/MessageDivider/MessageDivider.test.d.ts +0 -1
  149. package/dist/cjs/MessageDivider/MessageDivider.test.js +0 -29
  150. package/dist/cjs/Onboarding/Onboarding.test.d.ts +0 -1
  151. package/dist/cjs/Onboarding/Onboarding.test.js +0 -80
  152. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.d.ts +0 -1
  153. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.js +0 -50
  154. package/dist/cjs/ResponseActions/ResponseActionButton.test.d.ts +0 -1
  155. package/dist/cjs/ResponseActions/ResponseActionButton.test.js +0 -54
  156. package/dist/cjs/ResponseActions/ResponseActions.test.d.ts +0 -1
  157. package/dist/cjs/ResponseActions/ResponseActions.test.js +0 -455
  158. package/dist/cjs/ResponseActions/ResponseActionsGroups.test.d.ts +0 -1
  159. package/dist/cjs/ResponseActions/ResponseActionsGroups.test.js +0 -25
  160. package/dist/cjs/Settings/SettingsForm.test.d.ts +0 -1
  161. package/dist/cjs/Settings/SettingsForm.test.js +0 -35
  162. package/dist/cjs/SourcesCard/SourcesCard.test.d.ts +0 -1
  163. package/dist/cjs/SourcesCard/SourcesCard.test.js +0 -39
  164. package/dist/cjs/SourcesCardBase/SourcesCardBase.test.d.ts +0 -1
  165. package/dist/cjs/SourcesCardBase/SourcesCardBase.test.js +0 -199
  166. package/dist/cjs/TermsOfUse/TermsOfUse.test.d.ts +0 -1
  167. package/dist/cjs/TermsOfUse/TermsOfUse.test.js +0 -77
  168. package/dist/cjs/ToolCall/ToolCall.test.d.ts +0 -1
  169. package/dist/cjs/ToolCall/ToolCall.test.js +0 -201
  170. package/dist/cjs/ToolResponse/ToolResponse.test.d.ts +0 -1
  171. package/dist/cjs/ToolResponse/ToolResponse.test.js +0 -184
  172. package/dist/cjs/__mocks__/monaco-editor.d.ts +0 -11
  173. package/dist/cjs/__mocks__/monaco-editor.js +0 -18
  174. package/dist/cjs/__mocks__/rehype-external-links.d.ts +0 -2
  175. package/dist/cjs/__mocks__/rehype-external-links.js +0 -4
  176. package/dist/cjs/__mocks__/rehype-highlight.d.ts +0 -2
  177. package/dist/cjs/__mocks__/rehype-highlight.js +0 -4
  178. package/dist/cjs/__mocks__/rehype-sanitize.d.ts +0 -2
  179. package/dist/cjs/__mocks__/rehype-sanitize.js +0 -4
  180. package/dist/cjs/__mocks__/rehype-unwrap-images.d.ts +0 -2
  181. package/dist/cjs/__mocks__/rehype-unwrap-images.js +0 -4
  182. package/dist/esm/AttachmentEdit/AttachmentEdit.test.d.ts +0 -1
  183. package/dist/esm/AttachmentEdit/AttachmentEdit.test.js +0 -72
  184. package/dist/esm/Chatbot/Chatbot.test.d.ts +0 -1
  185. package/dist/esm/Chatbot/Chatbot.test.js +0 -27
  186. package/dist/esm/ChatbotAlert/ChatbotAlert.test.d.ts +0 -1
  187. package/dist/esm/ChatbotAlert/ChatbotAlert.test.js +0 -22
  188. package/dist/esm/ChatbotContent/ChatbotContent.test.d.ts +0 -1
  189. package/dist/esm/ChatbotContent/ChatbotContent.test.js +0 -17
  190. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.d.ts +0 -1
  191. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +0 -70
  192. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.d.ts +0 -1
  193. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +0 -596
  194. package/dist/esm/ChatbotFooter/ChatbotFooter.test.d.ts +0 -1
  195. package/dist/esm/ChatbotFooter/ChatbotFooter.test.js +0 -22
  196. package/dist/esm/ChatbotFooter/ChatbotFooternote.test.d.ts +0 -1
  197. package/dist/esm/ChatbotFooter/ChatbotFooternote.test.js +0 -82
  198. package/dist/esm/ChatbotHeader/ChatbotHeader.test.d.ts +0 -1
  199. package/dist/esm/ChatbotHeader/ChatbotHeader.test.js +0 -13
  200. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.d.ts +0 -1
  201. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.js +0 -13
  202. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +0 -1
  203. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.js +0 -20
  204. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.d.ts +0 -1
  205. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.js +0 -13
  206. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +0 -1
  207. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.js +0 -20
  208. package/dist/esm/ChatbotHeader/ChatbotHeaderNewChatButton.test.d.ts +0 -1
  209. package/dist/esm/ChatbotHeader/ChatbotHeaderNewChatButton.test.js +0 -20
  210. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +0 -1
  211. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +0 -44
  212. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +0 -1
  213. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +0 -42
  214. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.d.ts +0 -1
  215. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.js +0 -50
  216. package/dist/esm/ChatbotModal/ChatbotModal.test.d.ts +0 -1
  217. package/dist/esm/ChatbotModal/ChatbotModal.test.js +0 -11
  218. package/dist/esm/ChatbotToggle/ChatbotToggle.test.d.ts +0 -1
  219. package/dist/esm/ChatbotToggle/ChatbotToggle.test.js +0 -59
  220. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.d.ts +0 -1
  221. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +0 -56
  222. package/dist/esm/CodeModal/CodeModal.test.d.ts +0 -1
  223. package/dist/esm/CodeModal/CodeModal.test.js +0 -29
  224. package/dist/esm/Compare/Compare.test.d.ts +0 -1
  225. package/dist/esm/Compare/Compare.test.js +0 -13
  226. package/dist/esm/DeepThinking/DeepThinking.test.d.ts +0 -1
  227. package/dist/esm/DeepThinking/DeepThinking.test.js +0 -141
  228. package/dist/esm/FileDetails/FileDetails.test.d.ts +0 -1
  229. package/dist/esm/FileDetails/FileDetails.test.js +0 -37
  230. package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.d.ts +0 -1
  231. package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.js +0 -74
  232. package/dist/esm/FileDropZone/FileDropZone.test.d.ts +0 -1
  233. package/dist/esm/FileDropZone/FileDropZone.test.js +0 -95
  234. package/dist/esm/FilePreview/FilePreview.test.d.ts +0 -1
  235. package/dist/esm/FilePreview/FilePreview.test.js +0 -92
  236. package/dist/esm/ImagePreview/ImagePreview.test.d.ts +0 -1
  237. package/dist/esm/ImagePreview/ImagePreview.test.js +0 -220
  238. package/dist/esm/MarkdownContent/MarkdownContent.test.d.ts +0 -1
  239. package/dist/esm/MarkdownContent/MarkdownContent.test.js +0 -187
  240. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.test.d.ts +0 -1
  241. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.test.js +0 -126
  242. package/dist/esm/Message/ErrorMessage/ErrorMessage.test.d.ts +0 -1
  243. package/dist/esm/Message/ErrorMessage/ErrorMessage.test.js +0 -25
  244. package/dist/esm/Message/Message.test.d.ts +0 -1
  245. package/dist/esm/Message/Message.test.js +0 -1123
  246. package/dist/esm/Message/MessageAndActions/MessageAndActions.test.d.ts +0 -1
  247. package/dist/esm/Message/MessageAndActions/MessageAndActions.test.js +0 -20
  248. package/dist/esm/Message/MessageAttachments/MessageAttachmentItem.test.d.ts +0 -1
  249. package/dist/esm/Message/MessageAttachments/MessageAttachmentItem.test.js +0 -20
  250. package/dist/esm/Message/MessageAttachments/MessageAttachmentsContainer.test.d.ts +0 -1
  251. package/dist/esm/Message/MessageAttachments/MessageAttachmentsContainer.test.js +0 -20
  252. package/dist/esm/Message/MessageLoading.test.d.ts +0 -1
  253. package/dist/esm/Message/MessageLoading.test.js +0 -20
  254. package/dist/esm/Message/QuickResponse/QuickResponse.test.d.ts +0 -1
  255. package/dist/esm/Message/QuickResponse/QuickResponse.test.js +0 -104
  256. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.d.ts +0 -1
  257. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.js +0 -48
  258. package/dist/esm/Message/UserFeedback/UserFeedback.test.d.ts +0 -1
  259. package/dist/esm/Message/UserFeedback/UserFeedback.test.js +0 -176
  260. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.d.ts +0 -1
  261. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.js +0 -238
  262. package/dist/esm/MessageBar/AttachButton.test.d.ts +0 -1
  263. package/dist/esm/MessageBar/AttachButton.test.js +0 -147
  264. package/dist/esm/MessageBar/MessageBar.test.d.ts +0 -1
  265. package/dist/esm/MessageBar/MessageBar.test.js +0 -333
  266. package/dist/esm/MessageBar/SendButton.test.d.ts +0 -1
  267. package/dist/esm/MessageBar/SendButton.test.js +0 -53
  268. package/dist/esm/MessageBar/StopButton.test.d.ts +0 -1
  269. package/dist/esm/MessageBar/StopButton.test.js +0 -53
  270. package/dist/esm/MessageBox/JumpButton.test.d.ts +0 -1
  271. package/dist/esm/MessageBox/JumpButton.test.js +0 -34
  272. package/dist/esm/MessageBox/MessageBox.test.d.ts +0 -1
  273. package/dist/esm/MessageBox/MessageBox.test.js +0 -289
  274. package/dist/esm/MessageDivider/MessageDivider.test.d.ts +0 -1
  275. package/dist/esm/MessageDivider/MessageDivider.test.js +0 -24
  276. package/dist/esm/Onboarding/Onboarding.test.d.ts +0 -1
  277. package/dist/esm/Onboarding/Onboarding.test.js +0 -75
  278. package/dist/esm/PreviewAttachment/PreviewAttachment.test.d.ts +0 -1
  279. package/dist/esm/PreviewAttachment/PreviewAttachment.test.js +0 -48
  280. package/dist/esm/ResponseActions/ResponseActionButton.test.d.ts +0 -1
  281. package/dist/esm/ResponseActions/ResponseActionButton.test.js +0 -49
  282. package/dist/esm/ResponseActions/ResponseActions.test.d.ts +0 -1
  283. package/dist/esm/ResponseActions/ResponseActions.test.js +0 -450
  284. package/dist/esm/ResponseActions/ResponseActionsGroups.test.d.ts +0 -1
  285. package/dist/esm/ResponseActions/ResponseActionsGroups.test.js +0 -20
  286. package/dist/esm/Settings/SettingsForm.test.d.ts +0 -1
  287. package/dist/esm/Settings/SettingsForm.test.js +0 -33
  288. package/dist/esm/SourcesCard/SourcesCard.test.d.ts +0 -1
  289. package/dist/esm/SourcesCard/SourcesCard.test.js +0 -34
  290. package/dist/esm/SourcesCardBase/SourcesCardBase.test.d.ts +0 -1
  291. package/dist/esm/SourcesCardBase/SourcesCardBase.test.js +0 -194
  292. package/dist/esm/TermsOfUse/TermsOfUse.test.d.ts +0 -1
  293. package/dist/esm/TermsOfUse/TermsOfUse.test.js +0 -72
  294. package/dist/esm/ToolCall/ToolCall.test.d.ts +0 -1
  295. package/dist/esm/ToolCall/ToolCall.test.js +0 -196
  296. package/dist/esm/ToolResponse/ToolResponse.test.d.ts +0 -1
  297. package/dist/esm/ToolResponse/ToolResponse.test.js +0 -179
  298. package/dist/esm/__mocks__/monaco-editor.d.ts +0 -11
  299. package/dist/esm/__mocks__/monaco-editor.js +0 -18
  300. package/dist/esm/__mocks__/rehype-external-links.d.ts +0 -2
  301. package/dist/esm/__mocks__/rehype-external-links.js +0 -2
  302. package/dist/esm/__mocks__/rehype-highlight.d.ts +0 -2
  303. package/dist/esm/__mocks__/rehype-highlight.js +0 -2
  304. package/dist/esm/__mocks__/rehype-sanitize.d.ts +0 -2
  305. package/dist/esm/__mocks__/rehype-sanitize.js +0 -2
  306. package/dist/esm/__mocks__/rehype-unwrap-images.d.ts +0 -2
  307. package/dist/esm/__mocks__/rehype-unwrap-images.js +0 -2
@@ -1,338 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const jsx_runtime_1 = require("react/jsx-runtime");
16
- require("@testing-library/jest-dom");
17
- const react_core_1 = require("@patternfly/react-core");
18
- const react_icons_1 = require("@patternfly/react-icons");
19
- const react_1 = require("@testing-library/react");
20
- const user_event_1 = __importDefault(require("@testing-library/user-event"));
21
- const react_2 = require("react");
22
- const SourceDetailsMenuItem_1 = __importDefault(require("../SourceDetailsMenuItem"));
23
- const MessageBar_1 = require("./MessageBar");
24
- const ATTACH_MENU_ITEMS = [
25
- (0, jsx_runtime_1.jsx)(react_core_1.DropdownList, { children: (0, jsx_runtime_1.jsx)(react_core_1.DropdownItem, { className: "pf-chatbot-source-details-dropdown-item", value: "auth-operator Pod", id: "0", children: (0, jsx_runtime_1.jsx)(SourceDetailsMenuItem_1.default, { icon: (0, jsx_runtime_1.jsxs)("svg", { width: "24", height: "25", viewBox: "0 0 24 25", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [(0, jsx_runtime_1.jsx)("path", { d: "M0 12.5C0 5.87258 5.37258 0.5 12 0.5C18.6274 0.5 24 5.87258 24 12.5C24 19.1274 18.6274 24.5 12 24.5C5.37258 24.5 0 19.1274 0 12.5Z", fill: "currentColor" }), (0, jsx_runtime_1.jsx)("g", { clipPath: "url(#clip0_3280_27488)", children: (0, jsx_runtime_1.jsx)("path", { d: "M8.25 8.75C8.25 7.92266 8.92266 7.25 9.75 7.25H12C14.0719 7.25 15.75 8.92812 15.75 11C15.75 13.0719 14.0719 14.75 12 14.75H9.75V17C9.75 17.4148 9.41484 17.75 9 17.75C8.58516 17.75 8.25 17.4148 8.25 17V14V8.75ZM9.75 13.25H12C13.2422 13.25 14.25 12.2422 14.25 11C14.25 9.75781 13.2422 8.75 12 8.75H9.75V13.25Z", fill: "white" }) }), (0, jsx_runtime_1.jsx)("defs", { children: (0, jsx_runtime_1.jsx)("clipPath", { id: "clip0_3280_27488", children: (0, jsx_runtime_1.jsx)("rect", { width: "7.5", height: "12", fill: "white", transform: "translate(8.25 6.5)" }) }) })] }), name: "auth-operator", type: "Pod" }) }) }, "list-1"),
26
- (0, jsx_runtime_1.jsx)(react_core_1.DropdownGroup, { children: (0, jsx_runtime_1.jsxs)(react_core_1.DropdownList, { children: [(0, jsx_runtime_1.jsx)(react_core_1.DropdownItem, { value: "Alerts", id: "1", icon: (0, jsx_runtime_1.jsx)(react_icons_1.RhUiAttentionBellIcon, {}), children: "Alerts" }), (0, jsx_runtime_1.jsx)(react_core_1.DropdownItem, { value: "Events", id: "2", icon: (0, jsx_runtime_1.jsx)(react_icons_1.RhUiCalendarIcon, {}), children: "Events" }), (0, jsx_runtime_1.jsx)(react_core_1.DropdownItem, { value: "Logs", id: "3", icon: (0, jsx_runtime_1.jsx)(react_icons_1.RhUiClipboardIcon, {}), children: "Logs" }), (0, jsx_runtime_1.jsx)(react_core_1.DropdownItem, { value: "YAML - Status", id: "4", icon: (0, jsx_runtime_1.jsx)(react_icons_1.RhUiCodeIcon, {}), children: "YAML - Status" }), (0, jsx_runtime_1.jsx)(react_core_1.DropdownItem, { value: "YAML - All contents", id: "5", icon: (0, jsx_runtime_1.jsx)(react_icons_1.RhUiCodeIcon, {}), children: "YAML - All contents" })] }) }, "group2")
27
- ];
28
- const originalSpeechRecognition = window.SpeechRecognition;
29
- const mockSpeechRecognition = () => {
30
- const MockSpeechRecognition = jest.fn().mockImplementation(() => ({
31
- start: jest.fn(),
32
- stop: jest.fn()
33
- }));
34
- MockSpeechRecognition.prototype = {};
35
- window.SpeechRecognition = MockSpeechRecognition;
36
- };
37
- describe('Message bar', () => {
38
- afterAll(() => {
39
- window.SpeechRecognition = originalSpeechRecognition;
40
- });
41
- it('should render correctly', () => {
42
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn }));
43
- expect(react_1.screen.getByRole('button', { name: 'Attach' })).toBeTruthy();
44
- expect(react_1.screen.queryByRole('button', { name: 'Send' })).toBeFalsy();
45
- expect(react_1.screen.queryByRole('button', { name: 'Use microphone' })).toBeFalsy();
46
- expect(react_1.screen.getByRole('textbox', { name: /Send a message.../i })).toBeTruthy();
47
- });
48
- it('can send via enter key', () => __awaiter(void 0, void 0, void 0, function* () {
49
- const spy = jest.fn();
50
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: spy }));
51
- const input = react_1.screen.getByRole('textbox', { name: /Send a message.../i });
52
- yield user_event_1.default.type(input, 'Hello world');
53
- expect(input).toHaveTextContent('Hello world');
54
- yield user_event_1.default.type(input, '[Enter]');
55
- expect(spy).toHaveBeenCalledTimes(1);
56
- }));
57
- it('calls onChange callback appropriately', () => __awaiter(void 0, void 0, void 0, function* () {
58
- const spy = jest.fn();
59
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, onChange: spy }));
60
- const input = react_1.screen.getByRole('textbox', { name: /Send a message.../i });
61
- yield user_event_1.default.type(input, 'A');
62
- expect(input).toHaveTextContent('A');
63
- expect(spy).toHaveBeenCalledTimes(1);
64
- expect(spy).toHaveBeenCalledWith(expect.any(Object), 'A');
65
- }));
66
- it('can use specified placeholder text', () => __awaiter(void 0, void 0, void 0, function* () {
67
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, placeholder: "test placeholder" }));
68
- const input = react_1.screen.getByRole('textbox', { name: /test placeholder/i });
69
- yield user_event_1.default.type(input, 'Hello world');
70
- expect(input).toHaveTextContent('Hello world');
71
- }));
72
- // Send button
73
- // --------------------------------------------------------------------------
74
- it('shows send button when text is input', () => __awaiter(void 0, void 0, void 0, function* () {
75
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn }));
76
- const input = react_1.screen.getByRole('textbox', { name: /Send a message.../i });
77
- yield user_event_1.default.type(input, 'Hello world');
78
- expect(input).toHaveTextContent('Hello world');
79
- expect(react_1.screen.getByRole('button', { name: 'Send' })).toBeTruthy();
80
- }));
81
- it('can disable send button shown when text is input', () => __awaiter(void 0, void 0, void 0, function* () {
82
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, isSendButtonDisabled: true }));
83
- const input = react_1.screen.getByRole('textbox', { name: /Send a message.../i });
84
- yield user_event_1.default.type(input, 'Hello world');
85
- expect(input).toHaveTextContent('Hello world');
86
- expect(react_1.screen.getByRole('button', { name: 'Send' })).toBeTruthy();
87
- expect(react_1.screen.getByRole('button', { name: 'Send' })).toBeDisabled();
88
- }));
89
- it('can click send button', () => __awaiter(void 0, void 0, void 0, function* () {
90
- const spy = jest.fn();
91
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: spy }));
92
- const input = react_1.screen.getByRole('textbox', { name: /Send a message.../i });
93
- yield user_event_1.default.type(input, 'Hello world');
94
- expect(input).toHaveTextContent('Hello world');
95
- const sendButton = react_1.screen.getByRole('button', { name: 'Send' });
96
- expect(sendButton).toBeTruthy();
97
- yield user_event_1.default.click(sendButton);
98
- expect(spy).toHaveBeenCalledTimes(1);
99
- }));
100
- it('can always show send button', () => {
101
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, alwayShowSendButton: true }));
102
- expect(react_1.screen.getByRole('button', { name: 'Send' })).toBeTruthy();
103
- expect(react_1.screen.getByRole('button', { name: 'Send' })).toBeEnabled();
104
- });
105
- it('can disable send button if always showing', () => {
106
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, alwayShowSendButton: true, isSendButtonDisabled: true }));
107
- expect(react_1.screen.getByRole('button', { name: 'Send' })).toBeTruthy();
108
- expect(react_1.screen.getByRole('button', { name: 'Send' })).toBeDisabled();
109
- });
110
- it('can handle buttonProps tooltipContent appropriately for send', () => __awaiter(void 0, void 0, void 0, function* () {
111
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, alwayShowSendButton: true, buttonProps: { send: { tooltipContent: 'Test' } } }));
112
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Send' }));
113
- expect(react_1.screen.getByRole('tooltip', { name: 'Test' })).toBeTruthy();
114
- }));
115
- it('can handle buttonProps tooltipProps appropriately for send', () => {
116
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, alwayShowSendButton: true, buttonProps: { send: { tooltipProps: { isVisible: true } } } }));
117
- // isVisible, so no need for click
118
- expect(react_1.screen.getByRole('tooltip', { name: 'Send' })).toBeTruthy();
119
- });
120
- it('can handle buttonProps props appropriately for send', () => __awaiter(void 0, void 0, void 0, function* () {
121
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, alwayShowSendButton: true, buttonProps: { send: { props: { 'aria-label': 'Test' } } } }));
122
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Test' }));
123
- }));
124
- // Attach button
125
- // --------------------------------------------------------------------------
126
- it('can show attach menu', () => __awaiter(void 0, void 0, void 0, function* () {
127
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, attachMenuProps: {
128
- isAttachMenuOpen: true,
129
- setIsAttachMenuOpen: jest.fn(),
130
- onAttachMenuToggleClick: jest.fn(),
131
- onAttachMenuInputChange: jest.fn(),
132
- attachMenuItems: ATTACH_MENU_ITEMS
133
- } }));
134
- expect(react_1.screen.getByRole('textbox', { name: /Filter menu items/i })).toBeTruthy();
135
- expect(react_1.screen.getByRole('menuitem', { name: /auth-operator/i })).toBeTruthy();
136
- expect(react_1.screen.getByRole('menuitem', { name: /Alerts/i })).toBeTruthy();
137
- expect(react_1.screen.getByRole('menuitem', { name: /Events/i })).toBeTruthy();
138
- expect(react_1.screen.getByRole('menuitem', { name: /Logs/i })).toBeTruthy();
139
- expect(react_1.screen.getByRole('menuitem', { name: /YAML - Status/i })).toBeTruthy();
140
- expect(react_1.screen.getByRole('menuitem', { name: /YAML - All contents/i })).toBeTruthy();
141
- }));
142
- it('can toggle attach menu', () => __awaiter(void 0, void 0, void 0, function* () {
143
- const attachToggleClickSpy = jest.fn();
144
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, attachMenuProps: {
145
- isAttachMenuOpen: false,
146
- setIsAttachMenuOpen: jest.fn(),
147
- onAttachMenuToggleClick: attachToggleClickSpy,
148
- onAttachMenuInputChange: jest.fn(),
149
- attachMenuItems: ATTACH_MENU_ITEMS
150
- } }));
151
- expect(react_1.screen.queryByRole('textbox', { name: /Filter menu items/i })).toBeFalsy();
152
- expect(react_1.screen.queryByRole('menuitem', { name: /auth-operator/i })).toBeFalsy();
153
- expect(react_1.screen.queryByRole('menuitem', { name: /Alerts/i })).toBeFalsy();
154
- expect(react_1.screen.queryByRole('menuitem', { name: /Events/i })).toBeFalsy();
155
- expect(react_1.screen.queryByRole('menuitem', { name: /Logs/i })).toBeFalsy();
156
- expect(react_1.screen.queryByRole('menuitem', { name: /YAML - Status/i })).toBeFalsy();
157
- expect(react_1.screen.queryByRole('menuitem', { name: /YAML - All contents/i })).toBeFalsy();
158
- const attachButton = react_1.screen.getByRole('button', { name: 'Attach' });
159
- yield user_event_1.default.click(attachButton);
160
- expect(attachToggleClickSpy).toHaveBeenCalledTimes(1);
161
- }));
162
- it('can pass searchInputProps to search input in AttachMenu', () => {
163
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, value: "test", attachMenuProps: {
164
- isAttachMenuOpen: true,
165
- setIsAttachMenuOpen: jest.fn(),
166
- onAttachMenuToggleClick: jest.fn(),
167
- onAttachMenuInputChange: jest.fn(),
168
- attachMenuItems: ATTACH_MENU_ITEMS,
169
- searchInputProps: { isDisabled: true }
170
- } }));
171
- expect(react_1.screen.getByRole('textbox', { name: /Filter menu items/i })).toBeDisabled();
172
- });
173
- it('can pass menuSearchProps to search input in AttachMenu', () => {
174
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, value: "test", attachMenuProps: {
175
- isAttachMenuOpen: true,
176
- setIsAttachMenuOpen: jest.fn(),
177
- onAttachMenuToggleClick: jest.fn(),
178
- onAttachMenuInputChange: jest.fn(),
179
- attachMenuItems: ATTACH_MENU_ITEMS,
180
- menuSearchProps: { 'data-testid': 'menu-search' }
181
- } }));
182
- expect(react_1.screen.getByTestId('menu-search')).toBeTruthy();
183
- });
184
- it('can pass menuSearchInputProps to search input in AttachMenu', () => {
185
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, value: "test", attachMenuProps: {
186
- isAttachMenuOpen: true,
187
- setIsAttachMenuOpen: jest.fn(),
188
- onAttachMenuToggleClick: jest.fn(),
189
- onAttachMenuInputChange: jest.fn(),
190
- attachMenuItems: ATTACH_MENU_ITEMS,
191
- menuSearchInputProps: { 'data-testid': 'menu-search-input' }
192
- } }));
193
- expect(react_1.screen.getByTestId('menu-search-input')).toBeTruthy();
194
- });
195
- it('can remove input from attach menu', () => __awaiter(void 0, void 0, void 0, function* () {
196
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, attachMenuProps: {
197
- isAttachMenuOpen: true,
198
- setIsAttachMenuOpen: jest.fn(),
199
- onAttachMenuToggleClick: jest.fn(),
200
- attachMenuItems: ATTACH_MENU_ITEMS
201
- } }));
202
- expect(react_1.screen.queryByRole('textbox', { name: /Filter menu items/i })).not.toBeInTheDocument();
203
- }));
204
- it('can hide attach button', () => {
205
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, hasAttachButton: false }));
206
- expect(react_1.screen.queryByRole('button', { name: 'Attach' })).toBeFalsy();
207
- });
208
- // Based on this because I had no idea how to do this and was looking around: https://stackoverflow.com/a/75562651
209
- // See also https://developer.mozilla.org/en-US/docs/Web/API/File/File for what that file variable is doing
210
- it('can handle handleAttach', () => __awaiter(void 0, void 0, void 0, function* () {
211
- const spy = jest.fn();
212
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, hasAttachButton: true, handleAttach: spy, buttonProps: { attach: { inputTestId: 'input' } } }));
213
- expect(react_1.screen.getByRole('button', { name: 'Attach' })).toBeTruthy();
214
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Attach' }));
215
- const file = new File(['test'], 'test.json');
216
- const input = react_1.screen.getByTestId('input');
217
- yield user_event_1.default.upload(input, file);
218
- expect(input.files).toHaveLength(1);
219
- expect(spy).toHaveBeenCalledTimes(1);
220
- }));
221
- it('can handle buttonProps tooltipContent appropriately for attach', () => __awaiter(void 0, void 0, void 0, function* () {
222
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, hasAttachButton: true, buttonProps: { attach: { tooltipContent: 'Test' } } }));
223
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Attach' }));
224
- expect(react_1.screen.getByRole('tooltip', { name: 'Test' })).toBeTruthy();
225
- }));
226
- it('can handle buttonProps tooltipProps appropriately for attach', () => {
227
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, alwayShowSendButton: true, buttonProps: { attach: { tooltipProps: { isVisible: true } } } }));
228
- // isVisible, so no need for click
229
- expect(react_1.screen.getByRole('tooltip', { name: 'Attach' })).toBeTruthy();
230
- });
231
- it('can handle buttonProps props appropriately for attach', () => __awaiter(void 0, void 0, void 0, function* () {
232
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, hasAttachButton: true, buttonProps: { attach: { props: { 'aria-label': 'Test' } } } }));
233
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Test' }));
234
- }));
235
- it('can change attach button icon', () => {
236
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, hasAttachButton: true, buttonProps: {
237
- attach: {
238
- icon: (0, jsx_runtime_1.jsx)("img", { alt: "", src: "" })
239
- }
240
- } }));
241
- expect(react_1.screen.getByRole('img')).toBeVisible();
242
- });
243
- // Stop button
244
- // --------------------------------------------------------------------------
245
- it('can show stop button', () => {
246
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, hasStopButton: true, handleStopButton: jest.fn }));
247
- expect(react_1.screen.getByRole('button', { name: 'Stop' })).toBeTruthy();
248
- });
249
- it('can call handleStopButton', () => __awaiter(void 0, void 0, void 0, function* () {
250
- const spy = jest.fn();
251
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, hasStopButton: true, handleStopButton: spy }));
252
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Stop' }));
253
- expect(spy).toHaveBeenCalledTimes(1);
254
- }));
255
- it('can handle buttonProps tooltipContent appropriately for stop', () => __awaiter(void 0, void 0, void 0, function* () {
256
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, hasStopButton: true, handleStopButton: jest.fn, buttonProps: { stop: { tooltipContent: 'Test' } } }));
257
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Stop' }));
258
- expect(react_1.screen.getByRole('tooltip', { name: 'Test' })).toBeTruthy();
259
- }));
260
- it('can handle buttonProps tooltipProps appropriately for stop', () => {
261
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, hasStopButton: true, handleStopButton: jest.fn, buttonProps: { stop: { tooltipProps: { isVisible: true } } } }));
262
- // isVisible, so no need for click
263
- expect(react_1.screen.getByRole('tooltip', { name: 'Stop' })).toBeTruthy();
264
- });
265
- it('can handle buttonProps props appropriately for stop', () => __awaiter(void 0, void 0, void 0, function* () {
266
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, hasStopButton: true, handleStopButton: jest.fn, buttonProps: { stop: { props: { 'aria-label': 'Test' } } } }));
267
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Test' }));
268
- }));
269
- // Microphone button
270
- // --------------------------------------------------------------------------
271
- it('can hide microphone button when window.SpeechRecognition is not there', () => {
272
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, hasMicrophoneButton: true }));
273
- expect(react_1.screen.queryByRole('button', { name: 'Use microphone' })).toBeFalsy();
274
- });
275
- it('can show microphone button', () => {
276
- mockSpeechRecognition();
277
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, hasMicrophoneButton: true }));
278
- expect(react_1.screen.getByRole('button', { name: 'Use microphone' })).toBeTruthy();
279
- });
280
- it('can handle buttonProps appropriately for microphone', () => __awaiter(void 0, void 0, void 0, function* () {
281
- mockSpeechRecognition();
282
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, hasMicrophoneButton: true, buttonProps: {
283
- microphone: { tooltipContent: { active: 'Currently listening', inactive: 'Not currently listening' } }
284
- } }));
285
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Use microphone' }));
286
- expect(react_1.screen.getByRole('tooltip', { name: 'Currently listening' })).toBeTruthy();
287
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Stop listening' }));
288
- expect(react_1.screen.getByRole('tooltip', { name: 'Not currently listening' })).toBeTruthy();
289
- }));
290
- it('can customize the listening placeholder', () => __awaiter(void 0, void 0, void 0, function* () {
291
- mockSpeechRecognition();
292
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, hasMicrophoneButton: true, listeningText: "I am listening" }));
293
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Use microphone' }));
294
- const input = react_1.screen.getByRole('textbox', { name: /I am listening/i });
295
- expect(input).toBeTruthy();
296
- }));
297
- it('can handle buttonProps tooltipProps appropriately for microphone', () => {
298
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, hasMicrophoneButton: true, buttonProps: { microphone: { tooltipProps: { isVisible: true } } } }));
299
- // isVisible, so no need for click
300
- expect(react_1.screen.getByRole('tooltip', { name: 'Use microphone' })).toBeTruthy();
301
- });
302
- it('can handle buttonProps props appropriately for microphone', () => __awaiter(void 0, void 0, void 0, function* () {
303
- mockSpeechRecognition();
304
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, hasMicrophoneButton: true, buttonProps: { microphone: { props: { 'aria-label': 'Test' } } } }));
305
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Test' }));
306
- }));
307
- it('can be controlled', () => {
308
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, value: "test" }));
309
- expect(react_1.screen.getByRole('button', { name: 'Attach' })).toBeTruthy();
310
- expect(react_1.screen.getByRole('button', { name: 'Send' })).toBeTruthy();
311
- expect(react_1.screen.queryByRole('button', { name: 'Use microphone' })).toBeFalsy();
312
- expect(react_1.screen.getByRole('textbox', { name: /Send a message.../i })).toBeTruthy();
313
- expect(react_1.screen.getByRole('textbox', { name: /Send a message.../i })).toHaveValue('test');
314
- });
315
- it('should focus textarea when using a custom ref', () => {
316
- var _a;
317
- const ref = (0, react_2.createRef)();
318
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn, innerRef: ref }));
319
- (_a = ref.current) === null || _a === void 0 ? void 0 : _a.focus();
320
- expect(document.activeElement).toBe(react_1.screen.getByRole('textbox'));
321
- });
322
- it('should handle isPrimary', () => {
323
- const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { isPrimary: true, onSendMessage: jest.fn }));
324
- expect(container.querySelector('.pf-m-primary')).toBeTruthy();
325
- });
326
- it('Renders with flex-basis of auto by default', () => {
327
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { onSendMessage: jest.fn }));
328
- expect(react_1.screen.getByRole('textbox').closest('.pf-chatbot__message-bar-input')).toHaveAttribute('style', 'flex-basis: auto;');
329
- });
330
- it('Renders with flex-basis of 100% when forceMultilineLayout is true', () => {
331
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { forceMultilineLayout: true, onSendMessage: jest.fn }));
332
- expect(react_1.screen.getByRole('textbox').closest('.pf-chatbot__message-bar-input')).toHaveAttribute('style', 'flex-basis: 100%;');
333
- });
334
- it('Renders with flex-basis of 100% when additionalActions is truthy', () => {
335
- (0, react_1.render)((0, jsx_runtime_1.jsx)(MessageBar_1.MessageBar, { additionalActions: "actions", onSendMessage: jest.fn }));
336
- expect(react_1.screen.getByRole('textbox').closest('.pf-chatbot__message-bar-input')).toHaveAttribute('style', 'flex-basis: 100%;');
337
- });
338
- });
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';
@@ -1,58 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const jsx_runtime_1 = require("react/jsx-runtime");
16
- const react_1 = require("@testing-library/react");
17
- require("@testing-library/jest-dom");
18
- const user_event_1 = __importDefault(require("@testing-library/user-event"));
19
- const SendButton_1 = require("./SendButton");
20
- const renderSend = (props) => {
21
- const spy = jest.fn();
22
- (0, react_1.render)((0, jsx_runtime_1.jsx)(SendButton_1.SendButton, Object.assign({ onClick: spy }, props)));
23
- };
24
- describe('Send button', () => {
25
- it('should render button correctly', () => {
26
- renderSend();
27
- expect(react_1.screen.getByRole('button', { name: 'Send' })).toBeTruthy();
28
- });
29
- it('should handle onClick correctly', () => __awaiter(void 0, void 0, void 0, function* () {
30
- const spy = jest.fn();
31
- (0, react_1.render)((0, jsx_runtime_1.jsx)(SendButton_1.SendButton, { onClick: spy }));
32
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Send' }));
33
- expect(react_1.screen.getByRole('tooltip', { name: 'Send' })).toBeTruthy();
34
- expect(spy).toHaveBeenCalledTimes(1);
35
- }));
36
- it('should handle custom tooltip correctly', () => __awaiter(void 0, void 0, void 0, function* () {
37
- (0, react_1.render)((0, jsx_runtime_1.jsx)(SendButton_1.SendButton, { onClick: jest.fn, tooltipContent: "Test" }));
38
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Send' }));
39
- expect(react_1.screen.getByRole('tooltip', { name: 'Test' })).toBeTruthy();
40
- }));
41
- it('should handle className prop', () => {
42
- renderSend({ className: 'test' });
43
- expect(react_1.screen.getByRole('button', { name: 'Send' })).toHaveClass('test');
44
- });
45
- it('should handle spread props, including aria-label', () => {
46
- renderSend({ 'aria-label': 'test' });
47
- expect(react_1.screen.getByRole('button', { name: 'test' }));
48
- });
49
- it('should handle tooltipProps prop', () => __awaiter(void 0, void 0, void 0, function* () {
50
- renderSend({ tooltipProps: { id: 'test' } });
51
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Send' }));
52
- expect(react_1.screen.getByRole('tooltip', { name: 'Send' })).toHaveAttribute('id', 'test');
53
- }));
54
- it('should handle isCompact', () => {
55
- renderSend({ 'data-testid': 'button', isCompact: true });
56
- expect(react_1.screen.getByTestId('button')).toHaveClass('pf-m-compact');
57
- });
58
- });
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';
@@ -1,58 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const jsx_runtime_1 = require("react/jsx-runtime");
16
- const react_1 = require("@testing-library/react");
17
- require("@testing-library/jest-dom");
18
- const user_event_1 = __importDefault(require("@testing-library/user-event"));
19
- const StopButton_1 = require("./StopButton");
20
- const renderStop = (props) => {
21
- const spy = jest.fn();
22
- (0, react_1.render)((0, jsx_runtime_1.jsx)(StopButton_1.StopButton, Object.assign({ onClick: spy }, props)));
23
- };
24
- describe('Stop button', () => {
25
- it('should render button correctly', () => {
26
- renderStop();
27
- expect(react_1.screen.getByRole('button', { name: 'Stop' })).toBeTruthy();
28
- });
29
- it('should handle onClick correctly', () => __awaiter(void 0, void 0, void 0, function* () {
30
- const spy = jest.fn();
31
- (0, react_1.render)((0, jsx_runtime_1.jsx)(StopButton_1.StopButton, { onClick: spy }));
32
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Stop' }));
33
- expect(react_1.screen.getByRole('tooltip', { name: 'Stop' })).toBeTruthy();
34
- expect(spy).toHaveBeenCalledTimes(1);
35
- }));
36
- it('should handle custom tooltip correctly', () => __awaiter(void 0, void 0, void 0, function* () {
37
- (0, react_1.render)((0, jsx_runtime_1.jsx)(StopButton_1.StopButton, { onClick: jest.fn, tooltipContent: "Test" }));
38
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Stop' }));
39
- expect(react_1.screen.getByRole('tooltip', { name: 'Test' })).toBeTruthy();
40
- }));
41
- it('should handle className prop', () => {
42
- renderStop({ className: 'test' });
43
- expect(react_1.screen.getByRole('button', { name: 'Stop' })).toHaveClass('test');
44
- });
45
- it('should handle spread props, including aria-label', () => {
46
- renderStop({ 'aria-label': 'test' });
47
- expect(react_1.screen.getByRole('button', { name: 'test' }));
48
- });
49
- it('should handle tooltipProps prop', () => __awaiter(void 0, void 0, void 0, function* () {
50
- renderStop({ tooltipProps: { id: 'test' } });
51
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Stop' }));
52
- expect(react_1.screen.getByRole('tooltip', { name: 'Stop' })).toHaveAttribute('id', 'test');
53
- }));
54
- it('should handle isCompact', () => {
55
- renderStop({ 'data-testid': 'button', isCompact: true });
56
- expect(react_1.screen.getByTestId('button')).toHaveClass('pf-m-compact');
57
- });
58
- });
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';
@@ -1,39 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const jsx_runtime_1 = require("react/jsx-runtime");
16
- const react_1 = require("@testing-library/react");
17
- require("@testing-library/jest-dom");
18
- const JumpButton_1 = __importDefault(require("./JumpButton"));
19
- const user_event_1 = __importDefault(require("@testing-library/user-event"));
20
- describe('JumpButton', () => {
21
- it('should render top button correctly', () => {
22
- (0, react_1.render)((0, jsx_runtime_1.jsx)(JumpButton_1.default, { position: "top", onClick: jest.fn() }));
23
- expect(react_1.screen.getByRole('button', { name: /Back to top/i })).toBeTruthy();
24
- });
25
- it('should render bottom button correctly', () => {
26
- (0, react_1.render)((0, jsx_runtime_1.jsx)(JumpButton_1.default, { position: "bottom", onClick: jest.fn() }));
27
- expect(react_1.screen.getByRole('button', { name: /Back to bottom/i })).toBeTruthy();
28
- });
29
- it('should call onClick appropriately', () => __awaiter(void 0, void 0, void 0, function* () {
30
- const spy = jest.fn();
31
- (0, react_1.render)((0, jsx_runtime_1.jsx)(JumpButton_1.default, { position: "bottom", onClick: spy }));
32
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: /Back to bottom/i }));
33
- expect(spy).toHaveBeenCalledTimes(1);
34
- }));
35
- it('should be hidden if isHidden prop is used', () => {
36
- (0, react_1.render)((0, jsx_runtime_1.jsx)(JumpButton_1.default, { position: "bottom", onClick: jest.fn(), isHidden: true }));
37
- expect(react_1.screen.queryByRole('button', { name: /Back to bottom/i })).toBeFalsy();
38
- });
39
- });
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';