@patternfly/chatbot 6.3.0-prerelease.9 → 6.3.0
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 +2 -2
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +16 -33
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +56 -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 -2
- 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 +34 -16
- package/dist/cjs/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.d.ts +62 -0
- package/dist/cjs/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.js +139 -0
- 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 +24 -8
- package/dist/cjs/Message/Message.js +49 -71
- package/dist/cjs/Message/Message.test.js +112 -82
- package/dist/cjs/Message/MessageInput.d.ts +2 -2
- package/dist/cjs/Message/MessageInput.js +5 -14
- 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 +25 -2
- package/dist/cjs/MessageBar/AttachButton.js +10 -20
- package/dist/cjs/MessageBar/AttachButton.test.js +102 -24
- package/dist/cjs/MessageBar/MessageBar.d.ts +31 -3
- 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/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 +7 -3
- package/dist/cjs/ResponseActions/ResponseActions.js +39 -18
- package/dist/cjs/ResponseActions/ResponseActions.test.js +120 -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/css/main.css +15 -7
- package/dist/css/main.css.map +1 -1
- 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 +2 -2
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +16 -33
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +26 -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 -2
- 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 +35 -17
- package/dist/esm/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.d.ts +62 -0
- package/dist/esm/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.js +133 -0
- 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 +24 -8
- package/dist/esm/Message/Message.js +49 -71
- package/dist/esm/Message/Message.test.js +112 -82
- package/dist/esm/Message/MessageInput.d.ts +2 -2
- package/dist/esm/Message/MessageInput.js +5 -11
- 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 +25 -2
- package/dist/esm/MessageBar/AttachButton.js +10 -17
- package/dist/esm/MessageBar/AttachButton.test.js +95 -17
- package/dist/esm/MessageBar/MessageBar.d.ts +31 -3
- 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/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 +7 -3
- package/dist/esm/ResponseActions/ResponseActions.js +40 -19
- package/dist/esm/ResponseActions/ResponseActions.test.js +95 -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/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -6
- 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/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 +19 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/PreviewAttachment.tsx +5 -5
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +25 -14
- 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 +10 -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/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 +3 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/AttachmentDemos.md +37 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +1 -0
- 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/ChatbotInDrawer.tsx +17 -22
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotScrolling.tsx +536 -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.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.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.test.tsx +3 -3
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.tsx +8 -6
- package/src/ChatbotConversationHistoryNav/EmptyState.tsx +2 -2
- package/src/ChatbotConversationHistoryNav/LoadingState.tsx +2 -2
- 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.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.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 +44 -4
- 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 +126 -18
- package/src/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.tsx +223 -0
- 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.test.tsx +49 -6
- package/src/Message/Message.tsx +31 -14
- package/src/Message/MessageInput.tsx +5 -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 +49 -6
- package/src/MessageBar/MessageBar.test.tsx +81 -30
- package/src/MessageBar/MessageBar.tsx +85 -19
- package/src/MessageBar/MicrophoneButton.tsx +10 -7
- 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.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/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 +121 -4
- package/src/ResponseActions/ResponseActions.tsx +71 -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/tsconfig.cjs.json +0 -1
- package/tsconfig.json +3 -3
|
@@ -7,7 +7,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
-
import
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
import { Fragment } from 'react';
|
|
11
12
|
import { render, screen } from '@testing-library/react';
|
|
12
13
|
import '@testing-library/jest-dom';
|
|
13
14
|
import Message from './Message';
|
|
@@ -135,12 +136,11 @@ const EMPTY_TABLE = `
|
|
|
135
136
|
|
|
136
137
|
`;
|
|
137
138
|
const IMAGE = ``;
|
|
139
|
+
const INLINE_IMAGE = `inline text `;
|
|
138
140
|
const ERROR = {
|
|
139
141
|
title: 'Could not load chat',
|
|
140
142
|
children: 'Wait a few minutes and check your network settings. If the issue persists: ',
|
|
141
|
-
actionLinks: (
|
|
142
|
-
React.createElement(AlertActionLink, { component: "a", href: "#" }, "Start a new chat"),
|
|
143
|
-
React.createElement(AlertActionLink, { component: "a", href: "#" }, "Contact support")))
|
|
143
|
+
actionLinks: (_jsxs(Fragment, { children: [_jsx(AlertActionLink, { component: "a", href: "#", children: "Start a new chat" }), _jsx(AlertActionLink, { component: "a", href: "#", children: "Contact support" })] }))
|
|
144
144
|
};
|
|
145
145
|
const checkListItemsRendered = () => {
|
|
146
146
|
const items = ['Item 1', 'Item 2', 'Item 3'];
|
|
@@ -155,7 +155,7 @@ describe('Message', () => {
|
|
|
155
155
|
jest.clearAllMocks();
|
|
156
156
|
});
|
|
157
157
|
it('should render user messages correctly', () => {
|
|
158
|
-
render(
|
|
158
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Hi" }));
|
|
159
159
|
expect(screen.getByText('User')).toBeTruthy();
|
|
160
160
|
expect(screen.getByText('Hi')).toBeTruthy();
|
|
161
161
|
const date = new Date();
|
|
@@ -169,7 +169,7 @@ describe('Message', () => {
|
|
|
169
169
|
expect(screen.getByRole('img')).toHaveAttribute('src', './img');
|
|
170
170
|
});
|
|
171
171
|
it('should render bot messages correctly', () => {
|
|
172
|
-
render(
|
|
172
|
+
render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi" }));
|
|
173
173
|
expect(screen.getByText('Bot')).toBeTruthy();
|
|
174
174
|
expect(screen.getByText('AI')).toBeTruthy();
|
|
175
175
|
expect(screen.getByText('Hi')).toBeTruthy();
|
|
@@ -182,18 +182,18 @@ describe('Message', () => {
|
|
|
182
182
|
})).toBeInTheDocument();
|
|
183
183
|
});
|
|
184
184
|
it('should render avatar correctly', () => {
|
|
185
|
-
render(
|
|
185
|
+
render(_jsx(Message, { avatar: "./testImg", role: "bot", name: "Bot", content: "Hi" }));
|
|
186
186
|
expect(screen.getByRole('img')).toHaveAttribute('src', './testImg');
|
|
187
187
|
});
|
|
188
188
|
it('should render botWord correctly', () => {
|
|
189
|
-
render(
|
|
189
|
+
render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", botWord: "\u4EBA\u5DE5\u77E5\u80FD" }));
|
|
190
190
|
expect(screen.getByText('Bot')).toBeTruthy();
|
|
191
191
|
expect(screen.getByText('人工知能')).toBeTruthy();
|
|
192
192
|
expect(screen.queryByText('AI')).toBeFalsy();
|
|
193
193
|
expect(screen.getByText('Hi')).toBeTruthy();
|
|
194
194
|
});
|
|
195
195
|
it('should render timestamps', () => {
|
|
196
|
-
render(
|
|
196
|
+
render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", timestamp: "2 hours ago" }));
|
|
197
197
|
expect(screen.getByText('Bot')).toBeTruthy();
|
|
198
198
|
expect(screen.getByText('AI')).toBeTruthy();
|
|
199
199
|
expect(screen.getByText('Hi')).toBeTruthy();
|
|
@@ -207,13 +207,13 @@ describe('Message', () => {
|
|
|
207
207
|
})).not.toBeInTheDocument();
|
|
208
208
|
});
|
|
209
209
|
it('should render attachments', () => {
|
|
210
|
-
render(
|
|
210
|
+
render(_jsx(Message, { avatar: "./img", role: "user", content: "Hi", attachments: [{ name: 'testAttachment' }] }));
|
|
211
211
|
expect(screen.getByText('Hi')).toBeTruthy();
|
|
212
212
|
expect(screen.getByText('testAttachment')).toBeTruthy();
|
|
213
213
|
});
|
|
214
214
|
it('should be able to click attachments', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
215
215
|
const spy = jest.fn();
|
|
216
|
-
render(
|
|
216
|
+
render(_jsx(Message, { avatar: "./img", role: "user", content: "Hi", attachments: [{ name: 'testAttachment', onClick: spy }] }));
|
|
217
217
|
expect(screen.getByText('Hi')).toBeTruthy();
|
|
218
218
|
expect(screen.getByText('testAttachment')).toBeTruthy();
|
|
219
219
|
yield userEvent.click(screen.getByRole('button', { name: /testAttachment/i }));
|
|
@@ -221,7 +221,7 @@ describe('Message', () => {
|
|
|
221
221
|
}));
|
|
222
222
|
it('should be able to close attachments', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
223
223
|
const spy = jest.fn();
|
|
224
|
-
render(
|
|
224
|
+
render(_jsx(Message, { avatar: "./img", role: "user", content: "Hi", attachments: [{ name: 'testAttachment', onClose: spy }] }));
|
|
225
225
|
expect(screen.getByText('Hi')).toBeTruthy();
|
|
226
226
|
expect(screen.getByText('testAttachment')).toBeTruthy();
|
|
227
227
|
expect(screen.getByRole('button', { name: /close testAttachment/i })).toBeTruthy();
|
|
@@ -229,7 +229,7 @@ describe('Message', () => {
|
|
|
229
229
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
230
230
|
}));
|
|
231
231
|
it('should render loading state', () => {
|
|
232
|
-
render(
|
|
232
|
+
render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", isLoading: true }));
|
|
233
233
|
expect(screen.getByText('Bot')).toBeTruthy();
|
|
234
234
|
expect(screen.getByText('AI')).toBeTruthy();
|
|
235
235
|
expect(screen.queryByText('Hi')).toBeFalsy();
|
|
@@ -243,7 +243,7 @@ describe('Message', () => {
|
|
|
243
243
|
expect(screen.getByText('Loading message')).toBeTruthy();
|
|
244
244
|
});
|
|
245
245
|
it('should be able to show sources', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
246
|
-
render(
|
|
246
|
+
render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", sources: {
|
|
247
247
|
sources: [
|
|
248
248
|
{
|
|
249
249
|
title: 'Getting started with Red Hat OpenShift',
|
|
@@ -255,7 +255,7 @@ describe('Message', () => {
|
|
|
255
255
|
expect(screen.getByText('Getting started with Red Hat OpenShift')).toBeTruthy();
|
|
256
256
|
}));
|
|
257
257
|
it('should not show sources if loading', () => {
|
|
258
|
-
render(
|
|
258
|
+
render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", isLoading: true, sources: {
|
|
259
259
|
sources: [
|
|
260
260
|
{
|
|
261
261
|
title: 'Getting started with Red Hat OpenShift',
|
|
@@ -269,7 +269,7 @@ describe('Message', () => {
|
|
|
269
269
|
});
|
|
270
270
|
it('should be able to show quick response', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
271
271
|
const spy = jest.fn();
|
|
272
|
-
render(
|
|
272
|
+
render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", quickResponses: [
|
|
273
273
|
{
|
|
274
274
|
id: '1',
|
|
275
275
|
content: 'Yes',
|
|
@@ -283,7 +283,7 @@ describe('Message', () => {
|
|
|
283
283
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
284
284
|
}));
|
|
285
285
|
it('should be able to handle isCompact', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
286
|
-
render(
|
|
286
|
+
render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", quickResponses: [
|
|
287
287
|
{
|
|
288
288
|
id: '1',
|
|
289
289
|
content: 'Yes',
|
|
@@ -296,7 +296,7 @@ describe('Message', () => {
|
|
|
296
296
|
}));
|
|
297
297
|
it('should be able to show more than 1 quick response', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
298
298
|
const spy = jest.fn();
|
|
299
|
-
render(
|
|
299
|
+
render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", quickResponses: [
|
|
300
300
|
{
|
|
301
301
|
id: '1',
|
|
302
302
|
content: 'Yes',
|
|
@@ -313,7 +313,7 @@ describe('Message', () => {
|
|
|
313
313
|
}));
|
|
314
314
|
it('should be able to spread quickResponseContainerProps', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
315
315
|
const spy = jest.fn();
|
|
316
|
-
render(
|
|
316
|
+
render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", quickResponses: [
|
|
317
317
|
{
|
|
318
318
|
id: '1',
|
|
319
319
|
content: 'Yes',
|
|
@@ -333,7 +333,7 @@ describe('Message', () => {
|
|
|
333
333
|
expect(screen.getByRole('button', { name: /1 more/i }));
|
|
334
334
|
}));
|
|
335
335
|
it('should be able to show actions', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
336
|
-
render(
|
|
336
|
+
render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", actions: {
|
|
337
337
|
// eslint-disable-next-line no-console
|
|
338
338
|
positive: { onClick: () => console.log('Good response') },
|
|
339
339
|
// eslint-disable-next-line no-console
|
|
@@ -343,6 +343,8 @@ describe('Message', () => {
|
|
|
343
343
|
// eslint-disable-next-line no-console
|
|
344
344
|
share: { onClick: () => console.log('Share') },
|
|
345
345
|
// eslint-disable-next-line no-console
|
|
346
|
+
download: { onClick: () => console.log('Download') },
|
|
347
|
+
// eslint-disable-next-line no-console
|
|
346
348
|
listen: { onClick: () => console.log('Listen') }
|
|
347
349
|
} }));
|
|
348
350
|
ALL_ACTIONS.forEach(({ label }) => {
|
|
@@ -350,7 +352,7 @@ describe('Message', () => {
|
|
|
350
352
|
});
|
|
351
353
|
}));
|
|
352
354
|
it('should not show actions if loading', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
353
|
-
render(
|
|
355
|
+
render(_jsx(Message, { avatar: "./img", role: "bot", name: "Bot", content: "Hi", isLoading: true, actions: {
|
|
354
356
|
// eslint-disable-next-line no-console
|
|
355
357
|
positive: { onClick: () => console.log('Good response') },
|
|
356
358
|
// eslint-disable-next-line no-console
|
|
@@ -360,6 +362,8 @@ describe('Message', () => {
|
|
|
360
362
|
// eslint-disable-next-line no-console
|
|
361
363
|
share: { onClick: () => console.log('Share') },
|
|
362
364
|
// eslint-disable-next-line no-console
|
|
365
|
+
download: { onClick: () => console.log('Download') },
|
|
366
|
+
// eslint-disable-next-line no-console
|
|
363
367
|
listen: { onClick: () => console.log('Listen') }
|
|
364
368
|
} }));
|
|
365
369
|
expect(screen.getByText('Loading message')).toBeTruthy();
|
|
@@ -368,30 +372,30 @@ describe('Message', () => {
|
|
|
368
372
|
});
|
|
369
373
|
}));
|
|
370
374
|
it('should render unordered lists correctly', () => {
|
|
371
|
-
render(
|
|
375
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: UNORDERED_LIST }));
|
|
372
376
|
expect(screen.getByText('Here is an unordered list:')).toBeTruthy();
|
|
373
377
|
checkListItemsRendered();
|
|
374
378
|
});
|
|
375
379
|
it('should render ordered lists correctly', () => {
|
|
376
|
-
render(
|
|
380
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: ORDERED_LIST }));
|
|
377
381
|
expect(screen.getByText('Here is an ordered list:')).toBeTruthy();
|
|
378
382
|
checkListItemsRendered();
|
|
379
383
|
});
|
|
380
384
|
it('should render ordered lists correctly if there is interstitial content', () => {
|
|
381
|
-
render(
|
|
385
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: ORDERED_LIST_WITH_CODE }));
|
|
382
386
|
checkListItemsRendered();
|
|
383
387
|
const list = screen.getAllByRole('list')[1];
|
|
384
388
|
expect(list).toHaveAttribute('start', '3');
|
|
385
389
|
});
|
|
386
390
|
it('should render inline code', () => {
|
|
387
|
-
render(
|
|
391
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: INLINE_CODE }));
|
|
388
392
|
expect(screen.getByText(/() => void/i)).toBeTruthy();
|
|
389
393
|
expect(screen.queryByRole('button', { name: 'Copy code button' })).toBeFalsy();
|
|
390
394
|
});
|
|
391
395
|
it('should render code correctly', () => {
|
|
392
|
-
render(
|
|
396
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: CODE_MESSAGE }));
|
|
393
397
|
expect(screen.getByText('Here is some YAML code:')).toBeTruthy();
|
|
394
|
-
expect(screen.getByRole('button', { name: 'Copy code
|
|
398
|
+
expect(screen.getByRole('button', { name: 'Copy code' })).toBeTruthy();
|
|
395
399
|
expect(screen.getByText(/yaml/)).toBeTruthy();
|
|
396
400
|
expect(screen.getByText(/apiVersion:/i)).toBeTruthy();
|
|
397
401
|
expect(screen.getByText(/helm.openshift.io\/v1beta1/i)).toBeTruthy();
|
|
@@ -403,44 +407,68 @@ describe('Message', () => {
|
|
|
403
407
|
expect(screen.getByText(/url:/i)).toBeTruthy();
|
|
404
408
|
expect(screen.getByText(/https:\/\/raw.githubusercontent.com\/Azure-Samples\/helm-charts\/master\/docs/i)).toBeTruthy();
|
|
405
409
|
});
|
|
410
|
+
it('should render expandable code correctly', () => {
|
|
411
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: CODE_MESSAGE, codeBlockProps: { isExpandable: true } }));
|
|
412
|
+
expect(screen.getByText('Here is some YAML code:')).toBeTruthy();
|
|
413
|
+
expect(screen.getByRole('button', { name: 'Copy code' })).toBeTruthy();
|
|
414
|
+
expect(screen.getByText(/yaml/)).toBeTruthy();
|
|
415
|
+
expect(screen.getByText(/apiVersion/i)).toBeTruthy();
|
|
416
|
+
expect(screen.getByRole('button', { name: /Show more/i })).toBeTruthy();
|
|
417
|
+
});
|
|
418
|
+
it('should handle click on expandable code correctly', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
419
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: CODE_MESSAGE, codeBlockProps: { isExpandable: true } }));
|
|
420
|
+
const button = screen.getByRole('button', { name: /Show more/i });
|
|
421
|
+
yield userEvent.click(button);
|
|
422
|
+
expect(screen.getByRole('button', { name: /Show less/i })).toBeTruthy();
|
|
423
|
+
expect(screen.getByText(/yaml/)).toBeTruthy();
|
|
424
|
+
expect(screen.getByText(/apiVersion:/i)).toBeTruthy();
|
|
425
|
+
expect(screen.getByText(/helm.openshift.io\/v1beta1/i)).toBeTruthy();
|
|
426
|
+
expect(screen.getByText(/metadata:/i)).toBeTruthy();
|
|
427
|
+
expect(screen.getByText(/name:/i)).toBeTruthy();
|
|
428
|
+
expect(screen.getByText(/azure-sample-repo0oooo00ooo/i)).toBeTruthy();
|
|
429
|
+
expect(screen.getByText(/spec/i)).toBeTruthy();
|
|
430
|
+
expect(screen.getByText(/connectionConfig:/i)).toBeTruthy();
|
|
431
|
+
expect(screen.getByText(/url:/i)).toBeTruthy();
|
|
432
|
+
expect(screen.getByText(/https:\/\/raw.githubusercontent.com\/Azure-Samples\/helm-charts\/master\/docs/i)).toBeTruthy();
|
|
433
|
+
}));
|
|
406
434
|
it('can click copy code button', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
407
435
|
// need explicit setup since RTL stubs clipboard if you do this
|
|
408
436
|
const user = userEvent.setup();
|
|
409
|
-
render(
|
|
410
|
-
expect(screen.getByRole('button', { name: 'Copy code
|
|
411
|
-
yield user.click(screen.getByRole('button', { name: 'Copy code
|
|
437
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: CODE_MESSAGE }));
|
|
438
|
+
expect(screen.getByRole('button', { name: 'Copy code' })).toBeTruthy();
|
|
439
|
+
yield user.click(screen.getByRole('button', { name: 'Copy code' }));
|
|
412
440
|
const clipboardText = yield navigator.clipboard.readText();
|
|
413
441
|
expect(clipboardText.trim()).toEqual(CODE.trim());
|
|
414
442
|
}));
|
|
415
443
|
it('should handle codeBlockProps correctly by spreading it onto the CodeMessage', () => {
|
|
416
|
-
render(
|
|
444
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: CODE_MESSAGE, codeBlockProps: { 'aria-label': 'test' } }));
|
|
417
445
|
expect(screen.getByRole('button', { name: 'test' })).toBeTruthy();
|
|
418
446
|
});
|
|
419
447
|
it('should handle hasRoundAvatar correctly when it is true', () => {
|
|
420
|
-
render(
|
|
448
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Hi", hasRoundAvatar: true }));
|
|
421
449
|
expect(screen.getByRole('img')).toBeTruthy();
|
|
422
450
|
expect(screen.getByRole('img')).toHaveClass('pf-chatbot__message-avatar');
|
|
423
451
|
expect(screen.getByRole('img')).toHaveClass('pf-chatbot__message-avatar--round');
|
|
424
452
|
});
|
|
425
453
|
it('should handle hasRoundAvatar correctly when it is false', () => {
|
|
426
|
-
render(
|
|
454
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Hi", hasRoundAvatar: false }));
|
|
427
455
|
expect(screen.getByRole('img')).toBeTruthy();
|
|
428
456
|
expect(screen.getByRole('img')).toHaveClass('pf-chatbot__message-avatar');
|
|
429
457
|
expect(screen.getByRole('img')).not.toHaveClass('pf-chatbot__message-avatar--round');
|
|
430
458
|
});
|
|
431
459
|
it('should handle avatarProps correctly by spreading it onto the Message Avatar', () => {
|
|
432
|
-
render(
|
|
460
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Hi", avatarProps: { className: 'test' } }));
|
|
433
461
|
expect(screen.getByRole('img')).toBeTruthy();
|
|
434
462
|
expect(screen.getByRole('img')).toHaveClass('test');
|
|
435
463
|
});
|
|
436
464
|
it('should handle avatarProps and hasRoundAvatar correctly', () => {
|
|
437
|
-
render(
|
|
465
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Hi", avatarProps: { className: 'test' }, hasRoundAvatar: false }));
|
|
438
466
|
expect(screen.getByRole('img')).toBeTruthy();
|
|
439
467
|
expect(screen.getByRole('img')).toHaveClass('test');
|
|
440
468
|
expect(screen.getByRole('img')).toHaveClass('pf-chatbot__message-avatar');
|
|
441
469
|
});
|
|
442
470
|
it('should handle QuickStart tile correctly', () => {
|
|
443
|
-
render(
|
|
471
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Hi", quickStarts: {
|
|
444
472
|
quickStart: monitorSampleAppQuickStart,
|
|
445
473
|
onSelectQuickStart: (id) => alert(id)
|
|
446
474
|
} }));
|
|
@@ -451,7 +479,7 @@ describe('Message', () => {
|
|
|
451
479
|
});
|
|
452
480
|
it('should handle click on QuickStart tile correctly', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
453
481
|
const spy = jest.fn();
|
|
454
|
-
render(
|
|
482
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Hi", quickStarts: {
|
|
455
483
|
quickStart: monitorSampleAppQuickStart,
|
|
456
484
|
onSelectQuickStart: (id) => spy(id)
|
|
457
485
|
} }));
|
|
@@ -461,20 +489,20 @@ describe('Message', () => {
|
|
|
461
489
|
}));
|
|
462
490
|
it('should handle QuickStart tile with image correctly', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
463
491
|
const spy = jest.fn();
|
|
464
|
-
render(
|
|
492
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Hi", quickStarts: {
|
|
465
493
|
quickStart: monitorSampleAppQuickStartWithImage,
|
|
466
494
|
onSelectQuickStart: (id) => spy(id)
|
|
467
495
|
} }));
|
|
468
496
|
expect(screen.getAllByRole('img')[1]).toHaveAttribute('src', 'test.png');
|
|
469
497
|
}));
|
|
470
498
|
it('should handle block quote correctly', () => {
|
|
471
|
-
render(
|
|
499
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: BLOCK_QUOTES }));
|
|
472
500
|
expect(screen.getByText(/Blockquotes can also be nested.../)).toBeTruthy();
|
|
473
501
|
expect(screen.getByText('...by using additional greater-than signs (>) right next to each other...')).toBeTruthy();
|
|
474
502
|
expect(screen.getByText(/...or with spaces between each sign./)).toBeTruthy();
|
|
475
503
|
});
|
|
476
504
|
it('should handle heading correctly', () => {
|
|
477
|
-
render(
|
|
505
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: HEADING }));
|
|
478
506
|
expect(screen.getByRole('heading', { name: /h1 Heading/i })).toBeTruthy();
|
|
479
507
|
expect(screen.getByRole('heading', { name: /h2 Heading/i })).toBeTruthy();
|
|
480
508
|
expect(screen.getByRole('heading', { name: /h3 Heading/i })).toBeTruthy();
|
|
@@ -483,7 +511,7 @@ describe('Message', () => {
|
|
|
483
511
|
expect(screen.getByRole('heading', { name: /h6 Heading/i })).toBeTruthy();
|
|
484
512
|
});
|
|
485
513
|
it('should render table correctly', () => {
|
|
486
|
-
render(
|
|
514
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: TABLE }));
|
|
487
515
|
expect(screen.getByRole('row', { name: /Column 1 Column 2/i })).toBeTruthy();
|
|
488
516
|
expect(screen.getByRole('row', { name: /Cell 1 Cell 2/i })).toBeTruthy();
|
|
489
517
|
expect(screen.getByRole('row', { name: /Cell 3 Cell 4/i })).toBeTruthy();
|
|
@@ -495,7 +523,7 @@ describe('Message', () => {
|
|
|
495
523
|
expect(screen.getByRole('cell', { name: /Cell 4/i })).toBeTruthy();
|
|
496
524
|
});
|
|
497
525
|
it('should render table data labels correctly for mobile breakpoint', () => {
|
|
498
|
-
render(
|
|
526
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: TABLE }));
|
|
499
527
|
expect(screen.getByRole('row', { name: /Cell 1 Cell 2/i })).toHaveAttribute('extraHeaders', 'Column 1,Column 2');
|
|
500
528
|
expect(screen.getByRole('row', { name: /Cell 3 Cell 4/i })).toHaveAttribute('extraHeaders', 'Column 1,Column 2');
|
|
501
529
|
expect(screen.getByRole('cell', { name: /Cell 1/i })).toHaveAttribute('data-label', 'Column 1');
|
|
@@ -504,70 +532,70 @@ describe('Message', () => {
|
|
|
504
532
|
expect(screen.getByRole('cell', { name: /Cell 4/i })).toHaveAttribute('data-label', 'Column 2');
|
|
505
533
|
});
|
|
506
534
|
it('should render table data labels correctly for mobile breakpoint for one column table', () => {
|
|
507
|
-
render(
|
|
535
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: ONE_COLUMN_TABLE }));
|
|
508
536
|
expect(screen.getByRole('row', { name: /Cell 1/i })).toHaveAttribute('extraHeaders', 'Column 1');
|
|
509
537
|
expect(screen.getByRole('row', { name: /Cell 2/i })).toHaveAttribute('extraHeaders', 'Column 1');
|
|
510
538
|
expect(screen.getByRole('cell', { name: /Cell 1/i })).toHaveAttribute('data-label', 'Column 1');
|
|
511
539
|
expect(screen.getByRole('cell', { name: /Cell 2/i })).toHaveAttribute('data-label', 'Column 1');
|
|
512
540
|
});
|
|
513
541
|
it('should render table data labels correctly for mobile breakpoint for one cell table', () => {
|
|
514
|
-
render(
|
|
542
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: ONE_CELL_TABLE }));
|
|
515
543
|
expect(screen.getByRole('row', { name: /Cell 1/i })).toHaveAttribute('extraHeaders', 'Column 1');
|
|
516
544
|
expect(screen.getByRole('cell', { name: /Cell 1/i })).toHaveAttribute('data-label', 'Column 1');
|
|
517
545
|
});
|
|
518
546
|
it('should render table data labels correctly for mobile breakpoint for headerless', () => {
|
|
519
|
-
render(
|
|
547
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: HEADERLESS_TABLE }));
|
|
520
548
|
expect(screen.getByRole('row', { name: /Cell 1/i })).toHaveAttribute('extraHeaders', '');
|
|
521
549
|
expect(screen.getByRole('cell', { name: /Cell 1/i })).not.toHaveAttribute('data-label');
|
|
522
550
|
});
|
|
523
551
|
it('should render table data labels correctly for mobile breakpoint for childless', () => {
|
|
524
|
-
render(
|
|
552
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: CHILDLESS_TABLE }));
|
|
525
553
|
expect(screen.getByRole('cell')).not.toHaveAttribute('extraHeaders', 'Column 1');
|
|
526
554
|
});
|
|
527
555
|
it('should render table data labels correctly for mobile breakpoint for empty', () => {
|
|
528
|
-
render(
|
|
556
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: EMPTY_TABLE }));
|
|
529
557
|
expect(screen.getByRole('cell')).not.toHaveAttribute('extraHeaders', '');
|
|
530
558
|
});
|
|
531
559
|
it('should render custom table aria label correctly', () => {
|
|
532
|
-
render(
|
|
560
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: TABLE, tableProps: { 'aria-label': 'Test' } }));
|
|
533
561
|
expect(screen.getByRole('grid', { name: /Test/i })).toBeTruthy();
|
|
534
562
|
});
|
|
535
563
|
it('should render beforeMainContent with main content', () => {
|
|
536
564
|
const mainContent = 'Main message content';
|
|
537
565
|
const beforeMainContentText = 'Before main content';
|
|
538
|
-
const beforeMainContent =
|
|
539
|
-
render(
|
|
566
|
+
const beforeMainContent = _jsx("div", { children: beforeMainContentText });
|
|
567
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: mainContent, extraContent: { beforeMainContent } }));
|
|
540
568
|
expect(screen.getByText(beforeMainContentText)).toBeTruthy();
|
|
541
569
|
expect(screen.getByText(mainContent)).toBeTruthy();
|
|
542
570
|
});
|
|
543
571
|
it('should render afterMainContent with main content', () => {
|
|
544
572
|
const mainContent = 'Main message content';
|
|
545
573
|
const afterMainContentText = 'After main content';
|
|
546
|
-
const afterMainContent =
|
|
547
|
-
render(
|
|
574
|
+
const afterMainContent = _jsx("div", { children: afterMainContentText });
|
|
575
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: mainContent, extraContent: { afterMainContent } }));
|
|
548
576
|
expect(screen.getByText(afterMainContentText)).toBeTruthy();
|
|
549
577
|
expect(screen.getByText(mainContent)).toBeTruthy();
|
|
550
578
|
});
|
|
551
579
|
it('should render endContent with main content', () => {
|
|
552
580
|
const mainContent = 'Main message content';
|
|
553
581
|
const endMainContentText = 'End content';
|
|
554
|
-
const endContent =
|
|
555
|
-
render(
|
|
582
|
+
const endContent = _jsx("div", { children: endMainContentText });
|
|
583
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: mainContent, extraContent: { endContent } }));
|
|
556
584
|
expect(screen.getByText(endMainContentText)).toBeTruthy();
|
|
557
585
|
expect(screen.getByText(mainContent)).toBeTruthy();
|
|
558
586
|
});
|
|
559
587
|
it('should render all parts of extraContent with main content', () => {
|
|
560
|
-
const beforeMainContent =
|
|
561
|
-
const afterMainContent =
|
|
562
|
-
const endContent =
|
|
563
|
-
render(
|
|
588
|
+
const beforeMainContent = _jsx("div", { children: "Before main content" });
|
|
589
|
+
const afterMainContent = _jsx("div", { children: "After main content" });
|
|
590
|
+
const endContent = _jsx("div", { children: "End content" });
|
|
591
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Main message content", extraContent: { beforeMainContent, afterMainContent, endContent } }));
|
|
564
592
|
expect(screen.getByText('Before main content')).toBeTruthy();
|
|
565
593
|
expect(screen.getByText('Main message content')).toBeTruthy();
|
|
566
594
|
expect(screen.getByText('After main content')).toBeTruthy();
|
|
567
595
|
expect(screen.getByText('End content')).toBeTruthy();
|
|
568
596
|
});
|
|
569
597
|
it('should not render extraContent when not provided', () => {
|
|
570
|
-
render(
|
|
598
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Main message content" }));
|
|
571
599
|
// Ensure no extraContent is rendered
|
|
572
600
|
expect(screen.getByText('Main message content')).toBeTruthy();
|
|
573
601
|
expect(screen.queryByText('Before main content')).toBeFalsy();
|
|
@@ -575,7 +603,7 @@ describe('Message', () => {
|
|
|
575
603
|
expect(screen.queryByText('end message content')).toBeFalsy();
|
|
576
604
|
});
|
|
577
605
|
it('should handle undefined or null values in extraContent gracefully', () => {
|
|
578
|
-
render(
|
|
606
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Main message content", extraContent: { beforeMainContent: null, afterMainContent: undefined, endContent: null } }));
|
|
579
607
|
// Ensure that no extraContent is rendered if they are null or undefined
|
|
580
608
|
expect(screen.getByText('Main message content')).toBeTruthy();
|
|
581
609
|
expect(screen.queryByText('Before main content')).toBeFalsy();
|
|
@@ -583,64 +611,66 @@ describe('Message', () => {
|
|
|
583
611
|
expect(screen.queryByText('end message content')).toBeFalsy();
|
|
584
612
|
});
|
|
585
613
|
it('should render JSX in extraContent correctly', () => {
|
|
586
|
-
const beforeMainContent = (
|
|
587
|
-
|
|
588
|
-
const
|
|
589
|
-
|
|
590
|
-
const endContent = (React.createElement("div", { "data-testid": "end-main-content" },
|
|
591
|
-
React.createElement("strong", null, "Bold end content")));
|
|
592
|
-
render(React.createElement(Message, { avatar: "./img", role: "user", name: "User", content: "Main message content", extraContent: { beforeMainContent, afterMainContent, endContent } }));
|
|
614
|
+
const beforeMainContent = (_jsx("div", { "data-testid": "before-main-content", children: _jsx("strong", { children: "Bold before content" }) }));
|
|
615
|
+
const afterMainContent = (_jsx("div", { "data-testid": "after-main-content", children: _jsx("strong", { children: "Bold after content" }) }));
|
|
616
|
+
const endContent = (_jsx("div", { "data-testid": "end-main-content", children: _jsx("strong", { children: "Bold end content" }) }));
|
|
617
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: "Main message content", extraContent: { beforeMainContent, afterMainContent, endContent } }));
|
|
593
618
|
// Check that the JSX is correctly rendered
|
|
594
619
|
expect(screen.getByTestId('before-main-content')).toContainHTML('<strong>Bold before content</strong>');
|
|
595
620
|
expect(screen.getByTestId('after-main-content')).toContainHTML('<strong>Bold after content</strong>');
|
|
596
621
|
expect(screen.getByTestId('end-main-content')).toContainHTML('<strong>Bold end content</strong>');
|
|
597
622
|
});
|
|
598
623
|
it('should handle image correctly', () => {
|
|
599
|
-
render(
|
|
624
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: IMAGE }));
|
|
625
|
+
expect(screen.getByRole('img', { name: /Multi-colored wavy lines on a black background/i })).toBeTruthy();
|
|
626
|
+
});
|
|
627
|
+
it('inline image parent should have class pf-chatbot__message-and-actions', () => {
|
|
628
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: INLINE_IMAGE }));
|
|
600
629
|
expect(screen.getByRole('img', { name: /Multi-colored wavy lines on a black background/i })).toBeTruthy();
|
|
630
|
+
expect(screen.getByRole('img', { name: /Multi-colored wavy lines on a black background/i }).parentElement).toHaveClass('pf-chatbot__message-and-actions');
|
|
601
631
|
});
|
|
602
632
|
it('should handle external links correctly', () => {
|
|
603
|
-
render(
|
|
633
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: `[PatternFly](https://www.patternfly.org/)` }));
|
|
604
634
|
// we are mocking rehype libraries, so we can't test target _blank addition on links directly with RTL
|
|
605
635
|
expect(rehypeExternalLinks).toHaveBeenCalledTimes(1);
|
|
606
636
|
});
|
|
607
637
|
it('should handle external links correctly', () => {
|
|
608
|
-
render(
|
|
638
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: `[PatternFly](https://www.patternfly.org/)`, openLinkInNewTab: false }));
|
|
609
639
|
// we are mocking rehype libraries, so we can't test target _blank addition on links directly with RTL
|
|
610
640
|
expect(rehypeExternalLinks).not.toHaveBeenCalled();
|
|
611
641
|
});
|
|
612
642
|
it('should handle extra link props correctly', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
613
643
|
const spy = jest.fn();
|
|
614
|
-
render(
|
|
644
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", content: `[PatternFly](https://www.patternfly.org/)`, linkProps: { onClick: spy } }));
|
|
615
645
|
yield userEvent.click(screen.getByRole('link', { name: /PatternFly/i }));
|
|
616
646
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
617
647
|
}));
|
|
618
648
|
it('should handle error correctly', () => {
|
|
619
|
-
render(
|
|
649
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", error: ERROR }));
|
|
620
650
|
expect(screen.getByRole('heading', { name: /Could not load chat/i })).toBeTruthy();
|
|
621
651
|
expect(screen.getByRole('link', { name: /Start a new chat/i })).toBeTruthy();
|
|
622
652
|
expect(screen.getByRole('link', { name: /Contact support/i })).toBeTruthy();
|
|
623
653
|
expect(screen.getByText('Wait a few minutes and check your network settings. If the issue persists:')).toBeTruthy();
|
|
624
654
|
});
|
|
625
655
|
it('should handle error correctly when loading', () => {
|
|
626
|
-
render(
|
|
656
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", error: ERROR, isLoading: true }));
|
|
627
657
|
expect(screen.queryByRole('heading', { name: /Could not load chat/i })).toBeFalsy();
|
|
628
658
|
expect(screen.getByText('Loading message')).toBeTruthy();
|
|
629
659
|
});
|
|
630
660
|
it('should handle error correctly when these is content', () => {
|
|
631
|
-
render(
|
|
661
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", error: ERROR, content: "Test" }));
|
|
632
662
|
expect(screen.getByRole('heading', { name: /Could not load chat/i })).toBeTruthy();
|
|
633
663
|
expect(screen.queryByText('Test')).toBeFalsy();
|
|
634
664
|
});
|
|
635
665
|
it('should handle isEditable when there is message content', () => {
|
|
636
|
-
render(
|
|
666
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", isEditable: true, content: "Test" }));
|
|
637
667
|
expect(screen.getByRole('textbox')).toBeTruthy();
|
|
638
668
|
expect(screen.getByRole('textbox')).toHaveValue('Test');
|
|
639
669
|
expect(screen.getByRole('button', { name: /Update/i })).toBeTruthy();
|
|
640
670
|
expect(screen.getByRole('button', { name: /Cancel/i })).toBeTruthy();
|
|
641
671
|
});
|
|
642
672
|
it('should handle isEditable when there is no message content', () => {
|
|
643
|
-
render(
|
|
673
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", isEditable: true }));
|
|
644
674
|
expect(screen.getByRole('textbox')).toBeTruthy();
|
|
645
675
|
expect(screen.getByRole('textbox')).toHaveValue('');
|
|
646
676
|
expect(screen.getByRole('textbox')).toHaveAttribute('placeholder', 'Edit prompt message...');
|
|
@@ -648,33 +678,33 @@ describe('Message', () => {
|
|
|
648
678
|
expect(screen.getByRole('button', { name: /Cancel/i })).toBeTruthy();
|
|
649
679
|
});
|
|
650
680
|
it('should be able to change edit placeholder', () => {
|
|
651
|
-
render(
|
|
681
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", isEditable: true, editPlaceholder: "I am a placeholder" }));
|
|
652
682
|
expect(screen.getByRole('textbox')).toBeTruthy();
|
|
653
683
|
expect(screen.getByRole('textbox')).toHaveValue('');
|
|
654
684
|
expect(screen.getByRole('textbox')).toHaveAttribute('placeholder', 'I am a placeholder');
|
|
655
685
|
});
|
|
656
686
|
it('should be able to change updateWord', () => {
|
|
657
|
-
render(
|
|
687
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", isEditable: true, updateWord: "Submit" }));
|
|
658
688
|
expect(screen.getByRole('button', { name: /Submit/i })).toBeTruthy();
|
|
659
689
|
});
|
|
660
690
|
it('should be able to change cancelWord', () => {
|
|
661
|
-
render(
|
|
691
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", isEditable: true, cancelWord: "Don't submit" }));
|
|
662
692
|
expect(screen.getByRole('button', { name: /Don't submit/i })).toBeTruthy();
|
|
663
693
|
});
|
|
664
694
|
it('should be able to add onEditUpdate', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
665
695
|
const spy = jest.fn();
|
|
666
|
-
render(
|
|
696
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", isEditable: true, onEditUpdate: spy }));
|
|
667
697
|
yield userEvent.click(screen.getByRole('button', { name: /Update/i }));
|
|
668
698
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
669
699
|
}));
|
|
670
700
|
it('should be able to add onEditCancel', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
671
701
|
const spy = jest.fn();
|
|
672
|
-
render(
|
|
702
|
+
render(_jsx(Message, { avatar: "./img", role: "user", name: "User", isEditable: true, onEditCancel: spy }));
|
|
673
703
|
yield userEvent.click(screen.getByRole('button', { name: /Cancel/i }));
|
|
674
704
|
expect(spy).toHaveBeenCalledTimes(1);
|
|
675
705
|
}));
|
|
676
706
|
it('should be able to add editFormProps', () => {
|
|
677
|
-
const { container } = render(
|
|
707
|
+
const { container } = render(_jsx(Message, { avatar: "./img", role: "user", name: "User", isEditable: true, editFormProps: { className: 'test' } }));
|
|
678
708
|
const form = container.querySelector('form');
|
|
679
709
|
expect(form).toHaveClass('test');
|
|
680
710
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { FunctionComponent } from 'react';
|
|
2
2
|
import { FormProps } from '@patternfly/react-core';
|
|
3
3
|
export interface MessageInputProps extends FormProps {
|
|
4
4
|
/** Placeholder for edit input */
|
|
@@ -14,5 +14,5 @@ export interface MessageInputProps extends FormProps {
|
|
|
14
14
|
/** Message text */
|
|
15
15
|
content?: string;
|
|
16
16
|
}
|
|
17
|
-
declare const MessageInput:
|
|
17
|
+
declare const MessageInput: FunctionComponent<MessageInputProps>;
|
|
18
18
|
export default MessageInput;
|