@patternfly/chatbot 6.8.0-prerelease.7 → 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 (321) hide show
  1. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +46 -5
  2. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +125 -16
  3. package/dist/cjs/CodeModal/CodeModal.js +5 -0
  4. package/dist/cjs/MarkdownContent/MarkdownContent.d.ts +26 -7
  5. package/dist/cjs/MarkdownContent/MarkdownContent.js +79 -166
  6. package/dist/cjs/MarkdownContent/MarkdownRenderer.d.ts +6 -0
  7. package/dist/cjs/MarkdownContent/MarkdownRenderer.js +187 -0
  8. package/dist/cjs/Message/Message.d.ts +3 -4
  9. package/dist/cjs/Message/Message.js +0 -2
  10. package/dist/cjs/MessageBox/MessageBox.d.ts +2 -0
  11. package/dist/cjs/MessageBox/MessageBox.js +7 -2
  12. package/dist/cjs/index.d.ts +0 -8
  13. package/dist/cjs/index.js +1 -13
  14. package/dist/css/main.css +77 -10
  15. package/dist/css/main.css.map +1 -1
  16. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +46 -5
  17. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +128 -19
  18. package/dist/esm/CodeModal/CodeModal.js +5 -0
  19. package/dist/esm/MarkdownContent/MarkdownContent.d.ts +26 -7
  20. package/dist/esm/MarkdownContent/MarkdownContent.js +52 -165
  21. package/dist/esm/MarkdownContent/MarkdownRenderer.d.ts +6 -0
  22. package/dist/esm/MarkdownContent/MarkdownRenderer.js +182 -0
  23. package/dist/esm/Message/Message.d.ts +3 -4
  24. package/dist/esm/Message/Message.js +0 -2
  25. package/dist/esm/MessageBox/MessageBox.d.ts +2 -0
  26. package/dist/esm/MessageBox/MessageBox.js +7 -2
  27. package/dist/esm/index.d.ts +0 -8
  28. package/dist/esm/index.js +0 -8
  29. package/dist/tsconfig.tsbuildinfo +1 -1
  30. package/generate-index.js +41 -16
  31. package/generate-index.test.js +68 -0
  32. package/monaco-environment.js +45 -0
  33. package/package.json +20 -2
  34. package/patternfly-docs/content/extensions/chatbot/chatbot.md +1 -0
  35. package/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +1 -1
  36. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickStart.tsx +2 -2
  37. package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +2 -2
  38. package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +1 -1
  39. package/patternfly-docs/content/extensions/chatbot/examples/Messages/monitor-sampleapp-quickstart.ts +1 -0
  40. package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithExpandableGroups.tsx +104 -0
  41. package/patternfly-docs/content/extensions/chatbot/examples/UI/UI.md +12 -1
  42. package/patternfly-docs/content/extensions/chatbot/tree-shaking.md +124 -0
  43. package/patternfly-docs/monaco-environment.js +45 -0
  44. package/patternfly-docs/patternfly-docs.css.js +6 -0
  45. package/src/Chatbot/Chatbot.scss +4 -0
  46. package/src/ChatbotContent/ChatbotContent.scss +1 -1
  47. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.scss +52 -6
  48. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.tsx +551 -3
  49. package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.tsx +350 -49
  50. package/src/ChatbotFooter/ChatbotFooter.scss +2 -2
  51. package/src/ChatbotHeader/ChatbotHeader.scss +4 -0
  52. package/src/ChatbotModal/ChatbotModal.scss +10 -0
  53. package/src/ChatbotToggle/ChatbotToggle.scss +6 -0
  54. package/src/CodeModal/CodeModal.tsx +6 -0
  55. package/src/DeepThinking/DeepThinking.test.tsx +10 -12
  56. package/src/MarkdownContent/MarkdownContent.test.tsx +52 -5
  57. package/src/MarkdownContent/MarkdownContent.tsx +77 -220
  58. package/src/MarkdownContent/MarkdownRenderer.tsx +235 -0
  59. package/src/Message/Message.scss +5 -0
  60. package/src/Message/Message.test.tsx +5 -0
  61. package/src/Message/Message.tsx +3 -5
  62. package/src/MessageBox/MessageBox.scss +15 -1
  63. package/src/MessageBox/MessageBox.tsx +23 -2
  64. package/src/ResponseActions/ResponseActions.test.tsx +42 -48
  65. package/src/ToolCall/ToolCall.test.tsx +6 -9
  66. package/src/ToolResponse/ToolResponse.test.tsx +16 -22
  67. package/src/index.ts +0 -12
  68. package/src/test-utils/markdownTestUtils.ts +21 -0
  69. package/tsconfig.json +6 -1
  70. package/dist/cjs/AttachmentEdit/AttachmentEdit.test.d.ts +0 -1
  71. package/dist/cjs/AttachmentEdit/AttachmentEdit.test.js +0 -77
  72. package/dist/cjs/Chatbot/Chatbot.test.d.ts +0 -1
  73. package/dist/cjs/Chatbot/Chatbot.test.js +0 -32
  74. package/dist/cjs/ChatbotAlert/ChatbotAlert.test.d.ts +0 -1
  75. package/dist/cjs/ChatbotAlert/ChatbotAlert.test.js +0 -27
  76. package/dist/cjs/ChatbotContent/ChatbotContent.test.d.ts +0 -1
  77. package/dist/cjs/ChatbotContent/ChatbotContent.test.js +0 -22
  78. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.d.ts +0 -1
  79. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +0 -75
  80. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.d.ts +0 -1
  81. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +0 -277
  82. package/dist/cjs/ChatbotFooter/ChatbotFooter.test.d.ts +0 -1
  83. package/dist/cjs/ChatbotFooter/ChatbotFooter.test.js +0 -27
  84. package/dist/cjs/ChatbotFooter/ChatbotFooternote.test.d.ts +0 -1
  85. package/dist/cjs/ChatbotFooter/ChatbotFooternote.test.js +0 -87
  86. package/dist/cjs/ChatbotHeader/ChatbotHeader.test.d.ts +0 -1
  87. package/dist/cjs/ChatbotHeader/ChatbotHeader.test.js +0 -18
  88. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.test.d.ts +0 -1
  89. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.test.js +0 -18
  90. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +0 -1
  91. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.js +0 -22
  92. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.test.d.ts +0 -1
  93. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.test.js +0 -18
  94. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +0 -1
  95. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.js +0 -22
  96. package/dist/cjs/ChatbotHeader/ChatbotHeaderNewChatButton.test.d.ts +0 -1
  97. package/dist/cjs/ChatbotHeader/ChatbotHeaderNewChatButton.test.js +0 -22
  98. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +0 -1
  99. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +0 -46
  100. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +0 -1
  101. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +0 -44
  102. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.test.d.ts +0 -1
  103. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.test.js +0 -55
  104. package/dist/cjs/ChatbotModal/ChatbotModal.test.d.ts +0 -1
  105. package/dist/cjs/ChatbotModal/ChatbotModal.test.js +0 -16
  106. package/dist/cjs/ChatbotToggle/ChatbotToggle.test.d.ts +0 -1
  107. package/dist/cjs/ChatbotToggle/ChatbotToggle.test.js +0 -64
  108. package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.d.ts +0 -1
  109. package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +0 -61
  110. package/dist/cjs/CodeModal/CodeModal.test.d.ts +0 -1
  111. package/dist/cjs/CodeModal/CodeModal.test.js +0 -34
  112. package/dist/cjs/Compare/Compare.test.d.ts +0 -1
  113. package/dist/cjs/Compare/Compare.test.js +0 -18
  114. package/dist/cjs/DeepThinking/DeepThinking.test.d.ts +0 -1
  115. package/dist/cjs/DeepThinking/DeepThinking.test.js +0 -146
  116. package/dist/cjs/FileDetails/FileDetails.test.d.ts +0 -1
  117. package/dist/cjs/FileDetails/FileDetails.test.js +0 -42
  118. package/dist/cjs/FileDetailsLabel/FileDetailsLabel.test.d.ts +0 -1
  119. package/dist/cjs/FileDetailsLabel/FileDetailsLabel.test.js +0 -79
  120. package/dist/cjs/FileDropZone/FileDropZone.test.d.ts +0 -1
  121. package/dist/cjs/FileDropZone/FileDropZone.test.js +0 -100
  122. package/dist/cjs/FilePreview/FilePreview.test.d.ts +0 -1
  123. package/dist/cjs/FilePreview/FilePreview.test.js +0 -97
  124. package/dist/cjs/ImagePreview/ImagePreview.test.d.ts +0 -1
  125. package/dist/cjs/ImagePreview/ImagePreview.test.js +0 -225
  126. package/dist/cjs/MarkdownContent/MarkdownContent.test.d.ts +0 -1
  127. package/dist/cjs/MarkdownContent/MarkdownContent.test.js +0 -192
  128. package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.test.d.ts +0 -1
  129. package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.test.js +0 -131
  130. package/dist/cjs/Message/ErrorMessage/ErrorMessage.test.d.ts +0 -1
  131. package/dist/cjs/Message/ErrorMessage/ErrorMessage.test.js +0 -30
  132. package/dist/cjs/Message/Message.test.d.ts +0 -1
  133. package/dist/cjs/Message/Message.test.js +0 -1128
  134. package/dist/cjs/Message/MessageAndActions/MessageAndActions.test.d.ts +0 -1
  135. package/dist/cjs/Message/MessageAndActions/MessageAndActions.test.js +0 -25
  136. package/dist/cjs/Message/MessageAttachments/MessageAttachmentItem.test.d.ts +0 -1
  137. package/dist/cjs/Message/MessageAttachments/MessageAttachmentItem.test.js +0 -25
  138. package/dist/cjs/Message/MessageAttachments/MessageAttachmentsContainer.test.d.ts +0 -1
  139. package/dist/cjs/Message/MessageAttachments/MessageAttachmentsContainer.test.js +0 -25
  140. package/dist/cjs/Message/MessageLoading.test.d.ts +0 -1
  141. package/dist/cjs/Message/MessageLoading.test.js +0 -25
  142. package/dist/cjs/Message/QuickResponse/QuickResponse.test.d.ts +0 -1
  143. package/dist/cjs/Message/QuickResponse/QuickResponse.test.js +0 -109
  144. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.d.ts +0 -1
  145. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.js +0 -76
  146. package/dist/cjs/Message/UserFeedback/UserFeedback.test.d.ts +0 -1
  147. package/dist/cjs/Message/UserFeedback/UserFeedback.test.js +0 -181
  148. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.d.ts +0 -1
  149. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.js +0 -243
  150. package/dist/cjs/MessageBar/AttachButton.test.d.ts +0 -1
  151. package/dist/cjs/MessageBar/AttachButton.test.js +0 -152
  152. package/dist/cjs/MessageBar/MessageBar.test.d.ts +0 -1
  153. package/dist/cjs/MessageBar/MessageBar.test.js +0 -338
  154. package/dist/cjs/MessageBar/SendButton.test.d.ts +0 -1
  155. package/dist/cjs/MessageBar/SendButton.test.js +0 -58
  156. package/dist/cjs/MessageBar/StopButton.test.d.ts +0 -1
  157. package/dist/cjs/MessageBar/StopButton.test.js +0 -58
  158. package/dist/cjs/MessageBox/JumpButton.test.d.ts +0 -1
  159. package/dist/cjs/MessageBox/JumpButton.test.js +0 -39
  160. package/dist/cjs/MessageBox/MessageBox.test.d.ts +0 -1
  161. package/dist/cjs/MessageBox/MessageBox.test.js +0 -294
  162. package/dist/cjs/MessageDivider/MessageDivider.test.d.ts +0 -1
  163. package/dist/cjs/MessageDivider/MessageDivider.test.js +0 -29
  164. package/dist/cjs/Onboarding/Onboarding.test.d.ts +0 -1
  165. package/dist/cjs/Onboarding/Onboarding.test.js +0 -80
  166. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.d.ts +0 -1
  167. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.js +0 -50
  168. package/dist/cjs/ResponseActions/ResponseActionButton.test.d.ts +0 -1
  169. package/dist/cjs/ResponseActions/ResponseActionButton.test.js +0 -54
  170. package/dist/cjs/ResponseActions/ResponseActions.test.d.ts +0 -1
  171. package/dist/cjs/ResponseActions/ResponseActions.test.js +0 -455
  172. package/dist/cjs/ResponseActions/ResponseActionsGroups.test.d.ts +0 -1
  173. package/dist/cjs/ResponseActions/ResponseActionsGroups.test.js +0 -25
  174. package/dist/cjs/Settings/SettingsForm.test.d.ts +0 -1
  175. package/dist/cjs/Settings/SettingsForm.test.js +0 -35
  176. package/dist/cjs/SourcesCard/SourcesCard.test.d.ts +0 -1
  177. package/dist/cjs/SourcesCard/SourcesCard.test.js +0 -39
  178. package/dist/cjs/SourcesCardBase/SourcesCardBase.test.d.ts +0 -1
  179. package/dist/cjs/SourcesCardBase/SourcesCardBase.test.js +0 -199
  180. package/dist/cjs/TermsOfUse/TermsOfUse.test.d.ts +0 -1
  181. package/dist/cjs/TermsOfUse/TermsOfUse.test.js +0 -77
  182. package/dist/cjs/ToolCall/ToolCall.test.d.ts +0 -1
  183. package/dist/cjs/ToolCall/ToolCall.test.js +0 -201
  184. package/dist/cjs/ToolResponse/ToolResponse.test.d.ts +0 -1
  185. package/dist/cjs/ToolResponse/ToolResponse.test.js +0 -184
  186. package/dist/cjs/__mocks__/monaco-editor.d.ts +0 -11
  187. package/dist/cjs/__mocks__/monaco-editor.js +0 -18
  188. package/dist/cjs/__mocks__/rehype-external-links.d.ts +0 -2
  189. package/dist/cjs/__mocks__/rehype-external-links.js +0 -4
  190. package/dist/cjs/__mocks__/rehype-highlight.d.ts +0 -2
  191. package/dist/cjs/__mocks__/rehype-highlight.js +0 -4
  192. package/dist/cjs/__mocks__/rehype-sanitize.d.ts +0 -2
  193. package/dist/cjs/__mocks__/rehype-sanitize.js +0 -4
  194. package/dist/cjs/__mocks__/rehype-unwrap-images.d.ts +0 -2
  195. package/dist/cjs/__mocks__/rehype-unwrap-images.js +0 -4
  196. package/dist/esm/AttachmentEdit/AttachmentEdit.test.d.ts +0 -1
  197. package/dist/esm/AttachmentEdit/AttachmentEdit.test.js +0 -72
  198. package/dist/esm/Chatbot/Chatbot.test.d.ts +0 -1
  199. package/dist/esm/Chatbot/Chatbot.test.js +0 -27
  200. package/dist/esm/ChatbotAlert/ChatbotAlert.test.d.ts +0 -1
  201. package/dist/esm/ChatbotAlert/ChatbotAlert.test.js +0 -22
  202. package/dist/esm/ChatbotContent/ChatbotContent.test.d.ts +0 -1
  203. package/dist/esm/ChatbotContent/ChatbotContent.test.js +0 -17
  204. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.d.ts +0 -1
  205. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +0 -70
  206. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.d.ts +0 -1
  207. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +0 -272
  208. package/dist/esm/ChatbotFooter/ChatbotFooter.test.d.ts +0 -1
  209. package/dist/esm/ChatbotFooter/ChatbotFooter.test.js +0 -22
  210. package/dist/esm/ChatbotFooter/ChatbotFooternote.test.d.ts +0 -1
  211. package/dist/esm/ChatbotFooter/ChatbotFooternote.test.js +0 -82
  212. package/dist/esm/ChatbotHeader/ChatbotHeader.test.d.ts +0 -1
  213. package/dist/esm/ChatbotHeader/ChatbotHeader.test.js +0 -13
  214. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.d.ts +0 -1
  215. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.js +0 -13
  216. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +0 -1
  217. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.js +0 -20
  218. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.d.ts +0 -1
  219. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.js +0 -13
  220. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +0 -1
  221. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.js +0 -20
  222. package/dist/esm/ChatbotHeader/ChatbotHeaderNewChatButton.test.d.ts +0 -1
  223. package/dist/esm/ChatbotHeader/ChatbotHeaderNewChatButton.test.js +0 -20
  224. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +0 -1
  225. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +0 -44
  226. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +0 -1
  227. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +0 -42
  228. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.d.ts +0 -1
  229. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.js +0 -50
  230. package/dist/esm/ChatbotModal/ChatbotModal.test.d.ts +0 -1
  231. package/dist/esm/ChatbotModal/ChatbotModal.test.js +0 -11
  232. package/dist/esm/ChatbotToggle/ChatbotToggle.test.d.ts +0 -1
  233. package/dist/esm/ChatbotToggle/ChatbotToggle.test.js +0 -59
  234. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.d.ts +0 -1
  235. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +0 -56
  236. package/dist/esm/CodeModal/CodeModal.test.d.ts +0 -1
  237. package/dist/esm/CodeModal/CodeModal.test.js +0 -29
  238. package/dist/esm/Compare/Compare.test.d.ts +0 -1
  239. package/dist/esm/Compare/Compare.test.js +0 -13
  240. package/dist/esm/DeepThinking/DeepThinking.test.d.ts +0 -1
  241. package/dist/esm/DeepThinking/DeepThinking.test.js +0 -141
  242. package/dist/esm/FileDetails/FileDetails.test.d.ts +0 -1
  243. package/dist/esm/FileDetails/FileDetails.test.js +0 -37
  244. package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.d.ts +0 -1
  245. package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.js +0 -74
  246. package/dist/esm/FileDropZone/FileDropZone.test.d.ts +0 -1
  247. package/dist/esm/FileDropZone/FileDropZone.test.js +0 -95
  248. package/dist/esm/FilePreview/FilePreview.test.d.ts +0 -1
  249. package/dist/esm/FilePreview/FilePreview.test.js +0 -92
  250. package/dist/esm/ImagePreview/ImagePreview.test.d.ts +0 -1
  251. package/dist/esm/ImagePreview/ImagePreview.test.js +0 -220
  252. package/dist/esm/MarkdownContent/MarkdownContent.test.d.ts +0 -1
  253. package/dist/esm/MarkdownContent/MarkdownContent.test.js +0 -187
  254. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.test.d.ts +0 -1
  255. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.test.js +0 -126
  256. package/dist/esm/Message/ErrorMessage/ErrorMessage.test.d.ts +0 -1
  257. package/dist/esm/Message/ErrorMessage/ErrorMessage.test.js +0 -25
  258. package/dist/esm/Message/Message.test.d.ts +0 -1
  259. package/dist/esm/Message/Message.test.js +0 -1123
  260. package/dist/esm/Message/MessageAndActions/MessageAndActions.test.d.ts +0 -1
  261. package/dist/esm/Message/MessageAndActions/MessageAndActions.test.js +0 -20
  262. package/dist/esm/Message/MessageAttachments/MessageAttachmentItem.test.d.ts +0 -1
  263. package/dist/esm/Message/MessageAttachments/MessageAttachmentItem.test.js +0 -20
  264. package/dist/esm/Message/MessageAttachments/MessageAttachmentsContainer.test.d.ts +0 -1
  265. package/dist/esm/Message/MessageAttachments/MessageAttachmentsContainer.test.js +0 -20
  266. package/dist/esm/Message/MessageLoading.test.d.ts +0 -1
  267. package/dist/esm/Message/MessageLoading.test.js +0 -20
  268. package/dist/esm/Message/QuickResponse/QuickResponse.test.d.ts +0 -1
  269. package/dist/esm/Message/QuickResponse/QuickResponse.test.js +0 -104
  270. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.d.ts +0 -1
  271. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.js +0 -48
  272. package/dist/esm/Message/UserFeedback/UserFeedback.test.d.ts +0 -1
  273. package/dist/esm/Message/UserFeedback/UserFeedback.test.js +0 -176
  274. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.d.ts +0 -1
  275. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.js +0 -238
  276. package/dist/esm/MessageBar/AttachButton.test.d.ts +0 -1
  277. package/dist/esm/MessageBar/AttachButton.test.js +0 -147
  278. package/dist/esm/MessageBar/MessageBar.test.d.ts +0 -1
  279. package/dist/esm/MessageBar/MessageBar.test.js +0 -333
  280. package/dist/esm/MessageBar/SendButton.test.d.ts +0 -1
  281. package/dist/esm/MessageBar/SendButton.test.js +0 -53
  282. package/dist/esm/MessageBar/StopButton.test.d.ts +0 -1
  283. package/dist/esm/MessageBar/StopButton.test.js +0 -53
  284. package/dist/esm/MessageBox/JumpButton.test.d.ts +0 -1
  285. package/dist/esm/MessageBox/JumpButton.test.js +0 -34
  286. package/dist/esm/MessageBox/MessageBox.test.d.ts +0 -1
  287. package/dist/esm/MessageBox/MessageBox.test.js +0 -289
  288. package/dist/esm/MessageDivider/MessageDivider.test.d.ts +0 -1
  289. package/dist/esm/MessageDivider/MessageDivider.test.js +0 -24
  290. package/dist/esm/Onboarding/Onboarding.test.d.ts +0 -1
  291. package/dist/esm/Onboarding/Onboarding.test.js +0 -75
  292. package/dist/esm/PreviewAttachment/PreviewAttachment.test.d.ts +0 -1
  293. package/dist/esm/PreviewAttachment/PreviewAttachment.test.js +0 -48
  294. package/dist/esm/ResponseActions/ResponseActionButton.test.d.ts +0 -1
  295. package/dist/esm/ResponseActions/ResponseActionButton.test.js +0 -49
  296. package/dist/esm/ResponseActions/ResponseActions.test.d.ts +0 -1
  297. package/dist/esm/ResponseActions/ResponseActions.test.js +0 -450
  298. package/dist/esm/ResponseActions/ResponseActionsGroups.test.d.ts +0 -1
  299. package/dist/esm/ResponseActions/ResponseActionsGroups.test.js +0 -20
  300. package/dist/esm/Settings/SettingsForm.test.d.ts +0 -1
  301. package/dist/esm/Settings/SettingsForm.test.js +0 -33
  302. package/dist/esm/SourcesCard/SourcesCard.test.d.ts +0 -1
  303. package/dist/esm/SourcesCard/SourcesCard.test.js +0 -34
  304. package/dist/esm/SourcesCardBase/SourcesCardBase.test.d.ts +0 -1
  305. package/dist/esm/SourcesCardBase/SourcesCardBase.test.js +0 -194
  306. package/dist/esm/TermsOfUse/TermsOfUse.test.d.ts +0 -1
  307. package/dist/esm/TermsOfUse/TermsOfUse.test.js +0 -72
  308. package/dist/esm/ToolCall/ToolCall.test.d.ts +0 -1
  309. package/dist/esm/ToolCall/ToolCall.test.js +0 -196
  310. package/dist/esm/ToolResponse/ToolResponse.test.d.ts +0 -1
  311. package/dist/esm/ToolResponse/ToolResponse.test.js +0 -179
  312. package/dist/esm/__mocks__/monaco-editor.d.ts +0 -11
  313. package/dist/esm/__mocks__/monaco-editor.js +0 -18
  314. package/dist/esm/__mocks__/rehype-external-links.d.ts +0 -2
  315. package/dist/esm/__mocks__/rehype-external-links.js +0 -2
  316. package/dist/esm/__mocks__/rehype-highlight.d.ts +0 -2
  317. package/dist/esm/__mocks__/rehype-highlight.js +0 -2
  318. package/dist/esm/__mocks__/rehype-sanitize.d.ts +0 -2
  319. package/dist/esm/__mocks__/rehype-sanitize.js +0 -2
  320. package/dist/esm/__mocks__/rehype-unwrap-images.d.ts +0 -2
  321. 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';