@patternfly/chatbot 6.3.0-prerelease.9 → 6.4.0-prerelease.2
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.
- package/dist/cjs/AttachMenu/AttachMenu.d.ts +2 -2
- package/dist/cjs/AttachMenu/AttachMenu.js +2 -12
- package/dist/cjs/AttachmentEdit/AttachmentEdit.d.ts +12 -2
- package/dist/cjs/AttachmentEdit/AttachmentEdit.js +3 -6
- package/dist/cjs/AttachmentEdit/AttachmentEdit.test.d.ts +1 -1
- package/dist/cjs/AttachmentEdit/AttachmentEdit.test.js +33 -8
- package/dist/cjs/Chatbot/Chatbot.d.ts +1 -2
- package/dist/cjs/Chatbot/Chatbot.js +4 -9
- package/dist/cjs/Chatbot/Chatbot.test.js +11 -11
- package/dist/cjs/ChatbotAlert/ChatbotAlert.d.ts +2 -2
- package/dist/cjs/ChatbotAlert/ChatbotAlert.js +4 -8
- package/dist/cjs/ChatbotAlert/ChatbotAlert.test.js +10 -10
- package/dist/cjs/ChatbotContent/ChatbotContent.d.ts +3 -3
- package/dist/cjs/ChatbotContent/ChatbotContent.js +2 -8
- package/dist/cjs/ChatbotContent/ChatbotContent.test.js +5 -5
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.d.ts +2 -2
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +7 -11
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +31 -33
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +7 -3
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +17 -34
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +73 -64
- package/dist/cjs/ChatbotConversationHistoryNav/EmptyState.d.ts +2 -2
- package/dist/cjs/ChatbotConversationHistoryNav/EmptyState.js +2 -9
- package/dist/cjs/ChatbotConversationHistoryNav/LoadingState.d.ts +2 -2
- package/dist/cjs/ChatbotConversationHistoryNav/LoadingState.js +2 -25
- package/dist/cjs/ChatbotFooter/ChatbotFooter.d.ts +3 -3
- package/dist/cjs/ChatbotFooter/ChatbotFooter.js +2 -15
- package/dist/cjs/ChatbotFooter/ChatbotFooter.test.js +7 -7
- package/dist/cjs/ChatbotFooter/ChatbotFooternote.test.js +28 -28
- package/dist/cjs/ChatbotFooter/ChatbotFootnote.d.ts +3 -3
- package/dist/cjs/ChatbotFooter/ChatbotFootnote.js +10 -23
- package/dist/cjs/ChatbotHeader/ChatbotHeader.d.ts +3 -3
- package/dist/cjs/ChatbotHeader/ChatbotHeader.js +2 -7
- package/dist/cjs/ChatbotHeader/ChatbotHeader.test.js +5 -5
- package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.d.ts +2 -2
- package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.js +2 -5
- package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.test.js +5 -5
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +1 -2
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.js +5 -10
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.js +7 -10
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.d.ts +2 -2
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.js +2 -5
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.test.js +5 -5
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.d.ts +2 -2
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.js +5 -7
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.js +7 -10
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +6 -3
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +8 -9
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +19 -21
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +8 -3
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +11 -12
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +17 -19
- package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.d.ts +2 -2
- package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.js +2 -5
- package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.test.js +23 -23
- package/dist/cjs/ChatbotModal/ChatbotModal.d.ts +2 -2
- package/dist/cjs/ChatbotModal/ChatbotModal.js +3 -9
- package/dist/cjs/ChatbotModal/ChatbotModal.test.js +4 -16
- package/dist/cjs/ChatbotPopover/ChatbotPopover.d.ts +2 -2
- package/dist/cjs/ChatbotPopover/ChatbotPopover.js +2 -8
- package/dist/cjs/ChatbotToggle/ChatbotToggle.d.ts +1 -2
- package/dist/cjs/ChatbotToggle/ChatbotToggle.js +8 -13
- package/dist/cjs/ChatbotToggle/ChatbotToggle.test.js +25 -25
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +2 -2
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +6 -20
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +16 -16
- package/dist/cjs/CodeModal/CodeModal.d.ts +8 -2
- package/dist/cjs/CodeModal/CodeModal.js +8 -20
- package/dist/cjs/CodeModal/CodeModal.test.js +23 -4
- package/dist/cjs/Compare/Compare.d.ts +2 -2
- package/dist/cjs/Compare/Compare.js +7 -16
- package/dist/cjs/Compare/Compare.test.js +7 -9
- package/dist/cjs/FileDetails/FileDetails.d.ts +2 -2
- package/dist/cjs/FileDetails/FileDetails.js +2 -15
- package/dist/cjs/FileDetails/FileDetails.test.js +10 -10
- package/dist/cjs/FileDetailsLabel/FileDetailsLabel.d.ts +2 -2
- package/dist/cjs/FileDetailsLabel/FileDetailsLabel.js +2 -5
- package/dist/cjs/FileDetailsLabel/FileDetailsLabel.test.js +21 -21
- package/dist/cjs/FileDropZone/FileDropZone.d.ts +23 -3
- package/dist/cjs/FileDropZone/FileDropZone.js +11 -9
- package/dist/cjs/FileDropZone/FileDropZone.test.js +86 -5
- package/dist/cjs/LoadingMessage/LoadingMessage.d.ts +2 -2
- package/dist/cjs/LoadingMessage/LoadingMessage.js +2 -10
- package/dist/cjs/LoadingMessage/LoadingMessage.test.js +6 -6
- package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.d.ts +20 -3
- package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.js +30 -21
- package/dist/cjs/Message/ErrorMessage/ErrorMessage.d.ts +1 -2
- package/dist/cjs/Message/ErrorMessage/ErrorMessage.js +5 -8
- package/dist/cjs/Message/ImageMessage/ImageMessage.d.ts +1 -2
- package/dist/cjs/Message/ImageMessage/ImageMessage.js +2 -8
- package/dist/cjs/Message/LinkMessage/LinkMessage.d.ts +1 -2
- package/dist/cjs/Message/LinkMessage/LinkMessage.js +6 -9
- package/dist/cjs/Message/ListMessage/ListItemMessage.d.ts +1 -2
- package/dist/cjs/Message/ListMessage/ListItemMessage.js +2 -8
- package/dist/cjs/Message/ListMessage/OrderedListMessage.d.ts +1 -2
- package/dist/cjs/Message/ListMessage/OrderedListMessage.js +2 -9
- package/dist/cjs/Message/ListMessage/UnorderedListMessage.d.ts +1 -2
- package/dist/cjs/Message/ListMessage/UnorderedListMessage.js +2 -9
- package/dist/cjs/Message/Message.d.ts +28 -10
- package/dist/cjs/Message/Message.js +50 -72
- package/dist/cjs/Message/Message.test.js +138 -82
- package/dist/cjs/Message/MessageInput.d.ts +4 -2
- package/dist/cjs/Message/MessageInput.js +6 -15
- package/dist/cjs/Message/MessageLoading.d.ts +1 -2
- package/dist/cjs/Message/MessageLoading.js +3 -8
- package/dist/cjs/Message/Plugins/index.d.ts +1 -0
- package/dist/cjs/Message/Plugins/index.js +5 -0
- package/dist/cjs/Message/Plugins/rehypeCodeBlockToggle.d.ts +2 -0
- package/dist/cjs/Message/Plugins/rehypeCodeBlockToggle.js +24 -0
- package/dist/cjs/Message/Plugins/rehypeMoveImagesOutOfParagraphs.d.ts +2 -0
- package/dist/cjs/Message/Plugins/rehypeMoveImagesOutOfParagraphs.js +47 -0
- package/dist/cjs/Message/QuickResponse/QuickResponse.d.ts +2 -2
- package/dist/cjs/Message/QuickResponse/QuickResponse.js +7 -9
- package/dist/cjs/Message/QuickStarts/FallbackImg.d.ts +2 -2
- package/dist/cjs/Message/QuickStarts/FallbackImg.js +5 -27
- package/dist/cjs/Message/QuickStarts/QuickStartTile.d.ts +2 -2
- package/dist/cjs/Message/QuickStarts/QuickStartTile.js +7 -43
- package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.d.ts +2 -2
- package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.js +9 -38
- package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.js +16 -16
- package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.d.ts +2 -2
- package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.js +2 -26
- package/dist/cjs/Message/QuickStarts/types.d.ts +4 -3
- package/dist/cjs/Message/TableMessage/TableMessage.d.ts +1 -2
- package/dist/cjs/Message/TableMessage/TableMessage.js +8 -10
- package/dist/cjs/Message/TableMessage/TbodyMessage.d.ts +2 -3
- package/dist/cjs/Message/TableMessage/TbodyMessage.js +7 -9
- package/dist/cjs/Message/TableMessage/TdMessage.d.ts +1 -2
- package/dist/cjs/Message/TableMessage/TdMessage.js +2 -8
- package/dist/cjs/Message/TableMessage/ThMessage.d.ts +1 -2
- package/dist/cjs/Message/TableMessage/ThMessage.js +2 -8
- package/dist/cjs/Message/TableMessage/TheadMessage.d.ts +1 -2
- package/dist/cjs/Message/TableMessage/TheadMessage.js +2 -8
- package/dist/cjs/Message/TableMessage/TrMessage.d.ts +2 -3
- package/dist/cjs/Message/TableMessage/TrMessage.js +8 -10
- package/dist/cjs/Message/TextMessage/TextMessage.d.ts +1 -2
- package/dist/cjs/Message/TextMessage/TextMessage.js +2 -9
- package/dist/cjs/Message/UserFeedback/CloseButton.d.ts +2 -2
- package/dist/cjs/Message/UserFeedback/CloseButton.js +2 -8
- package/dist/cjs/Message/UserFeedback/UserFeedback.d.ts +2 -2
- package/dist/cjs/Message/UserFeedback/UserFeedback.js +12 -23
- package/dist/cjs/Message/UserFeedback/UserFeedback.test.js +53 -53
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.js +20 -44
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.js +81 -91
- package/dist/cjs/Message/index.d.ts +1 -0
- package/dist/cjs/Message/index.js +3 -1
- package/dist/cjs/MessageBar/AttachButton.d.ts +26 -3
- package/dist/cjs/MessageBar/AttachButton.js +10 -20
- package/dist/cjs/MessageBar/AttachButton.test.js +102 -24
- package/dist/cjs/MessageBar/MessageBar.d.ts +32 -4
- package/dist/cjs/MessageBar/MessageBar.js +30 -32
- package/dist/cjs/MessageBar/MessageBar.test.js +122 -108
- package/dist/cjs/MessageBar/MicrophoneButton.d.ts +2 -2
- package/dist/cjs/MessageBar/MicrophoneButton.js +7 -14
- package/dist/cjs/MessageBar/SendButton.d.ts +3 -2
- package/dist/cjs/MessageBar/SendButton.js +3 -11
- package/dist/cjs/MessageBar/SendButton.test.js +15 -15
- package/dist/cjs/MessageBar/StopButton.d.ts +3 -2
- package/dist/cjs/MessageBar/StopButton.js +3 -12
- package/dist/cjs/MessageBar/StopButton.test.js +15 -15
- package/dist/cjs/MessageBox/JumpButton.d.ts +2 -2
- package/dist/cjs/MessageBox/JumpButton.js +2 -10
- package/dist/cjs/MessageBox/JumpButton.test.js +10 -10
- package/dist/cjs/MessageBox/MessageBox.d.ts +21 -5
- package/dist/cjs/MessageBox/MessageBox.js +170 -45
- package/dist/cjs/MessageBox/MessageBox.test.js +219 -6
- package/dist/cjs/MessageDivider/MessageDivider.d.ts +9 -0
- package/dist/cjs/MessageDivider/MessageDivider.js +23 -0
- package/dist/cjs/MessageDivider/MessageDivider.test.d.ts +1 -0
- package/dist/cjs/MessageDivider/MessageDivider.test.js +29 -0
- package/dist/cjs/MessageDivider/index.d.ts +2 -0
- package/dist/cjs/MessageDivider/index.js +23 -0
- package/dist/cjs/PreviewAttachment/PreviewAttachment.d.ts +12 -2
- package/dist/cjs/PreviewAttachment/PreviewAttachment.js +3 -6
- package/dist/cjs/PreviewAttachment/PreviewAttachment.test.d.ts +1 -1
- package/dist/cjs/PreviewAttachment/PreviewAttachment.test.js +34 -12
- package/dist/cjs/ResponseActions/ResponseActionButton.d.ts +5 -5
- package/dist/cjs/ResponseActions/ResponseActionButton.js +5 -8
- package/dist/cjs/ResponseActions/ResponseActionButton.test.js +19 -19
- package/dist/cjs/ResponseActions/ResponseActions.d.ts +8 -3
- package/dist/cjs/ResponseActions/ResponseActions.js +39 -18
- package/dist/cjs/ResponseActions/ResponseActions.test.js +125 -41
- package/dist/cjs/Settings/SettingsForm.d.ts +2 -2
- package/dist/cjs/Settings/SettingsForm.js +2 -8
- package/dist/cjs/Settings/SettingsForm.test.js +9 -12
- package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
- package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -11
- package/dist/cjs/SourcesCard/SourcesCard.d.ts +12 -3
- package/dist/cjs/SourcesCard/SourcesCard.js +17 -42
- package/dist/cjs/SourcesCard/SourcesCard.test.js +70 -60
- package/dist/cjs/TermsOfUse/TermsOfUse.d.ts +3 -3
- package/dist/cjs/TermsOfUse/TermsOfUse.js +4 -16
- package/dist/cjs/TermsOfUse/TermsOfUse.test.js +31 -33
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +4 -1
- package/dist/css/main.css +71 -62
- package/dist/css/main.css.map +1 -1
- package/dist/dynamic/MessageDivider/package.json +1 -0
- package/dist/esm/AttachMenu/AttachMenu.d.ts +2 -2
- package/dist/esm/AttachMenu/AttachMenu.js +2 -9
- package/dist/esm/AttachmentEdit/AttachmentEdit.d.ts +12 -2
- package/dist/esm/AttachmentEdit/AttachmentEdit.js +3 -6
- package/dist/esm/AttachmentEdit/AttachmentEdit.test.d.ts +1 -1
- package/dist/esm/AttachmentEdit/AttachmentEdit.test.js +30 -5
- package/dist/esm/Chatbot/Chatbot.d.ts +1 -2
- package/dist/esm/Chatbot/Chatbot.js +4 -6
- package/dist/esm/Chatbot/Chatbot.test.js +6 -6
- package/dist/esm/ChatbotAlert/ChatbotAlert.d.ts +2 -2
- package/dist/esm/ChatbotAlert/ChatbotAlert.js +4 -5
- package/dist/esm/ChatbotAlert/ChatbotAlert.test.js +4 -4
- package/dist/esm/ChatbotContent/ChatbotContent.d.ts +3 -3
- package/dist/esm/ChatbotContent/ChatbotContent.js +2 -5
- package/dist/esm/ChatbotContent/ChatbotContent.test.js +3 -3
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.d.ts +2 -2
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +7 -11
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +8 -10
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +7 -3
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +19 -36
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +43 -34
- package/dist/esm/ChatbotConversationHistoryNav/EmptyState.d.ts +2 -2
- package/dist/esm/ChatbotConversationHistoryNav/EmptyState.js +2 -6
- package/dist/esm/ChatbotConversationHistoryNav/LoadingState.d.ts +2 -2
- package/dist/esm/ChatbotConversationHistoryNav/LoadingState.js +2 -22
- package/dist/esm/ChatbotFooter/ChatbotFooter.d.ts +3 -3
- package/dist/esm/ChatbotFooter/ChatbotFooter.js +2 -12
- package/dist/esm/ChatbotFooter/ChatbotFooter.test.js +4 -4
- package/dist/esm/ChatbotFooter/ChatbotFooternote.test.js +5 -5
- package/dist/esm/ChatbotFooter/ChatbotFootnote.d.ts +3 -3
- package/dist/esm/ChatbotFooter/ChatbotFootnote.js +10 -23
- package/dist/esm/ChatbotHeader/ChatbotHeader.d.ts +3 -3
- package/dist/esm/ChatbotHeader/ChatbotHeader.js +2 -4
- package/dist/esm/ChatbotHeader/ChatbotHeader.test.js +3 -3
- package/dist/esm/ChatbotHeader/ChatbotHeaderActions.d.ts +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderActions.js +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.js +3 -3
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +1 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.js +5 -7
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.js +4 -4
- package/dist/esm/ChatbotHeader/ChatbotHeaderMain.d.ts +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderMain.js +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.js +3 -3
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.d.ts +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.js +5 -7
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.js +4 -4
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +6 -3
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +8 -9
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +9 -8
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +8 -3
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +11 -9
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +9 -8
- package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.d.ts +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.js +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.js +12 -12
- package/dist/esm/ChatbotModal/ChatbotModal.d.ts +2 -2
- package/dist/esm/ChatbotModal/ChatbotModal.js +3 -6
- package/dist/esm/ChatbotModal/ChatbotModal.test.js +2 -14
- package/dist/esm/ChatbotPopover/ChatbotPopover.d.ts +2 -2
- package/dist/esm/ChatbotPopover/ChatbotPopover.js +2 -5
- package/dist/esm/ChatbotToggle/ChatbotToggle.d.ts +1 -2
- package/dist/esm/ChatbotToggle/ChatbotToggle.js +8 -13
- package/dist/esm/ChatbotToggle/ChatbotToggle.test.js +8 -8
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +2 -2
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +6 -17
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +8 -8
- package/dist/esm/CodeModal/CodeModal.d.ts +8 -2
- package/dist/esm/CodeModal/CodeModal.js +8 -20
- package/dist/esm/CodeModal/CodeModal.test.js +22 -3
- package/dist/esm/Compare/Compare.d.ts +2 -2
- package/dist/esm/Compare/Compare.js +7 -13
- package/dist/esm/Compare/Compare.test.js +4 -6
- package/dist/esm/FileDetails/FileDetails.d.ts +2 -2
- package/dist/esm/FileDetails/FileDetails.js +2 -15
- package/dist/esm/FileDetails/FileDetails.test.js +4 -4
- package/dist/esm/FileDetailsLabel/FileDetailsLabel.d.ts +2 -2
- package/dist/esm/FileDetailsLabel/FileDetailsLabel.js +2 -5
- package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.js +9 -9
- package/dist/esm/FileDropZone/FileDropZone.d.ts +23 -3
- package/dist/esm/FileDropZone/FileDropZone.js +11 -6
- package/dist/esm/FileDropZone/FileDropZone.test.js +84 -3
- package/dist/esm/LoadingMessage/LoadingMessage.d.ts +2 -2
- package/dist/esm/LoadingMessage/LoadingMessage.js +2 -10
- package/dist/esm/LoadingMessage/LoadingMessage.test.js +3 -3
- package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.d.ts +20 -3
- package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.js +31 -19
- package/dist/esm/Message/ErrorMessage/ErrorMessage.d.ts +1 -2
- package/dist/esm/Message/ErrorMessage/ErrorMessage.js +5 -5
- package/dist/esm/Message/ImageMessage/ImageMessage.d.ts +1 -2
- package/dist/esm/Message/ImageMessage/ImageMessage.js +2 -5
- package/dist/esm/Message/LinkMessage/LinkMessage.d.ts +1 -2
- package/dist/esm/Message/LinkMessage/LinkMessage.js +6 -6
- package/dist/esm/Message/ListMessage/ListItemMessage.d.ts +1 -2
- package/dist/esm/Message/ListMessage/ListItemMessage.js +2 -5
- package/dist/esm/Message/ListMessage/OrderedListMessage.d.ts +1 -2
- package/dist/esm/Message/ListMessage/OrderedListMessage.js +2 -6
- package/dist/esm/Message/ListMessage/UnorderedListMessage.d.ts +1 -2
- package/dist/esm/Message/ListMessage/UnorderedListMessage.js +2 -6
- package/dist/esm/Message/Message.d.ts +28 -10
- package/dist/esm/Message/Message.js +50 -72
- package/dist/esm/Message/Message.test.js +138 -82
- package/dist/esm/Message/MessageInput.d.ts +4 -2
- package/dist/esm/Message/MessageInput.js +6 -12
- package/dist/esm/Message/MessageLoading.d.ts +1 -2
- package/dist/esm/Message/MessageLoading.js +2 -4
- package/dist/esm/Message/Plugins/index.d.ts +1 -0
- package/dist/esm/Message/Plugins/index.js +1 -0
- package/dist/esm/Message/Plugins/rehypeCodeBlockToggle.d.ts +2 -0
- package/dist/esm/Message/Plugins/rehypeCodeBlockToggle.js +20 -0
- package/dist/esm/Message/Plugins/rehypeMoveImagesOutOfParagraphs.d.ts +2 -0
- package/dist/esm/Message/Plugins/rehypeMoveImagesOutOfParagraphs.js +43 -0
- package/dist/esm/Message/QuickResponse/QuickResponse.d.ts +2 -2
- package/dist/esm/Message/QuickResponse/QuickResponse.js +7 -6
- package/dist/esm/Message/QuickStarts/FallbackImg.d.ts +2 -2
- package/dist/esm/Message/QuickStarts/FallbackImg.js +5 -4
- package/dist/esm/Message/QuickStarts/QuickStartTile.d.ts +2 -2
- package/dist/esm/Message/QuickStarts/QuickStartTile.js +7 -20
- package/dist/esm/Message/QuickStarts/QuickStartTileDescription.d.ts +2 -2
- package/dist/esm/Message/QuickStarts/QuickStartTileDescription.js +9 -15
- package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.js +5 -5
- package/dist/esm/Message/QuickStarts/QuickStartTileHeader.d.ts +2 -2
- package/dist/esm/Message/QuickStarts/QuickStartTileHeader.js +2 -3
- package/dist/esm/Message/QuickStarts/types.d.ts +4 -3
- package/dist/esm/Message/TableMessage/TableMessage.d.ts +1 -2
- package/dist/esm/Message/TableMessage/TableMessage.js +8 -7
- package/dist/esm/Message/TableMessage/TbodyMessage.d.ts +2 -3
- package/dist/esm/Message/TableMessage/TbodyMessage.js +7 -6
- package/dist/esm/Message/TableMessage/TdMessage.d.ts +1 -2
- package/dist/esm/Message/TableMessage/TdMessage.js +2 -5
- package/dist/esm/Message/TableMessage/ThMessage.d.ts +1 -2
- package/dist/esm/Message/TableMessage/ThMessage.js +2 -5
- package/dist/esm/Message/TableMessage/TheadMessage.d.ts +1 -2
- package/dist/esm/Message/TableMessage/TheadMessage.js +2 -5
- package/dist/esm/Message/TableMessage/TrMessage.d.ts +2 -3
- package/dist/esm/Message/TableMessage/TrMessage.js +8 -7
- package/dist/esm/Message/TextMessage/TextMessage.d.ts +1 -2
- package/dist/esm/Message/TextMessage/TextMessage.js +2 -6
- package/dist/esm/Message/UserFeedback/CloseButton.d.ts +2 -2
- package/dist/esm/Message/UserFeedback/CloseButton.js +2 -5
- package/dist/esm/Message/UserFeedback/UserFeedback.d.ts +2 -2
- package/dist/esm/Message/UserFeedback/UserFeedback.js +12 -23
- package/dist/esm/Message/UserFeedback/UserFeedback.test.js +21 -21
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.js +20 -44
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.js +26 -36
- package/dist/esm/Message/index.d.ts +1 -0
- package/dist/esm/Message/index.js +1 -0
- package/dist/esm/MessageBar/AttachButton.d.ts +26 -3
- package/dist/esm/MessageBar/AttachButton.js +10 -17
- package/dist/esm/MessageBar/AttachButton.test.js +95 -17
- package/dist/esm/MessageBar/MessageBar.d.ts +32 -4
- package/dist/esm/MessageBar/MessageBar.js +28 -30
- package/dist/esm/MessageBar/MessageBar.test.js +87 -73
- package/dist/esm/MessageBar/MicrophoneButton.d.ts +2 -2
- package/dist/esm/MessageBar/MicrophoneButton.js +7 -11
- package/dist/esm/MessageBar/SendButton.d.ts +3 -2
- package/dist/esm/MessageBar/SendButton.js +3 -8
- package/dist/esm/MessageBar/SendButton.test.js +9 -9
- package/dist/esm/MessageBar/StopButton.d.ts +3 -2
- package/dist/esm/MessageBar/StopButton.js +3 -9
- package/dist/esm/MessageBar/StopButton.test.js +9 -9
- package/dist/esm/MessageBox/JumpButton.d.ts +2 -2
- package/dist/esm/MessageBox/JumpButton.js +2 -7
- package/dist/esm/MessageBox/JumpButton.test.js +9 -9
- package/dist/esm/MessageBox/MessageBox.d.ts +21 -5
- package/dist/esm/MessageBox/MessageBox.js +170 -45
- package/dist/esm/MessageBox/MessageBox.test.js +220 -7
- package/dist/esm/MessageDivider/MessageDivider.d.ts +9 -0
- package/dist/esm/MessageDivider/MessageDivider.js +21 -0
- package/dist/esm/MessageDivider/MessageDivider.test.d.ts +1 -0
- package/dist/esm/MessageDivider/MessageDivider.test.js +24 -0
- package/dist/esm/MessageDivider/index.d.ts +2 -0
- package/dist/esm/MessageDivider/index.js +2 -0
- package/dist/esm/PreviewAttachment/PreviewAttachment.d.ts +12 -2
- package/dist/esm/PreviewAttachment/PreviewAttachment.js +3 -6
- package/dist/esm/PreviewAttachment/PreviewAttachment.test.d.ts +1 -1
- package/dist/esm/PreviewAttachment/PreviewAttachment.test.js +30 -5
- package/dist/esm/ResponseActions/ResponseActionButton.d.ts +5 -5
- package/dist/esm/ResponseActions/ResponseActionButton.js +5 -5
- package/dist/esm/ResponseActions/ResponseActionButton.test.js +7 -7
- package/dist/esm/ResponseActions/ResponseActions.d.ts +8 -3
- package/dist/esm/ResponseActions/ResponseActions.js +40 -19
- package/dist/esm/ResponseActions/ResponseActions.test.js +100 -16
- package/dist/esm/Settings/SettingsForm.d.ts +2 -2
- package/dist/esm/Settings/SettingsForm.js +2 -5
- package/dist/esm/Settings/SettingsForm.test.js +6 -6
- package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
- package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -8
- package/dist/esm/SourcesCard/SourcesCard.d.ts +12 -3
- package/dist/esm/SourcesCard/SourcesCard.js +17 -39
- package/dist/esm/SourcesCard/SourcesCard.test.js +29 -19
- package/dist/esm/TermsOfUse/TermsOfUse.d.ts +3 -3
- package/dist/esm/TermsOfUse/TermsOfUse.js +4 -16
- package/dist/esm/TermsOfUse/TermsOfUse.test.js +10 -12
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +2 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -8
- package/patternfly-docs/content/extensions/chatbot/design-guidelines.md +10 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Customizing Messages/Customizing Messages.md +51 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachMenu.tsx +9 -9
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentEdit.tsx +5 -5
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentError.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +24 -20
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetails.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetailsLabel.tsx +9 -9
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDropZone.tsx +4 -4
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithAttachment.tsx +7 -7
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithClickedResponseActions.tsx +25 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithCustomResponseActions.tsx +3 -12
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithDividers.tsx +24 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedback.tsx +4 -4
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedbackTimeout.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickResponses.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickStart.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithResponseActions.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithSources.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +33 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/PreviewAttachment.tsx +5 -5
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +61 -18
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessageWithExtraContent.tsx +4 -4
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotContainer.tsx +59 -36
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFooter.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFootnote.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderBasic.tsx +10 -13
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawer.tsx +19 -10
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerNavigation.tsx +5 -5
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerResizable.tsx +5 -5
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithActions.tsx +6 -6
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithPin.tsx +196 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithSelection.tsx +7 -7
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderTitle.tsx +59 -34
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBar.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarAttach.tsx +9 -9
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarDisabled.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarLanguage.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarStop.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotModal.tsx +74 -37
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotToggleBasic.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomeInteraction.tsx +8 -8
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomePrompt.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/UI/CompactSettings.tsx +16 -23
- package/patternfly-docs/content/extensions/chatbot/examples/UI/CustomClosedIcon.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/UI/Settings.tsx +16 -23
- package/patternfly-docs/content/extensions/chatbot/examples/UI/SkipToContent.tsx +5 -5
- package/patternfly-docs/content/extensions/chatbot/examples/UI/SquareChatbotToggle.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUse.tsx +91 -48
- package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUseCompact.tsx +82 -39
- package/patternfly-docs/content/extensions/chatbot/examples/UI/UI.md +12 -1
- package/patternfly-docs/content/extensions/chatbot/examples/demos/AttachmentDemos.md +37 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +34 -1
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +19 -25
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachment.tsx +42 -15
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachmentMenu.tsx +15 -14
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotCompact.tsx +19 -25
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotDisplayMode.tsx +486 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotInDrawer.tsx +17 -22
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotScrolling.tsx +536 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotTranscripts.tsx +565 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedChatbot.tsx +17 -22
- package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedComparisonChatbot.tsx +13 -13
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Feedback.tsx +7 -7
- package/patternfly-docs/content/extensions/chatbot/img/quick-response-confirmation.svg +67 -0
- package/src/AttachMenu/AttachMenu.tsx +2 -2
- package/src/AttachmentEdit/AttachmentEdit.test.tsx +46 -2
- package/src/AttachmentEdit/AttachmentEdit.tsx +25 -7
- package/src/Chatbot/Chatbot.scss +1 -1
- package/src/Chatbot/Chatbot.test.tsx +0 -1
- package/src/Chatbot/Chatbot.tsx +5 -3
- package/src/ChatbotAlert/ChatbotAlert.test.tsx +0 -1
- package/src/ChatbotAlert/ChatbotAlert.tsx +2 -2
- package/src/ChatbotContent/ChatbotContent.scss +1 -1
- package/src/ChatbotContent/ChatbotContent.test.tsx +0 -1
- package/src/ChatbotContent/ChatbotContent.tsx +3 -3
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.tsx +0 -1
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.tsx +6 -4
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.scss +14 -2
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.tsx +61 -3
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.tsx +37 -18
- package/src/ChatbotConversationHistoryNav/EmptyState.tsx +2 -2
- package/src/ChatbotConversationHistoryNav/LoadingState.tsx +2 -2
- package/src/ChatbotFooter/ChatbotFooter.scss +1 -1
- package/src/ChatbotFooter/ChatbotFooter.test.tsx +0 -1
- package/src/ChatbotFooter/ChatbotFooter.tsx +3 -3
- package/src/ChatbotFooter/ChatbotFooternote.test.tsx +0 -1
- package/src/ChatbotFooter/ChatbotFootnote.tsx +6 -4
- package/src/ChatbotHeader/ChatbotHeader.scss +3 -3
- package/src/ChatbotHeader/ChatbotHeader.test.tsx +0 -1
- package/src/ChatbotHeader/ChatbotHeader.tsx +3 -6
- package/src/ChatbotHeader/ChatbotHeaderActions.test.tsx +0 -1
- package/src/ChatbotHeader/ChatbotHeaderActions.tsx +2 -2
- package/src/ChatbotHeader/ChatbotHeaderCloseButton.test.tsx +0 -1
- package/src/ChatbotHeader/ChatbotHeaderCloseButton.tsx +5 -4
- package/src/ChatbotHeader/ChatbotHeaderMain.test.tsx +0 -1
- package/src/ChatbotHeader/ChatbotHeaderMain.tsx +2 -2
- package/src/ChatbotHeader/ChatbotHeaderMenu.test.tsx +0 -1
- package/src/ChatbotHeader/ChatbotHeaderMenu.tsx +7 -7
- package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.tsx +9 -1
- package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.tsx +12 -5
- package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.tsx +9 -1
- package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.tsx +26 -6
- package/src/ChatbotHeader/ChatbotHeaderTitle.test.tsx +0 -1
- package/src/ChatbotHeader/ChatbotHeaderTitle.tsx +2 -2
- package/src/ChatbotModal/ChatbotModal.test.tsx +0 -1
- package/src/ChatbotModal/ChatbotModal.tsx +2 -2
- package/src/ChatbotPopover/ChatbotPopover.tsx +3 -3
- package/src/ChatbotToggle/ChatbotToggle.scss +2 -2
- package/src/ChatbotToggle/ChatbotToggle.test.tsx +0 -1
- package/src/ChatbotToggle/ChatbotToggle.tsx +5 -3
- package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.tsx +0 -1
- package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.tsx +2 -2
- package/src/CodeModal/CodeModal.test.tsx +29 -2
- package/src/CodeModal/CodeModal.tsx +18 -8
- package/src/Compare/Compare.test.tsx +0 -1
- package/src/Compare/Compare.tsx +7 -6
- package/src/FileDetails/FileDetails.test.tsx +0 -1
- package/src/FileDetails/FileDetails.tsx +1 -1
- package/src/FileDetailsLabel/FileDetailsLabel.test.tsx +0 -1
- package/src/FileDetailsLabel/FileDetailsLabel.tsx +1 -1
- package/src/FileDropZone/FileDropZone.test.tsx +112 -1
- package/src/FileDropZone/FileDropZone.tsx +45 -5
- package/src/LoadingMessage/LoadingMessage.test.tsx +0 -1
- package/src/LoadingMessage/LoadingMessage.tsx +2 -2
- package/src/Message/CodeBlockMessage/CodeBlockMessage.scss +7 -0
- package/src/Message/CodeBlockMessage/CodeBlockMessage.tsx +104 -20
- package/src/Message/ErrorMessage/ErrorMessage.tsx +0 -1
- package/src/Message/ImageMessage/ImageMessage.tsx +1 -2
- package/src/Message/LinkMessage/LinkMessage.tsx +0 -1
- package/src/Message/ListMessage/ListItemMessage.tsx +0 -1
- package/src/Message/ListMessage/OrderedListMessage.tsx +0 -1
- package/src/Message/ListMessage/UnorderedListMessage.tsx +0 -1
- package/src/Message/Message.scss +9 -7
- package/src/Message/Message.test.tsx +84 -6
- package/src/Message/Message.tsx +39 -18
- package/src/Message/MessageInput.tsx +9 -5
- package/src/Message/MessageLoading.tsx +0 -2
- package/src/Message/Plugins/index.ts +1 -0
- package/src/Message/Plugins/rehypeCodeBlockToggle.ts +24 -0
- package/src/Message/Plugins/rehypeMoveImagesOutOfParagraphs.ts +53 -0
- package/src/Message/QuickResponse/QuickResponse.tsx +4 -3
- package/src/Message/QuickStarts/FallbackImg.tsx +4 -3
- package/src/Message/QuickStarts/QuickStartTile.tsx +3 -3
- package/src/Message/QuickStarts/QuickStartTileDescription.test.tsx +0 -1
- package/src/Message/QuickStarts/QuickStartTileDescription.tsx +4 -3
- package/src/Message/QuickStarts/QuickStartTileHeader.tsx +2 -2
- package/src/Message/QuickStarts/types.ts +4 -3
- package/src/Message/TableMessage/TableMessage.tsx +4 -4
- package/src/Message/TableMessage/TbodyMessage.tsx +3 -3
- package/src/Message/TableMessage/TdMessage.tsx +1 -2
- package/src/Message/TableMessage/ThMessage.tsx +1 -2
- package/src/Message/TableMessage/TheadMessage.tsx +3 -2
- package/src/Message/TableMessage/TrMessage.tsx +4 -4
- package/src/Message/TextMessage/TextMessage.scss +2 -5
- package/src/Message/TextMessage/TextMessage.tsx +1 -2
- package/src/Message/UserFeedback/CloseButton.tsx +2 -2
- package/src/Message/UserFeedback/UserFeedback.test.tsx +0 -1
- package/src/Message/UserFeedback/UserFeedback.tsx +8 -6
- package/src/Message/UserFeedback/UserFeedbackComplete.test.tsx +0 -1
- package/src/Message/UserFeedback/UserFeedbackComplete.tsx +16 -14
- package/src/Message/index.ts +1 -0
- package/src/MessageBar/AttachButton.test.tsx +127 -8
- package/src/MessageBar/AttachButton.tsx +50 -7
- package/src/MessageBar/MessageBar.test.tsx +81 -30
- package/src/MessageBar/MessageBar.tsx +86 -20
- package/src/MessageBar/MicrophoneButton.tsx +10 -7
- package/src/MessageBar/SendButton.scss +3 -3
- package/src/MessageBar/SendButton.test.tsx +5 -6
- package/src/MessageBar/SendButton.tsx +4 -3
- package/src/MessageBar/StopButton.test.tsx +5 -6
- package/src/MessageBar/StopButton.tsx +4 -3
- package/src/MessageBox/JumpButton.scss +1 -1
- package/src/MessageBox/JumpButton.test.tsx +4 -5
- package/src/MessageBox/JumpButton.tsx +3 -3
- package/src/MessageBox/MessageBox.test.tsx +295 -5
- package/src/MessageBox/MessageBox.tsx +301 -84
- package/src/MessageDivider/MessageDivider.scss +45 -0
- package/src/MessageDivider/MessageDivider.test.tsx +24 -0
- package/src/MessageDivider/MessageDivider.tsx +35 -0
- package/src/MessageDivider/index.ts +3 -0
- package/src/PreviewAttachment/PreviewAttachment.test.tsx +44 -2
- package/src/PreviewAttachment/PreviewAttachment.tsx +24 -6
- package/src/ResponseActions/ResponseActionButton.test.tsx +0 -1
- package/src/ResponseActions/ResponseActionButton.tsx +6 -5
- package/src/ResponseActions/ResponseActions.test.tsx +126 -4
- package/src/ResponseActions/ResponseActions.tsx +92 -12
- package/src/Settings/SettingsForm.test.tsx +0 -1
- package/src/Settings/SettingsForm.tsx +2 -7
- package/src/SourceDetailsMenuItem/SourceDetailsMenuItem.tsx +2 -2
- package/src/SourcesCard/SourcesCard.test.tsx +14 -1
- package/src/SourcesCard/SourcesCard.tsx +19 -7
- package/src/TermsOfUse/TermsOfUse.test.tsx +0 -1
- package/src/TermsOfUse/TermsOfUse.tsx +6 -5
- package/src/index.ts +3 -0
- package/src/main.scss +1 -52
- package/tsconfig.cjs.json +0 -1
- package/tsconfig.json +3 -3
|
@@ -12,7 +12,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const
|
|
15
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
16
|
+
const react_1 = require("react");
|
|
16
17
|
const react_2 = require("@testing-library/react");
|
|
17
18
|
require("@testing-library/jest-dom");
|
|
18
19
|
const Message_1 = __importDefault(require("./Message"));
|
|
@@ -25,6 +26,7 @@ const ALL_ACTIONS = [
|
|
|
25
26
|
{ label: /Good response/i },
|
|
26
27
|
{ label: /Bad response/i },
|
|
27
28
|
{ label: /Copy/i },
|
|
29
|
+
{ label: /Edit/i },
|
|
28
30
|
{ label: /Share/i },
|
|
29
31
|
{ label: /Listen/i }
|
|
30
32
|
];
|
|
@@ -140,12 +142,11 @@ const EMPTY_TABLE = `
|
|
|
140
142
|
|
|
141
143
|
`;
|
|
142
144
|
const IMAGE = ``;
|
|
145
|
+
const INLINE_IMAGE = `inline text `;
|
|
143
146
|
const ERROR = {
|
|
144
147
|
title: 'Could not load chat',
|
|
145
148
|
children: 'Wait a few minutes and check your network settings. If the issue persists: ',
|
|
146
|
-
actionLinks: (react_1.
|
|
147
|
-
react_1.default.createElement(react_core_1.AlertActionLink, { component: "a", href: "#" }, "Start a new chat"),
|
|
148
|
-
react_1.default.createElement(react_core_1.AlertActionLink, { component: "a", href: "#" }, "Contact support")))
|
|
149
|
+
actionLinks: ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_core_1.AlertActionLink, { component: "a", href: "#", children: "Start a new chat" }), (0, jsx_runtime_1.jsx)(react_core_1.AlertActionLink, { component: "a", href: "#", children: "Contact support" })] }))
|
|
149
150
|
};
|
|
150
151
|
const checkListItemsRendered = () => {
|
|
151
152
|
const items = ['Item 1', 'Item 2', 'Item 3'];
|
|
@@ -160,7 +161,7 @@ describe('Message', () => {
|
|
|
160
161
|
jest.clearAllMocks();
|
|
161
162
|
});
|
|
162
163
|
it('should render user messages correctly', () => {
|
|
163
|
-
(0, react_2.render)(
|
|
164
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: "Hi" }));
|
|
164
165
|
expect(react_2.screen.getByText('User')).toBeTruthy();
|
|
165
166
|
expect(react_2.screen.getByText('Hi')).toBeTruthy();
|
|
166
167
|
const date = new Date();
|
|
@@ -174,7 +175,7 @@ describe('Message', () => {
|
|
|
174
175
|
expect(react_2.screen.getByRole('img')).toHaveAttribute('src', './img');
|
|
175
176
|
});
|
|
176
177
|
it('should render bot messages correctly', () => {
|
|
177
|
-
(0, react_2.render)(
|
|
178
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "bot", name: "Bot", content: "Hi" }));
|
|
178
179
|
expect(react_2.screen.getByText('Bot')).toBeTruthy();
|
|
179
180
|
expect(react_2.screen.getByText('AI')).toBeTruthy();
|
|
180
181
|
expect(react_2.screen.getByText('Hi')).toBeTruthy();
|
|
@@ -187,18 +188,18 @@ describe('Message', () => {
|
|
|
187
188
|
})).toBeInTheDocument();
|
|
188
189
|
});
|
|
189
190
|
it('should render avatar correctly', () => {
|
|
190
|
-
(0, react_2.render)(
|
|
191
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./testImg", role: "bot", name: "Bot", content: "Hi" }));
|
|
191
192
|
expect(react_2.screen.getByRole('img')).toHaveAttribute('src', './testImg');
|
|
192
193
|
});
|
|
193
194
|
it('should render botWord correctly', () => {
|
|
194
|
-
(0, react_2.render)(
|
|
195
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", botWord: "\u4EBA\u5DE5\u77E5\u80FD" }));
|
|
195
196
|
expect(react_2.screen.getByText('Bot')).toBeTruthy();
|
|
196
197
|
expect(react_2.screen.getByText('人工知能')).toBeTruthy();
|
|
197
198
|
expect(react_2.screen.queryByText('AI')).toBeFalsy();
|
|
198
199
|
expect(react_2.screen.getByText('Hi')).toBeTruthy();
|
|
199
200
|
});
|
|
200
201
|
it('should render timestamps', () => {
|
|
201
|
-
(0, react_2.render)(
|
|
202
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", timestamp: "2 hours ago" }));
|
|
202
203
|
expect(react_2.screen.getByText('Bot')).toBeTruthy();
|
|
203
204
|
expect(react_2.screen.getByText('AI')).toBeTruthy();
|
|
204
205
|
expect(react_2.screen.getByText('Hi')).toBeTruthy();
|
|
@@ -212,13 +213,13 @@ describe('Message', () => {
|
|
|
212
213
|
})).not.toBeInTheDocument();
|
|
213
214
|
});
|
|
214
215
|
it('should render attachments', () => {
|
|
215
|
-
(0, react_2.render)(
|
|
216
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", content: "Hi", attachments: [{ name: 'testAttachment' }] }));
|
|
216
217
|
expect(react_2.screen.getByText('Hi')).toBeTruthy();
|
|
217
218
|
expect(react_2.screen.getByText('testAttachment')).toBeTruthy();
|
|
218
219
|
});
|
|
219
220
|
it('should be able to click attachments', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
220
221
|
const spy = jest.fn();
|
|
221
|
-
(0, react_2.render)(
|
|
222
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", content: "Hi", attachments: [{ name: 'testAttachment', onClick: spy }] }));
|
|
222
223
|
expect(react_2.screen.getByText('Hi')).toBeTruthy();
|
|
223
224
|
expect(react_2.screen.getByText('testAttachment')).toBeTruthy();
|
|
224
225
|
yield user_event_1.default.click(react_2.screen.getByRole('button', { name: /testAttachment/i }));
|
|
@@ -226,7 +227,7 @@ describe('Message', () => {
|
|
|
226
227
|
}));
|
|
227
228
|
it('should be able to close attachments', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
228
229
|
const spy = jest.fn();
|
|
229
|
-
(0, react_2.render)(
|
|
230
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", content: "Hi", attachments: [{ name: 'testAttachment', onClose: spy }] }));
|
|
230
231
|
expect(react_2.screen.getByText('Hi')).toBeTruthy();
|
|
231
232
|
expect(react_2.screen.getByText('testAttachment')).toBeTruthy();
|
|
232
233
|
expect(react_2.screen.getByRole('button', { name: /close testAttachment/i })).toBeTruthy();
|
|
@@ -234,7 +235,7 @@ describe('Message', () => {
|
|
|
234
235
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
235
236
|
}));
|
|
236
237
|
it('should render loading state', () => {
|
|
237
|
-
(0, react_2.render)(
|
|
238
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", isLoading: true }));
|
|
238
239
|
expect(react_2.screen.getByText('Bot')).toBeTruthy();
|
|
239
240
|
expect(react_2.screen.getByText('AI')).toBeTruthy();
|
|
240
241
|
expect(react_2.screen.queryByText('Hi')).toBeFalsy();
|
|
@@ -248,7 +249,7 @@ describe('Message', () => {
|
|
|
248
249
|
expect(react_2.screen.getByText('Loading message')).toBeTruthy();
|
|
249
250
|
});
|
|
250
251
|
it('should be able to show sources', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
251
|
-
(0, react_2.render)(
|
|
252
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", sources: {
|
|
252
253
|
sources: [
|
|
253
254
|
{
|
|
254
255
|
title: 'Getting started with Red Hat OpenShift',
|
|
@@ -260,7 +261,7 @@ describe('Message', () => {
|
|
|
260
261
|
expect(react_2.screen.getByText('Getting started with Red Hat OpenShift')).toBeTruthy();
|
|
261
262
|
}));
|
|
262
263
|
it('should not show sources if loading', () => {
|
|
263
|
-
(0, react_2.render)(
|
|
264
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", isLoading: true, sources: {
|
|
264
265
|
sources: [
|
|
265
266
|
{
|
|
266
267
|
title: 'Getting started with Red Hat OpenShift',
|
|
@@ -274,7 +275,7 @@ describe('Message', () => {
|
|
|
274
275
|
});
|
|
275
276
|
it('should be able to show quick response', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
276
277
|
const spy = jest.fn();
|
|
277
|
-
(0, react_2.render)(
|
|
278
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", quickResponses: [
|
|
278
279
|
{
|
|
279
280
|
id: '1',
|
|
280
281
|
content: 'Yes',
|
|
@@ -288,7 +289,7 @@ describe('Message', () => {
|
|
|
288
289
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
289
290
|
}));
|
|
290
291
|
it('should be able to handle isCompact', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
291
|
-
(0, react_2.render)(
|
|
292
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", quickResponses: [
|
|
292
293
|
{
|
|
293
294
|
id: '1',
|
|
294
295
|
content: 'Yes',
|
|
@@ -301,7 +302,7 @@ describe('Message', () => {
|
|
|
301
302
|
}));
|
|
302
303
|
it('should be able to show more than 1 quick response', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
303
304
|
const spy = jest.fn();
|
|
304
|
-
(0, react_2.render)(
|
|
305
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", quickResponses: [
|
|
305
306
|
{
|
|
306
307
|
id: '1',
|
|
307
308
|
content: 'Yes',
|
|
@@ -318,7 +319,7 @@ describe('Message', () => {
|
|
|
318
319
|
}));
|
|
319
320
|
it('should be able to spread quickResponseContainerProps', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
320
321
|
const spy = jest.fn();
|
|
321
|
-
(0, react_2.render)(
|
|
322
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", quickResponses: [
|
|
322
323
|
{
|
|
323
324
|
id: '1',
|
|
324
325
|
content: 'Yes',
|
|
@@ -338,7 +339,7 @@ describe('Message', () => {
|
|
|
338
339
|
expect(react_2.screen.getByRole('button', { name: /1 more/i }));
|
|
339
340
|
}));
|
|
340
341
|
it('should be able to show actions', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
341
|
-
(0, react_2.render)(
|
|
342
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", actions: {
|
|
342
343
|
// eslint-disable-next-line no-console
|
|
343
344
|
positive: { onClick: () => console.log('Good response') },
|
|
344
345
|
// eslint-disable-next-line no-console
|
|
@@ -346,8 +347,12 @@ describe('Message', () => {
|
|
|
346
347
|
// eslint-disable-next-line no-console
|
|
347
348
|
copy: { onClick: () => console.log('Copy') },
|
|
348
349
|
// eslint-disable-next-line no-console
|
|
350
|
+
edit: { onClick: () => console.log('Edit') },
|
|
351
|
+
// eslint-disable-next-line no-console
|
|
349
352
|
share: { onClick: () => console.log('Share') },
|
|
350
353
|
// eslint-disable-next-line no-console
|
|
354
|
+
download: { onClick: () => console.log('Download') },
|
|
355
|
+
// eslint-disable-next-line no-console
|
|
351
356
|
listen: { onClick: () => console.log('Listen') }
|
|
352
357
|
} }));
|
|
353
358
|
ALL_ACTIONS.forEach(({ label }) => {
|
|
@@ -355,7 +360,7 @@ describe('Message', () => {
|
|
|
355
360
|
});
|
|
356
361
|
}));
|
|
357
362
|
it('should not show actions if loading', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
358
|
-
(0, react_2.render)(
|
|
363
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", isLoading: true, actions: {
|
|
359
364
|
// eslint-disable-next-line no-console
|
|
360
365
|
positive: { onClick: () => console.log('Good response') },
|
|
361
366
|
// eslint-disable-next-line no-console
|
|
@@ -363,8 +368,12 @@ describe('Message', () => {
|
|
|
363
368
|
// eslint-disable-next-line no-console
|
|
364
369
|
copy: { onClick: () => console.log('Copy') },
|
|
365
370
|
// eslint-disable-next-line no-console
|
|
371
|
+
edit: { onClick: () => console.log('Edit') },
|
|
372
|
+
// eslint-disable-next-line no-console
|
|
366
373
|
share: { onClick: () => console.log('Share') },
|
|
367
374
|
// eslint-disable-next-line no-console
|
|
375
|
+
download: { onClick: () => console.log('Download') },
|
|
376
|
+
// eslint-disable-next-line no-console
|
|
368
377
|
listen: { onClick: () => console.log('Listen') }
|
|
369
378
|
} }));
|
|
370
379
|
expect(react_2.screen.getByText('Loading message')).toBeTruthy();
|
|
@@ -372,31 +381,52 @@ describe('Message', () => {
|
|
|
372
381
|
expect(react_2.screen.queryByRole('button', { name: label })).toBeFalsy();
|
|
373
382
|
});
|
|
374
383
|
}));
|
|
384
|
+
it('should not show actions if isEditable is true', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
385
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", isEditable: true, actions: {
|
|
386
|
+
// eslint-disable-next-line no-console
|
|
387
|
+
positive: { onClick: () => console.log('Good response') },
|
|
388
|
+
// eslint-disable-next-line no-console
|
|
389
|
+
negative: { onClick: () => console.log('Bad response') },
|
|
390
|
+
// eslint-disable-next-line no-console
|
|
391
|
+
copy: { onClick: () => console.log('Copy') },
|
|
392
|
+
// eslint-disable-next-line no-console
|
|
393
|
+
edit: { onClick: () => console.log('Edit') },
|
|
394
|
+
// eslint-disable-next-line no-console
|
|
395
|
+
share: { onClick: () => console.log('Share') },
|
|
396
|
+
// eslint-disable-next-line no-console
|
|
397
|
+
download: { onClick: () => console.log('Download') },
|
|
398
|
+
// eslint-disable-next-line no-console
|
|
399
|
+
listen: { onClick: () => console.log('Listen') }
|
|
400
|
+
} }));
|
|
401
|
+
ALL_ACTIONS.forEach(({ label }) => {
|
|
402
|
+
expect(react_2.screen.queryByRole('button', { name: label })).toBeFalsy();
|
|
403
|
+
});
|
|
404
|
+
}));
|
|
375
405
|
it('should render unordered lists correctly', () => {
|
|
376
|
-
(0, react_2.render)(
|
|
406
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: UNORDERED_LIST }));
|
|
377
407
|
expect(react_2.screen.getByText('Here is an unordered list:')).toBeTruthy();
|
|
378
408
|
checkListItemsRendered();
|
|
379
409
|
});
|
|
380
410
|
it('should render ordered lists correctly', () => {
|
|
381
|
-
(0, react_2.render)(
|
|
411
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: ORDERED_LIST }));
|
|
382
412
|
expect(react_2.screen.getByText('Here is an ordered list:')).toBeTruthy();
|
|
383
413
|
checkListItemsRendered();
|
|
384
414
|
});
|
|
385
415
|
it('should render ordered lists correctly if there is interstitial content', () => {
|
|
386
|
-
(0, react_2.render)(
|
|
416
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: ORDERED_LIST_WITH_CODE }));
|
|
387
417
|
checkListItemsRendered();
|
|
388
418
|
const list = react_2.screen.getAllByRole('list')[1];
|
|
389
419
|
expect(list).toHaveAttribute('start', '3');
|
|
390
420
|
});
|
|
391
421
|
it('should render inline code', () => {
|
|
392
|
-
(0, react_2.render)(
|
|
422
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: INLINE_CODE }));
|
|
393
423
|
expect(react_2.screen.getByText(/() => void/i)).toBeTruthy();
|
|
394
424
|
expect(react_2.screen.queryByRole('button', { name: 'Copy code button' })).toBeFalsy();
|
|
395
425
|
});
|
|
396
426
|
it('should render code correctly', () => {
|
|
397
|
-
(0, react_2.render)(
|
|
427
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: CODE_MESSAGE }));
|
|
398
428
|
expect(react_2.screen.getByText('Here is some YAML code:')).toBeTruthy();
|
|
399
|
-
expect(react_2.screen.getByRole('button', { name: 'Copy code
|
|
429
|
+
expect(react_2.screen.getByRole('button', { name: 'Copy code' })).toBeTruthy();
|
|
400
430
|
expect(react_2.screen.getByText(/yaml/)).toBeTruthy();
|
|
401
431
|
expect(react_2.screen.getByText(/apiVersion:/i)).toBeTruthy();
|
|
402
432
|
expect(react_2.screen.getByText(/helm.openshift.io\/v1beta1/i)).toBeTruthy();
|
|
@@ -408,44 +438,68 @@ describe('Message', () => {
|
|
|
408
438
|
expect(react_2.screen.getByText(/url:/i)).toBeTruthy();
|
|
409
439
|
expect(react_2.screen.getByText(/https:\/\/raw.githubusercontent.com\/Azure-Samples\/helm-charts\/master\/docs/i)).toBeTruthy();
|
|
410
440
|
});
|
|
441
|
+
it('should render expandable code correctly', () => {
|
|
442
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: CODE_MESSAGE, codeBlockProps: { isExpandable: true } }));
|
|
443
|
+
expect(react_2.screen.getByText('Here is some YAML code:')).toBeTruthy();
|
|
444
|
+
expect(react_2.screen.getByRole('button', { name: 'Copy code' })).toBeTruthy();
|
|
445
|
+
expect(react_2.screen.getByText(/yaml/)).toBeTruthy();
|
|
446
|
+
expect(react_2.screen.getByText(/apiVersion/i)).toBeTruthy();
|
|
447
|
+
expect(react_2.screen.getByRole('button', { name: /Show more/i })).toBeTruthy();
|
|
448
|
+
});
|
|
449
|
+
it('should handle click on expandable code correctly', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
450
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: CODE_MESSAGE, codeBlockProps: { isExpandable: true } }));
|
|
451
|
+
const button = react_2.screen.getByRole('button', { name: /Show more/i });
|
|
452
|
+
yield user_event_1.default.click(button);
|
|
453
|
+
expect(react_2.screen.getByRole('button', { name: /Show less/i })).toBeTruthy();
|
|
454
|
+
expect(react_2.screen.getByText(/yaml/)).toBeTruthy();
|
|
455
|
+
expect(react_2.screen.getByText(/apiVersion:/i)).toBeTruthy();
|
|
456
|
+
expect(react_2.screen.getByText(/helm.openshift.io\/v1beta1/i)).toBeTruthy();
|
|
457
|
+
expect(react_2.screen.getByText(/metadata:/i)).toBeTruthy();
|
|
458
|
+
expect(react_2.screen.getByText(/name:/i)).toBeTruthy();
|
|
459
|
+
expect(react_2.screen.getByText(/azure-sample-repo0oooo00ooo/i)).toBeTruthy();
|
|
460
|
+
expect(react_2.screen.getByText(/spec/i)).toBeTruthy();
|
|
461
|
+
expect(react_2.screen.getByText(/connectionConfig:/i)).toBeTruthy();
|
|
462
|
+
expect(react_2.screen.getByText(/url:/i)).toBeTruthy();
|
|
463
|
+
expect(react_2.screen.getByText(/https:\/\/raw.githubusercontent.com\/Azure-Samples\/helm-charts\/master\/docs/i)).toBeTruthy();
|
|
464
|
+
}));
|
|
411
465
|
it('can click copy code button', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
412
466
|
// need explicit setup since RTL stubs clipboard if you do this
|
|
413
467
|
const user = user_event_1.default.setup();
|
|
414
|
-
(0, react_2.render)(
|
|
415
|
-
expect(react_2.screen.getByRole('button', { name: 'Copy code
|
|
416
|
-
yield user.click(react_2.screen.getByRole('button', { name: 'Copy code
|
|
468
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: CODE_MESSAGE }));
|
|
469
|
+
expect(react_2.screen.getByRole('button', { name: 'Copy code' })).toBeTruthy();
|
|
470
|
+
yield user.click(react_2.screen.getByRole('button', { name: 'Copy code' }));
|
|
417
471
|
const clipboardText = yield navigator.clipboard.readText();
|
|
418
472
|
expect(clipboardText.trim()).toEqual(CODE.trim());
|
|
419
473
|
}));
|
|
420
474
|
it('should handle codeBlockProps correctly by spreading it onto the CodeMessage', () => {
|
|
421
|
-
(0, react_2.render)(
|
|
475
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: CODE_MESSAGE, codeBlockProps: { 'aria-label': 'test' } }));
|
|
422
476
|
expect(react_2.screen.getByRole('button', { name: 'test' })).toBeTruthy();
|
|
423
477
|
});
|
|
424
478
|
it('should handle hasRoundAvatar correctly when it is true', () => {
|
|
425
|
-
(0, react_2.render)(
|
|
479
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: "Hi", hasRoundAvatar: true }));
|
|
426
480
|
expect(react_2.screen.getByRole('img')).toBeTruthy();
|
|
427
481
|
expect(react_2.screen.getByRole('img')).toHaveClass('pf-chatbot__message-avatar');
|
|
428
482
|
expect(react_2.screen.getByRole('img')).toHaveClass('pf-chatbot__message-avatar--round');
|
|
429
483
|
});
|
|
430
484
|
it('should handle hasRoundAvatar correctly when it is false', () => {
|
|
431
|
-
(0, react_2.render)(
|
|
485
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: "Hi", hasRoundAvatar: false }));
|
|
432
486
|
expect(react_2.screen.getByRole('img')).toBeTruthy();
|
|
433
487
|
expect(react_2.screen.getByRole('img')).toHaveClass('pf-chatbot__message-avatar');
|
|
434
488
|
expect(react_2.screen.getByRole('img')).not.toHaveClass('pf-chatbot__message-avatar--round');
|
|
435
489
|
});
|
|
436
490
|
it('should handle avatarProps correctly by spreading it onto the Message Avatar', () => {
|
|
437
|
-
(0, react_2.render)(
|
|
491
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: "Hi", avatarProps: { className: 'test' } }));
|
|
438
492
|
expect(react_2.screen.getByRole('img')).toBeTruthy();
|
|
439
493
|
expect(react_2.screen.getByRole('img')).toHaveClass('test');
|
|
440
494
|
});
|
|
441
495
|
it('should handle avatarProps and hasRoundAvatar correctly', () => {
|
|
442
|
-
(0, react_2.render)(
|
|
496
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: "Hi", avatarProps: { className: 'test' }, hasRoundAvatar: false }));
|
|
443
497
|
expect(react_2.screen.getByRole('img')).toBeTruthy();
|
|
444
498
|
expect(react_2.screen.getByRole('img')).toHaveClass('test');
|
|
445
499
|
expect(react_2.screen.getByRole('img')).toHaveClass('pf-chatbot__message-avatar');
|
|
446
500
|
});
|
|
447
501
|
it('should handle QuickStart tile correctly', () => {
|
|
448
|
-
(0, react_2.render)(
|
|
502
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: "Hi", quickStarts: {
|
|
449
503
|
quickStart: monitor_sampleapp_quickstart_1.monitorSampleAppQuickStart,
|
|
450
504
|
onSelectQuickStart: (id) => alert(id)
|
|
451
505
|
} }));
|
|
@@ -456,7 +510,7 @@ describe('Message', () => {
|
|
|
456
510
|
});
|
|
457
511
|
it('should handle click on QuickStart tile correctly', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
458
512
|
const spy = jest.fn();
|
|
459
|
-
(0, react_2.render)(
|
|
513
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: "Hi", quickStarts: {
|
|
460
514
|
quickStart: monitor_sampleapp_quickstart_1.monitorSampleAppQuickStart,
|
|
461
515
|
onSelectQuickStart: (id) => spy(id)
|
|
462
516
|
} }));
|
|
@@ -466,20 +520,20 @@ describe('Message', () => {
|
|
|
466
520
|
}));
|
|
467
521
|
it('should handle QuickStart tile with image correctly', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
468
522
|
const spy = jest.fn();
|
|
469
|
-
(0, react_2.render)(
|
|
523
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: "Hi", quickStarts: {
|
|
470
524
|
quickStart: monitor_sampleapp_quickstart_with_image_1.monitorSampleAppQuickStartWithImage,
|
|
471
525
|
onSelectQuickStart: (id) => spy(id)
|
|
472
526
|
} }));
|
|
473
527
|
expect(react_2.screen.getAllByRole('img')[1]).toHaveAttribute('src', 'test.png');
|
|
474
528
|
}));
|
|
475
529
|
it('should handle block quote correctly', () => {
|
|
476
|
-
(0, react_2.render)(
|
|
530
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: BLOCK_QUOTES }));
|
|
477
531
|
expect(react_2.screen.getByText(/Blockquotes can also be nested.../)).toBeTruthy();
|
|
478
532
|
expect(react_2.screen.getByText('...by using additional greater-than signs (>) right next to each other...')).toBeTruthy();
|
|
479
533
|
expect(react_2.screen.getByText(/...or with spaces between each sign./)).toBeTruthy();
|
|
480
534
|
});
|
|
481
535
|
it('should handle heading correctly', () => {
|
|
482
|
-
(0, react_2.render)(
|
|
536
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: HEADING }));
|
|
483
537
|
expect(react_2.screen.getByRole('heading', { name: /h1 Heading/i })).toBeTruthy();
|
|
484
538
|
expect(react_2.screen.getByRole('heading', { name: /h2 Heading/i })).toBeTruthy();
|
|
485
539
|
expect(react_2.screen.getByRole('heading', { name: /h3 Heading/i })).toBeTruthy();
|
|
@@ -488,7 +542,7 @@ describe('Message', () => {
|
|
|
488
542
|
expect(react_2.screen.getByRole('heading', { name: /h6 Heading/i })).toBeTruthy();
|
|
489
543
|
});
|
|
490
544
|
it('should render table correctly', () => {
|
|
491
|
-
(0, react_2.render)(
|
|
545
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: TABLE }));
|
|
492
546
|
expect(react_2.screen.getByRole('row', { name: /Column 1 Column 2/i })).toBeTruthy();
|
|
493
547
|
expect(react_2.screen.getByRole('row', { name: /Cell 1 Cell 2/i })).toBeTruthy();
|
|
494
548
|
expect(react_2.screen.getByRole('row', { name: /Cell 3 Cell 4/i })).toBeTruthy();
|
|
@@ -500,7 +554,7 @@ describe('Message', () => {
|
|
|
500
554
|
expect(react_2.screen.getByRole('cell', { name: /Cell 4/i })).toBeTruthy();
|
|
501
555
|
});
|
|
502
556
|
it('should render table data labels correctly for mobile breakpoint', () => {
|
|
503
|
-
(0, react_2.render)(
|
|
557
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: TABLE }));
|
|
504
558
|
expect(react_2.screen.getByRole('row', { name: /Cell 1 Cell 2/i })).toHaveAttribute('extraHeaders', 'Column 1,Column 2');
|
|
505
559
|
expect(react_2.screen.getByRole('row', { name: /Cell 3 Cell 4/i })).toHaveAttribute('extraHeaders', 'Column 1,Column 2');
|
|
506
560
|
expect(react_2.screen.getByRole('cell', { name: /Cell 1/i })).toHaveAttribute('data-label', 'Column 1');
|
|
@@ -509,70 +563,70 @@ describe('Message', () => {
|
|
|
509
563
|
expect(react_2.screen.getByRole('cell', { name: /Cell 4/i })).toHaveAttribute('data-label', 'Column 2');
|
|
510
564
|
});
|
|
511
565
|
it('should render table data labels correctly for mobile breakpoint for one column table', () => {
|
|
512
|
-
(0, react_2.render)(
|
|
566
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: ONE_COLUMN_TABLE }));
|
|
513
567
|
expect(react_2.screen.getByRole('row', { name: /Cell 1/i })).toHaveAttribute('extraHeaders', 'Column 1');
|
|
514
568
|
expect(react_2.screen.getByRole('row', { name: /Cell 2/i })).toHaveAttribute('extraHeaders', 'Column 1');
|
|
515
569
|
expect(react_2.screen.getByRole('cell', { name: /Cell 1/i })).toHaveAttribute('data-label', 'Column 1');
|
|
516
570
|
expect(react_2.screen.getByRole('cell', { name: /Cell 2/i })).toHaveAttribute('data-label', 'Column 1');
|
|
517
571
|
});
|
|
518
572
|
it('should render table data labels correctly for mobile breakpoint for one cell table', () => {
|
|
519
|
-
(0, react_2.render)(
|
|
573
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: ONE_CELL_TABLE }));
|
|
520
574
|
expect(react_2.screen.getByRole('row', { name: /Cell 1/i })).toHaveAttribute('extraHeaders', 'Column 1');
|
|
521
575
|
expect(react_2.screen.getByRole('cell', { name: /Cell 1/i })).toHaveAttribute('data-label', 'Column 1');
|
|
522
576
|
});
|
|
523
577
|
it('should render table data labels correctly for mobile breakpoint for headerless', () => {
|
|
524
|
-
(0, react_2.render)(
|
|
578
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: HEADERLESS_TABLE }));
|
|
525
579
|
expect(react_2.screen.getByRole('row', { name: /Cell 1/i })).toHaveAttribute('extraHeaders', '');
|
|
526
580
|
expect(react_2.screen.getByRole('cell', { name: /Cell 1/i })).not.toHaveAttribute('data-label');
|
|
527
581
|
});
|
|
528
582
|
it('should render table data labels correctly for mobile breakpoint for childless', () => {
|
|
529
|
-
(0, react_2.render)(
|
|
583
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: CHILDLESS_TABLE }));
|
|
530
584
|
expect(react_2.screen.getByRole('cell')).not.toHaveAttribute('extraHeaders', 'Column 1');
|
|
531
585
|
});
|
|
532
586
|
it('should render table data labels correctly for mobile breakpoint for empty', () => {
|
|
533
|
-
(0, react_2.render)(
|
|
587
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: EMPTY_TABLE }));
|
|
534
588
|
expect(react_2.screen.getByRole('cell')).not.toHaveAttribute('extraHeaders', '');
|
|
535
589
|
});
|
|
536
590
|
it('should render custom table aria label correctly', () => {
|
|
537
|
-
(0, react_2.render)(
|
|
591
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: TABLE, tableProps: { 'aria-label': 'Test' } }));
|
|
538
592
|
expect(react_2.screen.getByRole('grid', { name: /Test/i })).toBeTruthy();
|
|
539
593
|
});
|
|
540
594
|
it('should render beforeMainContent with main content', () => {
|
|
541
595
|
const mainContent = 'Main message content';
|
|
542
596
|
const beforeMainContentText = 'Before main content';
|
|
543
|
-
const beforeMainContent =
|
|
544
|
-
(0, react_2.render)(
|
|
597
|
+
const beforeMainContent = (0, jsx_runtime_1.jsx)("div", { children: beforeMainContentText });
|
|
598
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: mainContent, extraContent: { beforeMainContent } }));
|
|
545
599
|
expect(react_2.screen.getByText(beforeMainContentText)).toBeTruthy();
|
|
546
600
|
expect(react_2.screen.getByText(mainContent)).toBeTruthy();
|
|
547
601
|
});
|
|
548
602
|
it('should render afterMainContent with main content', () => {
|
|
549
603
|
const mainContent = 'Main message content';
|
|
550
604
|
const afterMainContentText = 'After main content';
|
|
551
|
-
const afterMainContent =
|
|
552
|
-
(0, react_2.render)(
|
|
605
|
+
const afterMainContent = (0, jsx_runtime_1.jsx)("div", { children: afterMainContentText });
|
|
606
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: mainContent, extraContent: { afterMainContent } }));
|
|
553
607
|
expect(react_2.screen.getByText(afterMainContentText)).toBeTruthy();
|
|
554
608
|
expect(react_2.screen.getByText(mainContent)).toBeTruthy();
|
|
555
609
|
});
|
|
556
610
|
it('should render endContent with main content', () => {
|
|
557
611
|
const mainContent = 'Main message content';
|
|
558
612
|
const endMainContentText = 'End content';
|
|
559
|
-
const endContent =
|
|
560
|
-
(0, react_2.render)(
|
|
613
|
+
const endContent = (0, jsx_runtime_1.jsx)("div", { children: endMainContentText });
|
|
614
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: mainContent, extraContent: { endContent } }));
|
|
561
615
|
expect(react_2.screen.getByText(endMainContentText)).toBeTruthy();
|
|
562
616
|
expect(react_2.screen.getByText(mainContent)).toBeTruthy();
|
|
563
617
|
});
|
|
564
618
|
it('should render all parts of extraContent with main content', () => {
|
|
565
|
-
const beforeMainContent =
|
|
566
|
-
const afterMainContent =
|
|
567
|
-
const endContent =
|
|
568
|
-
(0, react_2.render)(
|
|
619
|
+
const beforeMainContent = (0, jsx_runtime_1.jsx)("div", { children: "Before main content" });
|
|
620
|
+
const afterMainContent = (0, jsx_runtime_1.jsx)("div", { children: "After main content" });
|
|
621
|
+
const endContent = (0, jsx_runtime_1.jsx)("div", { children: "End content" });
|
|
622
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: "Main message content", extraContent: { beforeMainContent, afterMainContent, endContent } }));
|
|
569
623
|
expect(react_2.screen.getByText('Before main content')).toBeTruthy();
|
|
570
624
|
expect(react_2.screen.getByText('Main message content')).toBeTruthy();
|
|
571
625
|
expect(react_2.screen.getByText('After main content')).toBeTruthy();
|
|
572
626
|
expect(react_2.screen.getByText('End content')).toBeTruthy();
|
|
573
627
|
});
|
|
574
628
|
it('should not render extraContent when not provided', () => {
|
|
575
|
-
(0, react_2.render)(
|
|
629
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: "Main message content" }));
|
|
576
630
|
// Ensure no extraContent is rendered
|
|
577
631
|
expect(react_2.screen.getByText('Main message content')).toBeTruthy();
|
|
578
632
|
expect(react_2.screen.queryByText('Before main content')).toBeFalsy();
|
|
@@ -580,7 +634,7 @@ describe('Message', () => {
|
|
|
580
634
|
expect(react_2.screen.queryByText('end message content')).toBeFalsy();
|
|
581
635
|
});
|
|
582
636
|
it('should handle undefined or null values in extraContent gracefully', () => {
|
|
583
|
-
(0, react_2.render)(
|
|
637
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: "Main message content", extraContent: { beforeMainContent: null, afterMainContent: undefined, endContent: null } }));
|
|
584
638
|
// Ensure that no extraContent is rendered if they are null or undefined
|
|
585
639
|
expect(react_2.screen.getByText('Main message content')).toBeTruthy();
|
|
586
640
|
expect(react_2.screen.queryByText('Before main content')).toBeFalsy();
|
|
@@ -588,64 +642,66 @@ describe('Message', () => {
|
|
|
588
642
|
expect(react_2.screen.queryByText('end message content')).toBeFalsy();
|
|
589
643
|
});
|
|
590
644
|
it('should render JSX in extraContent correctly', () => {
|
|
591
|
-
const beforeMainContent = (
|
|
592
|
-
|
|
593
|
-
const
|
|
594
|
-
|
|
595
|
-
const endContent = (react_1.default.createElement("div", { "data-testid": "end-main-content" },
|
|
596
|
-
react_1.default.createElement("strong", null, "Bold end content")));
|
|
597
|
-
(0, react_2.render)(react_1.default.createElement(Message_1.default, { avatar: "./img", role: "user", name: "User", content: "Main message content", extraContent: { beforeMainContent, afterMainContent, endContent } }));
|
|
645
|
+
const beforeMainContent = ((0, jsx_runtime_1.jsx)("div", { "data-testid": "before-main-content", children: (0, jsx_runtime_1.jsx)("strong", { children: "Bold before content" }) }));
|
|
646
|
+
const afterMainContent = ((0, jsx_runtime_1.jsx)("div", { "data-testid": "after-main-content", children: (0, jsx_runtime_1.jsx)("strong", { children: "Bold after content" }) }));
|
|
647
|
+
const endContent = ((0, jsx_runtime_1.jsx)("div", { "data-testid": "end-main-content", children: (0, jsx_runtime_1.jsx)("strong", { children: "Bold end content" }) }));
|
|
648
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: "Main message content", extraContent: { beforeMainContent, afterMainContent, endContent } }));
|
|
598
649
|
// Check that the JSX is correctly rendered
|
|
599
650
|
expect(react_2.screen.getByTestId('before-main-content')).toContainHTML('<strong>Bold before content</strong>');
|
|
600
651
|
expect(react_2.screen.getByTestId('after-main-content')).toContainHTML('<strong>Bold after content</strong>');
|
|
601
652
|
expect(react_2.screen.getByTestId('end-main-content')).toContainHTML('<strong>Bold end content</strong>');
|
|
602
653
|
});
|
|
603
654
|
it('should handle image correctly', () => {
|
|
604
|
-
(0, react_2.render)(
|
|
655
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: IMAGE }));
|
|
656
|
+
expect(react_2.screen.getByRole('img', { name: /Multi-colored wavy lines on a black background/i })).toBeTruthy();
|
|
657
|
+
});
|
|
658
|
+
it('inline image parent should have class pf-chatbot__message-and-actions', () => {
|
|
659
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: INLINE_IMAGE }));
|
|
605
660
|
expect(react_2.screen.getByRole('img', { name: /Multi-colored wavy lines on a black background/i })).toBeTruthy();
|
|
661
|
+
expect(react_2.screen.getByRole('img', { name: /Multi-colored wavy lines on a black background/i }).parentElement).toHaveClass('pf-chatbot__message-and-actions');
|
|
606
662
|
});
|
|
607
663
|
it('should handle external links correctly', () => {
|
|
608
|
-
(0, react_2.render)(
|
|
664
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: `[PatternFly](https://www.patternfly.org/)` }));
|
|
609
665
|
// we are mocking rehype libraries, so we can't test target _blank addition on links directly with RTL
|
|
610
666
|
expect(rehype_external_links_1.default).toHaveBeenCalledTimes(1);
|
|
611
667
|
});
|
|
612
668
|
it('should handle external links correctly', () => {
|
|
613
|
-
(0, react_2.render)(
|
|
669
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: `[PatternFly](https://www.patternfly.org/)`, openLinkInNewTab: false }));
|
|
614
670
|
// we are mocking rehype libraries, so we can't test target _blank addition on links directly with RTL
|
|
615
671
|
expect(rehype_external_links_1.default).not.toHaveBeenCalled();
|
|
616
672
|
});
|
|
617
673
|
it('should handle extra link props correctly', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
618
674
|
const spy = jest.fn();
|
|
619
|
-
(0, react_2.render)(
|
|
675
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", content: `[PatternFly](https://www.patternfly.org/)`, linkProps: { onClick: spy } }));
|
|
620
676
|
yield user_event_1.default.click(react_2.screen.getByRole('link', { name: /PatternFly/i }));
|
|
621
677
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
622
678
|
}));
|
|
623
679
|
it('should handle error correctly', () => {
|
|
624
|
-
(0, react_2.render)(
|
|
680
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", error: ERROR }));
|
|
625
681
|
expect(react_2.screen.getByRole('heading', { name: /Could not load chat/i })).toBeTruthy();
|
|
626
682
|
expect(react_2.screen.getByRole('link', { name: /Start a new chat/i })).toBeTruthy();
|
|
627
683
|
expect(react_2.screen.getByRole('link', { name: /Contact support/i })).toBeTruthy();
|
|
628
684
|
expect(react_2.screen.getByText('Wait a few minutes and check your network settings. If the issue persists:')).toBeTruthy();
|
|
629
685
|
});
|
|
630
686
|
it('should handle error correctly when loading', () => {
|
|
631
|
-
(0, react_2.render)(
|
|
687
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", error: ERROR, isLoading: true }));
|
|
632
688
|
expect(react_2.screen.queryByRole('heading', { name: /Could not load chat/i })).toBeFalsy();
|
|
633
689
|
expect(react_2.screen.getByText('Loading message')).toBeTruthy();
|
|
634
690
|
});
|
|
635
691
|
it('should handle error correctly when these is content', () => {
|
|
636
|
-
(0, react_2.render)(
|
|
692
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", error: ERROR, content: "Test" }));
|
|
637
693
|
expect(react_2.screen.getByRole('heading', { name: /Could not load chat/i })).toBeTruthy();
|
|
638
694
|
expect(react_2.screen.queryByText('Test')).toBeFalsy();
|
|
639
695
|
});
|
|
640
696
|
it('should handle isEditable when there is message content', () => {
|
|
641
|
-
(0, react_2.render)(
|
|
697
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", isEditable: true, content: "Test" }));
|
|
642
698
|
expect(react_2.screen.getByRole('textbox')).toBeTruthy();
|
|
643
699
|
expect(react_2.screen.getByRole('textbox')).toHaveValue('Test');
|
|
644
700
|
expect(react_2.screen.getByRole('button', { name: /Update/i })).toBeTruthy();
|
|
645
701
|
expect(react_2.screen.getByRole('button', { name: /Cancel/i })).toBeTruthy();
|
|
646
702
|
});
|
|
647
703
|
it('should handle isEditable when there is no message content', () => {
|
|
648
|
-
(0, react_2.render)(
|
|
704
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", isEditable: true }));
|
|
649
705
|
expect(react_2.screen.getByRole('textbox')).toBeTruthy();
|
|
650
706
|
expect(react_2.screen.getByRole('textbox')).toHaveValue('');
|
|
651
707
|
expect(react_2.screen.getByRole('textbox')).toHaveAttribute('placeholder', 'Edit prompt message...');
|
|
@@ -653,33 +709,33 @@ describe('Message', () => {
|
|
|
653
709
|
expect(react_2.screen.getByRole('button', { name: /Cancel/i })).toBeTruthy();
|
|
654
710
|
});
|
|
655
711
|
it('should be able to change edit placeholder', () => {
|
|
656
|
-
(0, react_2.render)(
|
|
712
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", isEditable: true, editPlaceholder: "I am a placeholder" }));
|
|
657
713
|
expect(react_2.screen.getByRole('textbox')).toBeTruthy();
|
|
658
714
|
expect(react_2.screen.getByRole('textbox')).toHaveValue('');
|
|
659
715
|
expect(react_2.screen.getByRole('textbox')).toHaveAttribute('placeholder', 'I am a placeholder');
|
|
660
716
|
});
|
|
661
717
|
it('should be able to change updateWord', () => {
|
|
662
|
-
(0, react_2.render)(
|
|
718
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", isEditable: true, updateWord: "Submit" }));
|
|
663
719
|
expect(react_2.screen.getByRole('button', { name: /Submit/i })).toBeTruthy();
|
|
664
720
|
});
|
|
665
721
|
it('should be able to change cancelWord', () => {
|
|
666
|
-
(0, react_2.render)(
|
|
722
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", isEditable: true, cancelWord: "Don't submit" }));
|
|
667
723
|
expect(react_2.screen.getByRole('button', { name: /Don't submit/i })).toBeTruthy();
|
|
668
724
|
});
|
|
669
725
|
it('should be able to add onEditUpdate', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
670
726
|
const spy = jest.fn();
|
|
671
|
-
(0, react_2.render)(
|
|
727
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", isEditable: true, onEditUpdate: spy }));
|
|
672
728
|
yield user_event_1.default.click(react_2.screen.getByRole('button', { name: /Update/i }));
|
|
673
729
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
674
730
|
}));
|
|
675
731
|
it('should be able to add onEditCancel', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
676
732
|
const spy = jest.fn();
|
|
677
|
-
(0, react_2.render)(
|
|
733
|
+
(0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", isEditable: true, onEditCancel: spy }));
|
|
678
734
|
yield user_event_1.default.click(react_2.screen.getByRole('button', { name: /Cancel/i }));
|
|
679
735
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
680
736
|
}));
|
|
681
737
|
it('should be able to add editFormProps', () => {
|
|
682
|
-
const { container } = (0, react_2.render)(
|
|
738
|
+
const { container } = (0, react_2.render)((0, jsx_runtime_1.jsx)(Message_1.default, { avatar: "./img", role: "user", name: "User", isEditable: true, editFormProps: { className: 'test' } }));
|
|
683
739
|
const form = container.querySelector('form');
|
|
684
740
|
expect(form).toHaveClass('test');
|
|
685
741
|
});
|