@patternfly/chatbot 6.3.0-prerelease.9 → 6.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +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 +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 +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 +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 -7
- 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 +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.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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { FunctionComponent } from 'react';
|
|
2
2
|
import { ModalProps } from '@patternfly/react-core';
|
|
3
3
|
import { ChatbotDisplayMode } from '../Chatbot';
|
|
4
4
|
export interface TermsOfUseProps extends ModalProps {
|
|
@@ -31,6 +31,6 @@ export interface TermsOfUseProps extends ModalProps {
|
|
|
31
31
|
/** Sets modal to compact styling. */
|
|
32
32
|
isCompact?: boolean;
|
|
33
33
|
}
|
|
34
|
-
export declare const TermsOfUseBase:
|
|
35
|
-
declare const TermsOfUse:
|
|
34
|
+
export declare const TermsOfUseBase: FunctionComponent<TermsOfUseProps>;
|
|
35
|
+
declare const TermsOfUse: import("react").ForwardRefExoticComponent<Omit<TermsOfUseProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
36
36
|
export default TermsOfUse;
|
|
@@ -9,10 +9,8 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
9
9
|
}
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
// ============================================================================
|
|
15
|
-
import React from 'react';
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import { forwardRef } from 'react';
|
|
16
14
|
import { Button, Content, ModalBody, ModalFooter, ModalHeader } from '@patternfly/react-core';
|
|
17
15
|
import { ChatbotDisplayMode } from '../Chatbot';
|
|
18
16
|
import ChatbotModal from '../ChatbotModal/ChatbotModal';
|
|
@@ -25,18 +23,8 @@ export const TermsOfUseBase = (_a) => {
|
|
|
25
23
|
const handleSecondaryAction = (_event) => {
|
|
26
24
|
onSecondaryAction(_event);
|
|
27
25
|
};
|
|
28
|
-
const modal = (
|
|
29
|
-
React.createElement("section", { className: `pf-chatbot__terms-of-use--section`, "aria-label": title, tabIndex: -1, ref: innerRef },
|
|
30
|
-
React.createElement(ModalHeader, { className: "pf-chatbot__terms-of-use--modal-header" },
|
|
31
|
-
React.createElement("div", { className: "pf-chatbot__terms-of-use--header" },
|
|
32
|
-
!isCompact && image && altText && (React.createElement("img", { src: image, className: "pf-chatbot__terms-of-use--image", alt: altText })),
|
|
33
|
-
React.createElement("h1", { className: "pf-chatbot__terms-of-use--title" }, title))),
|
|
34
|
-
React.createElement(ModalBody, { className: "pf-chatbot__terms-of-use--modal-body" },
|
|
35
|
-
React.createElement(Content, null, children)),
|
|
36
|
-
React.createElement(ModalFooter, { className: "pf-chatbot__terms-of-use--footer" },
|
|
37
|
-
React.createElement(Button, { isBlock: true, key: "terms-of-use-modal-primary", variant: "primary", onClick: handlePrimaryAction, form: "terms-of-use-form", size: "lg" }, primaryActionBtn),
|
|
38
|
-
React.createElement(Button, { isBlock: true, key: "terms-of-use-modal-secondary", variant: "secondary", onClick: handleSecondaryAction, size: "lg" }, secondaryActionBtn)))));
|
|
26
|
+
const modal = (_jsx(ChatbotModal, Object.assign({ isOpen: isModalOpen, ouiaId: ouiaId, "aria-labelledby": "terms-of-use-title", "aria-describedby": "terms-of-use-modal", className: `pf-chatbot__terms-of-use-modal pf-chatbot__terms-of-use-modal--${displayMode} ${isCompact ? 'pf-m-compact' : ''} ${className ? className : ''}`, displayMode: displayMode }, props, { children: _jsxs("section", { className: `pf-chatbot__terms-of-use--section`, "aria-label": title, tabIndex: -1, ref: innerRef, children: [_jsx(ModalHeader, { className: "pf-chatbot__terms-of-use--modal-header", children: _jsxs("div", { className: "pf-chatbot__terms-of-use--header", children: [!isCompact && image && altText && (_jsx("img", { src: image, className: "pf-chatbot__terms-of-use--image", alt: altText })), _jsx("h1", { className: "pf-chatbot__terms-of-use--title", children: title })] }) }), _jsx(ModalBody, { className: "pf-chatbot__terms-of-use--modal-body", children: _jsx(Content, { children: children }) }), _jsxs(ModalFooter, { className: "pf-chatbot__terms-of-use--footer", children: [_jsx(Button, { isBlock: true, variant: "primary", onClick: handlePrimaryAction, form: "terms-of-use-form", size: "lg", children: primaryActionBtn }, "terms-of-use-modal-primary"), _jsx(Button, { isBlock: true, variant: "secondary", onClick: handleSecondaryAction, size: "lg", children: secondaryActionBtn }, "terms-of-use-modal-secondary")] })] }) })));
|
|
39
27
|
return modal;
|
|
40
28
|
};
|
|
41
|
-
const TermsOfUse =
|
|
29
|
+
const TermsOfUse = forwardRef((props, ref) => (_jsx(TermsOfUseBase, Object.assign({ innerRef: ref }, props))));
|
|
42
30
|
export default TermsOfUse;
|
|
@@ -7,7 +7,7 @@ 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
11
|
import { render, screen } from '@testing-library/react';
|
|
12
12
|
import '@testing-library/jest-dom';
|
|
13
13
|
import userEvent from '@testing-library/user-event';
|
|
@@ -16,15 +16,13 @@ import { Content } from '@patternfly/react-core';
|
|
|
16
16
|
const handleModalToggle = jest.fn();
|
|
17
17
|
const onPrimaryAction = jest.fn();
|
|
18
18
|
const onSecondaryAction = jest.fn();
|
|
19
|
-
const body = (
|
|
20
|
-
React.createElement("h1", null, "Heading 1"),
|
|
21
|
-
React.createElement("p", null, "Legal text")));
|
|
19
|
+
const body = (_jsxs(Content, { children: [_jsx("h1", { children: "Heading 1" }), _jsx("p", { children: "Legal text" })] }));
|
|
22
20
|
describe('TermsOfUse', () => {
|
|
23
21
|
afterEach(() => {
|
|
24
22
|
jest.clearAllMocks();
|
|
25
23
|
});
|
|
26
24
|
it('should render modal correctly', () => {
|
|
27
|
-
render(
|
|
25
|
+
render(_jsx(TermsOfUse, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, ouiaId: "Terms", children: body }));
|
|
28
26
|
expect(screen.getByRole('heading', { name: /Terms of use/i })).toBeTruthy();
|
|
29
27
|
expect(screen.getByRole('button', { name: /Accept/i })).toBeTruthy();
|
|
30
28
|
expect(screen.getByRole('button', { name: /Decline/i })).toBeTruthy();
|
|
@@ -34,39 +32,39 @@ describe('TermsOfUse', () => {
|
|
|
34
32
|
expect(screen.getByRole('dialog')).toHaveClass('pf-chatbot__terms-of-use-modal--default');
|
|
35
33
|
});
|
|
36
34
|
it('should handle image and altText props', () => {
|
|
37
|
-
render(
|
|
35
|
+
render(_jsx(TermsOfUse, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, image: "./image.png", altText: "Test image", children: body }));
|
|
38
36
|
expect(screen.getByRole('img')).toBeTruthy();
|
|
39
37
|
expect(screen.getByRole('img')).toHaveAttribute('alt', 'Test image');
|
|
40
38
|
});
|
|
41
39
|
it('should handle className prop', () => {
|
|
42
|
-
render(
|
|
40
|
+
render(_jsx(TermsOfUse, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, className: "test", children: body }));
|
|
43
41
|
expect(screen.getByRole('dialog')).toHaveClass('pf-chatbot__terms-of-use-modal');
|
|
44
42
|
expect(screen.getByRole('dialog')).toHaveClass('pf-chatbot__terms-of-use-modal--default');
|
|
45
43
|
expect(screen.getByRole('dialog')).toHaveClass('test');
|
|
46
44
|
});
|
|
47
45
|
it('should handle title prop', () => {
|
|
48
|
-
render(
|
|
46
|
+
render(_jsx(TermsOfUse, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, title: "Updated title", children: body }));
|
|
49
47
|
expect(screen.getByRole('heading', { name: /Updated title/i })).toBeTruthy();
|
|
50
48
|
expect(screen.queryByRole('heading', { name: /Terms of use/i })).toBeFalsy();
|
|
51
49
|
});
|
|
52
50
|
it('should handle primary button prop', () => {
|
|
53
|
-
render(
|
|
51
|
+
render(_jsx(TermsOfUse, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, primaryActionBtn: "First", children: body }));
|
|
54
52
|
expect(screen.getByRole('button', { name: /First/i })).toBeTruthy();
|
|
55
53
|
expect(screen.queryByRole('button', { name: /Accept/i })).toBeFalsy();
|
|
56
54
|
});
|
|
57
55
|
it('should handle secondary button prop', () => {
|
|
58
|
-
render(
|
|
56
|
+
render(_jsx(TermsOfUse, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, secondaryActionBtn: "Second", children: body }));
|
|
59
57
|
expect(screen.getByRole('button', { name: /Second/i })).toBeTruthy();
|
|
60
58
|
expect(screen.queryByRole('button', { name: /Deny/i })).toBeFalsy();
|
|
61
59
|
});
|
|
62
60
|
it('should handle primary button click', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
63
|
-
render(
|
|
61
|
+
render(_jsx(TermsOfUse, { isModalOpen: true, onPrimaryAction: onPrimaryAction, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, children: body }));
|
|
64
62
|
yield userEvent.click(screen.getByRole('button', { name: /Accept/i }));
|
|
65
63
|
expect(onPrimaryAction).toHaveBeenCalledTimes(1);
|
|
66
64
|
expect(handleModalToggle).toHaveBeenCalledTimes(1);
|
|
67
65
|
}));
|
|
68
66
|
it('should handle secondary button click', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
69
|
-
render(
|
|
67
|
+
render(_jsx(TermsOfUse, { isModalOpen: true, onSecondaryAction: onSecondaryAction, handleModalToggle: handleModalToggle, children: body }));
|
|
70
68
|
yield userEvent.click(screen.getByRole('button', { name: /Decline/i }));
|
|
71
69
|
expect(onSecondaryAction).toHaveBeenCalledTimes(1);
|
|
72
70
|
expect(handleModalToggle).not.toHaveBeenCalled();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/index.ts","../src/
|
|
1
|
+
{"root":["../src/index.ts","../src/attachmenu/attachmenu.tsx","../src/attachmenu/index.ts","../src/attachmentedit/attachmentedit.test.tsx","../src/attachmentedit/attachmentedit.tsx","../src/attachmentedit/index.ts","../src/chatbot/chatbot.test.tsx","../src/chatbot/chatbot.tsx","../src/chatbot/index.ts","../src/chatbotalert/chatbotalert.test.tsx","../src/chatbotalert/chatbotalert.tsx","../src/chatbotalert/index.ts","../src/chatbotcontent/chatbotcontent.test.tsx","../src/chatbotcontent/chatbotcontent.tsx","../src/chatbotcontent/index.ts","../src/chatbotconversationhistorynav/chatbotconversationhistorydropdown.test.tsx","../src/chatbotconversationhistorynav/chatbotconversationhistorydropdown.tsx","../src/chatbotconversationhistorynav/chatbotconversationhistorynav.test.tsx","../src/chatbotconversationhistorynav/chatbotconversationhistorynav.tsx","../src/chatbotconversationhistorynav/emptystate.tsx","../src/chatbotconversationhistorynav/loadingstate.tsx","../src/chatbotconversationhistorynav/index.ts","../src/chatbotfooter/chatbotfooter.test.tsx","../src/chatbotfooter/chatbotfooter.tsx","../src/chatbotfooter/chatbotfooternote.test.tsx","../src/chatbotfooter/chatbotfootnote.tsx","../src/chatbotfooter/index.ts","../src/chatbotheader/chatbotheader.test.tsx","../src/chatbotheader/chatbotheader.tsx","../src/chatbotheader/chatbotheaderactions.test.tsx","../src/chatbotheader/chatbotheaderactions.tsx","../src/chatbotheader/chatbotheaderclosebutton.test.tsx","../src/chatbotheader/chatbotheaderclosebutton.tsx","../src/chatbotheader/chatbotheadermain.test.tsx","../src/chatbotheader/chatbotheadermain.tsx","../src/chatbotheader/chatbotheadermenu.test.tsx","../src/chatbotheader/chatbotheadermenu.tsx","../src/chatbotheader/chatbotheaderoptionsdropdown.test.tsx","../src/chatbotheader/chatbotheaderoptionsdropdown.tsx","../src/chatbotheader/chatbotheaderselectordropdown.test.tsx","../src/chatbotheader/chatbotheaderselectordropdown.tsx","../src/chatbotheader/chatbotheadertitle.test.tsx","../src/chatbotheader/chatbotheadertitle.tsx","../src/chatbotheader/index.ts","../src/chatbotmodal/chatbotmodal.test.tsx","../src/chatbotmodal/chatbotmodal.tsx","../src/chatbotmodal/index.ts","../src/chatbotpopover/chatbotpopover.tsx","../src/chatbotpopover/index.ts","../src/chatbottoggle/chatbottoggle.test.tsx","../src/chatbottoggle/chatbottoggle.tsx","../src/chatbottoggle/index.ts","../src/chatbotwelcomeprompt/chatbotwelcomeprompt.test.tsx","../src/chatbotwelcomeprompt/chatbotwelcomeprompt.tsx","../src/chatbotwelcomeprompt/index.ts","../src/codemodal/codemodal.test.tsx","../src/codemodal/codemodal.tsx","../src/codemodal/index.ts","../src/compare/compare.test.tsx","../src/compare/compare.tsx","../src/compare/index.ts","../src/filedetails/filedetails.test.tsx","../src/filedetails/filedetails.tsx","../src/filedetails/index.ts","../src/filedetailslabel/filedetailslabel.test.tsx","../src/filedetailslabel/filedetailslabel.tsx","../src/filedetailslabel/index.ts","../src/filedropzone/filedropzone.test.tsx","../src/filedropzone/filedropzone.tsx","../src/filedropzone/index.ts","../src/loadingmessage/loadingmessage.test.tsx","../src/loadingmessage/loadingmessage.tsx","../src/loadingmessage/index.ts","../src/message/message.test.tsx","../src/message/message.tsx","../src/message/messageinput.tsx","../src/message/messageloading.tsx","../src/message/index.ts","../src/message/codeblockmessage/codeblockmessage.tsx","../src/message/errormessage/errormessage.tsx","../src/message/imagemessage/imagemessage.tsx","../src/message/linkmessage/linkmessage.tsx","../src/message/listmessage/listitemmessage.tsx","../src/message/listmessage/orderedlistmessage.tsx","../src/message/listmessage/unorderedlistmessage.tsx","../src/message/plugins/index.ts","../src/message/plugins/rehypecodeblocktoggle.ts","../src/message/plugins/rehypemoveimagesoutofparagraphs.ts","../src/message/quickresponse/quickresponse.tsx","../src/message/quickstarts/fallbackimg.tsx","../src/message/quickstarts/quickstarttile.tsx","../src/message/quickstarts/quickstarttiledescription.test.tsx","../src/message/quickstarts/quickstarttiledescription.tsx","../src/message/quickstarts/quickstarttileheader.tsx","../src/message/quickstarts/monitor-sampleapp-quickstart-with-image.ts","../src/message/quickstarts/monitor-sampleapp-quickstart.ts","../src/message/quickstarts/types.ts","../src/message/tablemessage/tablemessage.tsx","../src/message/tablemessage/tbodymessage.tsx","../src/message/tablemessage/tdmessage.tsx","../src/message/tablemessage/thmessage.tsx","../src/message/tablemessage/theadmessage.tsx","../src/message/tablemessage/trmessage.tsx","../src/message/textmessage/textmessage.tsx","../src/message/userfeedback/closebutton.tsx","../src/message/userfeedback/userfeedback.test.tsx","../src/message/userfeedback/userfeedback.tsx","../src/message/userfeedback/userfeedbackcomplete.test.tsx","../src/message/userfeedback/userfeedbackcomplete.tsx","../src/messagebar/attachbutton.test.tsx","../src/messagebar/attachbutton.tsx","../src/messagebar/messagebar.test.tsx","../src/messagebar/messagebar.tsx","../src/messagebar/microphonebutton.tsx","../src/messagebar/sendbutton.test.tsx","../src/messagebar/sendbutton.tsx","../src/messagebar/stopbutton.test.tsx","../src/messagebar/stopbutton.tsx","../src/messagebar/index.ts","../src/messagebox/jumpbutton.test.tsx","../src/messagebox/jumpbutton.tsx","../src/messagebox/messagebox.test.tsx","../src/messagebox/messagebox.tsx","../src/messagebox/index.ts","../src/previewattachment/previewattachment.test.tsx","../src/previewattachment/previewattachment.tsx","../src/previewattachment/index.ts","../src/responseactions/responseactionbutton.test.tsx","../src/responseactions/responseactionbutton.tsx","../src/responseactions/responseactions.test.tsx","../src/responseactions/responseactions.tsx","../src/responseactions/index.ts","../src/settings/settingsform.test.tsx","../src/settings/settingsform.tsx","../src/settings/index.ts","../src/sourcedetailsmenuitem/sourcedetailsmenuitem.tsx","../src/sourcedetailsmenuitem/index.ts","../src/sourcescard/sourcescard.test.tsx","../src/sourcescard/sourcescard.tsx","../src/sourcescard/index.ts","../src/termsofuse/termsofuse.test.tsx","../src/termsofuse/termsofuse.tsx","../src/termsofuse/index.ts","../src/__mocks__/rehype-external-links.ts","../src/__mocks__/rehype-sanitize.ts","../src/__mocks__/rehype-unwrap-images.tsx","../src/tracking/console_tracking_provider.ts","../src/tracking/index.ts","../src/tracking/posthog_tracking_provider.ts","../src/tracking/segment_tracking_provider.ts","../src/tracking/trackingproviderproxy.ts","../src/tracking/tracking_api.ts","../src/tracking/tracking_registry.ts","../src/tracking/tracking_spi.ts","../src/tracking/umami_tracking_provider.ts"],"version":"5.6.3"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patternfly/chatbot",
|
|
3
|
-
"version": "6.3.
|
|
3
|
+
"version": "6.3.1",
|
|
4
4
|
"description": "This library provides React components based on PatternFly 6 that can be used to build chatbots.",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -40,16 +40,16 @@
|
|
|
40
40
|
"clsx": "^2.1.0",
|
|
41
41
|
"framer-motion": "^11.3.28",
|
|
42
42
|
"react-markdown": "^9.0.1",
|
|
43
|
-
"react-syntax-highlighter": "^15.5.0",
|
|
44
43
|
"remark-gfm": "^4.0.0",
|
|
45
44
|
"rehype-unwrap-images": "^1.0.0",
|
|
46
45
|
"rehype-external-links": "^3.0.0",
|
|
47
46
|
"rehype-sanitize": "^6.0.0",
|
|
48
|
-
"path-browserify": "^1.0.1"
|
|
47
|
+
"path-browserify": "^1.0.1",
|
|
48
|
+
"unist-util-visit": "^5.0.0"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
|
-
"react": "^17 || ^18",
|
|
52
|
-
"react-dom": "^17 || ^18"
|
|
51
|
+
"react": "^17 || ^18 || ^19",
|
|
52
|
+
"react-dom": "^17 || ^18 || ^19"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@patternfly/documentation-framework": "6.8.2",
|
|
@@ -57,8 +57,6 @@
|
|
|
57
57
|
"@patternfly/patternfly-a11y": "^5.0.0",
|
|
58
58
|
"@types/dom-speech-recognition": "^0.0.4",
|
|
59
59
|
"@types/react": "^18.2.61",
|
|
60
|
-
"react": "^18.2.0",
|
|
61
|
-
"react-dom": "^18.2.0",
|
|
62
60
|
"rimraf": "^2.7.1",
|
|
63
61
|
"typescript": "^5.3.3",
|
|
64
62
|
"@octokit/rest": "^18.0.0",
|
|
@@ -261,6 +261,16 @@ Each time a user begins a new conversation, display a [welcome message, with pro
|
|
|
261
261
|
|
|
262
262
|
As much as possible, the suggested prompts should consider the user’s location in the service or application, or the situation their project is undergoing.
|
|
263
263
|
|
|
264
|
+
### Executing user requests
|
|
265
|
+
|
|
266
|
+
Instead of automatically initiating what sounds like a request from a user, the ChatBot should ask users to confirm or deny their intent. This differentiates moments where users are simply asking about feasibility, rather than actually making a request.
|
|
267
|
+
|
|
268
|
+
This can be done using the [quick response](/patternfly-ai/chatbot/messages#messages-with-quick-responses) buttons:
|
|
269
|
+
|
|
270
|
+
<div class="ws-docs-content-img">
|
|
271
|
+

|
|
272
|
+
</div>
|
|
273
|
+
|
|
264
274
|
### Using the conversation history menu
|
|
265
275
|
|
|
266
276
|
The ChatBot history menu contains a log of a users' previous chats. Clicking the menu icon opens a side drawer in the ChatBot window.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Sidenav top-level section
|
|
3
|
+
# should be the same for all markdown files
|
|
4
|
+
section: PatternFly-AI
|
|
5
|
+
subsection: ChatBot
|
|
6
|
+
# Sidenav secondary level section
|
|
7
|
+
# should be the same for all markdown files
|
|
8
|
+
id: Customizing messages
|
|
9
|
+
source: Customizing messages
|
|
10
|
+
# Tab (react | react-demos | html | html-demos | design-guidelines | accessibility)
|
|
11
|
+
# If you use typescript, the name of the interface to display props for
|
|
12
|
+
# These are found through the sourceProps function provided in patternfly-docs.source.js
|
|
13
|
+
sortValue: 60
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Modifying static content
|
|
17
|
+
|
|
18
|
+
The ChatBot extension `<Message>` component transforms Markdown to PatternFly React components via [react-markdown](https://github.com/remarkjs/react-markdown), which supports both [rehype](https://unifiedjs.com/explore/package/rehype/) and [remark](https://unifiedjs.com/explore/package/remark/) plugins for further output customization.
|
|
19
|
+
|
|
20
|
+
remark parses Markdown as input and serializes Markdown as output, while rehype does the same for HTML. This allows you to target and make transformations at specific checkpoints in the transformation process: either while the text tree is still in Markdown, or while the text tree is in HTML format. For more detailed information on the architecture of this library, see the [react-markdown documentation](https://github.com/remarkjs/react-markdown?tab=readme-ov-file#architecture).
|
|
21
|
+
|
|
22
|
+
You may need these plugins if, for example, you wanted to change the `href` on a link based on the link text. The `<Message>` prop `rehypePlugins` will accept any custom rehype plugins. We use already use these plugins in ChatBot to [render images a certain way](https://www.npmjs.com/package/rehype-unwrap-images) and [handle external links](https://www.npmjs.com/package/rehype-external-links).
|
|
23
|
+
|
|
24
|
+
There are many open source libraries available for other common customization needs. If you can't find one for your use case, [Unified](https://unifiedjs.com/) has a helpful [guide on creating custom plugins](https://unifiedjs.com/learn/guide/create-a-rehype-plugin/).
|
|
25
|
+
For a more direct example, if we wanted to change the `href` on links that included the text string `react`, we could write a very basic plugin like this:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
import { visit } from 'unist-util-visit';
|
|
29
|
+
|
|
30
|
+
export const rehypeLinkHrefUpdater = (options) => (tree) => {
|
|
31
|
+
visit(tree, 'element', (node) => {
|
|
32
|
+
if (node.tagName === 'a' && node.properties) {
|
|
33
|
+
if (node.properties.href.includes('react')) {
|
|
34
|
+
node.properties.href = '#';
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
You could then pass `[rehypeLinkHrefUpdater]` to the `additionalRehypePlugins` prop on `<Message>` to have this applied to all relevant links read by that `<Message>` component.
|
|
43
|
+
|
|
44
|
+
## Modifying dynamic content
|
|
45
|
+
|
|
46
|
+
Props can also be used to modify dynamic content in messages.
|
|
47
|
+
|
|
48
|
+
Continuing with our link modification example, let's say you also wanted to add custom `onClick` events. In this case, you would not use `remark` or `rehype`, since they're for static tree manipulation.
|
|
49
|
+
|
|
50
|
+
Instead, you can utilize ChatBot features to customize dynamic content. We offer many `<Message>` props that allow you to implement custom behavior.
|
|
51
|
+
For example, you can use `linkProps` to pass `onClick` events and other PatternFly `<Button>` props down to links. A very basic example would be `linkProps={{onClick: (event) => console.log(event}}`, which would apply to every link in the `<Message>`. Or, you could use the `event.target`, adding your own custom `onClick` logic based on the `innerText`, `innerHTML`, or other attributes of the `event.target`.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useState, isValidElement, cloneElement, Children, FunctionComponent, ReactNode } from 'react';
|
|
2
2
|
import AttachMenu from '@patternfly/chatbot/dist/dynamic/AttachMenu';
|
|
3
3
|
import SourceDetailsMenuItem from '@patternfly/chatbot/dist/dynamic/SourceDetailsMenuItem';
|
|
4
4
|
import { Button, Divider, DropdownGroup, DropdownItem, DropdownList } from '@patternfly/react-core';
|
|
@@ -63,27 +63,27 @@ const uploadMenuItems = [
|
|
|
63
63
|
</DropdownList>
|
|
64
64
|
];
|
|
65
65
|
|
|
66
|
-
export const AttachmentMenuExample:
|
|
67
|
-
const [isOpen, setIsOpen] =
|
|
68
|
-
const [userFacingMenuItems, setUserFacingMenuItems] =
|
|
66
|
+
export const AttachmentMenuExample: FunctionComponent = () => {
|
|
67
|
+
const [isOpen, setIsOpen] = useState<boolean>(false);
|
|
68
|
+
const [userFacingMenuItems, setUserFacingMenuItems] = useState<ReactNode>([]);
|
|
69
69
|
|
|
70
70
|
const onToggleClick = () => {
|
|
71
71
|
setIsOpen(!isOpen);
|
|
72
72
|
setUserFacingMenuItems(initialMenuItems.concat(uploadMenuItems));
|
|
73
73
|
};
|
|
74
74
|
|
|
75
|
-
const findMatchingElements = (elements:
|
|
76
|
-
let matchingElements = [] as
|
|
75
|
+
const findMatchingElements = (elements: ReactNode[], targetValue: string) => {
|
|
76
|
+
let matchingElements = [] as ReactNode[];
|
|
77
77
|
|
|
78
78
|
elements.forEach((element) => {
|
|
79
|
-
if (
|
|
79
|
+
if (isValidElement(element)) {
|
|
80
80
|
// Check if the element's value matches the targetValue
|
|
81
81
|
if (element.props.value && element.props.value.toLowerCase().includes(targetValue.toLowerCase())) {
|
|
82
|
-
matchingElements.push(
|
|
82
|
+
matchingElements.push(cloneElement(element, { key: element.props.value }));
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
// Recursively check the element's children
|
|
86
|
-
const children =
|
|
86
|
+
const children = Children.toArray(element.props.children);
|
|
87
87
|
matchingElements = matchingElements.concat(findMatchingElements(children, targetValue));
|
|
88
88
|
}
|
|
89
89
|
});
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FunctionComponent, MouseEvent as ReactMouseEvent, useState } from 'react';
|
|
2
2
|
import { Button, Checkbox } from '@patternfly/react-core';
|
|
3
3
|
import { AttachmentEdit } from '@patternfly/chatbot/dist/dynamic/AttachmentEdit';
|
|
4
4
|
|
|
5
|
-
export const AttachmentEditModalExample:
|
|
6
|
-
const [isModalOpen, setIsModalOpen] =
|
|
7
|
-
const [isCompact, setIsCompact] =
|
|
5
|
+
export const AttachmentEditModalExample: FunctionComponent = () => {
|
|
6
|
+
const [isModalOpen, setIsModalOpen] = useState(false);
|
|
7
|
+
const [isCompact, setIsCompact] = useState(false);
|
|
8
8
|
|
|
9
|
-
const handleModalToggle = (_event:
|
|
9
|
+
const handleModalToggle = (_event: ReactMouseEvent | MouseEvent | KeyboardEvent) => {
|
|
10
10
|
setIsModalOpen(!isModalOpen);
|
|
11
11
|
};
|
|
12
12
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FunctionComponent } from 'react';
|
|
2
2
|
import ChatbotAlert from '@patternfly/chatbot/dist/dynamic/ChatbotAlert';
|
|
3
3
|
|
|
4
|
-
export const AttachmentErrorExample:
|
|
4
|
+
export const AttachmentErrorExample: FunctionComponent = () => (
|
|
5
5
|
<ChatbotAlert
|
|
6
6
|
variant="danger"
|
|
7
7
|
// eslint-disable-next-line no-console
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { CSSProperties, useState, Fragment, FunctionComponent, MouseEvent, Ref } from 'react';
|
|
2
2
|
import Message from '@patternfly/chatbot/dist/dynamic/Message';
|
|
3
3
|
import patternflyAvatar from './patternfly_avatar.jpg';
|
|
4
4
|
import squareImg from './PF-social-color-square.svg';
|
|
@@ -10,16 +10,19 @@ import {
|
|
|
10
10
|
SelectList,
|
|
11
11
|
SelectOption
|
|
12
12
|
} from '@patternfly/react-core';
|
|
13
|
+
import { rehypeCodeBlockToggle } from '@patternfly/chatbot/dist/esm/Message/Plugins/rehypeCodeBlockToggle';
|
|
13
14
|
|
|
14
|
-
export const BotMessageExample:
|
|
15
|
-
const [variant, setVariant] =
|
|
16
|
-
const [isOpen, setIsOpen] =
|
|
17
|
-
const [selected, setSelected] =
|
|
15
|
+
export const BotMessageExample: FunctionComponent = () => {
|
|
16
|
+
const [variant, setVariant] = useState<string>('Code');
|
|
17
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
18
|
+
const [selected, setSelected] = useState<string>('Message content type');
|
|
19
|
+
const [isExpandable, setIsExpanded] = useState(false);
|
|
18
20
|
|
|
19
21
|
/* eslint-disable indent */
|
|
20
22
|
const renderContent = () => {
|
|
21
23
|
switch (variant) {
|
|
22
24
|
case 'Code':
|
|
25
|
+
case 'Expandable code':
|
|
23
26
|
return code;
|
|
24
27
|
case 'Heading':
|
|
25
28
|
return heading;
|
|
@@ -63,8 +66,6 @@ spec:
|
|
|
63
66
|
Here is some JavaScript code:
|
|
64
67
|
|
|
65
68
|
~~~js
|
|
66
|
-
import React from 'react';
|
|
67
|
-
|
|
68
69
|
const MessageLoading = () => (
|
|
69
70
|
<div className="pf-chatbot__message-loading">
|
|
70
71
|
<span className="pf-chatbot__message-loading-dots">
|
|
@@ -153,28 +154,33 @@ _Italic text, formatted with single underscores_
|
|
|
153
154
|
title: 'Could not load chat',
|
|
154
155
|
children: 'Wait a few minutes and check your network settings. If the issue persists: ',
|
|
155
156
|
actionLinks: (
|
|
156
|
-
<
|
|
157
|
+
<Fragment>
|
|
157
158
|
<AlertActionLink component="a" href="#">
|
|
158
159
|
Start a new chat
|
|
159
160
|
</AlertActionLink>
|
|
160
161
|
<AlertActionLink component="a" href="#">
|
|
161
162
|
Contact support
|
|
162
163
|
</AlertActionLink>
|
|
163
|
-
</
|
|
164
|
+
</Fragment>
|
|
164
165
|
)
|
|
165
166
|
};
|
|
166
167
|
|
|
167
|
-
const onSelect = (_event:
|
|
168
|
+
const onSelect = (_event: MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
|
|
168
169
|
setVariant(value);
|
|
169
170
|
setSelected(value as string);
|
|
170
171
|
setIsOpen(false);
|
|
172
|
+
if (value === 'Expandable code') {
|
|
173
|
+
setIsExpanded(true);
|
|
174
|
+
} else {
|
|
175
|
+
setIsExpanded(false);
|
|
176
|
+
}
|
|
171
177
|
};
|
|
172
178
|
|
|
173
179
|
const onToggleClick = () => {
|
|
174
180
|
setIsOpen(!isOpen);
|
|
175
181
|
};
|
|
176
182
|
|
|
177
|
-
const toggle = (toggleRef:
|
|
183
|
+
const toggle = (toggleRef: Ref<MenuToggleElement>) => (
|
|
178
184
|
<MenuToggle
|
|
179
185
|
className="pf-v6-u-mb-md"
|
|
180
186
|
ref={toggleRef}
|
|
@@ -183,7 +189,7 @@ _Italic text, formatted with single underscores_
|
|
|
183
189
|
style={
|
|
184
190
|
{
|
|
185
191
|
width: '200px'
|
|
186
|
-
} as
|
|
192
|
+
} as CSSProperties
|
|
187
193
|
}
|
|
188
194
|
>
|
|
189
195
|
{selected}
|
|
@@ -220,14 +226,6 @@ _Italic text, formatted with single underscores_
|
|
|
220
226
|
content="This bot has a square avatar. You can further customize the avatar by applying an additional class or passing [PatternFly avatar props](/components/avatar) to the `<Message>` component via `avatarProps`."
|
|
221
227
|
hasRoundAvatar={false}
|
|
222
228
|
/>
|
|
223
|
-
<Message
|
|
224
|
-
name="Bot"
|
|
225
|
-
role="bot"
|
|
226
|
-
avatar={patternflyAvatar}
|
|
227
|
-
content={`Text-based message from a bot named "Bot," with updated timestamp`}
|
|
228
|
-
timestamp="1 hour ago"
|
|
229
|
-
/>
|
|
230
|
-
<Message name="Bot" role="bot" avatar={patternflyAvatar} content="Example content" isLoading />
|
|
231
229
|
<Select
|
|
232
230
|
id="single-select"
|
|
233
231
|
isOpen={isOpen}
|
|
@@ -239,6 +237,7 @@ _Italic text, formatted with single underscores_
|
|
|
239
237
|
>
|
|
240
238
|
<SelectList>
|
|
241
239
|
<SelectOption value="Code">Code</SelectOption>
|
|
240
|
+
<SelectOption value="Expandable code">Expandable code</SelectOption>
|
|
242
241
|
<SelectOption value="Inline code">Inline code</SelectOption>
|
|
243
242
|
<SelectOption value="Heading">Heading</SelectOption>
|
|
244
243
|
<SelectOption value="Block quotes">Block quotes</SelectOption>
|
|
@@ -261,6 +260,11 @@ _Italic text, formatted with single underscores_
|
|
|
261
260
|
variant === 'Table' ? { 'aria-label': 'App information and user roles for bot messages' } : undefined
|
|
262
261
|
}
|
|
263
262
|
error={variant === 'Error' ? error : undefined}
|
|
263
|
+
codeBlockProps={{ isExpandable, expandableSectionProps: { truncateMaxLines: isExpandable ? 1 : undefined } }}
|
|
264
|
+
// In this example, custom plugin will override any custom expandedText or collapsedText attributes provided
|
|
265
|
+
// The purpose of this plugin is to provide unique link names for the code blocks
|
|
266
|
+
// Because they are in the same message, this requires a custom plugin to parse the syntax tree
|
|
267
|
+
additionalRehypePlugins={[rehypeCodeBlockToggle]}
|
|
264
268
|
/>
|
|
265
269
|
</>
|
|
266
270
|
);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FunctionComponent } from 'react';
|
|
2
2
|
import FileDetails from '@patternfly/chatbot/dist/dynamic/FileDetails';
|
|
3
3
|
|
|
4
|
-
export const FileDetailsExample:
|
|
4
|
+
export const FileDetailsExample: FunctionComponent = () => <FileDetails fileName="test.yml" />;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useState, FunctionComponent, MouseEvent, Ref, CSSProperties } from 'react';
|
|
2
2
|
import FileDetailsLabel from '@patternfly/chatbot/dist/dynamic/FileDetailsLabel';
|
|
3
3
|
import { Stack, MenuToggle, MenuToggleElement, Select, SelectList, SelectOption } from '@patternfly/react-core';
|
|
4
4
|
|
|
5
|
-
export const FileDetailsLabelExample:
|
|
6
|
-
const [variant, setVariant] =
|
|
7
|
-
const [isOpen, setIsOpen] =
|
|
8
|
-
const [selected, setSelected] =
|
|
5
|
+
export const FileDetailsLabelExample: FunctionComponent = () => {
|
|
6
|
+
const [variant, setVariant] = useState<string>('plain');
|
|
7
|
+
const [isOpen, setIsOpen] = useState<boolean>(false);
|
|
8
|
+
const [selected, setSelected] = useState<string>('Variant');
|
|
9
9
|
|
|
10
|
-
const onSelect = (_event:
|
|
11
|
-
setVariant(value);
|
|
10
|
+
const onSelect = (_event: MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
|
|
11
|
+
setVariant(value as string);
|
|
12
12
|
setSelected(value as string);
|
|
13
13
|
setIsOpen(false);
|
|
14
14
|
};
|
|
@@ -17,7 +17,7 @@ export const FileDetailsLabelExample: React.FunctionComponent = () => {
|
|
|
17
17
|
setIsOpen(!isOpen);
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
-
const toggle = (toggleRef:
|
|
20
|
+
const toggle = (toggleRef: Ref<MenuToggleElement>) => (
|
|
21
21
|
<MenuToggle
|
|
22
22
|
ref={toggleRef}
|
|
23
23
|
onClick={onToggleClick}
|
|
@@ -25,7 +25,7 @@ export const FileDetailsLabelExample: React.FunctionComponent = () => {
|
|
|
25
25
|
style={
|
|
26
26
|
{
|
|
27
27
|
width: '200px'
|
|
28
|
-
} as
|
|
28
|
+
} as CSSProperties
|
|
29
29
|
}
|
|
30
30
|
>
|
|
31
31
|
{selected}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FunctionComponent, useState } from 'react';
|
|
2
2
|
import FileDropZone from '@patternfly/chatbot/dist/dynamic/FileDropZone';
|
|
3
3
|
import { DropEvent } from '@patternfly/react-core';
|
|
4
4
|
|
|
@@ -9,9 +9,9 @@ interface readFile {
|
|
|
9
9
|
loadError?: DOMException;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
export const DropzoneExample:
|
|
13
|
-
const [currentFiles, setCurrentFiles] =
|
|
14
|
-
const [readFileData, setReadFileData] =
|
|
12
|
+
export const DropzoneExample: FunctionComponent = () => {
|
|
13
|
+
const [currentFiles, setCurrentFiles] = useState<File[]>([]);
|
|
14
|
+
const [readFileData, setReadFileData] = useState<readFile[]>([]);
|
|
15
15
|
|
|
16
16
|
// remove files from both state arrays based on their name
|
|
17
17
|
const removeFiles = (namesOfFilesToRemove: string[]) => {
|
package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithAttachment.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useState, FunctionComponent, MouseEvent } from 'react';
|
|
2
2
|
|
|
3
3
|
import Message from '@patternfly/chatbot/dist/dynamic/Message';
|
|
4
4
|
import PreviewAttachment from '@patternfly/chatbot/dist/dynamic/PreviewAttachment';
|
|
@@ -10,18 +10,18 @@ interface ModalData {
|
|
|
10
10
|
fileName: string;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
export const AttachmentMenuExample:
|
|
14
|
-
const [isPreviewModalOpen, setIsPreviewModalOpen] =
|
|
15
|
-
const [isEditModalOpen, setIsEditModalOpen] =
|
|
16
|
-
const [currentModalData, setCurrentModalData] =
|
|
13
|
+
export const AttachmentMenuExample: FunctionComponent = () => {
|
|
14
|
+
const [isPreviewModalOpen, setIsPreviewModalOpen] = useState<boolean>(false);
|
|
15
|
+
const [isEditModalOpen, setIsEditModalOpen] = useState<boolean>(false);
|
|
16
|
+
const [currentModalData, setCurrentModalData] = useState<ModalData>();
|
|
17
17
|
|
|
18
|
-
const onClick = (event:
|
|
18
|
+
const onClick = (event: MouseEvent, name: string) => {
|
|
19
19
|
setCurrentModalData({ fileName: name, code: 'test' });
|
|
20
20
|
setIsEditModalOpen(false);
|
|
21
21
|
setIsPreviewModalOpen(true);
|
|
22
22
|
};
|
|
23
23
|
|
|
24
|
-
const onClose = (event:
|
|
24
|
+
const onClose = (event: MouseEvent, name: string, id: number | string | undefined) => {
|
|
25
25
|
// eslint-disable-next-line no-console
|
|
26
26
|
console.log(`Closed attachment with name: ${name} and id: ${id}`);
|
|
27
27
|
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { FunctionComponent } from 'react';
|
|
2
|
+
|
|
3
|
+
import Message from '@patternfly/chatbot/dist/dynamic/Message';
|
|
4
|
+
import patternflyAvatar from './patternfly_avatar.jpg';
|
|
5
|
+
|
|
6
|
+
export const ResponseActionClickedExample: FunctionComponent = () => (
|
|
7
|
+
<Message
|
|
8
|
+
name="Bot"
|
|
9
|
+
role="bot"
|
|
10
|
+
avatar={patternflyAvatar}
|
|
11
|
+
content="I updated your account with those settings. You're ready to set up your first dashboard!"
|
|
12
|
+
actions={{
|
|
13
|
+
// eslint-disable-next-line no-console
|
|
14
|
+
positive: { onClick: () => console.log('Good response'), isClicked: true },
|
|
15
|
+
// eslint-disable-next-line no-console
|
|
16
|
+
negative: { onClick: () => console.log('Bad response') },
|
|
17
|
+
// eslint-disable-next-line no-console
|
|
18
|
+
copy: { onClick: () => console.log('Copy') },
|
|
19
|
+
// eslint-disable-next-line no-console
|
|
20
|
+
download: { onClick: () => console.log('Download') },
|
|
21
|
+
// eslint-disable-next-line no-console
|
|
22
|
+
listen: { onClick: () => console.log('Listen') }
|
|
23
|
+
}}
|
|
24
|
+
/>
|
|
25
|
+
);
|