@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,238 +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 { act, render, screen } from '@testing-library/react';
12
- import '@testing-library/jest-dom';
13
- import userEvent from '@testing-library/user-event';
14
- import UserFeedbackComplete from './UserFeedbackComplete';
15
- describe('UserFeedbackComplete', () => {
16
- it('should render correctly', () => {
17
- render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12" }));
18
- expect(screen.getByText('Feedback submitted')).toBeTruthy();
19
- screen.getByText(/We've received your response. Thank you for sharing your feedback!/i);
20
- expect(screen.queryByRole('button', { name: /Close/i })).toBeFalsy();
21
- });
22
- it('should render different title correctly', () => {
23
- render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", title: "Thanks!" }));
24
- expect(screen.getByText('Thanks!')).toBeTruthy();
25
- screen.getByText(/We've received your response. Thank you for sharing your feedback!/i);
26
- });
27
- it('should render different string body correctly', () => {
28
- render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", body: "Thanks!" }));
29
- expect(screen.getByText('Feedback submitted')).toBeTruthy();
30
- expect(screen.getByText('Thanks!')).toBeTruthy();
31
- });
32
- it('should render different node body correctly', () => {
33
- render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", body: _jsx("div", { children: "Thanks!" }) }));
34
- expect(screen.getByText('Feedback submitted')).toBeTruthy();
35
- expect(screen.getByText('Thanks!')).toBeTruthy();
36
- });
37
- it('should handle onClose correctly', () => __awaiter(void 0, void 0, void 0, function* () {
38
- const spy = jest.fn();
39
- render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", onClose: spy }));
40
- const closeButton = screen.getByRole('button', { name: 'Close feedback for message received at 12/12/12' });
41
- expect(closeButton).toBeTruthy();
42
- yield userEvent.click(closeButton);
43
- expect(spy).toHaveBeenCalledTimes(1);
44
- }));
45
- it('should be able to change close button aria label', () => {
46
- const spy = jest.fn();
47
- render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", onClose: spy, closeButtonAriaLabel: "Ima button" }));
48
- expect(screen.getByRole('button', { name: /Ima button/i })).toBeTruthy();
49
- });
50
- it('should handle className', () => __awaiter(void 0, void 0, void 0, function* () {
51
- render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", className: "test", "data-testid": "card" }));
52
- expect(screen.getByTestId('card')).toHaveClass('test');
53
- }));
54
- it('should apply id', () => __awaiter(void 0, void 0, void 0, function* () {
55
- render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", id: "test", "data-testid": "card" }));
56
- expect(screen.getByTestId('card').parentElement).toHaveAttribute('id', 'test');
57
- }));
58
- it('renders with no timeout by default', () => {
59
- jest.useFakeTimers();
60
- render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12" }));
61
- act(() => {
62
- jest.advanceTimersByTime(8000);
63
- });
64
- expect(screen.getByText('Feedback submitted')).toBeVisible();
65
- jest.useRealTimers();
66
- });
67
- it('should handle timeout correctly after 8000ms when timeout = true', () => __awaiter(void 0, void 0, void 0, function* () {
68
- jest.useFakeTimers();
69
- render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", timeout: true }));
70
- act(() => {
71
- jest.advanceTimersByTime(7999);
72
- });
73
- expect(screen.getByText('Feedback submitted')).toBeVisible();
74
- act(() => {
75
- jest.advanceTimersByTime(1);
76
- });
77
- expect(screen.queryByText('Feedback submitted')).not.toBeInTheDocument();
78
- jest.useRealTimers();
79
- }));
80
- it('should handle timeout correctly when timeout = numeric value', () => __awaiter(void 0, void 0, void 0, function* () {
81
- jest.useFakeTimers();
82
- render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", timeout: 300 }));
83
- act(() => {
84
- jest.advanceTimersByTime(299);
85
- });
86
- expect(screen.getByText('Feedback submitted')).toBeVisible();
87
- act(() => {
88
- jest.advanceTimersByTime(1);
89
- });
90
- expect(screen.queryByText('Feedback submitted')).not.toBeInTheDocument();
91
- jest.useRealTimers();
92
- }));
93
- it('does not get removed on timeout if the user is focused on the card', () => __awaiter(void 0, void 0, void 0, function* () {
94
- const user = userEvent.setup({
95
- advanceTimers: (delay) => jest.advanceTimersByTime(delay)
96
- });
97
- jest.useFakeTimers();
98
- render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", timeout: true, "data-testid": "card" }));
99
- expect(screen.getByText('Feedback submitted')).toBeTruthy();
100
- yield user.click(screen.getByTestId('card'));
101
- act(() => {
102
- jest.advanceTimersByTime(8000);
103
- });
104
- expect(screen.getByText('Feedback submitted')).toBeTruthy();
105
- jest.useRealTimers();
106
- }));
107
- it('does not remove the card on timeout if the user is hovered over it', () => __awaiter(void 0, void 0, void 0, function* () {
108
- const user = userEvent.setup({
109
- advanceTimers: (delay) => jest.advanceTimersByTime(delay)
110
- });
111
- jest.useFakeTimers();
112
- render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", timeout: true, "data-testid": "card" }));
113
- const card = screen.getByTestId('card');
114
- yield user.hover(card);
115
- act(() => {
116
- jest.advanceTimersByTime(8000);
117
- });
118
- expect(card).toBeVisible();
119
- jest.useRealTimers();
120
- }));
121
- it('removes the card after the user removes focus from the card and 3000ms have passed', () => __awaiter(void 0, void 0, void 0, function* () {
122
- const user = userEvent.setup({
123
- advanceTimers: (delay) => jest.advanceTimersByTime(delay)
124
- });
125
- jest.useFakeTimers();
126
- render(_jsxs("div", { children: [_jsx("input", {}), _jsx(UserFeedbackComplete, { timestamp: "12/12/12", timeout: true, "data-testid": "card" })] }));
127
- const card = screen.getByTestId('card');
128
- yield user.click(card);
129
- act(() => {
130
- jest.advanceTimersByTime(8000);
131
- });
132
- yield user.click(screen.getByRole('textbox'));
133
- act(() => {
134
- jest.advanceTimersByTime(3000);
135
- });
136
- expect(screen.queryByText('Feedback submitted')).not.toBeInTheDocument();
137
- jest.useRealTimers();
138
- }));
139
- it('removes the card after the user removes hover from the card and 3000ms have passed', () => __awaiter(void 0, void 0, void 0, function* () {
140
- const user = userEvent.setup({
141
- advanceTimers: (delay) => jest.advanceTimersByTime(delay)
142
- });
143
- jest.useFakeTimers();
144
- render(_jsxs("div", { children: [_jsx("input", {}), _jsx(UserFeedbackComplete, { timestamp: "12/12/12", timeout: true, "data-testid": "card" })] }));
145
- const card = screen.getByTestId('card');
146
- yield user.hover(card);
147
- act(() => {
148
- jest.advanceTimersByTime(8000);
149
- });
150
- yield user.hover(screen.getByRole('textbox'));
151
- act(() => {
152
- jest.advanceTimersByTime(3000);
153
- });
154
- expect(screen.queryByText('Feedback submitted')).not.toBeInTheDocument();
155
- jest.useRealTimers();
156
- }));
157
- it('removes the card after the user removes hover from the card and timeoutAnimation time has passed', () => __awaiter(void 0, void 0, void 0, function* () {
158
- const user = userEvent.setup({
159
- advanceTimers: (delay) => jest.advanceTimersByTime(delay)
160
- });
161
- jest.useFakeTimers();
162
- render(_jsxs("div", { children: [_jsx("input", {}), _jsx(UserFeedbackComplete, { timestamp: "12/12/12", timeout: true, "data-testid": "card", timeoutAnimation: 1000 })] }));
163
- const card = screen.getByTestId('card');
164
- yield user.hover(card);
165
- act(() => {
166
- jest.advanceTimersByTime(8000);
167
- });
168
- yield user.hover(screen.getByRole('textbox'));
169
- act(() => {
170
- jest.advanceTimersByTime(1000);
171
- });
172
- expect(screen.queryByText('Feedback submitted')).not.toBeInTheDocument();
173
- jest.useRealTimers();
174
- }));
175
- it('does not call the onTimeout callback before the timeout period has expired', () => {
176
- const spy = jest.fn();
177
- jest.useFakeTimers();
178
- render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", timeout: true, "data-testid": "card", onTimeout: spy }));
179
- act(() => {
180
- jest.advanceTimersByTime(7999);
181
- });
182
- expect(spy).not.toHaveBeenCalled();
183
- jest.useRealTimers();
184
- });
185
- it('calls the onTimeout callback after the timeout period has expired', () => {
186
- jest.useFakeTimers();
187
- const spy = jest.fn();
188
- render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", timeout: true, "data-testid": "card", onTimeout: spy }));
189
- act(() => {
190
- jest.advanceTimersByTime(8000);
191
- });
192
- expect(spy).toHaveBeenCalledTimes(1);
193
- jest.useRealTimers();
194
- });
195
- it('renders without aria-live and aria-atomic attributes by default', () => {
196
- render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", timeout: true, "data-testid": "card" }));
197
- const card = screen.getByTestId('card').parentElement;
198
- expect(card).not.toHaveAttribute('aria-live');
199
- expect(card).not.toHaveAttribute('aria-atomic');
200
- });
201
- it('has an aria-live value of polite and aria-atomic value of false when isLiveRegion = true', () => {
202
- render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", timeout: true, "data-testid": "card", isLiveRegion: true }));
203
- const card = screen.getByTestId('card').parentElement;
204
- expect(card).toHaveAttribute('aria-live', 'polite');
205
- expect(card).toHaveAttribute('aria-atomic', 'false');
206
- });
207
- it('calls onMouseEnter appropriately', () => __awaiter(void 0, void 0, void 0, function* () {
208
- const spy = jest.fn();
209
- const user = userEvent.setup();
210
- render(_jsxs("div", { children: [_jsx("input", {}), _jsx(UserFeedbackComplete, { timestamp: "12/12/12", "data-testid": "card", onMouseEnter: spy })] }));
211
- const card = screen.getByTestId('card');
212
- expect(spy).toHaveBeenCalledTimes(0);
213
- yield user.hover(card);
214
- expect(spy).toHaveBeenCalledTimes(1);
215
- }));
216
- it('calls onMouseLeave appropriately', () => __awaiter(void 0, void 0, void 0, function* () {
217
- const spy = jest.fn();
218
- const user = userEvent.setup();
219
- render(_jsxs("div", { children: [_jsx("input", {}), _jsx(UserFeedbackComplete, { timestamp: "12/12/12", "data-testid": "card", onMouseLeave: spy })] }));
220
- const card = screen.getByTestId('card');
221
- expect(spy).toHaveBeenCalledTimes(0);
222
- yield user.hover(card);
223
- yield user.hover(screen.getByRole('textbox'));
224
- expect(spy).toHaveBeenCalledTimes(1);
225
- }));
226
- it('should focus on load by default', () => {
227
- render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", "data-testid": "card" }));
228
- expect(screen.getByTestId('card').parentElement).toHaveFocus();
229
- });
230
- it('should not focus on load if focusOnLoad = false', () => {
231
- render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", "data-testid": "card", focusOnLoad: false }));
232
- expect(screen.getByTestId('card').parentElement).not.toHaveFocus();
233
- });
234
- it('should handle isCompact', () => {
235
- render(_jsx(UserFeedbackComplete, { timestamp: "12/12/12", "data-testid": "card", isCompact: true }));
236
- expect(screen.getByTestId('card')).toHaveClass('pf-m-compact');
237
- });
238
- });
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';
@@ -1,147 +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 { AttachButton } from './AttachButton';
15
- describe('Attach button', () => {
16
- it('should render button correctly', () => {
17
- render(_jsx(AttachButton, {}));
18
- expect(screen.getByRole('button', { name: 'Attach' })).toBeTruthy();
19
- });
20
- it('should handle isDisabled prop', () => {
21
- render(_jsx(AttachButton, { isDisabled: true }));
22
- expect(screen.getByRole('button', { name: 'Attach' })).toBeDisabled();
23
- });
24
- it('should handle spread props, including aria-label', () => {
25
- render(_jsx(AttachButton, { "aria-label": "test" }));
26
- expect(screen.getByRole('button', { name: 'test' }));
27
- });
28
- it('should handle onClick', () => __awaiter(void 0, void 0, void 0, function* () {
29
- const spy = jest.fn();
30
- render(_jsx(AttachButton, { onClick: spy }));
31
- yield userEvent.click(screen.getByRole('button', { name: 'Attach' }));
32
- expect(screen.getByRole('tooltip', { name: 'Attach' })).toBeTruthy();
33
- expect(spy).toHaveBeenCalledTimes(1);
34
- }));
35
- it('should handle className prop', () => {
36
- render(_jsx(AttachButton, { className: "test" }));
37
- expect(screen.getByRole('button', { name: 'Attach' })).toHaveClass('test');
38
- });
39
- it('should handle custom tooltip correctly', () => __awaiter(void 0, void 0, void 0, function* () {
40
- render(_jsx(AttachButton, { onClick: jest.fn, tooltipContent: "Test" }));
41
- yield userEvent.click(screen.getByRole('button', { name: 'Attach' }));
42
- expect(screen.getByRole('tooltip', { name: 'Test' })).toBeTruthy();
43
- }));
44
- it('should handle tooltipProps prop', () => __awaiter(void 0, void 0, void 0, function* () {
45
- render(_jsx(AttachButton, { tooltipProps: { id: 'test' } }));
46
- yield userEvent.click(screen.getByRole('button', { name: 'Attach' }));
47
- expect(screen.getByRole('tooltip', { name: 'Attach' })).toHaveAttribute('id', 'test');
48
- }));
49
- // Based on this because I had no idea how to do this and was looking around: https://stackoverflow.com/a/75562651
50
- // See also https://developer.mozilla.org/en-US/docs/Web/API/File/File for what that file variable is doing
51
- it('should handle onAttachAccepted prop', () => __awaiter(void 0, void 0, void 0, function* () {
52
- const spy = jest.fn();
53
- render(_jsx(AttachButton, { onAttachAccepted: spy, inputTestId: "input" }));
54
- yield userEvent.click(screen.getByRole('button', { name: 'Attach' }));
55
- const file = new File(['test'], 'test.json');
56
- const input = screen.getByTestId('input');
57
- yield userEvent.upload(input, file);
58
- expect(input.files).toHaveLength(1);
59
- expect(spy).toHaveBeenCalledTimes(1);
60
- }));
61
- it('should handle isCompact', () => {
62
- render(_jsx(AttachButton, { isCompact: true, "data-testid": "button" }));
63
- expect(screen.getByTestId('button')).toHaveClass('pf-m-compact');
64
- });
65
- it('should set correct accept attribute on file input', () => __awaiter(void 0, void 0, void 0, function* () {
66
- render(_jsx(AttachButton, { inputTestId: "input", allowedFileTypes: { 'text/plain': ['.txt'] } }));
67
- yield userEvent.click(screen.getByRole('button', { name: 'Attach' }));
68
- const input = screen.getByTestId('input');
69
- expect(input).toHaveAttribute('accept', 'text/plain,.txt');
70
- }));
71
- it('should call onAttachAccepted when file type is accepted', () => __awaiter(void 0, void 0, void 0, function* () {
72
- const onAttachAccepted = jest.fn();
73
- render(_jsx(AttachButton, { inputTestId: "input", allowedFileTypes: { 'text/plain': ['.txt'] }, onAttachAccepted: onAttachAccepted }));
74
- const file = new File(['hello'], 'example.txt', { type: 'text/plain' });
75
- const input = screen.getByTestId('input');
76
- yield userEvent.upload(input, file);
77
- expect(onAttachAccepted).toHaveBeenCalled();
78
- const [attachedFile] = onAttachAccepted.mock.calls[0][0];
79
- expect(attachedFile).toEqual(file);
80
- }));
81
- it('should not call onAttachAccepted when file type is not accepted', () => __awaiter(void 0, void 0, void 0, function* () {
82
- const onAttachAccepted = jest.fn();
83
- render(_jsx(AttachButton, { inputTestId: "input", allowedFileTypes: { 'text/plain': ['.txt'] }, onAttachAccepted: onAttachAccepted }));
84
- const file = new File(['[]'], 'example.json', { type: 'application/json' });
85
- const input = screen.getByTestId('input');
86
- yield userEvent.upload(input, file);
87
- expect(onAttachAccepted).not.toHaveBeenCalled();
88
- }));
89
- it('should respect minSize restriction', () => __awaiter(void 0, void 0, void 0, function* () {
90
- const onAttachRejected = jest.fn();
91
- render(_jsx(AttachButton, { inputTestId: "input", minSize: 1000, onAttachRejected: onAttachRejected }));
92
- const file = new File(['Test'], 'example.txt', { type: 'text/plain' });
93
- const input = screen.getByTestId('input');
94
- yield userEvent.upload(input, file);
95
- expect(onAttachRejected).toHaveBeenCalled();
96
- }));
97
- it('should respect maxSize restriction', () => __awaiter(void 0, void 0, void 0, function* () {
98
- const onAttachRejected = jest.fn();
99
- render(_jsx(AttachButton, { inputTestId: "input", maxSize: 100, onAttachRejected: onAttachRejected }));
100
- const largeContent = 'x'.repeat(200);
101
- const file = new File([largeContent], 'example.txt', { type: 'text/plain' });
102
- const input = screen.getByTestId('input');
103
- yield userEvent.upload(input, file);
104
- expect(onAttachRejected).toHaveBeenCalled();
105
- }));
106
- it('should respect maxFiles restriction', () => __awaiter(void 0, void 0, void 0, function* () {
107
- const onAttachRejected = jest.fn();
108
- render(_jsx(AttachButton, { inputTestId: "input", maxFiles: 1, onAttachRejected: onAttachRejected }));
109
- const files = [
110
- new File(['Test1'], 'example1.txt', { type: 'text/plain' }),
111
- new File(['Test2'], 'example2.txt', { type: 'text/plain' })
112
- ];
113
- const input = screen.getByTestId('input');
114
- yield userEvent.upload(input, files);
115
- expect(onAttachRejected).toHaveBeenCalled();
116
- }));
117
- it('should be disabled when isAttachmentDisabled is true', () => __awaiter(void 0, void 0, void 0, function* () {
118
- const onFileDrop = jest.fn();
119
- render(_jsx(AttachButton, { inputTestId: "input", isAttachmentDisabled: true }));
120
- const file = new File(['Test'], 'example.text', { type: 'text/plain' });
121
- const input = screen.getByTestId('input');
122
- yield userEvent.upload(input, file);
123
- expect(onFileDrop).not.toHaveBeenCalled();
124
- }));
125
- it('should call onAttach when files are attached', () => __awaiter(void 0, void 0, void 0, function* () {
126
- const onAttach = jest.fn();
127
- render(_jsx(AttachButton, { inputTestId: "input", onAttach: onAttach }));
128
- const file = new File(['Test'], 'example.txt', { type: 'text/plain' });
129
- const input = screen.getByTestId('input');
130
- yield userEvent.upload(input, file);
131
- expect(onAttach).toHaveBeenCalled();
132
- }));
133
- it('should use custom validator when provided', () => __awaiter(void 0, void 0, void 0, function* () {
134
- const validator = jest.fn().mockReturnValue({ message: 'Custom error' });
135
- const onAttachRejected = jest.fn();
136
- render(_jsx(AttachButton, { inputTestId: "input", validator: validator, onAttachRejected: onAttachRejected }));
137
- const file = new File(['Test'], 'example.txt', { type: 'text/plain' });
138
- const input = screen.getByTestId('input');
139
- yield userEvent.upload(input, file);
140
- expect(validator).toHaveBeenCalledWith(file);
141
- expect(onAttachRejected).toHaveBeenCalled();
142
- }));
143
- it('should handle icon prop', () => {
144
- render(_jsx(AttachButton, { icon: _jsx("img", { alt: "", src: "" }) }));
145
- expect(screen.getByRole('img')).toBeVisible();
146
- });
147
- });
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';