@patternfly/chatbot 6.8.0-prerelease.8 → 6.9.0-prerelease.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/dist/cjs/CodeModal/CodeModal.js +5 -0
  2. package/dist/cjs/MarkdownContent/MarkdownContent.d.ts +26 -7
  3. package/dist/cjs/MarkdownContent/MarkdownContent.js +79 -166
  4. package/dist/cjs/MarkdownContent/MarkdownRenderer.d.ts +6 -0
  5. package/dist/cjs/MarkdownContent/MarkdownRenderer.js +187 -0
  6. package/dist/cjs/Message/Message.d.ts +3 -4
  7. package/dist/cjs/Message/Message.js +0 -2
  8. package/dist/cjs/MessageBox/MessageBox.js +5 -1
  9. package/dist/cjs/index.d.ts +0 -8
  10. package/dist/cjs/index.js +1 -13
  11. package/dist/css/main.css +18 -3
  12. package/dist/css/main.css.map +1 -1
  13. package/dist/esm/CodeModal/CodeModal.js +5 -0
  14. package/dist/esm/MarkdownContent/MarkdownContent.d.ts +26 -7
  15. package/dist/esm/MarkdownContent/MarkdownContent.js +52 -165
  16. package/dist/esm/MarkdownContent/MarkdownRenderer.d.ts +6 -0
  17. package/dist/esm/MarkdownContent/MarkdownRenderer.js +182 -0
  18. package/dist/esm/Message/Message.d.ts +3 -4
  19. package/dist/esm/Message/Message.js +0 -2
  20. package/dist/esm/MessageBox/MessageBox.js +5 -1
  21. package/dist/esm/index.d.ts +0 -8
  22. package/dist/esm/index.js +0 -8
  23. package/dist/tsconfig.tsbuildinfo +1 -1
  24. package/generate-index.js +41 -16
  25. package/generate-index.test.js +68 -0
  26. package/monaco-environment.js +45 -0
  27. package/package.json +20 -2
  28. package/patternfly-docs/content/extensions/chatbot/chatbot.md +1 -0
  29. package/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +1 -1
  30. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickStart.tsx +2 -2
  31. package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +2 -2
  32. package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +1 -1
  33. package/patternfly-docs/content/extensions/chatbot/examples/Messages/monitor-sampleapp-quickstart.ts +1 -0
  34. package/patternfly-docs/content/extensions/chatbot/tree-shaking.md +124 -0
  35. package/patternfly-docs/monaco-environment.js +45 -0
  36. package/patternfly-docs/patternfly-docs.css.js +6 -0
  37. package/src/Chatbot/Chatbot.scss +4 -0
  38. package/src/ChatbotContent/ChatbotContent.scss +1 -1
  39. package/src/ChatbotFooter/ChatbotFooter.scss +2 -2
  40. package/src/ChatbotHeader/ChatbotHeader.scss +4 -0
  41. package/src/ChatbotModal/ChatbotModal.scss +10 -0
  42. package/src/CodeModal/CodeModal.tsx +6 -0
  43. package/src/DeepThinking/DeepThinking.test.tsx +10 -12
  44. package/src/MarkdownContent/MarkdownContent.test.tsx +52 -5
  45. package/src/MarkdownContent/MarkdownContent.tsx +77 -220
  46. package/src/MarkdownContent/MarkdownRenderer.tsx +235 -0
  47. package/src/Message/Message.test.tsx +5 -0
  48. package/src/Message/Message.tsx +3 -5
  49. package/src/MessageBox/MessageBox.tsx +13 -1
  50. package/src/ResponseActions/ResponseActions.test.tsx +42 -48
  51. package/src/ToolCall/ToolCall.test.tsx +6 -9
  52. package/src/ToolResponse/ToolResponse.test.tsx +16 -22
  53. package/src/index.ts +0 -12
  54. package/src/test-utils/markdownTestUtils.ts +21 -0
  55. package/tsconfig.json +6 -1
  56. package/dist/cjs/AttachmentEdit/AttachmentEdit.test.d.ts +0 -1
  57. package/dist/cjs/AttachmentEdit/AttachmentEdit.test.js +0 -77
  58. package/dist/cjs/Chatbot/Chatbot.test.d.ts +0 -1
  59. package/dist/cjs/Chatbot/Chatbot.test.js +0 -32
  60. package/dist/cjs/ChatbotAlert/ChatbotAlert.test.d.ts +0 -1
  61. package/dist/cjs/ChatbotAlert/ChatbotAlert.test.js +0 -27
  62. package/dist/cjs/ChatbotContent/ChatbotContent.test.d.ts +0 -1
  63. package/dist/cjs/ChatbotContent/ChatbotContent.test.js +0 -22
  64. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.d.ts +0 -1
  65. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +0 -75
  66. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.d.ts +0 -1
  67. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +0 -601
  68. package/dist/cjs/ChatbotFooter/ChatbotFooter.test.d.ts +0 -1
  69. package/dist/cjs/ChatbotFooter/ChatbotFooter.test.js +0 -27
  70. package/dist/cjs/ChatbotFooter/ChatbotFooternote.test.d.ts +0 -1
  71. package/dist/cjs/ChatbotFooter/ChatbotFooternote.test.js +0 -87
  72. package/dist/cjs/ChatbotHeader/ChatbotHeader.test.d.ts +0 -1
  73. package/dist/cjs/ChatbotHeader/ChatbotHeader.test.js +0 -18
  74. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.test.d.ts +0 -1
  75. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.test.js +0 -18
  76. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +0 -1
  77. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.js +0 -22
  78. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.test.d.ts +0 -1
  79. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.test.js +0 -18
  80. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +0 -1
  81. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.js +0 -22
  82. package/dist/cjs/ChatbotHeader/ChatbotHeaderNewChatButton.test.d.ts +0 -1
  83. package/dist/cjs/ChatbotHeader/ChatbotHeaderNewChatButton.test.js +0 -22
  84. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +0 -1
  85. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +0 -46
  86. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +0 -1
  87. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +0 -44
  88. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.test.d.ts +0 -1
  89. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.test.js +0 -55
  90. package/dist/cjs/ChatbotModal/ChatbotModal.test.d.ts +0 -1
  91. package/dist/cjs/ChatbotModal/ChatbotModal.test.js +0 -16
  92. package/dist/cjs/ChatbotToggle/ChatbotToggle.test.d.ts +0 -1
  93. package/dist/cjs/ChatbotToggle/ChatbotToggle.test.js +0 -64
  94. package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.d.ts +0 -1
  95. package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +0 -61
  96. package/dist/cjs/CodeModal/CodeModal.test.d.ts +0 -1
  97. package/dist/cjs/CodeModal/CodeModal.test.js +0 -34
  98. package/dist/cjs/Compare/Compare.test.d.ts +0 -1
  99. package/dist/cjs/Compare/Compare.test.js +0 -18
  100. package/dist/cjs/DeepThinking/DeepThinking.test.d.ts +0 -1
  101. package/dist/cjs/DeepThinking/DeepThinking.test.js +0 -146
  102. package/dist/cjs/FileDetails/FileDetails.test.d.ts +0 -1
  103. package/dist/cjs/FileDetails/FileDetails.test.js +0 -42
  104. package/dist/cjs/FileDetailsLabel/FileDetailsLabel.test.d.ts +0 -1
  105. package/dist/cjs/FileDetailsLabel/FileDetailsLabel.test.js +0 -79
  106. package/dist/cjs/FileDropZone/FileDropZone.test.d.ts +0 -1
  107. package/dist/cjs/FileDropZone/FileDropZone.test.js +0 -100
  108. package/dist/cjs/FilePreview/FilePreview.test.d.ts +0 -1
  109. package/dist/cjs/FilePreview/FilePreview.test.js +0 -97
  110. package/dist/cjs/ImagePreview/ImagePreview.test.d.ts +0 -1
  111. package/dist/cjs/ImagePreview/ImagePreview.test.js +0 -225
  112. package/dist/cjs/MarkdownContent/MarkdownContent.test.d.ts +0 -1
  113. package/dist/cjs/MarkdownContent/MarkdownContent.test.js +0 -192
  114. package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.test.d.ts +0 -1
  115. package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.test.js +0 -131
  116. package/dist/cjs/Message/ErrorMessage/ErrorMessage.test.d.ts +0 -1
  117. package/dist/cjs/Message/ErrorMessage/ErrorMessage.test.js +0 -30
  118. package/dist/cjs/Message/Message.test.d.ts +0 -1
  119. package/dist/cjs/Message/Message.test.js +0 -1128
  120. package/dist/cjs/Message/MessageAndActions/MessageAndActions.test.d.ts +0 -1
  121. package/dist/cjs/Message/MessageAndActions/MessageAndActions.test.js +0 -25
  122. package/dist/cjs/Message/MessageAttachments/MessageAttachmentItem.test.d.ts +0 -1
  123. package/dist/cjs/Message/MessageAttachments/MessageAttachmentItem.test.js +0 -25
  124. package/dist/cjs/Message/MessageAttachments/MessageAttachmentsContainer.test.d.ts +0 -1
  125. package/dist/cjs/Message/MessageAttachments/MessageAttachmentsContainer.test.js +0 -25
  126. package/dist/cjs/Message/MessageLoading.test.d.ts +0 -1
  127. package/dist/cjs/Message/MessageLoading.test.js +0 -25
  128. package/dist/cjs/Message/QuickResponse/QuickResponse.test.d.ts +0 -1
  129. package/dist/cjs/Message/QuickResponse/QuickResponse.test.js +0 -109
  130. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.d.ts +0 -1
  131. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.js +0 -76
  132. package/dist/cjs/Message/UserFeedback/UserFeedback.test.d.ts +0 -1
  133. package/dist/cjs/Message/UserFeedback/UserFeedback.test.js +0 -181
  134. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.d.ts +0 -1
  135. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.js +0 -243
  136. package/dist/cjs/MessageBar/AttachButton.test.d.ts +0 -1
  137. package/dist/cjs/MessageBar/AttachButton.test.js +0 -152
  138. package/dist/cjs/MessageBar/MessageBar.test.d.ts +0 -1
  139. package/dist/cjs/MessageBar/MessageBar.test.js +0 -338
  140. package/dist/cjs/MessageBar/SendButton.test.d.ts +0 -1
  141. package/dist/cjs/MessageBar/SendButton.test.js +0 -58
  142. package/dist/cjs/MessageBar/StopButton.test.d.ts +0 -1
  143. package/dist/cjs/MessageBar/StopButton.test.js +0 -58
  144. package/dist/cjs/MessageBox/JumpButton.test.d.ts +0 -1
  145. package/dist/cjs/MessageBox/JumpButton.test.js +0 -39
  146. package/dist/cjs/MessageBox/MessageBox.test.d.ts +0 -1
  147. package/dist/cjs/MessageBox/MessageBox.test.js +0 -294
  148. package/dist/cjs/MessageDivider/MessageDivider.test.d.ts +0 -1
  149. package/dist/cjs/MessageDivider/MessageDivider.test.js +0 -29
  150. package/dist/cjs/Onboarding/Onboarding.test.d.ts +0 -1
  151. package/dist/cjs/Onboarding/Onboarding.test.js +0 -80
  152. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.d.ts +0 -1
  153. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.js +0 -50
  154. package/dist/cjs/ResponseActions/ResponseActionButton.test.d.ts +0 -1
  155. package/dist/cjs/ResponseActions/ResponseActionButton.test.js +0 -54
  156. package/dist/cjs/ResponseActions/ResponseActions.test.d.ts +0 -1
  157. package/dist/cjs/ResponseActions/ResponseActions.test.js +0 -455
  158. package/dist/cjs/ResponseActions/ResponseActionsGroups.test.d.ts +0 -1
  159. package/dist/cjs/ResponseActions/ResponseActionsGroups.test.js +0 -25
  160. package/dist/cjs/Settings/SettingsForm.test.d.ts +0 -1
  161. package/dist/cjs/Settings/SettingsForm.test.js +0 -35
  162. package/dist/cjs/SourcesCard/SourcesCard.test.d.ts +0 -1
  163. package/dist/cjs/SourcesCard/SourcesCard.test.js +0 -39
  164. package/dist/cjs/SourcesCardBase/SourcesCardBase.test.d.ts +0 -1
  165. package/dist/cjs/SourcesCardBase/SourcesCardBase.test.js +0 -199
  166. package/dist/cjs/TermsOfUse/TermsOfUse.test.d.ts +0 -1
  167. package/dist/cjs/TermsOfUse/TermsOfUse.test.js +0 -77
  168. package/dist/cjs/ToolCall/ToolCall.test.d.ts +0 -1
  169. package/dist/cjs/ToolCall/ToolCall.test.js +0 -201
  170. package/dist/cjs/ToolResponse/ToolResponse.test.d.ts +0 -1
  171. package/dist/cjs/ToolResponse/ToolResponse.test.js +0 -184
  172. package/dist/cjs/__mocks__/monaco-editor.d.ts +0 -11
  173. package/dist/cjs/__mocks__/monaco-editor.js +0 -18
  174. package/dist/cjs/__mocks__/rehype-external-links.d.ts +0 -2
  175. package/dist/cjs/__mocks__/rehype-external-links.js +0 -4
  176. package/dist/cjs/__mocks__/rehype-highlight.d.ts +0 -2
  177. package/dist/cjs/__mocks__/rehype-highlight.js +0 -4
  178. package/dist/cjs/__mocks__/rehype-sanitize.d.ts +0 -2
  179. package/dist/cjs/__mocks__/rehype-sanitize.js +0 -4
  180. package/dist/cjs/__mocks__/rehype-unwrap-images.d.ts +0 -2
  181. package/dist/cjs/__mocks__/rehype-unwrap-images.js +0 -4
  182. package/dist/esm/AttachmentEdit/AttachmentEdit.test.d.ts +0 -1
  183. package/dist/esm/AttachmentEdit/AttachmentEdit.test.js +0 -72
  184. package/dist/esm/Chatbot/Chatbot.test.d.ts +0 -1
  185. package/dist/esm/Chatbot/Chatbot.test.js +0 -27
  186. package/dist/esm/ChatbotAlert/ChatbotAlert.test.d.ts +0 -1
  187. package/dist/esm/ChatbotAlert/ChatbotAlert.test.js +0 -22
  188. package/dist/esm/ChatbotContent/ChatbotContent.test.d.ts +0 -1
  189. package/dist/esm/ChatbotContent/ChatbotContent.test.js +0 -17
  190. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.d.ts +0 -1
  191. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +0 -70
  192. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.d.ts +0 -1
  193. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +0 -596
  194. package/dist/esm/ChatbotFooter/ChatbotFooter.test.d.ts +0 -1
  195. package/dist/esm/ChatbotFooter/ChatbotFooter.test.js +0 -22
  196. package/dist/esm/ChatbotFooter/ChatbotFooternote.test.d.ts +0 -1
  197. package/dist/esm/ChatbotFooter/ChatbotFooternote.test.js +0 -82
  198. package/dist/esm/ChatbotHeader/ChatbotHeader.test.d.ts +0 -1
  199. package/dist/esm/ChatbotHeader/ChatbotHeader.test.js +0 -13
  200. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.d.ts +0 -1
  201. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.js +0 -13
  202. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +0 -1
  203. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.js +0 -20
  204. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.d.ts +0 -1
  205. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.js +0 -13
  206. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +0 -1
  207. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.js +0 -20
  208. package/dist/esm/ChatbotHeader/ChatbotHeaderNewChatButton.test.d.ts +0 -1
  209. package/dist/esm/ChatbotHeader/ChatbotHeaderNewChatButton.test.js +0 -20
  210. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +0 -1
  211. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +0 -44
  212. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +0 -1
  213. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +0 -42
  214. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.d.ts +0 -1
  215. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.js +0 -50
  216. package/dist/esm/ChatbotModal/ChatbotModal.test.d.ts +0 -1
  217. package/dist/esm/ChatbotModal/ChatbotModal.test.js +0 -11
  218. package/dist/esm/ChatbotToggle/ChatbotToggle.test.d.ts +0 -1
  219. package/dist/esm/ChatbotToggle/ChatbotToggle.test.js +0 -59
  220. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.d.ts +0 -1
  221. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +0 -56
  222. package/dist/esm/CodeModal/CodeModal.test.d.ts +0 -1
  223. package/dist/esm/CodeModal/CodeModal.test.js +0 -29
  224. package/dist/esm/Compare/Compare.test.d.ts +0 -1
  225. package/dist/esm/Compare/Compare.test.js +0 -13
  226. package/dist/esm/DeepThinking/DeepThinking.test.d.ts +0 -1
  227. package/dist/esm/DeepThinking/DeepThinking.test.js +0 -141
  228. package/dist/esm/FileDetails/FileDetails.test.d.ts +0 -1
  229. package/dist/esm/FileDetails/FileDetails.test.js +0 -37
  230. package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.d.ts +0 -1
  231. package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.js +0 -74
  232. package/dist/esm/FileDropZone/FileDropZone.test.d.ts +0 -1
  233. package/dist/esm/FileDropZone/FileDropZone.test.js +0 -95
  234. package/dist/esm/FilePreview/FilePreview.test.d.ts +0 -1
  235. package/dist/esm/FilePreview/FilePreview.test.js +0 -92
  236. package/dist/esm/ImagePreview/ImagePreview.test.d.ts +0 -1
  237. package/dist/esm/ImagePreview/ImagePreview.test.js +0 -220
  238. package/dist/esm/MarkdownContent/MarkdownContent.test.d.ts +0 -1
  239. package/dist/esm/MarkdownContent/MarkdownContent.test.js +0 -187
  240. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.test.d.ts +0 -1
  241. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.test.js +0 -126
  242. package/dist/esm/Message/ErrorMessage/ErrorMessage.test.d.ts +0 -1
  243. package/dist/esm/Message/ErrorMessage/ErrorMessage.test.js +0 -25
  244. package/dist/esm/Message/Message.test.d.ts +0 -1
  245. package/dist/esm/Message/Message.test.js +0 -1123
  246. package/dist/esm/Message/MessageAndActions/MessageAndActions.test.d.ts +0 -1
  247. package/dist/esm/Message/MessageAndActions/MessageAndActions.test.js +0 -20
  248. package/dist/esm/Message/MessageAttachments/MessageAttachmentItem.test.d.ts +0 -1
  249. package/dist/esm/Message/MessageAttachments/MessageAttachmentItem.test.js +0 -20
  250. package/dist/esm/Message/MessageAttachments/MessageAttachmentsContainer.test.d.ts +0 -1
  251. package/dist/esm/Message/MessageAttachments/MessageAttachmentsContainer.test.js +0 -20
  252. package/dist/esm/Message/MessageLoading.test.d.ts +0 -1
  253. package/dist/esm/Message/MessageLoading.test.js +0 -20
  254. package/dist/esm/Message/QuickResponse/QuickResponse.test.d.ts +0 -1
  255. package/dist/esm/Message/QuickResponse/QuickResponse.test.js +0 -104
  256. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.d.ts +0 -1
  257. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.js +0 -48
  258. package/dist/esm/Message/UserFeedback/UserFeedback.test.d.ts +0 -1
  259. package/dist/esm/Message/UserFeedback/UserFeedback.test.js +0 -176
  260. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.d.ts +0 -1
  261. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.js +0 -238
  262. package/dist/esm/MessageBar/AttachButton.test.d.ts +0 -1
  263. package/dist/esm/MessageBar/AttachButton.test.js +0 -147
  264. package/dist/esm/MessageBar/MessageBar.test.d.ts +0 -1
  265. package/dist/esm/MessageBar/MessageBar.test.js +0 -333
  266. package/dist/esm/MessageBar/SendButton.test.d.ts +0 -1
  267. package/dist/esm/MessageBar/SendButton.test.js +0 -53
  268. package/dist/esm/MessageBar/StopButton.test.d.ts +0 -1
  269. package/dist/esm/MessageBar/StopButton.test.js +0 -53
  270. package/dist/esm/MessageBox/JumpButton.test.d.ts +0 -1
  271. package/dist/esm/MessageBox/JumpButton.test.js +0 -34
  272. package/dist/esm/MessageBox/MessageBox.test.d.ts +0 -1
  273. package/dist/esm/MessageBox/MessageBox.test.js +0 -289
  274. package/dist/esm/MessageDivider/MessageDivider.test.d.ts +0 -1
  275. package/dist/esm/MessageDivider/MessageDivider.test.js +0 -24
  276. package/dist/esm/Onboarding/Onboarding.test.d.ts +0 -1
  277. package/dist/esm/Onboarding/Onboarding.test.js +0 -75
  278. package/dist/esm/PreviewAttachment/PreviewAttachment.test.d.ts +0 -1
  279. package/dist/esm/PreviewAttachment/PreviewAttachment.test.js +0 -48
  280. package/dist/esm/ResponseActions/ResponseActionButton.test.d.ts +0 -1
  281. package/dist/esm/ResponseActions/ResponseActionButton.test.js +0 -49
  282. package/dist/esm/ResponseActions/ResponseActions.test.d.ts +0 -1
  283. package/dist/esm/ResponseActions/ResponseActions.test.js +0 -450
  284. package/dist/esm/ResponseActions/ResponseActionsGroups.test.d.ts +0 -1
  285. package/dist/esm/ResponseActions/ResponseActionsGroups.test.js +0 -20
  286. package/dist/esm/Settings/SettingsForm.test.d.ts +0 -1
  287. package/dist/esm/Settings/SettingsForm.test.js +0 -33
  288. package/dist/esm/SourcesCard/SourcesCard.test.d.ts +0 -1
  289. package/dist/esm/SourcesCard/SourcesCard.test.js +0 -34
  290. package/dist/esm/SourcesCardBase/SourcesCardBase.test.d.ts +0 -1
  291. package/dist/esm/SourcesCardBase/SourcesCardBase.test.js +0 -194
  292. package/dist/esm/TermsOfUse/TermsOfUse.test.d.ts +0 -1
  293. package/dist/esm/TermsOfUse/TermsOfUse.test.js +0 -72
  294. package/dist/esm/ToolCall/ToolCall.test.d.ts +0 -1
  295. package/dist/esm/ToolCall/ToolCall.test.js +0 -196
  296. package/dist/esm/ToolResponse/ToolResponse.test.d.ts +0 -1
  297. package/dist/esm/ToolResponse/ToolResponse.test.js +0 -179
  298. package/dist/esm/__mocks__/monaco-editor.d.ts +0 -11
  299. package/dist/esm/__mocks__/monaco-editor.js +0 -18
  300. package/dist/esm/__mocks__/rehype-external-links.d.ts +0 -2
  301. package/dist/esm/__mocks__/rehype-external-links.js +0 -2
  302. package/dist/esm/__mocks__/rehype-highlight.d.ts +0 -2
  303. package/dist/esm/__mocks__/rehype-highlight.js +0 -2
  304. package/dist/esm/__mocks__/rehype-sanitize.d.ts +0 -2
  305. package/dist/esm/__mocks__/rehype-sanitize.js +0 -2
  306. package/dist/esm/__mocks__/rehype-unwrap-images.d.ts +0 -2
  307. package/dist/esm/__mocks__/rehype-unwrap-images.js +0 -2
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';
@@ -1,20 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import '@testing-library/jest-dom';
3
- import { render, screen } from '@testing-library/react';
4
- import MessageAndActions from './MessageAndActions';
5
- test('Renders with children', () => {
6
- render(_jsx(MessageAndActions, { children: "Test content" }));
7
- expect(screen.getByText('Test content')).toBeInTheDocument();
8
- });
9
- test('Renders with pf-chatbot__message-and-actions class by default', () => {
10
- render(_jsx(MessageAndActions, { children: "Test content" }));
11
- expect(screen.getByText('Test content')).toHaveClass('pf-chatbot__message-and-actions', { exact: true });
12
- });
13
- test('Renders with custom className', () => {
14
- render(_jsx(MessageAndActions, { className: "custom-class", children: "Test content" }));
15
- expect(screen.getByText('Test content')).toHaveClass('custom-class');
16
- });
17
- test('Spreads additional props', () => {
18
- render(_jsx(MessageAndActions, { id: "test-id", children: "Test content" }));
19
- expect(screen.getByText('Test content')).toHaveAttribute('id', 'test-id');
20
- });
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';
@@ -1,20 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import '@testing-library/jest-dom';
3
- import { render, screen } from '@testing-library/react';
4
- import MessageAttachmentItem from './MessageAttachmentItem';
5
- test('Renders with children', () => {
6
- render(_jsx(MessageAttachmentItem, { children: "Test content" }));
7
- expect(screen.getByText('Test content')).toBeInTheDocument();
8
- });
9
- test('Renders with pf-chatbot__message-attachment class by default', () => {
10
- render(_jsx(MessageAttachmentItem, { children: "Test content" }));
11
- expect(screen.getByText('Test content')).toHaveClass('pf-chatbot__message-attachment', { exact: true });
12
- });
13
- test('Renders with custom className', () => {
14
- render(_jsx(MessageAttachmentItem, { className: "custom-class", children: "Test content" }));
15
- expect(screen.getByText('Test content')).toHaveClass('custom-class');
16
- });
17
- test('Spreads additional props', () => {
18
- render(_jsx(MessageAttachmentItem, { id: "test-id", children: "Test content" }));
19
- expect(screen.getByText('Test content')).toHaveAttribute('id', 'test-id');
20
- });
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';
@@ -1,20 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import '@testing-library/jest-dom';
3
- import { render, screen } from '@testing-library/react';
4
- import MessageAttachmentsContainer from './MessageAttachmentsContainer';
5
- test('Renders with children', () => {
6
- render(_jsx(MessageAttachmentsContainer, { children: "Test content" }));
7
- expect(screen.getByText('Test content')).toBeInTheDocument();
8
- });
9
- test('Renders with pf-chatbot__message-attachments-container class by default', () => {
10
- render(_jsx(MessageAttachmentsContainer, { children: "Test content" }));
11
- expect(screen.getByText('Test content')).toHaveClass('pf-chatbot__message-attachments-container', { exact: true });
12
- });
13
- test('Renders with custom className', () => {
14
- render(_jsx(MessageAttachmentsContainer, { className: "custom-class", children: "Test content" }));
15
- expect(screen.getByText('Test content')).toHaveClass('custom-class');
16
- });
17
- test('Spreads additional props', () => {
18
- render(_jsx(MessageAttachmentsContainer, { id: "test-id", children: "Test content" }));
19
- expect(screen.getByText('Test content')).toHaveAttribute('id', 'test-id');
20
- });
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';
@@ -1,20 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import '@testing-library/jest-dom';
3
- import { render, screen } from '@testing-library/react';
4
- import MessageLoading from './MessageLoading';
5
- test('Renders with pf-chatbot__message-loading class by default', () => {
6
- render(_jsx(MessageLoading, { "data-testid": "test-id" }));
7
- expect(screen.getByTestId('test-id')).toHaveClass('pf-chatbot__message-loading', { exact: true });
8
- });
9
- test('Renders with pf-m-primary class when isPrimary is true', () => {
10
- render(_jsx(MessageLoading, { "data-testid": "test-id", isPrimary: true }));
11
- expect(screen.getByTestId('test-id')).toHaveClass('pf-chatbot__message-loading pf-m-primary');
12
- });
13
- test('Renders loading word when loadingWord is passed', () => {
14
- render(_jsx(MessageLoading, { loadingWord: "Loading message" }));
15
- expect(screen.getByText('Loading message')).toBeInTheDocument();
16
- });
17
- test('Spreads additional props', () => {
18
- render(_jsx(MessageLoading, { "data-testid": "test-id", id: "custom-id" }));
19
- expect(screen.getByTestId('test-id')).toHaveAttribute('id', 'custom-id');
20
- });
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';
@@ -1,104 +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 userEvent from '@testing-library/user-event';
13
- import '@testing-library/jest-dom';
14
- import QuickResponse from './QuickResponse';
15
- test('Renders with quick responses', () => {
16
- const quickResponses = [
17
- { id: '1', content: 'Response 1' },
18
- { id: '2', content: 'Response 2' },
19
- { id: '3', content: 'Response 3' }
20
- ];
21
- render(_jsx(QuickResponse, { quickResponses: quickResponses }));
22
- expect(screen.getByText('Response 1')).toBeVisible();
23
- expect(screen.getByText('Response 2')).toBeVisible();
24
- expect(screen.getByText('Response 3')).toBeVisible();
25
- });
26
- test('Renders with compact styling', () => {
27
- const quickResponses = [{ id: '1', content: 'Compact response' }];
28
- render(_jsx(QuickResponse, { quickResponses: quickResponses, isCompact: true }));
29
- expect(screen.getByText('Compact response').closest('.pf-v6-c-label')).toHaveClass('pf-m-compact');
30
- });
31
- test('Renders with custom className on response', () => {
32
- const quickResponses = [{ id: '1', content: 'Custom class response', className: 'custom-response-class' }];
33
- render(_jsx(QuickResponse, { quickResponses: quickResponses }));
34
- expect(screen.getByText('Custom class response').closest('.pf-v6-c-label')).toHaveClass('custom-response-class');
35
- });
36
- test('Renders with custom container className', () => {
37
- const quickResponses = [
38
- { id: '1', content: 'Response 1' },
39
- { id: '2', content: 'Response 2' }
40
- ];
41
- render(_jsx(QuickResponse, { quickResponses: quickResponses, quickResponseContainerProps: { className: 'custom-container-class' } }));
42
- expect(screen.getByText('Response 1').closest('.pf-v6-c-label-group')).toHaveClass('custom-container-class');
43
- });
44
- test('Spreads additional custom container props', () => {
45
- const quickResponses = [
46
- { id: '1', content: 'Response 1' },
47
- { id: '2', content: 'Response 2' }
48
- ];
49
- render(_jsx(QuickResponse, { quickResponses: quickResponses, quickResponseContainerProps: { id: 'custom-container-id' } }));
50
- expect(screen.getByText('Response 1').closest('.pf-v6-c-label-group__list')).toHaveAttribute('id', 'custom-container-id');
51
- });
52
- test('Renders with pf-chatbot__message-quick-response--selected class after click', () => __awaiter(void 0, void 0, void 0, function* () {
53
- const user = userEvent.setup();
54
- const quickResponses = [
55
- { id: '1', content: 'Response 1' },
56
- { id: '2', content: 'Response 2' }
57
- ];
58
- render(_jsx(QuickResponse, { quickResponses: quickResponses }));
59
- yield user.click(screen.getByText('Response 1'));
60
- expect(screen.getByText('Response 1').closest('.pf-v6-c-label')).toHaveClass('pf-chatbot__message-quick-response--selected');
61
- }));
62
- test('Does not calls onClick handler when not passed', () => __awaiter(void 0, void 0, void 0, function* () {
63
- const user = userEvent.setup();
64
- const handleClick = jest.fn();
65
- const quickResponses = [{ id: '1', content: 'Clickable response' }];
66
- render(_jsx(QuickResponse, { quickResponses: quickResponses }));
67
- yield user.click(screen.getByText('Clickable response'));
68
- expect(handleClick).not.toHaveBeenCalled();
69
- }));
70
- test('Calls onClick handler when passed', () => __awaiter(void 0, void 0, void 0, function* () {
71
- const user = userEvent.setup();
72
- const handleClick = jest.fn();
73
- const quickResponses = [{ id: '1', content: 'Clickable response', onClick: handleClick }];
74
- render(_jsx(QuickResponse, { quickResponses: quickResponses }));
75
- yield user.click(screen.getByText('Clickable response'));
76
- expect(handleClick).toHaveBeenCalled();
77
- }));
78
- test('Does not call onSelect when not passed', () => __awaiter(void 0, void 0, void 0, function* () {
79
- const user = userEvent.setup();
80
- const handleSelect = jest.fn();
81
- const quickResponses = [
82
- { id: '1', content: 'Response 1' },
83
- { id: '2', content: 'Response 2' }
84
- ];
85
- render(_jsx(QuickResponse, { quickResponses: quickResponses }));
86
- yield user.click(screen.getByText('Response 2'));
87
- expect(handleSelect).not.toHaveBeenCalled();
88
- }));
89
- test('Calls onSelect when passed', () => __awaiter(void 0, void 0, void 0, function* () {
90
- const user = userEvent.setup();
91
- const handleSelect = jest.fn();
92
- const quickResponses = [
93
- { id: '1', content: 'Response 1' },
94
- { id: '2', content: 'Response 2' }
95
- ];
96
- render(_jsx(QuickResponse, { quickResponses: quickResponses, onSelect: handleSelect }));
97
- yield user.click(screen.getByText('Response 2'));
98
- expect(handleSelect).toHaveBeenCalledWith('2');
99
- }));
100
- test('Spreads additional response props', () => {
101
- const quickResponses = [{ id: '1', content: 'Response with props', isCompact: true, 'aria-label': 'Test label' }];
102
- render(_jsx(QuickResponse, { quickResponses: quickResponses }));
103
- expect(screen.getByText('Response with props').closest('.pf-v6-c-label')).toHaveAttribute('aria-label', 'Test label');
104
- });
@@ -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 { render, screen } from '@testing-library/react';
12
- import '@testing-library/jest-dom';
13
- import userEvent from '@testing-library/user-event';
14
- import { monitorSampleAppQuickStart } from './monitor-sampleapp-quickstart';
15
- import QuickStartTileDescription, { pluralizeWord } from './QuickStartTileDescription';
16
- describe('pluralizeWord function', () => {
17
- it('should render no plural correctly', () => {
18
- expect(pluralizeWord(2, 'pizza')).toBe('pizzas');
19
- });
20
- });
21
- describe('QuickStart tile description', () => {
22
- it('should render no prereqs correctly', () => {
23
- render(_jsx(QuickStartTileDescription, { description: monitorSampleAppQuickStart.spec.description }));
24
- expect(screen.queryByRole('heading')).toBeFalsy();
25
- });
26
- it('should render singular prereq correctly', () => {
27
- render(_jsx(QuickStartTileDescription, { description: monitorSampleAppQuickStart.spec.description, prerequisites: [`You completed the "Getting started with a sample" quick start.`] }));
28
- expect(screen.getByRole('heading', { name: /1 Prerequisite/i })).toBeTruthy();
29
- expect(screen.getByRole('button', { name: /Show prerequisite/i })).toBeTruthy();
30
- });
31
- it('should render plural prereq correctly', () => {
32
- render(_jsx(QuickStartTileDescription, { description: monitorSampleAppQuickStart.spec.description, prerequisites: [
33
- `You completed the "Getting started with a sample" quick start.`,
34
- `You completed the app quick start`
35
- ] }));
36
- expect(screen.getByRole('heading', { name: /2 Prerequisites/i })).toBeTruthy();
37
- expect(screen.getByRole('button', { name: /Show prerequisites/i })).toBeTruthy();
38
- });
39
- it('should be able to click prereqs link', () => __awaiter(void 0, void 0, void 0, function* () {
40
- render(_jsx(QuickStartTileDescription, { description: monitorSampleAppQuickStart.spec.description, prerequisites: [`You completed the "Getting started with a sample" quick start.`] }));
41
- const button = screen.getByRole('button', { name: /Show prerequisites/i });
42
- expect(screen.queryByRole('dialog', { name: /Prerequisite/i })).toBeFalsy();
43
- yield userEvent.click(button);
44
- expect(screen.getByRole('dialog', { name: /Prerequisite/i })).toBeTruthy();
45
- expect(screen.getByRole('button', { name: /Close/i })).toBeTruthy();
46
- expect(screen.getByText(/You completed the "Getting started with a sample" quick start./i)).toBeTruthy();
47
- }));
48
- });
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';
@@ -1,176 +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, jsxs as _jsxs } 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 UserFeedback from './UserFeedback';
15
- const MOCK_RESPONSES = [
16
- { id: '1', content: 'Helpful information', onClick: () => alert('Clicked helpful information') },
17
- { id: '2', content: 'Easy to understand', onClick: () => alert('Clicked easy to understand') },
18
- { id: '3', content: 'Resolved my issue', onClick: () => alert('Clicked resolved my issue') }
19
- ];
20
- describe('UserFeedback', () => {
21
- it('should render correctly', () => {
22
- render(_jsx(UserFeedback, { onClose: jest.fn, onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, timestamp: "12/12/12" }));
23
- expect(screen.getByRole('heading', { name: /Why did you choose this rating?/i })).toBeTruthy();
24
- expect(screen.getByRole('list', { name: 'Quick feedback for message received at 12/12/12' })).toBeTruthy();
25
- expect(screen.getByRole('button', { name: /Helpful information/i })).toBeTruthy();
26
- expect(screen.getByRole('button', { name: /Easy to understand/i })).toBeTruthy();
27
- expect(screen.getByRole('button', { name: /Resolved my issue/i })).toBeTruthy();
28
- expect(screen.getByRole('button', { name: /Submit/i })).toBeTruthy();
29
- expect(screen.getByRole('button', { name: 'Close feedback for message received at 12/12/12' })).toBeTruthy();
30
- expect(screen.queryByRole('textbox', { name: /Provide optional additional feedback/i })).toBeFalsy();
31
- });
32
- it('should render different title correctly', () => {
33
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, title: "Thanks! Why?" }));
34
- expect(screen.getByText('Thanks! Why?')).toBeTruthy();
35
- });
36
- it('should render different submit button text correctly', () => {
37
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, submitWord: "Give feedback" }));
38
- expect(screen.getByRole('button', { name: /Give feedback/i })).toBeTruthy();
39
- });
40
- it('should render text area correctly', () => {
41
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, hasTextArea: true }));
42
- expect(screen.getByRole('textbox', { name: /Provide optional additional feedback/i })).toBeTruthy();
43
- });
44
- it('should call onTextAreaChange correctly', () => __awaiter(void 0, void 0, void 0, function* () {
45
- const spy = jest.fn();
46
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, hasTextArea: true, onTextAreaChange: spy }));
47
- const textbox = screen.getByRole('textbox', { name: /Provide optional additional feedback/i });
48
- yield userEvent.type(textbox, 'test');
49
- expect(spy).toHaveBeenCalledTimes(4);
50
- }));
51
- it('should render different placeholder correctly', () => {
52
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, hasTextArea: true, textAreaPlaceholder: "Provide any other information" }));
53
- expect(screen.getByRole('textbox', { name: /Provide optional additional feedback/i })).toHaveAttribute('placeholder', 'Provide any other information');
54
- });
55
- it('should render different text area label correctly', () => {
56
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, hasTextArea: true, textAreaAriaLabel: "Provide more details" }));
57
- expect(screen.getByRole('textbox', { name: /Provide more details/i })).toBeTruthy();
58
- });
59
- it('should handle onClose correctly when close button is clicked', () => __awaiter(void 0, void 0, void 0, function* () {
60
- const spy = jest.fn();
61
- render(_jsx(UserFeedback, { onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, onClose: spy, timestamp: "12/12/12" }));
62
- const closeButton = screen.getByRole('button', { name: 'Close feedback for message received at 12/12/12' });
63
- expect(closeButton).toBeTruthy();
64
- yield userEvent.click(closeButton);
65
- expect(spy).toHaveBeenCalledTimes(1);
66
- }));
67
- it('should be able to change close button aria label', () => {
68
- const spy = jest.fn();
69
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, onClose: spy, closeButtonAriaLabel: "Ima button" }));
70
- expect(screen.getByRole('button', { name: /Ima button/i })).toBeTruthy();
71
- });
72
- it('should handle className', () => __awaiter(void 0, void 0, void 0, function* () {
73
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, className: "test", "data-testid": "card" }));
74
- expect(screen.getByTestId('card')).toHaveClass('test');
75
- }));
76
- it('should apply id', () => __awaiter(void 0, void 0, void 0, function* () {
77
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, id: "test", "data-testid": "card" }));
78
- expect(screen.getByTestId('card').parentElement).toHaveAttribute('id', 'test');
79
- }));
80
- it('should handle submit correctly when nothing is selected', () => __awaiter(void 0, void 0, void 0, function* () {
81
- const spy = jest.fn();
82
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: spy, quickResponses: MOCK_RESPONSES }));
83
- yield userEvent.click(screen.getByRole('button', { name: /Submit/i }));
84
- expect(spy).toHaveBeenCalledTimes(1);
85
- expect(spy).toHaveBeenCalledWith(undefined, '');
86
- }));
87
- it('should handle submit correctly when item is selected', () => __awaiter(void 0, void 0, void 0, function* () {
88
- const spy = jest.fn();
89
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: spy, quickResponses: MOCK_RESPONSES }));
90
- yield userEvent.click(screen.getByRole('button', { name: /Easy to understand/i }));
91
- yield userEvent.click(screen.getByRole('button', { name: /Submit/i }));
92
- expect(spy).toHaveBeenCalledTimes(1);
93
- expect(spy).toHaveBeenCalledWith('2', '');
94
- }));
95
- it('should handle submit correctly when there is just text input', () => __awaiter(void 0, void 0, void 0, function* () {
96
- const spy = jest.fn();
97
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: spy, quickResponses: MOCK_RESPONSES, hasTextArea: true }));
98
- yield userEvent.type(screen.getByRole('textbox', { name: /Provide optional additional feedback/i }), 'What a great experience!');
99
- yield userEvent.click(screen.getByRole('button', { name: /Submit/i }));
100
- expect(spy).toHaveBeenCalledTimes(1);
101
- expect(spy).toHaveBeenCalledWith(undefined, 'What a great experience!');
102
- }));
103
- it('should handle submit correctly when item is selected and there is text input', () => __awaiter(void 0, void 0, void 0, function* () {
104
- const spy = jest.fn();
105
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: spy, quickResponses: MOCK_RESPONSES, hasTextArea: true }));
106
- yield userEvent.click(screen.getByRole('button', { name: /Easy to understand/i }));
107
- yield userEvent.type(screen.getByRole('textbox', { name: /Provide optional additional feedback/i }), 'What a great experience!');
108
- yield userEvent.click(screen.getByRole('button', { name: /Submit/i }));
109
- expect(spy).toHaveBeenCalledTimes(1);
110
- expect(spy).toHaveBeenCalledWith('2', 'What a great experience!');
111
- }));
112
- it('should default title heading level to h1', () => {
113
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: jest.fn, quickResponses: MOCK_RESPONSES }));
114
- expect(screen.getByRole('heading', { level: 1, name: /Why did you choose this rating?/i })).toBeTruthy();
115
- });
116
- it('should be able to change title heading level', () => {
117
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, headingLevel: "h6" }));
118
- expect(screen.getByRole('heading', { level: 6, name: /Why did you choose this rating?/i })).toBeTruthy();
119
- });
120
- it('should focus on load by default', () => {
121
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, "data-testid": "card" }));
122
- expect(screen.getByTestId('card').parentElement).toHaveFocus();
123
- });
124
- it('should not focus on load if focusOnLoad = false', () => {
125
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, "data-testid": "card", focusOnLoad: false }));
126
- expect(screen.getByTestId('card').parentElement).not.toHaveFocus();
127
- });
128
- it('should handle isCompact', () => {
129
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, "data-testid": "card", isCompact: true }));
130
- expect(screen.getByTestId('card')).toHaveClass('pf-m-compact');
131
- });
132
- it('should pass buttonProps to submit button', () => {
133
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, submitButtonProps: { variant: 'secondary', isDisabled: true } }));
134
- const submitButton = screen.getByRole('button', { name: /Submit/i });
135
- expect(submitButton).toHaveClass('pf-v6-c-button pf-m-secondary');
136
- expect(submitButton).toBeDisabled();
137
- });
138
- it('should pass cardHeaderProps to card header', () => {
139
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, cardHeaderProps: { 'data-testid': 'card-header', className: 'custom-header' } }));
140
- const cardHeader = screen.getByTestId('card-header');
141
- expect(cardHeader).toHaveClass('custom-header');
142
- });
143
- it('should pass cardBodyProps to card body', () => {
144
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, cardBodyProps: { 'data-testid': 'card-body', className: 'custom-body' } }));
145
- const cardBody = screen.getByTestId('card-body');
146
- expect(cardBody).toHaveClass('custom-body');
147
- });
148
- it('should pass headingLevelProps to title heading', () => {
149
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, headingLevelProps: { className: 'custom-heading', id: 'feedback-title' } }));
150
- const heading = screen.getByRole('heading', { level: 1, name: /Why did you choose this rating?/i });
151
- expect(heading).toHaveClass('custom-heading');
152
- expect(heading).toHaveAttribute('id', 'feedback-title');
153
- });
154
- it('should pass formProps to form', () => {
155
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, formProps: { 'data-testid': 'feedback-form', className: 'custom-form' } }));
156
- const form = screen.getByTestId('feedback-form');
157
- expect(form).toHaveClass('custom-form');
158
- });
159
- it('should pass textAreaProps to text area when hasTextArea is true', () => {
160
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, hasTextArea: true, textAreaProps: { 'data-testid': 'custom-textarea', rows: 5 } }));
161
- const textArea = screen.getByTestId('custom-textarea');
162
- expect(textArea).toHaveAttribute('rows', '5');
163
- expect(textArea).toHaveAttribute('data-testid', 'custom-textarea');
164
- });
165
- it('should pass actionGroupProps to action group', () => {
166
- render(_jsx(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, actionGroupProps: { 'data-testid': 'action-group', className: 'custom-actions' } }));
167
- const actionGroup = screen.getByTestId('action-group');
168
- expect(actionGroup).toHaveClass('custom-actions');
169
- });
170
- it('should render children', () => {
171
- render(_jsxs(UserFeedback, { timestamp: "12/12/12", onClose: jest.fn, onSubmit: jest.fn, quickResponses: MOCK_RESPONSES, children: [_jsx("div", { "data-testid": "custom-content", children: "Custom feedback content" }), _jsx("p", { children: "Additional paragraph" })] }));
172
- expect(screen.getByTestId('custom-content')).toBeInTheDocument();
173
- expect(screen.getByText('Custom feedback content')).toBeInTheDocument();
174
- expect(screen.getByText('Additional paragraph')).toBeInTheDocument();
175
- });
176
- });
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';