@patternfly/chatbot 6.8.0-prerelease.8 → 6.8.0-prerelease.9

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,289 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
11
- import { createRef } from 'react';
12
- import { act, fireEvent, render, screen, waitFor } from '@testing-library/react';
13
- import '@testing-library/jest-dom';
14
- import { MessageBox } from './MessageBox';
15
- import userEvent from '@testing-library/user-event';
16
- describe('MessageBox', () => {
17
- beforeEach(() => {
18
- jest.spyOn(window, 'requestAnimationFrame').mockImplementation((cb) => {
19
- cb(0); // Immediately call the callback
20
- return 0;
21
- });
22
- });
23
- afterEach(() => {
24
- jest.restoreAllMocks();
25
- });
26
- it('should render Message box', () => {
27
- render(_jsx(MessageBox, { children: _jsx(_Fragment, { children: "Chatbot Messages" }) }));
28
- expect(screen.getByText('Chatbot Messages')).toBeTruthy();
29
- });
30
- it('should assign ref to Message box', () => {
31
- var _a, _b, _c, _d;
32
- const ref = createRef();
33
- render(_jsx(MessageBox, { "data-testid": "message-box", ref: ref, children: _jsx("div", { children: "Test message content" }) }));
34
- screen.getByText('Test message content');
35
- expect(ref.current).not.toBeNull();
36
- // should contain custom methods exposed by the ref
37
- expect(typeof ((_a = ref.current) === null || _a === void 0 ? void 0 : _a.isSmartScrollActive)).toBe('function');
38
- expect(typeof ((_b = ref.current) === null || _b === void 0 ? void 0 : _b.scrollToTop)).toBe('function');
39
- expect(typeof ((_c = ref.current) === null || _c === void 0 ? void 0 : _c.scrollToBottom)).toBe('function');
40
- expect((_d = ref.current) === null || _d === void 0 ? void 0 : _d.isSmartScrollActive()).toBe(false);
41
- expect(ref.current).toBeInstanceOf(HTMLDivElement);
42
- });
43
- it('should call onScrollToBottomClick when scroll to bottom button is clicked', () => __awaiter(void 0, void 0, void 0, function* () {
44
- const spy = jest.fn();
45
- render(_jsx(MessageBox, { onScrollToBottomClick: spy, children: _jsx("div", { children: "Test message content" }) }));
46
- // this forces button to show
47
- const region = screen.getByRole('region');
48
- Object.defineProperty(region, 'scrollHeight', { configurable: true, value: 1000 });
49
- Object.defineProperty(region, 'clientHeight', { configurable: true, value: 500 });
50
- Object.defineProperty(region, 'scrollTop', { configurable: true, value: 0 });
51
- act(() => {
52
- region.dispatchEvent(new Event('scroll'));
53
- });
54
- yield waitFor(() => {
55
- userEvent.click(screen.getByRole('button', { name: /Back to bottom/i }));
56
- expect(spy).toHaveBeenCalled();
57
- });
58
- }));
59
- it('should call onScrollToTopClick when scroll to top button is clicked', () => __awaiter(void 0, void 0, void 0, function* () {
60
- const spy = jest.fn();
61
- render(_jsx(MessageBox, { onScrollToTopClick: spy, children: _jsx("div", { children: "Test message content" }) }));
62
- // this forces button to show
63
- const region = screen.getByRole('region');
64
- Object.defineProperty(region, 'scrollHeight', { configurable: true, value: 1000 });
65
- Object.defineProperty(region, 'clientHeight', { configurable: true, value: 500 });
66
- Object.defineProperty(region, 'scrollTop', {
67
- configurable: true,
68
- value: 500
69
- });
70
- act(() => {
71
- region.dispatchEvent(new Event('scroll'));
72
- });
73
- yield waitFor(() => {
74
- userEvent.click(screen.getByRole('button', { name: /Back to top/i }));
75
- expect(spy).toHaveBeenCalled();
76
- });
77
- }));
78
- it('should call user defined onWheel, onTouchMove and onTouchEnd handlers', () => __awaiter(void 0, void 0, void 0, function* () {
79
- const ref = createRef();
80
- const onWheel = jest.fn();
81
- const onTouchMove = jest.fn();
82
- const onTouchEnd = jest.fn();
83
- render(_jsx(MessageBox, { ref: ref, enableSmartScroll: true, onWheel: onWheel, onTouchMove: onTouchMove, onTouchEnd: onTouchEnd, children: _jsx("div", { children: "Test message content" }) }));
84
- const element = ref.current;
85
- act(() => {
86
- fireEvent.wheel(element, { deltaY: 10 });
87
- fireEvent.touchMove(element, { touches: [{ clientY: 700 }] });
88
- fireEvent.touchEnd(element);
89
- });
90
- expect(onWheel).toHaveBeenCalled();
91
- expect(onTouchMove).toHaveBeenCalled();
92
- expect(onTouchEnd).toHaveBeenCalled();
93
- }));
94
- it('should scroll to the bottom when the method is called ', () => __awaiter(void 0, void 0, void 0, function* () {
95
- var _a;
96
- const ref = createRef();
97
- render(_jsx(MessageBox, { ref: ref, enableSmartScroll: true, children: _jsx("div", { children: "Test message content" }) }));
98
- const element = ref.current;
99
- const scrollSpy = jest.spyOn(element, 'scrollTo');
100
- act(() => {
101
- var _a, _b, _c;
102
- (_a = ref.current) === null || _a === void 0 ? void 0 : _a.scrollToBottom();
103
- (_b = ref.current) === null || _b === void 0 ? void 0 : _b.scrollToBottom();
104
- (_c = ref.current) === null || _c === void 0 ? void 0 : _c.scrollToBottom();
105
- });
106
- expect(scrollSpy).toHaveBeenCalledWith({ top: element.scrollHeight, behavior: 'smooth' });
107
- expect((_a = ref.current) === null || _a === void 0 ? void 0 : _a.isSmartScrollActive()).toBe(true);
108
- }));
109
- it('should scroll to the top when the method is called ', () => __awaiter(void 0, void 0, void 0, function* () {
110
- var _a;
111
- const ref = createRef();
112
- render(_jsx(MessageBox, { ref: ref, enableSmartScroll: true, children: _jsx("div", { children: "Test message content" }) }));
113
- const element = ref.current;
114
- const scrollSpy = jest.spyOn(element, 'scrollTo');
115
- act(() => {
116
- var _a;
117
- (_a = ref.current) === null || _a === void 0 ? void 0 : _a.scrollToTop();
118
- });
119
- expect(scrollSpy).toHaveBeenCalledWith({ top: 0, behavior: 'smooth' });
120
- expect((_a = ref.current) === null || _a === void 0 ? void 0 : _a.isSmartScrollActive()).toBe(false);
121
- }));
122
- it('should pause automatic scrolling when user scrolls up ', () => __awaiter(void 0, void 0, void 0, function* () {
123
- var _a, _b;
124
- const ref = createRef();
125
- render(_jsx(MessageBox, { ref: ref, enableSmartScroll: true, children: _jsx("div", { children: "Test message content" }) }));
126
- expect((_a = ref.current) === null || _a === void 0 ? void 0 : _a.isSmartScrollActive()).toBe(true);
127
- const element = ref.current;
128
- // Manually set scrollHeight and clientHeight for calculations
129
- Object.defineProperty(element, 'scrollHeight', { configurable: true, value: 1000 });
130
- Object.defineProperty(element, 'clientHeight', { configurable: true, value: 300 });
131
- // Simulate scroll up by changing scrollTop
132
- element.scrollTop = 200;
133
- const scrollEvent = new Event('scroll', { bubbles: true });
134
- act(() => {
135
- element.dispatchEvent(scrollEvent);
136
- });
137
- expect((_b = ref.current) === null || _b === void 0 ? void 0 : _b.isSmartScrollActive()).toBe(false);
138
- }));
139
- it('should resume automatic scrolling when user scrolls down to the bottom using scroll event', () => __awaiter(void 0, void 0, void 0, function* () {
140
- var _a, _b;
141
- jest.useFakeTimers();
142
- const ref = createRef();
143
- render(_jsx(MessageBox, { ref: ref, enableSmartScroll: true, children: _jsx("div", { children: "Test message content" }) }));
144
- const element = ref.current;
145
- // Manually set scrollHeight and clientHeight for calculations
146
- Object.defineProperty(element, 'scrollHeight', { configurable: true, value: 1000 });
147
- Object.defineProperty(element, 'clientHeight', { configurable: true, value: 300 });
148
- // Simulate scroll up by changing scrollTop
149
- element.scrollTop = 100;
150
- const scrollEvent = new Event('scroll', { bubbles: true });
151
- act(() => {
152
- element.dispatchEvent(scrollEvent);
153
- });
154
- expect((_a = ref.current) === null || _a === void 0 ? void 0 : _a.isSmartScrollActive()).toBe(false);
155
- act(() => {
156
- // Simulate scroll down by changing scrollTop
157
- element.scrollTop = 650; // scrollHeight - scrollTop - clientHeight - DELTA_DOWN (50) = 0
158
- const scrollEvent = new Event('scroll', { bubbles: true });
159
- element.dispatchEvent(scrollEvent);
160
- jest.advanceTimersByTime(250);
161
- });
162
- expect((_b = ref.current) === null || _b === void 0 ? void 0 : _b.isSmartScrollActive()).toBe(true);
163
- jest.useRealTimers();
164
- }));
165
- it('should resume automatic scrolling when scrollToBottom method is used', () => __awaiter(void 0, void 0, void 0, function* () {
166
- var _a, _b;
167
- const ref = createRef();
168
- render(_jsx(MessageBox, { ref: ref, enableSmartScroll: true, children: _jsx("div", { children: "Test message content" }) }));
169
- const element = ref.current;
170
- // Manually set scrollHeight and clientHeight for calculations
171
- Object.defineProperty(element, 'scrollHeight', { configurable: true, value: 1000 });
172
- Object.defineProperty(element, 'clientHeight', { configurable: true, value: 300 });
173
- // Simulate scroll up by changing scrollTop
174
- element.scrollTop = 100;
175
- const scrollEvent = new Event('scroll', { bubbles: true });
176
- act(() => {
177
- element.dispatchEvent(scrollEvent);
178
- });
179
- expect((_a = ref.current) === null || _a === void 0 ? void 0 : _a.isSmartScrollActive()).toBe(false);
180
- act(() => {
181
- var _a;
182
- (_a = ref.current) === null || _a === void 0 ? void 0 : _a.scrollToBottom({ resumeSmartScroll: true, behavior: 'auto' }); // resumes auto scroll and scrolls to bottom.
183
- });
184
- expect((_b = ref.current) === null || _b === void 0 ? void 0 : _b.isSmartScrollActive()).toBe(true);
185
- }));
186
- it('should resume automatic scrolling when mouse wheel event is used', () => __awaiter(void 0, void 0, void 0, function* () {
187
- var _a, _b;
188
- const ref = createRef();
189
- render(_jsx(MessageBox, { ref: ref, enableSmartScroll: true, children: _jsx("div", { children: "Test message content" }) }));
190
- const element = ref.current;
191
- // Manually set scrollHeight and clientHeight for calculations
192
- Object.defineProperty(element, 'scrollHeight', { configurable: true, value: 1000 });
193
- Object.defineProperty(element, 'clientHeight', { configurable: true, value: 300 });
194
- Object.defineProperty(element, 'scrollTop', { configurable: true, value: 350 });
195
- const scrollEvent = new Event('scroll', { bubbles: true });
196
- act(() => {
197
- element.dispatchEvent(scrollEvent);
198
- });
199
- expect((_a = ref.current) === null || _a === void 0 ? void 0 : _a.isSmartScrollActive()).toBe(false);
200
- // Simulate mouse wheel event
201
- act(() => {
202
- Object.defineProperty(element, 'scrollTop', { configurable: true, value: 650 });
203
- fireEvent.wheel(element, { deltaY: 10 });
204
- });
205
- expect((_b = ref.current) === null || _b === void 0 ? void 0 : _b.isSmartScrollActive()).toBe(true);
206
- }));
207
- it('should resume automatic scrolling when user swipes up in touch screen', () => __awaiter(void 0, void 0, void 0, function* () {
208
- var _a, _b;
209
- const ref = createRef();
210
- render(_jsx(MessageBox, { ref: ref, enableSmartScroll: true, children: _jsx("div", { children: "Test message content" }) }));
211
- const element = ref.current;
212
- // Manually set scrollHeight and clientHeight for calculations
213
- Object.defineProperty(element, 'scrollHeight', { configurable: true, value: 1000 });
214
- Object.defineProperty(element, 'clientHeight', { configurable: true, value: 300 });
215
- Object.defineProperty(element, 'scrollTop', { configurable: true, value: 350 });
216
- const scrollEvent = new Event('scroll', { bubbles: true });
217
- act(() => {
218
- element.dispatchEvent(scrollEvent);
219
- });
220
- expect((_a = ref.current) === null || _a === void 0 ? void 0 : _a.isSmartScrollActive()).toBe(false);
221
- // Simulate touch event - swipe up
222
- act(() => {
223
- Object.defineProperty(element, 'scrollTop', { configurable: true, value: 650 });
224
- fireEvent.touchStart(element, { touches: [{ clientY: 700 }] });
225
- fireEvent.touchMove(element, { touches: [{ clientY: 700 }] });
226
- fireEvent.touchMove(element, { touches: [{ clientY: 600 }] });
227
- fireEvent.touchEnd(element);
228
- });
229
- expect((_b = ref.current) === null || _b === void 0 ? void 0 : _b.isSmartScrollActive()).toBe(true);
230
- }));
231
- it('should keep auto-scroll active during programmatic scroll to bottom', () => __awaiter(void 0, void 0, void 0, function* () {
232
- var _a, _b;
233
- const ref = createRef();
234
- render(_jsx(MessageBox, { ref: ref, enableSmartScroll: true, children: _jsx("div", { children: "Test message content" }) }));
235
- const element = ref.current;
236
- Object.defineProperty(element, 'scrollHeight', { configurable: true, value: 1000 });
237
- Object.defineProperty(element, 'clientHeight', { configurable: true, value: 300 });
238
- Object.defineProperty(element, 'scrollTop', { configurable: true, value: 0, writable: true });
239
- act(() => {
240
- var _a;
241
- (_a = ref.current) === null || _a === void 0 ? void 0 : _a.scrollToBottom({ behavior: 'smooth' });
242
- });
243
- expect((_a = ref.current) === null || _a === void 0 ? void 0 : _a.isSmartScrollActive()).toBe(true);
244
- act(() => {
245
- element.scrollTop = 500;
246
- element.dispatchEvent(new Event('scroll', { bubbles: true }));
247
- });
248
- expect((_b = ref.current) === null || _b === void 0 ? void 0 : _b.isSmartScrollActive()).toBe(true);
249
- }));
250
- it('should not scroll to bottom on initial layout when the message box is at the top', () => {
251
- render(_jsx(MessageBox, { enableSmartScroll: true, children: _jsx("div", { children: "Tall message content" }) }));
252
- const region = screen.getByRole('region');
253
- Object.defineProperty(region, 'scrollHeight', { configurable: true, value: 1000 });
254
- Object.defineProperty(region, 'clientHeight', { configurable: true, value: 300 });
255
- Object.defineProperty(region, 'scrollTop', { configurable: true, value: 0, writable: true });
256
- act(() => {
257
- region.dispatchEvent(new Event('scroll'));
258
- });
259
- expect(region.scrollTop).toBe(0);
260
- });
261
- it('should show the bottom jump button at the top on initial load when overflowing', () => __awaiter(void 0, void 0, void 0, function* () {
262
- render(_jsx(MessageBox, { enableSmartScroll: true, children: _jsx("div", { children: "Tall message content" }) }));
263
- const region = screen.getByRole('region');
264
- Object.defineProperty(region, 'scrollHeight', { configurable: true, value: 1000 });
265
- Object.defineProperty(region, 'clientHeight', { configurable: true, value: 300 });
266
- Object.defineProperty(region, 'scrollTop', { configurable: true, value: 0, writable: true });
267
- act(() => {
268
- region.dispatchEvent(new Event('scroll'));
269
- });
270
- yield waitFor(() => {
271
- expect(screen.queryByRole('button', { name: /Back to top/i })).toBeFalsy();
272
- expect(screen.getByRole('button', { name: /Back to bottom/i })).toBeTruthy();
273
- });
274
- }));
275
- it('should hide the bottom jump button while smart scroll is actively following content', () => __awaiter(void 0, void 0, void 0, function* () {
276
- render(_jsx(MessageBox, { enableSmartScroll: true, children: _jsx("div", { children: "Test message content" }) }));
277
- const region = screen.getByRole('region');
278
- Object.defineProperty(region, 'scrollHeight', { configurable: true, value: 1000 });
279
- Object.defineProperty(region, 'clientHeight', { configurable: true, value: 300 });
280
- Object.defineProperty(region, 'scrollTop', { configurable: true, value: 640, writable: true });
281
- act(() => {
282
- region.dispatchEvent(new Event('scroll'));
283
- });
284
- yield waitFor(() => {
285
- expect(screen.getByRole('button', { name: /Back to top/i })).toBeTruthy();
286
- expect(screen.queryByRole('button', { name: /Back to bottom/i })).toBeFalsy();
287
- });
288
- }));
289
- });
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';
@@ -1,24 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { render, screen } from '@testing-library/react';
3
- import '@testing-library/jest-dom';
4
- import MessageDivider from './MessageDivider';
5
- describe('MessageDivider', () => {
6
- beforeEach(() => {
7
- jest.clearAllMocks();
8
- });
9
- it('should render default correctly with variant = date and content = new Date().toLocaleDateString()', () => {
10
- render(_jsx(MessageDivider, { "data-testid": "message-divider" }));
11
- expect(screen.getByText(new Date().toLocaleDateString())).toBeInTheDocument();
12
- expect(screen.getByTestId('message-divider')).toHaveClass('pf-m-divider');
13
- });
14
- it('should render inset variant correctly', () => {
15
- render(_jsx(MessageDivider, { variant: "inset", content: "test", "data-testid": "message-divider" }));
16
- expect(screen.getByText('test')).toBeInTheDocument();
17
- expect(screen.getByTestId('message-divider')).toHaveClass('pf-m-divider');
18
- });
19
- it('should render fullWidth variant correctly', () => {
20
- render(_jsx(MessageDivider, { variant: "fullWidth", content: "test", "data-testid": "message-divider" }));
21
- expect(screen.getByText('test')).toBeInTheDocument();
22
- expect(screen.getByTestId('message-divider')).not.toHaveClass('pf-m-divider');
23
- });
24
- });
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';
@@ -1,75 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { jsx as _jsx } from "react/jsx-runtime";
11
- import { render, screen } from '@testing-library/react';
12
- import '@testing-library/jest-dom';
13
- import userEvent from '@testing-library/user-event';
14
- import Onboarding from './Onboarding';
15
- const handleModalToggle = jest.fn();
16
- const onPrimaryAction = jest.fn();
17
- const onSecondaryAction = jest.fn();
18
- const body = 'Experience personalized assistance and seamless problem-solving, simplifying your journey with Red Hat every step of the way.';
19
- describe('Onboarding', () => {
20
- afterEach(() => {
21
- jest.clearAllMocks();
22
- });
23
- it('should render modal correctly', () => {
24
- render(_jsx(Onboarding, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, ouiaId: "Terms", children: body }));
25
- expect(screen.getByRole('heading', { name: /Onboarding/i })).toBeTruthy();
26
- expect(screen.getByRole('button', { name: /Continue/i })).toBeTruthy();
27
- expect(screen.getByRole('button', { name: /Skip/i })).toBeTruthy();
28
- expect(screen.getByText(body)).toBeTruthy();
29
- expect(screen.getByRole('dialog')).toHaveClass('pf-chatbot__onboarding-modal');
30
- expect(screen.getByRole('dialog')).toHaveClass('pf-chatbot__onboarding-modal--default');
31
- });
32
- it('should handle image and altText props', () => {
33
- render(_jsx(Onboarding, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, headerImage: "./image.png", headerImageAltText: "Test image", children: body }));
34
- expect(screen.getByRole('img')).toBeTruthy();
35
- expect(screen.getByRole('img')).toHaveAttribute('alt', 'Test image');
36
- });
37
- it('should handle className prop', () => {
38
- render(_jsx(Onboarding, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, className: "test", children: body }));
39
- expect(screen.getByRole('dialog')).toHaveClass('pf-chatbot__onboarding-modal');
40
- expect(screen.getByRole('dialog')).toHaveClass('pf-chatbot__onboarding-modal--default');
41
- expect(screen.getByRole('dialog')).toHaveClass('test');
42
- });
43
- it('should handle title prop', () => {
44
- render(_jsx(Onboarding, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, title: "Updated title", children: body }));
45
- expect(screen.getByRole('heading', { name: /Updated title/i })).toBeTruthy();
46
- expect(screen.queryByRole('heading', { name: /Onboarding/i })).toBeFalsy();
47
- });
48
- it('should handle primary button prop', () => {
49
- render(_jsx(Onboarding, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, primaryActionBtn: "First", children: body }));
50
- expect(screen.getByRole('button', { name: /First/i })).toBeTruthy();
51
- expect(screen.queryByRole('button', { name: /Continue/i })).toBeFalsy();
52
- });
53
- it('should handle secondary button prop', () => {
54
- render(_jsx(Onboarding, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, secondaryActionBtn: "Second", children: body }));
55
- expect(screen.getByRole('button', { name: /Second/i })).toBeTruthy();
56
- expect(screen.queryByRole('button', { name: /Skip/i })).toBeFalsy();
57
- });
58
- it('should handle primary button click', () => __awaiter(void 0, void 0, void 0, function* () {
59
- render(_jsx(Onboarding, { isModalOpen: true, onPrimaryAction: onPrimaryAction, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, children: body }));
60
- yield userEvent.click(screen.getByRole('button', { name: /Continue/i }));
61
- expect(onPrimaryAction).toHaveBeenCalledTimes(1);
62
- expect(handleModalToggle).toHaveBeenCalledTimes(1);
63
- }));
64
- it('should handle secondary button click', () => __awaiter(void 0, void 0, void 0, function* () {
65
- render(_jsx(Onboarding, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, children: body }));
66
- yield userEvent.click(screen.getByRole('button', { name: /Skip/i }));
67
- expect(onSecondaryAction).toHaveBeenCalledTimes(1);
68
- expect(handleModalToggle).not.toHaveBeenCalled();
69
- }));
70
- it('should handle isCompact prop', () => {
71
- render(_jsx(Onboarding, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, isCompact: true, headerImage: "./image.png", headerImageAltText: "Test image", children: body }));
72
- expect(screen.getByRole('dialog')).toHaveClass('pf-m-compact');
73
- expect(screen.queryByRole('img')).toBeFalsy();
74
- });
75
- });
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';
@@ -1,48 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { jsx as _jsx } from "react/jsx-runtime";
11
- import { fireEvent, render, screen, within } from '@testing-library/react';
12
- import '@testing-library/jest-dom';
13
- import { PreviewAttachment } from './PreviewAttachment';
14
- describe('PreviewAttachment', () => {
15
- it('should render PreviewAttachment', () => {
16
- render(_jsx(PreviewAttachment, { code: "Hello world", fileName: "greetings.txt", isModalOpen: true, onEdit: jest.fn(), handleModalToggle: jest.fn() }));
17
- expect(screen.getByText('Preview attachment')).toBeTruthy();
18
- expect(screen.getByText('greetings')).toBeTruthy();
19
- expect(screen.getAllByText('TEXT')).toBeTruthy();
20
- });
21
- it('should call onEdit handler when edit button is pressed', () => {
22
- const onEdit = jest.fn();
23
- render(_jsx(PreviewAttachment, { code: "Hello world", fileName: "greetings.txt", isModalOpen: true, onEdit: onEdit, handleModalToggle: jest.fn() }));
24
- fireEvent.click(screen.getByText('Edit'));
25
- expect(onEdit).toHaveBeenCalled();
26
- });
27
- it('should call onDismiss handler when dismiss button is pressed', () => {
28
- const onDismiss = jest.fn();
29
- render(_jsx(PreviewAttachment, { code: "Hello world", fileName: "greetings.txt", isModalOpen: true, onEdit: jest.fn(), handleModalToggle: onDismiss }));
30
- fireEvent.click(screen.getByText('Dismiss'));
31
- expect(onDismiss).toHaveBeenCalled();
32
- });
33
- it('should render custom button text for footer actions buttons', () => {
34
- render(_jsx(PreviewAttachment, { code: "Hello world", fileName: "greetings.txt", isModalOpen: true, onEdit: jest.fn(), handleModalToggle: jest.fn(), primaryActionButtonText: "Edit", secondaryActionButtonText: "Close" }));
35
- screen.getByText('Edit');
36
- screen.getByText('Close');
37
- });
38
- it('should render PreviewAttachment with custom classNames', () => __awaiter(void 0, void 0, void 0, function* () {
39
- render(_jsx(PreviewAttachment, { code: "Hello world", fileName: "greetings.txt", isModalOpen: true, onEdit: jest.fn(), handleModalToggle: jest.fn(), primaryActionButtonText: "Edit", secondaryActionButtonText: "Close", modalHeaderClassName: "custom-header-class", modalBodyClassName: "custom-body-class", modalFooterClassName: "custom-footer-class" }));
40
- const modal = screen.getByRole('dialog');
41
- const modalHeader = within(modal).getByRole('banner');
42
- expect(modalHeader).toHaveClass('custom-header-class');
43
- const modalBody = modal.querySelector('#code-modal-body');
44
- expect(modalBody).toHaveClass('custom-body-class');
45
- const modalfooter = within(modal).getByRole('contentinfo');
46
- expect(modalfooter).toHaveClass('custom-footer-class');
47
- }));
48
- });
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';
@@ -1,49 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { jsx as _jsx } from "react/jsx-runtime";
11
- import { render, screen } from '@testing-library/react';
12
- import '@testing-library/jest-dom';
13
- import userEvent from '@testing-library/user-event';
14
- import { RhUiExportIcon } from '@patternfly/react-icons';
15
- import ResponseActionButton from './ResponseActionButton';
16
- describe('ResponseActionButton', () => {
17
- it('renders aria-label correctly if not clicked', () => {
18
- render(_jsx(ResponseActionButton, { icon: _jsx(RhUiExportIcon, {}), ariaLabel: "Download", clickedAriaLabel: "Downloaded" }));
19
- expect(screen.getByRole('button', { name: 'Download' })).toBeTruthy();
20
- });
21
- it('renders aria-label correctly if clicked', () => {
22
- render(_jsx(ResponseActionButton, { icon: _jsx(RhUiExportIcon, {}), ariaLabel: "Download", clickedAriaLabel: "Downloaded", isClicked: true }));
23
- expect(screen.getByRole('button', { name: 'Downloaded' })).toBeTruthy();
24
- });
25
- it('renders tooltip correctly if not clicked', () => __awaiter(void 0, void 0, void 0, function* () {
26
- render(_jsx(ResponseActionButton, { icon: _jsx(RhUiExportIcon, {}), tooltipContent: "Download", clickedTooltipContent: "Downloaded" }));
27
- expect(screen.getByRole('button', { name: 'Download' })).toBeTruthy();
28
- // clicking here just triggers the tooltip; in this button, the logic is divorced from whether it is actually clicked
29
- yield userEvent.click(screen.getByRole('button', { name: 'Download' }));
30
- expect(screen.getByRole('tooltip', { name: 'Download' })).toBeTruthy();
31
- }));
32
- it('renders tooltip correctly if clicked', () => __awaiter(void 0, void 0, void 0, function* () {
33
- render(_jsx(ResponseActionButton, { icon: _jsx(RhUiExportIcon, {}), tooltipContent: "Download", clickedTooltipContent: "Downloaded", isClicked: true }));
34
- expect(screen.getByRole('button', { name: 'Downloaded' })).toBeTruthy();
35
- // clicking here just triggers the tooltip; in this button, the logic is divorced from whether it is actually clicked
36
- yield userEvent.click(screen.getByRole('button', { name: 'Downloaded' }));
37
- expect(screen.getByRole('tooltip', { name: 'Downloaded' })).toBeTruthy();
38
- }));
39
- it('if clicked variant for tooltip is not supplied, it uses the default', () => __awaiter(void 0, void 0, void 0, function* () {
40
- render(_jsx(ResponseActionButton, { icon: _jsx(RhUiExportIcon, {}), tooltipContent: "Download", isClicked: true }));
41
- // clicking here just triggers the tooltip; in this button, the logic is divorced from whether it is actually clicked
42
- yield userEvent.click(screen.getByRole('button', { name: 'Download' }));
43
- expect(screen.getByRole('button', { name: 'Download' })).toBeTruthy();
44
- }));
45
- it('if clicked variant for aria label is not supplied, it uses the default', () => __awaiter(void 0, void 0, void 0, function* () {
46
- render(_jsx(ResponseActionButton, { icon: _jsx(RhUiExportIcon, {}), ariaLabel: "Download", isClicked: true }));
47
- expect(screen.getByRole('button', { name: 'Download' })).toBeTruthy();
48
- }));
49
- });
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';