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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/dist/cjs/CodeModal/CodeModal.js +5 -0
  2. package/dist/cjs/MarkdownContent/MarkdownContent.d.ts +26 -7
  3. package/dist/cjs/MarkdownContent/MarkdownContent.js +79 -166
  4. package/dist/cjs/MarkdownContent/MarkdownRenderer.d.ts +6 -0
  5. package/dist/cjs/MarkdownContent/MarkdownRenderer.js +187 -0
  6. package/dist/cjs/Message/Message.d.ts +3 -4
  7. package/dist/cjs/Message/Message.js +0 -2
  8. package/dist/cjs/MessageBox/MessageBox.js +5 -1
  9. package/dist/cjs/index.d.ts +0 -8
  10. package/dist/cjs/index.js +1 -13
  11. package/dist/css/main.css +18 -3
  12. package/dist/css/main.css.map +1 -1
  13. package/dist/esm/CodeModal/CodeModal.js +5 -0
  14. package/dist/esm/MarkdownContent/MarkdownContent.d.ts +26 -7
  15. package/dist/esm/MarkdownContent/MarkdownContent.js +52 -165
  16. package/dist/esm/MarkdownContent/MarkdownRenderer.d.ts +6 -0
  17. package/dist/esm/MarkdownContent/MarkdownRenderer.js +182 -0
  18. package/dist/esm/Message/Message.d.ts +3 -4
  19. package/dist/esm/Message/Message.js +0 -2
  20. package/dist/esm/MessageBox/MessageBox.js +5 -1
  21. package/dist/esm/index.d.ts +0 -8
  22. package/dist/esm/index.js +0 -8
  23. package/dist/tsconfig.tsbuildinfo +1 -1
  24. package/generate-index.js +41 -16
  25. package/generate-index.test.js +68 -0
  26. package/monaco-environment.js +45 -0
  27. package/package.json +20 -2
  28. package/patternfly-docs/content/extensions/chatbot/chatbot.md +1 -0
  29. package/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +1 -1
  30. package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickStart.tsx +2 -2
  31. package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +2 -2
  32. package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +1 -1
  33. package/patternfly-docs/content/extensions/chatbot/examples/Messages/monitor-sampleapp-quickstart.ts +1 -0
  34. package/patternfly-docs/content/extensions/chatbot/tree-shaking.md +124 -0
  35. package/patternfly-docs/monaco-environment.js +45 -0
  36. package/patternfly-docs/patternfly-docs.css.js +6 -0
  37. package/src/Chatbot/Chatbot.scss +4 -0
  38. package/src/ChatbotContent/ChatbotContent.scss +1 -1
  39. package/src/ChatbotFooter/ChatbotFooter.scss +2 -2
  40. package/src/ChatbotHeader/ChatbotHeader.scss +4 -0
  41. package/src/ChatbotModal/ChatbotModal.scss +10 -0
  42. package/src/CodeModal/CodeModal.tsx +6 -0
  43. package/src/DeepThinking/DeepThinking.test.tsx +10 -12
  44. package/src/MarkdownContent/MarkdownContent.test.tsx +52 -5
  45. package/src/MarkdownContent/MarkdownContent.tsx +77 -220
  46. package/src/MarkdownContent/MarkdownRenderer.tsx +235 -0
  47. package/src/Message/Message.test.tsx +5 -0
  48. package/src/Message/Message.tsx +3 -5
  49. package/src/MessageBox/MessageBox.tsx +13 -1
  50. package/src/ResponseActions/ResponseActions.test.tsx +42 -48
  51. package/src/ToolCall/ToolCall.test.tsx +6 -9
  52. package/src/ToolResponse/ToolResponse.test.tsx +16 -22
  53. package/src/index.ts +0 -12
  54. package/src/test-utils/markdownTestUtils.ts +21 -0
  55. package/tsconfig.json +6 -1
  56. package/dist/cjs/AttachmentEdit/AttachmentEdit.test.d.ts +0 -1
  57. package/dist/cjs/AttachmentEdit/AttachmentEdit.test.js +0 -77
  58. package/dist/cjs/Chatbot/Chatbot.test.d.ts +0 -1
  59. package/dist/cjs/Chatbot/Chatbot.test.js +0 -32
  60. package/dist/cjs/ChatbotAlert/ChatbotAlert.test.d.ts +0 -1
  61. package/dist/cjs/ChatbotAlert/ChatbotAlert.test.js +0 -27
  62. package/dist/cjs/ChatbotContent/ChatbotContent.test.d.ts +0 -1
  63. package/dist/cjs/ChatbotContent/ChatbotContent.test.js +0 -22
  64. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.d.ts +0 -1
  65. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +0 -75
  66. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.d.ts +0 -1
  67. package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +0 -601
  68. package/dist/cjs/ChatbotFooter/ChatbotFooter.test.d.ts +0 -1
  69. package/dist/cjs/ChatbotFooter/ChatbotFooter.test.js +0 -27
  70. package/dist/cjs/ChatbotFooter/ChatbotFooternote.test.d.ts +0 -1
  71. package/dist/cjs/ChatbotFooter/ChatbotFooternote.test.js +0 -87
  72. package/dist/cjs/ChatbotHeader/ChatbotHeader.test.d.ts +0 -1
  73. package/dist/cjs/ChatbotHeader/ChatbotHeader.test.js +0 -18
  74. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.test.d.ts +0 -1
  75. package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.test.js +0 -18
  76. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +0 -1
  77. package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.js +0 -22
  78. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.test.d.ts +0 -1
  79. package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.test.js +0 -18
  80. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +0 -1
  81. package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.js +0 -22
  82. package/dist/cjs/ChatbotHeader/ChatbotHeaderNewChatButton.test.d.ts +0 -1
  83. package/dist/cjs/ChatbotHeader/ChatbotHeaderNewChatButton.test.js +0 -22
  84. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +0 -1
  85. package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +0 -46
  86. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +0 -1
  87. package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +0 -44
  88. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.test.d.ts +0 -1
  89. package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.test.js +0 -55
  90. package/dist/cjs/ChatbotModal/ChatbotModal.test.d.ts +0 -1
  91. package/dist/cjs/ChatbotModal/ChatbotModal.test.js +0 -16
  92. package/dist/cjs/ChatbotToggle/ChatbotToggle.test.d.ts +0 -1
  93. package/dist/cjs/ChatbotToggle/ChatbotToggle.test.js +0 -64
  94. package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.d.ts +0 -1
  95. package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +0 -61
  96. package/dist/cjs/CodeModal/CodeModal.test.d.ts +0 -1
  97. package/dist/cjs/CodeModal/CodeModal.test.js +0 -34
  98. package/dist/cjs/Compare/Compare.test.d.ts +0 -1
  99. package/dist/cjs/Compare/Compare.test.js +0 -18
  100. package/dist/cjs/DeepThinking/DeepThinking.test.d.ts +0 -1
  101. package/dist/cjs/DeepThinking/DeepThinking.test.js +0 -146
  102. package/dist/cjs/FileDetails/FileDetails.test.d.ts +0 -1
  103. package/dist/cjs/FileDetails/FileDetails.test.js +0 -42
  104. package/dist/cjs/FileDetailsLabel/FileDetailsLabel.test.d.ts +0 -1
  105. package/dist/cjs/FileDetailsLabel/FileDetailsLabel.test.js +0 -79
  106. package/dist/cjs/FileDropZone/FileDropZone.test.d.ts +0 -1
  107. package/dist/cjs/FileDropZone/FileDropZone.test.js +0 -100
  108. package/dist/cjs/FilePreview/FilePreview.test.d.ts +0 -1
  109. package/dist/cjs/FilePreview/FilePreview.test.js +0 -97
  110. package/dist/cjs/ImagePreview/ImagePreview.test.d.ts +0 -1
  111. package/dist/cjs/ImagePreview/ImagePreview.test.js +0 -225
  112. package/dist/cjs/MarkdownContent/MarkdownContent.test.d.ts +0 -1
  113. package/dist/cjs/MarkdownContent/MarkdownContent.test.js +0 -192
  114. package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.test.d.ts +0 -1
  115. package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.test.js +0 -131
  116. package/dist/cjs/Message/ErrorMessage/ErrorMessage.test.d.ts +0 -1
  117. package/dist/cjs/Message/ErrorMessage/ErrorMessage.test.js +0 -30
  118. package/dist/cjs/Message/Message.test.d.ts +0 -1
  119. package/dist/cjs/Message/Message.test.js +0 -1128
  120. package/dist/cjs/Message/MessageAndActions/MessageAndActions.test.d.ts +0 -1
  121. package/dist/cjs/Message/MessageAndActions/MessageAndActions.test.js +0 -25
  122. package/dist/cjs/Message/MessageAttachments/MessageAttachmentItem.test.d.ts +0 -1
  123. package/dist/cjs/Message/MessageAttachments/MessageAttachmentItem.test.js +0 -25
  124. package/dist/cjs/Message/MessageAttachments/MessageAttachmentsContainer.test.d.ts +0 -1
  125. package/dist/cjs/Message/MessageAttachments/MessageAttachmentsContainer.test.js +0 -25
  126. package/dist/cjs/Message/MessageLoading.test.d.ts +0 -1
  127. package/dist/cjs/Message/MessageLoading.test.js +0 -25
  128. package/dist/cjs/Message/QuickResponse/QuickResponse.test.d.ts +0 -1
  129. package/dist/cjs/Message/QuickResponse/QuickResponse.test.js +0 -109
  130. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.d.ts +0 -1
  131. package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.js +0 -76
  132. package/dist/cjs/Message/UserFeedback/UserFeedback.test.d.ts +0 -1
  133. package/dist/cjs/Message/UserFeedback/UserFeedback.test.js +0 -181
  134. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.d.ts +0 -1
  135. package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.js +0 -243
  136. package/dist/cjs/MessageBar/AttachButton.test.d.ts +0 -1
  137. package/dist/cjs/MessageBar/AttachButton.test.js +0 -152
  138. package/dist/cjs/MessageBar/MessageBar.test.d.ts +0 -1
  139. package/dist/cjs/MessageBar/MessageBar.test.js +0 -338
  140. package/dist/cjs/MessageBar/SendButton.test.d.ts +0 -1
  141. package/dist/cjs/MessageBar/SendButton.test.js +0 -58
  142. package/dist/cjs/MessageBar/StopButton.test.d.ts +0 -1
  143. package/dist/cjs/MessageBar/StopButton.test.js +0 -58
  144. package/dist/cjs/MessageBox/JumpButton.test.d.ts +0 -1
  145. package/dist/cjs/MessageBox/JumpButton.test.js +0 -39
  146. package/dist/cjs/MessageBox/MessageBox.test.d.ts +0 -1
  147. package/dist/cjs/MessageBox/MessageBox.test.js +0 -294
  148. package/dist/cjs/MessageDivider/MessageDivider.test.d.ts +0 -1
  149. package/dist/cjs/MessageDivider/MessageDivider.test.js +0 -29
  150. package/dist/cjs/Onboarding/Onboarding.test.d.ts +0 -1
  151. package/dist/cjs/Onboarding/Onboarding.test.js +0 -80
  152. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.d.ts +0 -1
  153. package/dist/cjs/PreviewAttachment/PreviewAttachment.test.js +0 -50
  154. package/dist/cjs/ResponseActions/ResponseActionButton.test.d.ts +0 -1
  155. package/dist/cjs/ResponseActions/ResponseActionButton.test.js +0 -54
  156. package/dist/cjs/ResponseActions/ResponseActions.test.d.ts +0 -1
  157. package/dist/cjs/ResponseActions/ResponseActions.test.js +0 -455
  158. package/dist/cjs/ResponseActions/ResponseActionsGroups.test.d.ts +0 -1
  159. package/dist/cjs/ResponseActions/ResponseActionsGroups.test.js +0 -25
  160. package/dist/cjs/Settings/SettingsForm.test.d.ts +0 -1
  161. package/dist/cjs/Settings/SettingsForm.test.js +0 -35
  162. package/dist/cjs/SourcesCard/SourcesCard.test.d.ts +0 -1
  163. package/dist/cjs/SourcesCard/SourcesCard.test.js +0 -39
  164. package/dist/cjs/SourcesCardBase/SourcesCardBase.test.d.ts +0 -1
  165. package/dist/cjs/SourcesCardBase/SourcesCardBase.test.js +0 -199
  166. package/dist/cjs/TermsOfUse/TermsOfUse.test.d.ts +0 -1
  167. package/dist/cjs/TermsOfUse/TermsOfUse.test.js +0 -77
  168. package/dist/cjs/ToolCall/ToolCall.test.d.ts +0 -1
  169. package/dist/cjs/ToolCall/ToolCall.test.js +0 -201
  170. package/dist/cjs/ToolResponse/ToolResponse.test.d.ts +0 -1
  171. package/dist/cjs/ToolResponse/ToolResponse.test.js +0 -184
  172. package/dist/cjs/__mocks__/monaco-editor.d.ts +0 -11
  173. package/dist/cjs/__mocks__/monaco-editor.js +0 -18
  174. package/dist/cjs/__mocks__/rehype-external-links.d.ts +0 -2
  175. package/dist/cjs/__mocks__/rehype-external-links.js +0 -4
  176. package/dist/cjs/__mocks__/rehype-highlight.d.ts +0 -2
  177. package/dist/cjs/__mocks__/rehype-highlight.js +0 -4
  178. package/dist/cjs/__mocks__/rehype-sanitize.d.ts +0 -2
  179. package/dist/cjs/__mocks__/rehype-sanitize.js +0 -4
  180. package/dist/cjs/__mocks__/rehype-unwrap-images.d.ts +0 -2
  181. package/dist/cjs/__mocks__/rehype-unwrap-images.js +0 -4
  182. package/dist/esm/AttachmentEdit/AttachmentEdit.test.d.ts +0 -1
  183. package/dist/esm/AttachmentEdit/AttachmentEdit.test.js +0 -72
  184. package/dist/esm/Chatbot/Chatbot.test.d.ts +0 -1
  185. package/dist/esm/Chatbot/Chatbot.test.js +0 -27
  186. package/dist/esm/ChatbotAlert/ChatbotAlert.test.d.ts +0 -1
  187. package/dist/esm/ChatbotAlert/ChatbotAlert.test.js +0 -22
  188. package/dist/esm/ChatbotContent/ChatbotContent.test.d.ts +0 -1
  189. package/dist/esm/ChatbotContent/ChatbotContent.test.js +0 -17
  190. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.d.ts +0 -1
  191. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +0 -70
  192. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.d.ts +0 -1
  193. package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +0 -596
  194. package/dist/esm/ChatbotFooter/ChatbotFooter.test.d.ts +0 -1
  195. package/dist/esm/ChatbotFooter/ChatbotFooter.test.js +0 -22
  196. package/dist/esm/ChatbotFooter/ChatbotFooternote.test.d.ts +0 -1
  197. package/dist/esm/ChatbotFooter/ChatbotFooternote.test.js +0 -82
  198. package/dist/esm/ChatbotHeader/ChatbotHeader.test.d.ts +0 -1
  199. package/dist/esm/ChatbotHeader/ChatbotHeader.test.js +0 -13
  200. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.d.ts +0 -1
  201. package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.js +0 -13
  202. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +0 -1
  203. package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.js +0 -20
  204. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.d.ts +0 -1
  205. package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.js +0 -13
  206. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +0 -1
  207. package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.js +0 -20
  208. package/dist/esm/ChatbotHeader/ChatbotHeaderNewChatButton.test.d.ts +0 -1
  209. package/dist/esm/ChatbotHeader/ChatbotHeaderNewChatButton.test.js +0 -20
  210. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +0 -1
  211. package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +0 -44
  212. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +0 -1
  213. package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +0 -42
  214. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.d.ts +0 -1
  215. package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.js +0 -50
  216. package/dist/esm/ChatbotModal/ChatbotModal.test.d.ts +0 -1
  217. package/dist/esm/ChatbotModal/ChatbotModal.test.js +0 -11
  218. package/dist/esm/ChatbotToggle/ChatbotToggle.test.d.ts +0 -1
  219. package/dist/esm/ChatbotToggle/ChatbotToggle.test.js +0 -59
  220. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.d.ts +0 -1
  221. package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +0 -56
  222. package/dist/esm/CodeModal/CodeModal.test.d.ts +0 -1
  223. package/dist/esm/CodeModal/CodeModal.test.js +0 -29
  224. package/dist/esm/Compare/Compare.test.d.ts +0 -1
  225. package/dist/esm/Compare/Compare.test.js +0 -13
  226. package/dist/esm/DeepThinking/DeepThinking.test.d.ts +0 -1
  227. package/dist/esm/DeepThinking/DeepThinking.test.js +0 -141
  228. package/dist/esm/FileDetails/FileDetails.test.d.ts +0 -1
  229. package/dist/esm/FileDetails/FileDetails.test.js +0 -37
  230. package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.d.ts +0 -1
  231. package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.js +0 -74
  232. package/dist/esm/FileDropZone/FileDropZone.test.d.ts +0 -1
  233. package/dist/esm/FileDropZone/FileDropZone.test.js +0 -95
  234. package/dist/esm/FilePreview/FilePreview.test.d.ts +0 -1
  235. package/dist/esm/FilePreview/FilePreview.test.js +0 -92
  236. package/dist/esm/ImagePreview/ImagePreview.test.d.ts +0 -1
  237. package/dist/esm/ImagePreview/ImagePreview.test.js +0 -220
  238. package/dist/esm/MarkdownContent/MarkdownContent.test.d.ts +0 -1
  239. package/dist/esm/MarkdownContent/MarkdownContent.test.js +0 -187
  240. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.test.d.ts +0 -1
  241. package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.test.js +0 -126
  242. package/dist/esm/Message/ErrorMessage/ErrorMessage.test.d.ts +0 -1
  243. package/dist/esm/Message/ErrorMessage/ErrorMessage.test.js +0 -25
  244. package/dist/esm/Message/Message.test.d.ts +0 -1
  245. package/dist/esm/Message/Message.test.js +0 -1123
  246. package/dist/esm/Message/MessageAndActions/MessageAndActions.test.d.ts +0 -1
  247. package/dist/esm/Message/MessageAndActions/MessageAndActions.test.js +0 -20
  248. package/dist/esm/Message/MessageAttachments/MessageAttachmentItem.test.d.ts +0 -1
  249. package/dist/esm/Message/MessageAttachments/MessageAttachmentItem.test.js +0 -20
  250. package/dist/esm/Message/MessageAttachments/MessageAttachmentsContainer.test.d.ts +0 -1
  251. package/dist/esm/Message/MessageAttachments/MessageAttachmentsContainer.test.js +0 -20
  252. package/dist/esm/Message/MessageLoading.test.d.ts +0 -1
  253. package/dist/esm/Message/MessageLoading.test.js +0 -20
  254. package/dist/esm/Message/QuickResponse/QuickResponse.test.d.ts +0 -1
  255. package/dist/esm/Message/QuickResponse/QuickResponse.test.js +0 -104
  256. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.d.ts +0 -1
  257. package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.js +0 -48
  258. package/dist/esm/Message/UserFeedback/UserFeedback.test.d.ts +0 -1
  259. package/dist/esm/Message/UserFeedback/UserFeedback.test.js +0 -176
  260. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.d.ts +0 -1
  261. package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.js +0 -238
  262. package/dist/esm/MessageBar/AttachButton.test.d.ts +0 -1
  263. package/dist/esm/MessageBar/AttachButton.test.js +0 -147
  264. package/dist/esm/MessageBar/MessageBar.test.d.ts +0 -1
  265. package/dist/esm/MessageBar/MessageBar.test.js +0 -333
  266. package/dist/esm/MessageBar/SendButton.test.d.ts +0 -1
  267. package/dist/esm/MessageBar/SendButton.test.js +0 -53
  268. package/dist/esm/MessageBar/StopButton.test.d.ts +0 -1
  269. package/dist/esm/MessageBar/StopButton.test.js +0 -53
  270. package/dist/esm/MessageBox/JumpButton.test.d.ts +0 -1
  271. package/dist/esm/MessageBox/JumpButton.test.js +0 -34
  272. package/dist/esm/MessageBox/MessageBox.test.d.ts +0 -1
  273. package/dist/esm/MessageBox/MessageBox.test.js +0 -289
  274. package/dist/esm/MessageDivider/MessageDivider.test.d.ts +0 -1
  275. package/dist/esm/MessageDivider/MessageDivider.test.js +0 -24
  276. package/dist/esm/Onboarding/Onboarding.test.d.ts +0 -1
  277. package/dist/esm/Onboarding/Onboarding.test.js +0 -75
  278. package/dist/esm/PreviewAttachment/PreviewAttachment.test.d.ts +0 -1
  279. package/dist/esm/PreviewAttachment/PreviewAttachment.test.js +0 -48
  280. package/dist/esm/ResponseActions/ResponseActionButton.test.d.ts +0 -1
  281. package/dist/esm/ResponseActions/ResponseActionButton.test.js +0 -49
  282. package/dist/esm/ResponseActions/ResponseActions.test.d.ts +0 -1
  283. package/dist/esm/ResponseActions/ResponseActions.test.js +0 -450
  284. package/dist/esm/ResponseActions/ResponseActionsGroups.test.d.ts +0 -1
  285. package/dist/esm/ResponseActions/ResponseActionsGroups.test.js +0 -20
  286. package/dist/esm/Settings/SettingsForm.test.d.ts +0 -1
  287. package/dist/esm/Settings/SettingsForm.test.js +0 -33
  288. package/dist/esm/SourcesCard/SourcesCard.test.d.ts +0 -1
  289. package/dist/esm/SourcesCard/SourcesCard.test.js +0 -34
  290. package/dist/esm/SourcesCardBase/SourcesCardBase.test.d.ts +0 -1
  291. package/dist/esm/SourcesCardBase/SourcesCardBase.test.js +0 -194
  292. package/dist/esm/TermsOfUse/TermsOfUse.test.d.ts +0 -1
  293. package/dist/esm/TermsOfUse/TermsOfUse.test.js +0 -72
  294. package/dist/esm/ToolCall/ToolCall.test.d.ts +0 -1
  295. package/dist/esm/ToolCall/ToolCall.test.js +0 -196
  296. package/dist/esm/ToolResponse/ToolResponse.test.d.ts +0 -1
  297. package/dist/esm/ToolResponse/ToolResponse.test.js +0 -179
  298. package/dist/esm/__mocks__/monaco-editor.d.ts +0 -11
  299. package/dist/esm/__mocks__/monaco-editor.js +0 -18
  300. package/dist/esm/__mocks__/rehype-external-links.d.ts +0 -2
  301. package/dist/esm/__mocks__/rehype-external-links.js +0 -2
  302. package/dist/esm/__mocks__/rehype-highlight.d.ts +0 -2
  303. package/dist/esm/__mocks__/rehype-highlight.js +0 -2
  304. package/dist/esm/__mocks__/rehype-sanitize.d.ts +0 -2
  305. package/dist/esm/__mocks__/rehype-sanitize.js +0 -2
  306. package/dist/esm/__mocks__/rehype-unwrap-images.d.ts +0 -2
  307. package/dist/esm/__mocks__/rehype-unwrap-images.js +0 -2
@@ -1,243 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const jsx_runtime_1 = require("react/jsx-runtime");
16
- const react_1 = require("@testing-library/react");
17
- require("@testing-library/jest-dom");
18
- const user_event_1 = __importDefault(require("@testing-library/user-event"));
19
- const UserFeedbackComplete_1 = __importDefault(require("./UserFeedbackComplete"));
20
- describe('UserFeedbackComplete', () => {
21
- it('should render correctly', () => {
22
- (0, react_1.render)((0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12" }));
23
- expect(react_1.screen.getByText('Feedback submitted')).toBeTruthy();
24
- react_1.screen.getByText(/We've received your response. Thank you for sharing your feedback!/i);
25
- expect(react_1.screen.queryByRole('button', { name: /Close/i })).toBeFalsy();
26
- });
27
- it('should render different title correctly', () => {
28
- (0, react_1.render)((0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", title: "Thanks!" }));
29
- expect(react_1.screen.getByText('Thanks!')).toBeTruthy();
30
- react_1.screen.getByText(/We've received your response. Thank you for sharing your feedback!/i);
31
- });
32
- it('should render different string body correctly', () => {
33
- (0, react_1.render)((0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", body: "Thanks!" }));
34
- expect(react_1.screen.getByText('Feedback submitted')).toBeTruthy();
35
- expect(react_1.screen.getByText('Thanks!')).toBeTruthy();
36
- });
37
- it('should render different node body correctly', () => {
38
- (0, react_1.render)((0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", body: (0, jsx_runtime_1.jsx)("div", { children: "Thanks!" }) }));
39
- expect(react_1.screen.getByText('Feedback submitted')).toBeTruthy();
40
- expect(react_1.screen.getByText('Thanks!')).toBeTruthy();
41
- });
42
- it('should handle onClose correctly', () => __awaiter(void 0, void 0, void 0, function* () {
43
- const spy = jest.fn();
44
- (0, react_1.render)((0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", onClose: spy }));
45
- const closeButton = react_1.screen.getByRole('button', { name: 'Close feedback for message received at 12/12/12' });
46
- expect(closeButton).toBeTruthy();
47
- yield user_event_1.default.click(closeButton);
48
- expect(spy).toHaveBeenCalledTimes(1);
49
- }));
50
- it('should be able to change close button aria label', () => {
51
- const spy = jest.fn();
52
- (0, react_1.render)((0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", onClose: spy, closeButtonAriaLabel: "Ima button" }));
53
- expect(react_1.screen.getByRole('button', { name: /Ima button/i })).toBeTruthy();
54
- });
55
- it('should handle className', () => __awaiter(void 0, void 0, void 0, function* () {
56
- (0, react_1.render)((0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", className: "test", "data-testid": "card" }));
57
- expect(react_1.screen.getByTestId('card')).toHaveClass('test');
58
- }));
59
- it('should apply id', () => __awaiter(void 0, void 0, void 0, function* () {
60
- (0, react_1.render)((0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", id: "test", "data-testid": "card" }));
61
- expect(react_1.screen.getByTestId('card').parentElement).toHaveAttribute('id', 'test');
62
- }));
63
- it('renders with no timeout by default', () => {
64
- jest.useFakeTimers();
65
- (0, react_1.render)((0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12" }));
66
- (0, react_1.act)(() => {
67
- jest.advanceTimersByTime(8000);
68
- });
69
- expect(react_1.screen.getByText('Feedback submitted')).toBeVisible();
70
- jest.useRealTimers();
71
- });
72
- it('should handle timeout correctly after 8000ms when timeout = true', () => __awaiter(void 0, void 0, void 0, function* () {
73
- jest.useFakeTimers();
74
- (0, react_1.render)((0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", timeout: true }));
75
- (0, react_1.act)(() => {
76
- jest.advanceTimersByTime(7999);
77
- });
78
- expect(react_1.screen.getByText('Feedback submitted')).toBeVisible();
79
- (0, react_1.act)(() => {
80
- jest.advanceTimersByTime(1);
81
- });
82
- expect(react_1.screen.queryByText('Feedback submitted')).not.toBeInTheDocument();
83
- jest.useRealTimers();
84
- }));
85
- it('should handle timeout correctly when timeout = numeric value', () => __awaiter(void 0, void 0, void 0, function* () {
86
- jest.useFakeTimers();
87
- (0, react_1.render)((0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", timeout: 300 }));
88
- (0, react_1.act)(() => {
89
- jest.advanceTimersByTime(299);
90
- });
91
- expect(react_1.screen.getByText('Feedback submitted')).toBeVisible();
92
- (0, react_1.act)(() => {
93
- jest.advanceTimersByTime(1);
94
- });
95
- expect(react_1.screen.queryByText('Feedback submitted')).not.toBeInTheDocument();
96
- jest.useRealTimers();
97
- }));
98
- it('does not get removed on timeout if the user is focused on the card', () => __awaiter(void 0, void 0, void 0, function* () {
99
- const user = user_event_1.default.setup({
100
- advanceTimers: (delay) => jest.advanceTimersByTime(delay)
101
- });
102
- jest.useFakeTimers();
103
- (0, react_1.render)((0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", timeout: true, "data-testid": "card" }));
104
- expect(react_1.screen.getByText('Feedback submitted')).toBeTruthy();
105
- yield user.click(react_1.screen.getByTestId('card'));
106
- (0, react_1.act)(() => {
107
- jest.advanceTimersByTime(8000);
108
- });
109
- expect(react_1.screen.getByText('Feedback submitted')).toBeTruthy();
110
- jest.useRealTimers();
111
- }));
112
- it('does not remove the card on timeout if the user is hovered over it', () => __awaiter(void 0, void 0, void 0, function* () {
113
- const user = user_event_1.default.setup({
114
- advanceTimers: (delay) => jest.advanceTimersByTime(delay)
115
- });
116
- jest.useFakeTimers();
117
- (0, react_1.render)((0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", timeout: true, "data-testid": "card" }));
118
- const card = react_1.screen.getByTestId('card');
119
- yield user.hover(card);
120
- (0, react_1.act)(() => {
121
- jest.advanceTimersByTime(8000);
122
- });
123
- expect(card).toBeVisible();
124
- jest.useRealTimers();
125
- }));
126
- it('removes the card after the user removes focus from the card and 3000ms have passed', () => __awaiter(void 0, void 0, void 0, function* () {
127
- const user = user_event_1.default.setup({
128
- advanceTimers: (delay) => jest.advanceTimersByTime(delay)
129
- });
130
- jest.useFakeTimers();
131
- (0, react_1.render)((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("input", {}), (0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", timeout: true, "data-testid": "card" })] }));
132
- const card = react_1.screen.getByTestId('card');
133
- yield user.click(card);
134
- (0, react_1.act)(() => {
135
- jest.advanceTimersByTime(8000);
136
- });
137
- yield user.click(react_1.screen.getByRole('textbox'));
138
- (0, react_1.act)(() => {
139
- jest.advanceTimersByTime(3000);
140
- });
141
- expect(react_1.screen.queryByText('Feedback submitted')).not.toBeInTheDocument();
142
- jest.useRealTimers();
143
- }));
144
- it('removes the card after the user removes hover from the card and 3000ms have passed', () => __awaiter(void 0, void 0, void 0, function* () {
145
- const user = user_event_1.default.setup({
146
- advanceTimers: (delay) => jest.advanceTimersByTime(delay)
147
- });
148
- jest.useFakeTimers();
149
- (0, react_1.render)((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("input", {}), (0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", timeout: true, "data-testid": "card" })] }));
150
- const card = react_1.screen.getByTestId('card');
151
- yield user.hover(card);
152
- (0, react_1.act)(() => {
153
- jest.advanceTimersByTime(8000);
154
- });
155
- yield user.hover(react_1.screen.getByRole('textbox'));
156
- (0, react_1.act)(() => {
157
- jest.advanceTimersByTime(3000);
158
- });
159
- expect(react_1.screen.queryByText('Feedback submitted')).not.toBeInTheDocument();
160
- jest.useRealTimers();
161
- }));
162
- 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* () {
163
- const user = user_event_1.default.setup({
164
- advanceTimers: (delay) => jest.advanceTimersByTime(delay)
165
- });
166
- jest.useFakeTimers();
167
- (0, react_1.render)((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("input", {}), (0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", timeout: true, "data-testid": "card", timeoutAnimation: 1000 })] }));
168
- const card = react_1.screen.getByTestId('card');
169
- yield user.hover(card);
170
- (0, react_1.act)(() => {
171
- jest.advanceTimersByTime(8000);
172
- });
173
- yield user.hover(react_1.screen.getByRole('textbox'));
174
- (0, react_1.act)(() => {
175
- jest.advanceTimersByTime(1000);
176
- });
177
- expect(react_1.screen.queryByText('Feedback submitted')).not.toBeInTheDocument();
178
- jest.useRealTimers();
179
- }));
180
- it('does not call the onTimeout callback before the timeout period has expired', () => {
181
- const spy = jest.fn();
182
- jest.useFakeTimers();
183
- (0, react_1.render)((0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", timeout: true, "data-testid": "card", onTimeout: spy }));
184
- (0, react_1.act)(() => {
185
- jest.advanceTimersByTime(7999);
186
- });
187
- expect(spy).not.toHaveBeenCalled();
188
- jest.useRealTimers();
189
- });
190
- it('calls the onTimeout callback after the timeout period has expired', () => {
191
- jest.useFakeTimers();
192
- const spy = jest.fn();
193
- (0, react_1.render)((0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", timeout: true, "data-testid": "card", onTimeout: spy }));
194
- (0, react_1.act)(() => {
195
- jest.advanceTimersByTime(8000);
196
- });
197
- expect(spy).toHaveBeenCalledTimes(1);
198
- jest.useRealTimers();
199
- });
200
- it('renders without aria-live and aria-atomic attributes by default', () => {
201
- (0, react_1.render)((0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", timeout: true, "data-testid": "card" }));
202
- const card = react_1.screen.getByTestId('card').parentElement;
203
- expect(card).not.toHaveAttribute('aria-live');
204
- expect(card).not.toHaveAttribute('aria-atomic');
205
- });
206
- it('has an aria-live value of polite and aria-atomic value of false when isLiveRegion = true', () => {
207
- (0, react_1.render)((0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", timeout: true, "data-testid": "card", isLiveRegion: true }));
208
- const card = react_1.screen.getByTestId('card').parentElement;
209
- expect(card).toHaveAttribute('aria-live', 'polite');
210
- expect(card).toHaveAttribute('aria-atomic', 'false');
211
- });
212
- it('calls onMouseEnter appropriately', () => __awaiter(void 0, void 0, void 0, function* () {
213
- const spy = jest.fn();
214
- const user = user_event_1.default.setup();
215
- (0, react_1.render)((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("input", {}), (0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", "data-testid": "card", onMouseEnter: spy })] }));
216
- const card = react_1.screen.getByTestId('card');
217
- expect(spy).toHaveBeenCalledTimes(0);
218
- yield user.hover(card);
219
- expect(spy).toHaveBeenCalledTimes(1);
220
- }));
221
- it('calls onMouseLeave appropriately', () => __awaiter(void 0, void 0, void 0, function* () {
222
- const spy = jest.fn();
223
- const user = user_event_1.default.setup();
224
- (0, react_1.render)((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("input", {}), (0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", "data-testid": "card", onMouseLeave: spy })] }));
225
- const card = react_1.screen.getByTestId('card');
226
- expect(spy).toHaveBeenCalledTimes(0);
227
- yield user.hover(card);
228
- yield user.hover(react_1.screen.getByRole('textbox'));
229
- expect(spy).toHaveBeenCalledTimes(1);
230
- }));
231
- it('should focus on load by default', () => {
232
- (0, react_1.render)((0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", "data-testid": "card" }));
233
- expect(react_1.screen.getByTestId('card').parentElement).toHaveFocus();
234
- });
235
- it('should not focus on load if focusOnLoad = false', () => {
236
- (0, react_1.render)((0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", "data-testid": "card", focusOnLoad: false }));
237
- expect(react_1.screen.getByTestId('card').parentElement).not.toHaveFocus();
238
- });
239
- it('should handle isCompact', () => {
240
- (0, react_1.render)((0, jsx_runtime_1.jsx)(UserFeedbackComplete_1.default, { timestamp: "12/12/12", "data-testid": "card", isCompact: true }));
241
- expect(react_1.screen.getByTestId('card')).toHaveClass('pf-m-compact');
242
- });
243
- });
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';
@@ -1,152 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const jsx_runtime_1 = require("react/jsx-runtime");
16
- const react_1 = require("@testing-library/react");
17
- require("@testing-library/jest-dom");
18
- const user_event_1 = __importDefault(require("@testing-library/user-event"));
19
- const AttachButton_1 = require("./AttachButton");
20
- describe('Attach button', () => {
21
- it('should render button correctly', () => {
22
- (0, react_1.render)((0, jsx_runtime_1.jsx)(AttachButton_1.AttachButton, {}));
23
- expect(react_1.screen.getByRole('button', { name: 'Attach' })).toBeTruthy();
24
- });
25
- it('should handle isDisabled prop', () => {
26
- (0, react_1.render)((0, jsx_runtime_1.jsx)(AttachButton_1.AttachButton, { isDisabled: true }));
27
- expect(react_1.screen.getByRole('button', { name: 'Attach' })).toBeDisabled();
28
- });
29
- it('should handle spread props, including aria-label', () => {
30
- (0, react_1.render)((0, jsx_runtime_1.jsx)(AttachButton_1.AttachButton, { "aria-label": "test" }));
31
- expect(react_1.screen.getByRole('button', { name: 'test' }));
32
- });
33
- it('should handle onClick', () => __awaiter(void 0, void 0, void 0, function* () {
34
- const spy = jest.fn();
35
- (0, react_1.render)((0, jsx_runtime_1.jsx)(AttachButton_1.AttachButton, { onClick: spy }));
36
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Attach' }));
37
- expect(react_1.screen.getByRole('tooltip', { name: 'Attach' })).toBeTruthy();
38
- expect(spy).toHaveBeenCalledTimes(1);
39
- }));
40
- it('should handle className prop', () => {
41
- (0, react_1.render)((0, jsx_runtime_1.jsx)(AttachButton_1.AttachButton, { className: "test" }));
42
- expect(react_1.screen.getByRole('button', { name: 'Attach' })).toHaveClass('test');
43
- });
44
- it('should handle custom tooltip correctly', () => __awaiter(void 0, void 0, void 0, function* () {
45
- (0, react_1.render)((0, jsx_runtime_1.jsx)(AttachButton_1.AttachButton, { onClick: jest.fn, tooltipContent: "Test" }));
46
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Attach' }));
47
- expect(react_1.screen.getByRole('tooltip', { name: 'Test' })).toBeTruthy();
48
- }));
49
- it('should handle tooltipProps prop', () => __awaiter(void 0, void 0, void 0, function* () {
50
- (0, react_1.render)((0, jsx_runtime_1.jsx)(AttachButton_1.AttachButton, { tooltipProps: { id: 'test' } }));
51
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Attach' }));
52
- expect(react_1.screen.getByRole('tooltip', { name: 'Attach' })).toHaveAttribute('id', 'test');
53
- }));
54
- // Based on this because I had no idea how to do this and was looking around: https://stackoverflow.com/a/75562651
55
- // See also https://developer.mozilla.org/en-US/docs/Web/API/File/File for what that file variable is doing
56
- it('should handle onAttachAccepted prop', () => __awaiter(void 0, void 0, void 0, function* () {
57
- const spy = jest.fn();
58
- (0, react_1.render)((0, jsx_runtime_1.jsx)(AttachButton_1.AttachButton, { onAttachAccepted: spy, inputTestId: "input" }));
59
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Attach' }));
60
- const file = new File(['test'], 'test.json');
61
- const input = react_1.screen.getByTestId('input');
62
- yield user_event_1.default.upload(input, file);
63
- expect(input.files).toHaveLength(1);
64
- expect(spy).toHaveBeenCalledTimes(1);
65
- }));
66
- it('should handle isCompact', () => {
67
- (0, react_1.render)((0, jsx_runtime_1.jsx)(AttachButton_1.AttachButton, { isCompact: true, "data-testid": "button" }));
68
- expect(react_1.screen.getByTestId('button')).toHaveClass('pf-m-compact');
69
- });
70
- it('should set correct accept attribute on file input', () => __awaiter(void 0, void 0, void 0, function* () {
71
- (0, react_1.render)((0, jsx_runtime_1.jsx)(AttachButton_1.AttachButton, { inputTestId: "input", allowedFileTypes: { 'text/plain': ['.txt'] } }));
72
- yield user_event_1.default.click(react_1.screen.getByRole('button', { name: 'Attach' }));
73
- const input = react_1.screen.getByTestId('input');
74
- expect(input).toHaveAttribute('accept', 'text/plain,.txt');
75
- }));
76
- it('should call onAttachAccepted when file type is accepted', () => __awaiter(void 0, void 0, void 0, function* () {
77
- const onAttachAccepted = jest.fn();
78
- (0, react_1.render)((0, jsx_runtime_1.jsx)(AttachButton_1.AttachButton, { inputTestId: "input", allowedFileTypes: { 'text/plain': ['.txt'] }, onAttachAccepted: onAttachAccepted }));
79
- const file = new File(['hello'], 'example.txt', { type: 'text/plain' });
80
- const input = react_1.screen.getByTestId('input');
81
- yield user_event_1.default.upload(input, file);
82
- expect(onAttachAccepted).toHaveBeenCalled();
83
- const [attachedFile] = onAttachAccepted.mock.calls[0][0];
84
- expect(attachedFile).toEqual(file);
85
- }));
86
- it('should not call onAttachAccepted when file type is not accepted', () => __awaiter(void 0, void 0, void 0, function* () {
87
- const onAttachAccepted = jest.fn();
88
- (0, react_1.render)((0, jsx_runtime_1.jsx)(AttachButton_1.AttachButton, { inputTestId: "input", allowedFileTypes: { 'text/plain': ['.txt'] }, onAttachAccepted: onAttachAccepted }));
89
- const file = new File(['[]'], 'example.json', { type: 'application/json' });
90
- const input = react_1.screen.getByTestId('input');
91
- yield user_event_1.default.upload(input, file);
92
- expect(onAttachAccepted).not.toHaveBeenCalled();
93
- }));
94
- it('should respect minSize restriction', () => __awaiter(void 0, void 0, void 0, function* () {
95
- const onAttachRejected = jest.fn();
96
- (0, react_1.render)((0, jsx_runtime_1.jsx)(AttachButton_1.AttachButton, { inputTestId: "input", minSize: 1000, onAttachRejected: onAttachRejected }));
97
- const file = new File(['Test'], 'example.txt', { type: 'text/plain' });
98
- const input = react_1.screen.getByTestId('input');
99
- yield user_event_1.default.upload(input, file);
100
- expect(onAttachRejected).toHaveBeenCalled();
101
- }));
102
- it('should respect maxSize restriction', () => __awaiter(void 0, void 0, void 0, function* () {
103
- const onAttachRejected = jest.fn();
104
- (0, react_1.render)((0, jsx_runtime_1.jsx)(AttachButton_1.AttachButton, { inputTestId: "input", maxSize: 100, onAttachRejected: onAttachRejected }));
105
- const largeContent = 'x'.repeat(200);
106
- const file = new File([largeContent], 'example.txt', { type: 'text/plain' });
107
- const input = react_1.screen.getByTestId('input');
108
- yield user_event_1.default.upload(input, file);
109
- expect(onAttachRejected).toHaveBeenCalled();
110
- }));
111
- it('should respect maxFiles restriction', () => __awaiter(void 0, void 0, void 0, function* () {
112
- const onAttachRejected = jest.fn();
113
- (0, react_1.render)((0, jsx_runtime_1.jsx)(AttachButton_1.AttachButton, { inputTestId: "input", maxFiles: 1, onAttachRejected: onAttachRejected }));
114
- const files = [
115
- new File(['Test1'], 'example1.txt', { type: 'text/plain' }),
116
- new File(['Test2'], 'example2.txt', { type: 'text/plain' })
117
- ];
118
- const input = react_1.screen.getByTestId('input');
119
- yield user_event_1.default.upload(input, files);
120
- expect(onAttachRejected).toHaveBeenCalled();
121
- }));
122
- it('should be disabled when isAttachmentDisabled is true', () => __awaiter(void 0, void 0, void 0, function* () {
123
- const onFileDrop = jest.fn();
124
- (0, react_1.render)((0, jsx_runtime_1.jsx)(AttachButton_1.AttachButton, { inputTestId: "input", isAttachmentDisabled: true }));
125
- const file = new File(['Test'], 'example.text', { type: 'text/plain' });
126
- const input = react_1.screen.getByTestId('input');
127
- yield user_event_1.default.upload(input, file);
128
- expect(onFileDrop).not.toHaveBeenCalled();
129
- }));
130
- it('should call onAttach when files are attached', () => __awaiter(void 0, void 0, void 0, function* () {
131
- const onAttach = jest.fn();
132
- (0, react_1.render)((0, jsx_runtime_1.jsx)(AttachButton_1.AttachButton, { inputTestId: "input", onAttach: onAttach }));
133
- const file = new File(['Test'], 'example.txt', { type: 'text/plain' });
134
- const input = react_1.screen.getByTestId('input');
135
- yield user_event_1.default.upload(input, file);
136
- expect(onAttach).toHaveBeenCalled();
137
- }));
138
- it('should use custom validator when provided', () => __awaiter(void 0, void 0, void 0, function* () {
139
- const validator = jest.fn().mockReturnValue({ message: 'Custom error' });
140
- const onAttachRejected = jest.fn();
141
- (0, react_1.render)((0, jsx_runtime_1.jsx)(AttachButton_1.AttachButton, { inputTestId: "input", validator: validator, onAttachRejected: onAttachRejected }));
142
- const file = new File(['Test'], 'example.txt', { type: 'text/plain' });
143
- const input = react_1.screen.getByTestId('input');
144
- yield user_event_1.default.upload(input, file);
145
- expect(validator).toHaveBeenCalledWith(file);
146
- expect(onAttachRejected).toHaveBeenCalled();
147
- }));
148
- it('should handle icon prop', () => {
149
- (0, react_1.render)((0, jsx_runtime_1.jsx)(AttachButton_1.AttachButton, { icon: (0, jsx_runtime_1.jsx)("img", { alt: "", src: "" }) }));
150
- expect(react_1.screen.getByRole('img')).toBeVisible();
151
- });
152
- });
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';