@patternfly/chatbot 6.3.0-prerelease.2 → 6.3.0-prerelease.20
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 +14 -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 +3 -2
- package/dist/cjs/Chatbot/Chatbot.js +5 -10
- package/dist/cjs/Chatbot/Chatbot.test.js +13 -9
- 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 +4 -2
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +17 -34
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +58 -62
- 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 +4 -3
- package/dist/cjs/ChatbotFooter/ChatbotFooter.js +3 -16
- package/dist/cjs/ChatbotFooter/ChatbotFooter.test.d.ts +1 -1
- package/dist/cjs/ChatbotFooter/ChatbotFooter.test.js +10 -5
- 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 +5 -4
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.js +19 -10
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +1 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.js +10 -8
- 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 +5 -4
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.js +20 -8
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +1 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.js +10 -8
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +7 -3
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +8 -9
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +1 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +22 -19
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +9 -3
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +11 -12
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +1 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +20 -17
- 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 +5 -2
- package/dist/cjs/ChatbotModal/ChatbotModal.js +4 -10
- package/dist/cjs/ChatbotModal/ChatbotModal.test.d.ts +1 -0
- package/dist/cjs/ChatbotModal/ChatbotModal.test.js +16 -0
- 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 +3 -2
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +7 -21
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +18 -14
- package/dist/cjs/CodeModal/CodeModal.d.ts +10 -2
- package/dist/cjs/CodeModal/CodeModal.js +8 -20
- package/dist/cjs/CodeModal/CodeModal.test.d.ts +1 -0
- package/dist/cjs/CodeModal/CodeModal.test.js +34 -0
- 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 +9 -2
- package/dist/cjs/FileDropZone/FileDropZone.js +6 -9
- package/dist/cjs/FileDropZone/FileDropZone.test.js +31 -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 +22 -16
- package/dist/cjs/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.d.ts +62 -0
- package/dist/cjs/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.js +136 -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 +26 -8
- package/dist/cjs/Message/Message.js +50 -72
- package/dist/cjs/Message/Message.test.js +119 -81
- 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/rehypeMoveImagesOutOfParagraphs.d.ts +2 -0
- package/dist/cjs/Message/Plugins/rehypeMoveImagesOutOfParagraphs.js +47 -0
- package/dist/cjs/Message/QuickResponse/QuickResponse.d.ts +4 -2
- package/dist/cjs/Message/QuickResponse/QuickResponse.js +8 -10
- 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 +4 -2
- package/dist/cjs/Message/QuickStarts/QuickStartTile.js +8 -44
- 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 +13 -24
- package/dist/cjs/Message/UserFeedback/UserFeedback.test.js +55 -51
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.js +21 -45
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.js +83 -89
- package/dist/cjs/MessageBar/AttachButton.d.ts +9 -2
- package/dist/cjs/MessageBar/AttachButton.js +9 -17
- package/dist/cjs/MessageBar/AttachButton.test.js +50 -22
- package/dist/cjs/MessageBar/MessageBar.d.ts +16 -3
- package/dist/cjs/MessageBar/MessageBar.js +36 -37
- package/dist/cjs/MessageBar/MessageBar.test.js +122 -108
- package/dist/cjs/MessageBar/MicrophoneButton.d.ts +3 -2
- package/dist/cjs/MessageBar/MicrophoneButton.js +8 -15
- package/dist/cjs/MessageBar/SendButton.d.ts +4 -2
- package/dist/cjs/MessageBar/SendButton.js +4 -12
- package/dist/cjs/MessageBar/SendButton.test.js +18 -14
- package/dist/cjs/MessageBar/StopButton.d.ts +4 -2
- package/dist/cjs/MessageBar/StopButton.js +4 -13
- package/dist/cjs/MessageBar/StopButton.test.js +18 -14
- 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 +181 -44
- package/dist/cjs/MessageBox/MessageBox.test.js +219 -6
- package/dist/cjs/PreviewAttachment/PreviewAttachment.d.ts +14 -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 +6 -3
- package/dist/cjs/ResponseActions/ResponseActions.js +10 -14
- package/dist/cjs/ResponseActions/ResponseActions.test.js +55 -40
- package/dist/cjs/Settings/SettingsForm.d.ts +4 -2
- package/dist/cjs/Settings/SettingsForm.js +3 -9
- package/dist/cjs/Settings/SettingsForm.test.d.ts +1 -1
- package/dist/cjs/Settings/SettingsForm.test.js +18 -9
- package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
- package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -11
- package/dist/cjs/SourcesCard/SourcesCard.d.ts +2 -2
- package/dist/cjs/SourcesCard/SourcesCard.js +17 -43
- package/dist/cjs/SourcesCard/SourcesCard.test.js +60 -60
- package/dist/cjs/TermsOfUse/TermsOfUse.d.ts +5 -3
- package/dist/cjs/TermsOfUse/TermsOfUse.js +5 -17
- package/dist/cjs/TermsOfUse/TermsOfUse.test.js +31 -33
- package/dist/css/main.css +228 -15
- 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 +14 -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 +3 -2
- package/dist/esm/Chatbot/Chatbot.js +5 -7
- package/dist/esm/Chatbot/Chatbot.test.js +9 -5
- 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 +4 -2
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +17 -34
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +29 -33
- 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 +4 -3
- package/dist/esm/ChatbotFooter/ChatbotFooter.js +3 -13
- package/dist/esm/ChatbotFooter/ChatbotFooter.test.d.ts +1 -1
- package/dist/esm/ChatbotFooter/ChatbotFooter.test.js +8 -3
- 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 +5 -4
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.js +20 -8
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +1 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.js +8 -3
- 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 +5 -4
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.js +20 -8
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +1 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.js +8 -3
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +7 -3
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +8 -9
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +1 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +13 -7
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +9 -3
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +11 -9
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +1 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +13 -7
- 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 +5 -2
- package/dist/esm/ChatbotModal/ChatbotModal.js +4 -7
- package/dist/esm/ChatbotModal/ChatbotModal.test.d.ts +1 -0
- package/dist/esm/ChatbotModal/ChatbotModal.test.js +11 -0
- 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 +3 -2
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +7 -18
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +11 -7
- package/dist/esm/CodeModal/CodeModal.d.ts +10 -2
- package/dist/esm/CodeModal/CodeModal.js +8 -20
- package/dist/esm/CodeModal/CodeModal.test.d.ts +1 -0
- package/dist/esm/CodeModal/CodeModal.test.js +29 -0
- 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 +9 -2
- package/dist/esm/FileDropZone/FileDropZone.js +6 -6
- package/dist/esm/FileDropZone/FileDropZone.test.js +29 -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 +23 -17
- package/dist/esm/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.d.ts +62 -0
- package/dist/esm/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.js +130 -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 +26 -8
- package/dist/esm/Message/Message.js +50 -72
- package/dist/esm/Message/Message.test.js +119 -81
- 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/rehypeMoveImagesOutOfParagraphs.d.ts +2 -0
- package/dist/esm/Message/Plugins/rehypeMoveImagesOutOfParagraphs.js +43 -0
- package/dist/esm/Message/QuickResponse/QuickResponse.d.ts +4 -2
- package/dist/esm/Message/QuickResponse/QuickResponse.js +8 -7
- 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 +4 -2
- package/dist/esm/Message/QuickStarts/QuickStartTile.js +8 -21
- 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 +13 -24
- package/dist/esm/Message/UserFeedback/UserFeedback.test.js +24 -20
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.js +21 -45
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.js +29 -35
- package/dist/esm/MessageBar/AttachButton.d.ts +9 -2
- package/dist/esm/MessageBar/AttachButton.js +9 -14
- package/dist/esm/MessageBar/AttachButton.test.js +44 -16
- package/dist/esm/MessageBar/MessageBar.d.ts +16 -3
- package/dist/esm/MessageBar/MessageBar.js +34 -35
- package/dist/esm/MessageBar/MessageBar.test.js +87 -73
- package/dist/esm/MessageBar/MicrophoneButton.d.ts +3 -2
- package/dist/esm/MessageBar/MicrophoneButton.js +8 -12
- package/dist/esm/MessageBar/SendButton.d.ts +4 -2
- package/dist/esm/MessageBar/SendButton.js +4 -9
- package/dist/esm/MessageBar/SendButton.test.js +13 -9
- package/dist/esm/MessageBar/StopButton.d.ts +4 -2
- package/dist/esm/MessageBar/StopButton.js +4 -10
- package/dist/esm/MessageBar/StopButton.test.js +13 -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 +181 -44
- package/dist/esm/MessageBox/MessageBox.test.js +220 -7
- package/dist/esm/PreviewAttachment/PreviewAttachment.d.ts +14 -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 +6 -3
- package/dist/esm/ResponseActions/ResponseActions.js +10 -14
- package/dist/esm/ResponseActions/ResponseActions.test.js +30 -15
- package/dist/esm/Settings/SettingsForm.d.ts +4 -2
- package/dist/esm/Settings/SettingsForm.js +3 -6
- package/dist/esm/Settings/SettingsForm.test.d.ts +1 -1
- package/dist/esm/Settings/SettingsForm.test.js +16 -4
- package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
- package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -8
- package/dist/esm/SourcesCard/SourcesCard.d.ts +2 -2
- package/dist/esm/SourcesCard/SourcesCard.js +17 -40
- package/dist/esm/SourcesCard/SourcesCard.test.js +19 -19
- package/dist/esm/TermsOfUse/TermsOfUse.d.ts +5 -3
- package/dist/esm/TermsOfUse/TermsOfUse.js +5 -17
- 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 +14 -5
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentError.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +19 -12
- 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/MessageWithCustomResponseActions.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedback.tsx +37 -4
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedbackTimeout.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickResponses.tsx +26 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickStart.tsx +13 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithResponseActions.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithSources.tsx +24 -3
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +1 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/PreviewAttachment.tsx +14 -5
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +20 -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 +18 -9
- 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 +12 -3
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithSelection.tsx +15 -6
- 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 +7 -7
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomePrompt.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/UI/CompactSettings.tsx +282 -0
- 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 +179 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/UI.md +17 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/AttachmentDemos.md +37 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +9 -1
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +17 -23
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachment.tsx +23 -14
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachmentMenu.tsx +14 -14
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotCompact.tsx +475 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotInDrawer.tsx +15 -20
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotScrolling.tsx +536 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedChatbot.tsx +15 -20
- package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedComparisonChatbot.tsx +12 -12
- 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 +29 -7
- package/src/Chatbot/Chatbot.scss +7 -0
- package/src/Chatbot/Chatbot.test.tsx +9 -1
- package/src/Chatbot/Chatbot.tsx +9 -4
- 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.scss +38 -3
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.tsx +21 -3
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.tsx +17 -8
- package/src/ChatbotConversationHistoryNav/EmptyState.tsx +2 -2
- package/src/ChatbotConversationHistoryNav/LoadingState.tsx +2 -2
- package/src/ChatbotFooter/ChatbotFooter.scss +5 -0
- package/src/ChatbotFooter/ChatbotFooter.test.tsx +10 -1
- package/src/ChatbotFooter/ChatbotFooter.tsx +6 -4
- package/src/ChatbotFooter/ChatbotFooternote.test.tsx +0 -1
- package/src/ChatbotFooter/ChatbotFootnote.tsx +6 -4
- package/src/ChatbotHeader/ChatbotHeader.scss +25 -0
- package/src/ChatbotHeader/ChatbotHeader.test.tsx +0 -1
- package/src/ChatbotHeader/ChatbotHeader.tsx +4 -7
- package/src/ChatbotHeader/ChatbotHeaderActions.test.tsx +0 -1
- package/src/ChatbotHeader/ChatbotHeaderActions.tsx +2 -2
- package/src/ChatbotHeader/ChatbotHeaderCloseButton.test.tsx +6 -1
- package/src/ChatbotHeader/ChatbotHeaderCloseButton.tsx +17 -10
- package/src/ChatbotHeader/ChatbotHeaderMain.test.tsx +0 -1
- package/src/ChatbotHeader/ChatbotHeaderMain.tsx +5 -3
- package/src/ChatbotHeader/ChatbotHeaderMenu.test.tsx +8 -1
- package/src/ChatbotHeader/ChatbotHeaderMenu.tsx +17 -12
- package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.tsx +15 -1
- package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.tsx +17 -7
- package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.tsx +19 -1
- package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.tsx +30 -6
- package/src/ChatbotHeader/ChatbotHeaderTitle.test.tsx +0 -1
- package/src/ChatbotHeader/ChatbotHeaderTitle.tsx +2 -2
- package/src/ChatbotModal/ChatbotModal.scss +15 -4
- package/src/ChatbotModal/ChatbotModal.test.tsx +58 -0
- package/src/ChatbotModal/ChatbotModal.tsx +7 -3
- package/src/ChatbotPopover/ChatbotPopover.scss +9 -5
- package/src/ChatbotPopover/ChatbotPopover.tsx +2 -2
- package/src/ChatbotToggle/ChatbotToggle.test.tsx +0 -1
- package/src/ChatbotToggle/ChatbotToggle.tsx +5 -3
- package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.scss +9 -1
- package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.tsx +13 -1
- package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.tsx +15 -4
- package/src/ChatbotWelcomePrompt/__snapshots__/ChatbotWelcomePrompt.test.tsx.snap +1 -1
- package/src/CodeModal/CodeModal.scss +11 -3
- package/src/CodeModal/CodeModal.test.tsx +51 -0
- package/src/CodeModal/CodeModal.tsx +24 -10
- 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 +2 -2
- package/src/FileDetails/__snapshots__/FileDetails.test.tsx.snap +1 -1
- package/src/FileDetailsLabel/FileDetailsLabel.test.tsx +0 -1
- package/src/FileDetailsLabel/FileDetailsLabel.tsx +1 -1
- package/src/FileDetailsLabel/__snapshots__/FileDetailsLabel.test.tsx.snap +1 -1
- package/src/FileDropZone/FileDropZone.test.tsx +29 -1
- package/src/FileDropZone/FileDropZone.tsx +13 -3
- 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 +105 -18
- package/src/Message/CodeBlockMessage/ExpandableSectionForSyntaxHighlighter.tsx +220 -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.scss +27 -0
- package/src/Message/Message.test.tsx +66 -6
- package/src/Message/Message.tsx +41 -17
- package/src/Message/MessageInput.tsx +5 -5
- package/src/Message/MessageLoading.tsx +0 -2
- package/src/Message/Plugins/rehypeMoveImagesOutOfParagraphs.ts +53 -0
- package/src/Message/QuickResponse/QuickResponse.tsx +9 -4
- package/src/Message/QuickStarts/FallbackImg.tsx +4 -3
- package/src/Message/QuickStarts/QuickStartTile.tsx +8 -4
- 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 +25 -0
- package/src/Message/TextMessage/TextMessage.tsx +1 -2
- package/src/Message/UserFeedback/CloseButton.tsx +2 -2
- package/src/Message/UserFeedback/UserFeedback.scss +24 -3
- package/src/Message/UserFeedback/UserFeedback.test.tsx +13 -1
- package/src/Message/UserFeedback/UserFeedback.tsx +12 -8
- package/src/Message/UserFeedback/UserFeedbackComplete.test.tsx +4 -1
- package/src/Message/UserFeedback/UserFeedbackComplete.tsx +26 -16
- package/src/MessageBar/AttachButton.scss +10 -0
- package/src/MessageBar/AttachButton.test.tsx +56 -8
- package/src/MessageBar/AttachButton.tsx +21 -8
- package/src/MessageBar/MessageBar.scss +17 -0
- package/src/MessageBar/MessageBar.test.tsx +81 -30
- package/src/MessageBar/MessageBar.tsx +60 -25
- package/src/MessageBar/MicrophoneButton.scss +10 -0
- package/src/MessageBar/MicrophoneButton.tsx +15 -9
- package/src/MessageBar/SendButton.scss +10 -0
- package/src/MessageBar/SendButton.test.tsx +10 -7
- package/src/MessageBar/SendButton.tsx +9 -5
- package/src/MessageBar/StopButton.scss +10 -0
- package/src/MessageBar/StopButton.test.tsx +10 -7
- package/src/MessageBar/StopButton.tsx +9 -5
- package/src/MessageBox/JumpButton.test.tsx +4 -5
- package/src/MessageBox/JumpButton.tsx +3 -3
- package/src/MessageBox/MessageBox.scss +6 -0
- package/src/MessageBox/MessageBox.test.tsx +295 -5
- package/src/MessageBox/MessageBox.tsx +301 -82
- package/src/PreviewAttachment/PreviewAttachment.test.tsx +44 -2
- package/src/PreviewAttachment/PreviewAttachment.tsx +29 -7
- package/src/ResponseActions/ResponseActionButton.test.tsx +0 -1
- package/src/ResponseActions/ResponseActionButton.tsx +6 -5
- package/src/ResponseActions/ResponseActions.test.tsx +18 -2
- package/src/ResponseActions/ResponseActions.tsx +18 -8
- package/src/Settings/Settings.scss +11 -0
- package/src/Settings/SettingsForm.test.tsx +17 -1
- package/src/Settings/SettingsForm.tsx +8 -3
- package/src/SourceDetailsMenuItem/SourceDetailsMenuItem.tsx +2 -2
- package/src/SourcesCard/SourcesCard.scss +8 -0
- package/src/SourcesCard/SourcesCard.test.tsx +0 -1
- package/src/SourcesCard/SourcesCard.tsx +9 -8
- package/src/TermsOfUse/TermsOfUse.scss +20 -0
- package/src/TermsOfUse/TermsOfUse.test.tsx +0 -1
- package/src/TermsOfUse/TermsOfUse.tsx +15 -9
- package/tsconfig.cjs.json +0 -1
- package/tsconfig.json +3 -3
@@ -1,15 +1,35 @@
|
|
1
|
-
import
|
2
|
-
|
1
|
+
import {
|
2
|
+
useRef,
|
3
|
+
useState,
|
4
|
+
FunctionComponent,
|
5
|
+
MouseEvent,
|
6
|
+
CSSProperties,
|
7
|
+
Ref,
|
8
|
+
MouseEvent as ReactMouseEvent
|
9
|
+
} from 'react';
|
10
|
+
import {
|
11
|
+
Button,
|
12
|
+
Checkbox,
|
13
|
+
SkipToContent,
|
14
|
+
MenuToggle,
|
15
|
+
MenuToggleElement,
|
16
|
+
Select,
|
17
|
+
SelectList,
|
18
|
+
SelectOption,
|
19
|
+
Stack
|
20
|
+
} from '@patternfly/react-core';
|
3
21
|
import TermsOfUse from '@patternfly/chatbot/dist/dynamic/TermsOfUse';
|
4
22
|
import Chatbot, { ChatbotDisplayMode } from '@patternfly/chatbot/dist/dynamic/Chatbot';
|
5
23
|
import termsAndConditionsHeader from './PF-TermsAndConditionsHeader.svg';
|
6
24
|
|
7
|
-
export const TermsOfUseExample:
|
8
|
-
const [isModalOpen, setIsModalOpen] =
|
9
|
-
const [displayMode, setDisplayMode] =
|
10
|
-
const [hasImage, setHasImage] =
|
11
|
-
const chatbotRef =
|
12
|
-
const termsRef =
|
25
|
+
export const TermsOfUseExample: FunctionComponent = () => {
|
26
|
+
const [isModalOpen, setIsModalOpen] = useState(true);
|
27
|
+
const [displayMode, setDisplayMode] = useState(ChatbotDisplayMode.default);
|
28
|
+
const [hasImage, setHasImage] = useState(true);
|
29
|
+
const chatbotRef = useRef<HTMLDivElement>(null);
|
30
|
+
const termsRef = useRef<HTMLDivElement>(null);
|
31
|
+
const [isOpen, setIsOpen] = useState(false);
|
32
|
+
const [selected, setSelected] = useState<string>('Select display mode');
|
13
33
|
|
14
34
|
const handleSkipToContent = (e) => {
|
15
35
|
e.preventDefault();
|
@@ -21,7 +41,7 @@ export const TermsOfUseExample: React.FunctionComponent = () => {
|
|
21
41
|
}
|
22
42
|
};
|
23
43
|
|
24
|
-
const handleModalToggle = (_event:
|
44
|
+
const handleModalToggle = (_event: MouseEvent | MouseEvent | KeyboardEvent) => {
|
25
45
|
setIsModalOpen(!isModalOpen);
|
26
46
|
};
|
27
47
|
|
@@ -34,6 +54,41 @@ export const TermsOfUseExample: React.FunctionComponent = () => {
|
|
34
54
|
// eslint-disable-next-line no-console
|
35
55
|
console.log('Clicked secondary action');
|
36
56
|
};
|
57
|
+
const onSelect = (_event: ReactMouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
|
58
|
+
setSelected(value as string);
|
59
|
+
setIsOpen(false);
|
60
|
+
if (value === 'Default') {
|
61
|
+
setDisplayMode(ChatbotDisplayMode.default);
|
62
|
+
}
|
63
|
+
if (value === 'Docked') {
|
64
|
+
setDisplayMode(ChatbotDisplayMode.docked);
|
65
|
+
}
|
66
|
+
if (value === 'Fullscreen') {
|
67
|
+
setDisplayMode(ChatbotDisplayMode.fullscreen);
|
68
|
+
}
|
69
|
+
if (value === 'Embedded') {
|
70
|
+
setDisplayMode(ChatbotDisplayMode.embedded);
|
71
|
+
}
|
72
|
+
};
|
73
|
+
|
74
|
+
const onToggleClick = () => {
|
75
|
+
setIsOpen(!isOpen);
|
76
|
+
};
|
77
|
+
|
78
|
+
const toggle = (toggleRef: Ref<MenuToggleElement>) => (
|
79
|
+
<MenuToggle
|
80
|
+
ref={toggleRef}
|
81
|
+
onClick={onToggleClick}
|
82
|
+
isExpanded={isOpen}
|
83
|
+
style={
|
84
|
+
{
|
85
|
+
width: '200px'
|
86
|
+
} as CSSProperties
|
87
|
+
}
|
88
|
+
>
|
89
|
+
{selected}
|
90
|
+
</MenuToggle>
|
91
|
+
);
|
37
92
|
|
38
93
|
const introduction = (
|
39
94
|
<>
|
@@ -89,45 +144,33 @@ export const TermsOfUseExample: React.FunctionComponent = () => {
|
|
89
144
|
boxShadow: 'var(--pf-t--global--box-shadow--lg)'
|
90
145
|
}}
|
91
146
|
>
|
92
|
-
<
|
93
|
-
<
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
label="
|
112
|
-
id="
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
id="embedded"
|
120
|
-
/>
|
121
|
-
</FormGroup>
|
122
|
-
<Checkbox
|
123
|
-
isChecked={hasImage}
|
124
|
-
aria-label="Toggle whether terms and conditions has a header image"
|
125
|
-
id="toggle-header-image"
|
126
|
-
name="toggle-header-image"
|
127
|
-
label="Has image in header"
|
128
|
-
onChange={(_event, checked) => setHasImage(checked)}
|
129
|
-
></Checkbox>
|
130
|
-
<Button onClick={handleModalToggle}>Launch modal</Button>
|
147
|
+
<Stack hasGutter>
|
148
|
+
<Select
|
149
|
+
id="single-select"
|
150
|
+
isOpen={isOpen}
|
151
|
+
selected={selected}
|
152
|
+
onSelect={onSelect}
|
153
|
+
onOpenChange={(isOpen) => setIsOpen(isOpen)}
|
154
|
+
toggle={toggle}
|
155
|
+
shouldFocusToggleOnSelect
|
156
|
+
>
|
157
|
+
<SelectList>
|
158
|
+
<SelectOption value="Default">Default</SelectOption>
|
159
|
+
<SelectOption value="Docked">Docked</SelectOption>
|
160
|
+
<SelectOption value="Fullscreen">Fullscreen</SelectOption>
|
161
|
+
<SelectOption value="Embedded">Embedded</SelectOption>
|
162
|
+
</SelectList>
|
163
|
+
</Select>
|
164
|
+
<Checkbox
|
165
|
+
isChecked={hasImage}
|
166
|
+
aria-label="Toggle whether terms and conditions has a header image"
|
167
|
+
id="toggle-header-image"
|
168
|
+
name="toggle-header-image"
|
169
|
+
label="Has image in header"
|
170
|
+
onChange={(_event, checked) => setHasImage(checked)}
|
171
|
+
></Checkbox>
|
172
|
+
<Button onClick={handleModalToggle}>Launch modal</Button>
|
173
|
+
</Stack>
|
131
174
|
</div>
|
132
175
|
<Chatbot ref={chatbotRef} displayMode={displayMode} isVisible></Chatbot>
|
133
176
|
<TermsOfUse
|
@@ -0,0 +1,179 @@
|
|
1
|
+
import {
|
2
|
+
useRef,
|
3
|
+
useState,
|
4
|
+
FunctionComponent,
|
5
|
+
MouseEvent,
|
6
|
+
CSSProperties,
|
7
|
+
Ref,
|
8
|
+
MouseEvent as ReactMouseEvent
|
9
|
+
} from 'react';
|
10
|
+
import {
|
11
|
+
Button,
|
12
|
+
SkipToContent,
|
13
|
+
MenuToggle,
|
14
|
+
MenuToggleElement,
|
15
|
+
Select,
|
16
|
+
SelectList,
|
17
|
+
SelectOption,
|
18
|
+
Stack
|
19
|
+
} from '@patternfly/react-core';
|
20
|
+
import TermsOfUse from '@patternfly/chatbot/dist/dynamic/TermsOfUse';
|
21
|
+
import Chatbot, { ChatbotDisplayMode } from '@patternfly/chatbot/dist/dynamic/Chatbot';
|
22
|
+
|
23
|
+
export const TermsOfUseCompactExample: FunctionComponent = () => {
|
24
|
+
const [isModalOpen, setIsModalOpen] = useState(true);
|
25
|
+
const [displayMode, setDisplayMode] = useState(ChatbotDisplayMode.default);
|
26
|
+
const chatbotRef = useRef<HTMLDivElement>(null);
|
27
|
+
const termsRef = useRef<HTMLDivElement>(null);
|
28
|
+
const [isOpen, setIsOpen] = useState(false);
|
29
|
+
const [selected, setSelected] = useState<string>('Select display mode');
|
30
|
+
|
31
|
+
const handleSkipToContent = (e) => {
|
32
|
+
e.preventDefault();
|
33
|
+
if (!isModalOpen && chatbotRef.current) {
|
34
|
+
chatbotRef.current.focus();
|
35
|
+
}
|
36
|
+
if (isModalOpen && termsRef.current) {
|
37
|
+
termsRef.current.focus();
|
38
|
+
}
|
39
|
+
};
|
40
|
+
|
41
|
+
const handleModalToggle = (_event: ReactMouseEvent | MouseEvent | KeyboardEvent) => {
|
42
|
+
setIsModalOpen(!isModalOpen);
|
43
|
+
};
|
44
|
+
|
45
|
+
const onPrimaryAction = () => {
|
46
|
+
// eslint-disable-next-line no-console
|
47
|
+
console.log('Clicked primary action');
|
48
|
+
};
|
49
|
+
|
50
|
+
const onSecondaryAction = () => {
|
51
|
+
// eslint-disable-next-line no-console
|
52
|
+
console.log('Clicked secondary action');
|
53
|
+
};
|
54
|
+
|
55
|
+
const onSelect = (_event: ReactMouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
|
56
|
+
setSelected(value as string);
|
57
|
+
setIsOpen(false);
|
58
|
+
if (value === 'Default') {
|
59
|
+
setDisplayMode(ChatbotDisplayMode.default);
|
60
|
+
}
|
61
|
+
if (value === 'Docked') {
|
62
|
+
setDisplayMode(ChatbotDisplayMode.docked);
|
63
|
+
}
|
64
|
+
if (value === 'Fullscreen') {
|
65
|
+
setDisplayMode(ChatbotDisplayMode.fullscreen);
|
66
|
+
}
|
67
|
+
if (value === 'Embedded') {
|
68
|
+
setDisplayMode(ChatbotDisplayMode.embedded);
|
69
|
+
}
|
70
|
+
};
|
71
|
+
|
72
|
+
const onToggleClick = () => {
|
73
|
+
setIsOpen(!isOpen);
|
74
|
+
};
|
75
|
+
|
76
|
+
const toggle = (toggleRef: Ref<MenuToggleElement>) => (
|
77
|
+
<MenuToggle
|
78
|
+
ref={toggleRef}
|
79
|
+
onClick={onToggleClick}
|
80
|
+
isExpanded={isOpen}
|
81
|
+
style={
|
82
|
+
{
|
83
|
+
width: '200px'
|
84
|
+
} as CSSProperties
|
85
|
+
}
|
86
|
+
>
|
87
|
+
{selected}
|
88
|
+
</MenuToggle>
|
89
|
+
);
|
90
|
+
|
91
|
+
const introduction = (
|
92
|
+
<>
|
93
|
+
<p>
|
94
|
+
Welcome to PatternFly! These terms and conditions outline the rules and regulations for the use of PatternFly's
|
95
|
+
website, located at <a href="https://patternfly.org">www.patternfly.org.</a>
|
96
|
+
</p>
|
97
|
+
<p>
|
98
|
+
By accessing this website, you are agreeing with our terms and conditions. If you do not agree to all of these
|
99
|
+
terms and conditions, do not continue to use PatternFly.
|
100
|
+
</p>
|
101
|
+
</>
|
102
|
+
);
|
103
|
+
|
104
|
+
const terminology = (
|
105
|
+
<>
|
106
|
+
<p>
|
107
|
+
The following terminology applies to these Terms and Conditions, Privacy Statement, Disclaimer Notice, and all
|
108
|
+
Agreements:
|
109
|
+
</p>
|
110
|
+
<ul>
|
111
|
+
<li>
|
112
|
+
"Client", "You", and "Your" refer to you, the person using this website who is compliant with the Company's
|
113
|
+
terms and conditions.
|
114
|
+
</li>
|
115
|
+
<li>
|
116
|
+
"The Company", "Ourselves", "We", "Our", and "Us", refer to our Company. "Party", "Parties", or "Us", refers
|
117
|
+
to both the Client and ourselves.
|
118
|
+
</li>
|
119
|
+
</ul>
|
120
|
+
</>
|
121
|
+
);
|
122
|
+
|
123
|
+
const body = (
|
124
|
+
<>
|
125
|
+
<h2>Introduction</h2>
|
126
|
+
{introduction}
|
127
|
+
<h2>Terminology</h2>
|
128
|
+
{terminology}
|
129
|
+
</>
|
130
|
+
);
|
131
|
+
|
132
|
+
return (
|
133
|
+
<>
|
134
|
+
<SkipToContent style={{ zIndex: '999' }} onClick={handleSkipToContent} href="#">
|
135
|
+
Skip to chatbot
|
136
|
+
</SkipToContent>
|
137
|
+
<div
|
138
|
+
style={{
|
139
|
+
position: 'fixed',
|
140
|
+
padding: 'var(--pf-t--global--spacer--lg)',
|
141
|
+
zIndex: '601',
|
142
|
+
boxShadow: 'var(--pf-t--global--box-shadow--lg)'
|
143
|
+
}}
|
144
|
+
>
|
145
|
+
<Stack hasGutter>
|
146
|
+
<Select
|
147
|
+
id="single-select"
|
148
|
+
isOpen={isOpen}
|
149
|
+
selected={selected}
|
150
|
+
onSelect={onSelect}
|
151
|
+
onOpenChange={(isOpen) => setIsOpen(isOpen)}
|
152
|
+
toggle={toggle}
|
153
|
+
shouldFocusToggleOnSelect
|
154
|
+
>
|
155
|
+
<SelectList>
|
156
|
+
<SelectOption value="Default">Default</SelectOption>
|
157
|
+
<SelectOption value="Docked">Docked</SelectOption>
|
158
|
+
<SelectOption value="Fullscreen">Fullscreen</SelectOption>
|
159
|
+
<SelectOption value="Embedded">Embedded</SelectOption>
|
160
|
+
</SelectList>
|
161
|
+
</Select>
|
162
|
+
<Button onClick={handleModalToggle}>Launch modal</Button>
|
163
|
+
</Stack>
|
164
|
+
</div>
|
165
|
+
<Chatbot ref={chatbotRef} displayMode={displayMode} isVisible></Chatbot>
|
166
|
+
<TermsOfUse
|
167
|
+
ref={termsRef}
|
168
|
+
displayMode={displayMode}
|
169
|
+
isModalOpen={isModalOpen}
|
170
|
+
handleModalToggle={handleModalToggle}
|
171
|
+
onPrimaryAction={onPrimaryAction}
|
172
|
+
onSecondaryAction={onSecondaryAction}
|
173
|
+
isCompact
|
174
|
+
>
|
175
|
+
{body}
|
176
|
+
</TermsOfUse>
|
177
|
+
</>
|
178
|
+
);
|
179
|
+
};
|
@@ -84,6 +84,7 @@ import userAvatar from '../Messages/user_avatar.svg';
|
|
84
84
|
import patternflyAvatar from '../Messages/patternfly_avatar.jpg';
|
85
85
|
import termsAndConditionsHeader from './PF-TermsAndConditionsHeader.svg';
|
86
86
|
import { CloseIcon, SearchIcon, OutlinedCommentsIcon } from '@patternfly/react-icons';
|
87
|
+
import { FunctionComponent, FormEvent, useState, useRef, MouseEvent, isValidElement, cloneElement, Children, ReactNode, Ref, MouseEvent as ReactMouseEvent, CSSProperties} from 'react';
|
87
88
|
|
88
89
|
## Structure
|
89
90
|
|
@@ -396,6 +397,14 @@ This example also includes an example of how to use [skip to content](/patternfl
|
|
396
397
|
|
397
398
|
```
|
398
399
|
|
400
|
+
### Compact terms of use
|
401
|
+
|
402
|
+
To apply compact styling to the terms of use modal, pass `isCompact` to `<TermsOfUse>`. This will remove the header image and adjust the spacing of text, so that there is less white space in the modal.
|
403
|
+
|
404
|
+
```js file="./TermsOfUseCompact.tsx" isFullscreen
|
405
|
+
|
406
|
+
```
|
407
|
+
|
399
408
|
### Settings
|
400
409
|
|
401
410
|
To contain user preference controls and other ChatBot setting options, you can create a separate settings page that can accept any number of buttons, dropdown menus, toggles, labels, and so on. This settings page will render all components appropriately within all 4 display modes.
|
@@ -406,6 +415,14 @@ In this demo, you can toggle the settings page by clicking the "Settings" button
|
|
406
415
|
|
407
416
|
```
|
408
417
|
|
418
|
+
### Compact settings
|
419
|
+
|
420
|
+
To make the settings menu compact, with less spacing between the menu contents, pass `isCompact` to the `<SettingsForm>`.
|
421
|
+
|
422
|
+
```js file="./CompactSettings.tsx" isFullscreen
|
423
|
+
|
424
|
+
```
|
425
|
+
|
409
426
|
## Modals
|
410
427
|
|
411
428
|
### Modal
|
@@ -44,6 +44,9 @@ import PFIconLogoColor from '../UI/PF-IconLogo-Color.svg';
|
|
44
44
|
import PFIconLogoReverse from '../UI/PF-IconLogo-Reverse.svg';
|
45
45
|
import userAvatar from '../Messages/user_avatar.svg';
|
46
46
|
import patternflyAvatar from '../Messages/patternfly_avatar.jpg';
|
47
|
+
import { FunctionComponent, useState, useRef, isValidElement, cloneElement, Children, ReactNode, MouseEvent } from 'react';
|
48
|
+
import { getTrackingProviders } from "@patternfly/chatbot/dist/dynamic/tracking";
|
49
|
+
import ChatbotConversationHistoryNav from '@patternfly/chatbot/dist/dynamic/ChatbotConversationHistoryNav';
|
47
50
|
|
48
51
|
## Demos
|
49
52
|
|
@@ -61,6 +64,40 @@ It is also important to announce when new content appears onscreen for accessibi
|
|
61
64
|
|
62
65
|
```
|
63
66
|
|
67
|
+
### Message auto-scrolling
|
68
|
+
|
69
|
+
This demo shows auto-scrolling functionality, which automatically scrolls to the bottom of the active chat.
|
70
|
+
|
71
|
+
To enable auto-scroll behavior pass the `enableSmartScroll` prop to the [`<MessageBox>`](/patternfly-ai/chatbot/ui#message-box) component.
|
72
|
+
|
73
|
+
When enabled:
|
74
|
+
|
75
|
+
- Scroll position is automatically managed based on user interaction.
|
76
|
+
- Scrolling is _not_ forced to the bottom when new messages arrive, unless explicitly triggered via the `scrollToBottom()` method.
|
77
|
+
- If the user scrolls up or interacts with UI controls like "Back to top" or "Back to bottom", the component pauses auto-scroll to respect user intent.
|
78
|
+
- Auto-scroll resumes only when the user scrolls back down manually or programmatically via the `scrollToBottom({resumeSmartScroll: true})` method.
|
79
|
+
|
80
|
+
#### Imperative methods via `ref`
|
81
|
+
|
82
|
+
When using `ref`, the `<MessageBox>` component exposes the following methods:
|
83
|
+
|
84
|
+
- `scrollToBottom()`: Scrolls to the bottom of the message container.
|
85
|
+
- `scrollToTop()`: Scrolls to the top of the message container.
|
86
|
+
- `isSmartScrollActive()`: Returns `true` if smart auto-scroll is currently active.
|
87
|
+
- Native `HTMLDivElement` methods like `scrollTo()`.
|
88
|
+
|
89
|
+
This demo includes broader ChatBot features, including:
|
90
|
+
|
91
|
+
1. A [`<ChatbotToggle>`](/patternfly-ai/chatbot/ui#toggle) that controls the [`<Chatbot>`](/patternfly-ai/chatbot/ui#container) container.
|
92
|
+
2. A `<ChatbotContent>` and [`<MessageBox>`](/patternfly-ai/chatbot/ui#content-and-message-box) with:
|
93
|
+
- A `<ChatbotWelcomePrompt>`
|
94
|
+
- An initial user message and initial bot message
|
95
|
+
3. A [`<ChatbotFooter>`](/patternfly-ai/chatbot/ui#footer) with a [`<ChatbotFootnote>`](/patternfly-ai/chatbot/ui#footnote-with-popover) and a `<MessageBar>`
|
96
|
+
|
97
|
+
```js file="./ChatbotScrolling.tsx" isFullscreen
|
98
|
+
|
99
|
+
```
|
100
|
+
|
64
101
|
### Attach via upload button in message bar
|
65
102
|
|
66
103
|
This demo displays unique attachment features, including:
|
@@ -58,7 +58,7 @@ import PFIconLogoReverse from '../UI/PF-IconLogo-Reverse.svg';
|
|
58
58
|
import userAvatar from '../Messages/user_avatar.svg';
|
59
59
|
import patternflyAvatar from '../Messages/patternfly_avatar.jpg';
|
60
60
|
import { getTrackingProviders } from "@patternfly/chatbot/dist/dynamic/tracking";
|
61
|
-
|
61
|
+
import { useEffect,useCallback, useRef, useState, FunctionComponent, MouseEvent } from 'react';
|
62
62
|
|
63
63
|
### Basic ChatBot
|
64
64
|
|
@@ -87,6 +87,14 @@ This demo displays a basic ChatBot, which includes:
|
|
87
87
|
|
88
88
|
```
|
89
89
|
|
90
|
+
### Compact ChatBot
|
91
|
+
|
92
|
+
This demo displays a basic compact ChatBot
|
93
|
+
|
94
|
+
```js file="./ChatbotCompact.tsx" isFullscreen
|
95
|
+
|
96
|
+
```
|
97
|
+
|
90
98
|
### Embedded ChatBot
|
91
99
|
|
92
100
|
This demo displays an embedded ChatBot. Embedded ChatBots are meant to be placed within a page in your product. This demo includes:
|
@@ -1,5 +1,4 @@
|
|
1
|
-
import
|
2
|
-
|
1
|
+
import { useEffect, useRef, useState, FunctionComponent, MouseEvent } from 'react';
|
3
2
|
import { Bullseye, Brand, DropdownList, DropdownItem, DropdownGroup, SkipToContent } from '@patternfly/react-core';
|
4
3
|
|
5
4
|
import ChatbotToggle from '@patternfly/chatbot/dist/dynamic/ChatbotToggle';
|
@@ -80,8 +79,6 @@ spec:
|
|
80
79
|
Here is some JavaScript code:
|
81
80
|
|
82
81
|
~~~js
|
83
|
-
import React from 'react';
|
84
|
-
|
85
82
|
const MessageLoading = () => (
|
86
83
|
<div className="pf-chatbot__message-loading">
|
87
84
|
<span className="pf-chatbot__message-loading-dots">
|
@@ -179,40 +176,37 @@ const initialConversations = {
|
|
179
176
|
};
|
180
177
|
|
181
178
|
const actionEvent2 = 'ActionEvent2';
|
182
|
-
export const ChatbotDemo:
|
183
|
-
const [chatbotVisible, setChatbotVisible] =
|
184
|
-
const [displayMode, setDisplayMode] =
|
185
|
-
const [messages, setMessages] =
|
186
|
-
const [selectedModel, setSelectedModel] =
|
187
|
-
const [isSendButtonDisabled, setIsSendButtonDisabled] =
|
188
|
-
const [isDrawerOpen, setIsDrawerOpen] =
|
189
|
-
const [conversations, setConversations] =
|
179
|
+
export const ChatbotDemo: FunctionComponent = () => {
|
180
|
+
const [chatbotVisible, setChatbotVisible] = useState<boolean>(true);
|
181
|
+
const [displayMode, setDisplayMode] = useState<ChatbotDisplayMode>(ChatbotDisplayMode.default);
|
182
|
+
const [messages, setMessages] = useState<MessageProps[]>(initialMessages);
|
183
|
+
const [selectedModel, setSelectedModel] = useState('Granite 7B');
|
184
|
+
const [isSendButtonDisabled, setIsSendButtonDisabled] = useState(false);
|
185
|
+
const [isDrawerOpen, setIsDrawerOpen] = useState(false);
|
186
|
+
const [conversations, setConversations] = useState<Conversation[] | { [key: string]: Conversation[] }>(
|
190
187
|
initialConversations
|
191
188
|
);
|
192
|
-
const [announcement, setAnnouncement] =
|
193
|
-
const scrollToBottomRef =
|
194
|
-
const toggleRef =
|
195
|
-
const chatbotRef =
|
196
|
-
const historyRef =
|
189
|
+
const [announcement, setAnnouncement] = useState<string>();
|
190
|
+
const scrollToBottomRef = useRef<HTMLDivElement>(null);
|
191
|
+
const toggleRef = useRef<HTMLButtonElement>(null);
|
192
|
+
const chatbotRef = useRef<HTMLDivElement>(null);
|
193
|
+
const historyRef = useRef<HTMLButtonElement>(null);
|
197
194
|
|
198
195
|
// Auto-scrolls to the latest message
|
199
|
-
|
196
|
+
useEffect(() => {
|
200
197
|
// don't scroll the first load - in this demo, we know we start with two messages
|
201
198
|
if (messages.length > 2) {
|
202
199
|
scrollToBottomRef.current?.scrollIntoView({ behavior: 'smooth' });
|
203
200
|
}
|
204
201
|
}, [messages]);
|
205
202
|
|
206
|
-
const onSelectModel = (
|
207
|
-
_event: React.MouseEvent<Element, MouseEvent> | undefined,
|
208
|
-
value: string | number | undefined
|
209
|
-
) => {
|
203
|
+
const onSelectModel = (_event: MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
|
210
204
|
setSelectedModel(value as string);
|
211
205
|
tracking.trackSingleItem('ModelSelected', { model: value });
|
212
206
|
};
|
213
207
|
|
214
208
|
const onSelectDisplayMode = (
|
215
|
-
_event:
|
209
|
+
_event: MouseEvent<Element, MouseEvent> | undefined,
|
216
210
|
value: string | number | undefined
|
217
211
|
) => {
|
218
212
|
setDisplayMode(value as ChatbotDisplayMode);
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import
|
1
|
+
import { useState, FunctionComponent, MouseEvent } from 'react';
|
2
2
|
import ChatbotToggle from '@patternfly/chatbot/dist/dynamic/ChatbotToggle';
|
3
3
|
import Chatbot, { ChatbotDisplayMode } from '@patternfly/chatbot/dist/dynamic/Chatbot';
|
4
4
|
import ChatbotContent from '@patternfly/chatbot/dist/dynamic/ChatbotContent';
|
@@ -37,7 +37,7 @@ interface ModalData {
|
|
37
37
|
fileName: string;
|
38
38
|
}
|
39
39
|
|
40
|
-
export const BasicDemo:
|
40
|
+
export const BasicDemo: FunctionComponent = () => {
|
41
41
|
const onAttachmentClose = (event, name, id) => {
|
42
42
|
const updatedMessages: MessageProps[] = [];
|
43
43
|
messages.map((message) => {
|
@@ -75,19 +75,19 @@ export const BasicDemo: React.FunctionComponent = () => {
|
|
75
75
|
}
|
76
76
|
];
|
77
77
|
|
78
|
-
const [error, setError] =
|
79
|
-
const [chatbotVisible, setChatbotVisible] =
|
80
|
-
const [file, setFile] =
|
81
|
-
const [isLoadingFile, setIsLoadingFile] =
|
82
|
-
const [messages, setMessages] =
|
83
|
-
const [isPreviewModalOpen, setIsPreviewModalOpen] =
|
84
|
-
const [isEditModalOpen, setIsEditModalOpen] =
|
85
|
-
const [currentModalData, setCurrentModalData] =
|
86
|
-
const [showAlert, setShowAlert] =
|
87
|
-
const [displayMode, setDisplayMode] =
|
78
|
+
const [error, setError] = useState<string>();
|
79
|
+
const [chatbotVisible, setChatbotVisible] = useState<boolean>(true);
|
80
|
+
const [file, setFile] = useState<File>();
|
81
|
+
const [isLoadingFile, setIsLoadingFile] = useState<boolean>(false);
|
82
|
+
const [messages, setMessages] = useState<MessageProps[]>(initialMessages);
|
83
|
+
const [isPreviewModalOpen, setIsPreviewModalOpen] = useState<boolean>(false);
|
84
|
+
const [isEditModalOpen, setIsEditModalOpen] = useState<boolean>(false);
|
85
|
+
const [currentModalData, setCurrentModalData] = useState<ModalData>();
|
86
|
+
const [showAlert, setShowAlert] = useState<boolean>(false);
|
87
|
+
const [displayMode, setDisplayMode] = useState<ChatbotDisplayMode>(ChatbotDisplayMode.default);
|
88
88
|
|
89
89
|
const onSelectDisplayMode = (
|
90
|
-
_event:
|
90
|
+
_event: MouseEvent<Element, MouseEvent> | undefined,
|
91
91
|
value: string | number | undefined
|
92
92
|
) => {
|
93
93
|
setDisplayMode(value as ChatbotDisplayMode);
|
@@ -218,7 +218,16 @@ export const BasicDemo: React.FunctionComponent = () => {
|
|
218
218
|
</ChatbotHeaderOptionsDropdown>
|
219
219
|
</ChatbotHeaderActions>
|
220
220
|
</ChatbotHeader>
|
221
|
-
<FileDropZone
|
221
|
+
<FileDropZone
|
222
|
+
onFileDrop={handleFileDrop}
|
223
|
+
displayMode={displayMode}
|
224
|
+
infoText="Allowed file types are .json, .txt and .yaml and maximum file size is 25 MB."
|
225
|
+
allowedFileTypes={{
|
226
|
+
'text/plain': ['.txt'],
|
227
|
+
'application/json': ['.json'],
|
228
|
+
'application/yaml': ['.yaml', '.yml']
|
229
|
+
}}
|
230
|
+
>
|
222
231
|
<ChatbotContent>
|
223
232
|
<MessageBox>
|
224
233
|
{showAlert && (
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import React from 'react';
|
2
1
|
import ChatbotToggle from '@patternfly/chatbot/dist/dynamic/ChatbotToggle';
|
3
2
|
import Chatbot from '@patternfly/chatbot/dist/dynamic/Chatbot';
|
4
3
|
import ChatbotContent from '@patternfly/chatbot/dist/dynamic/ChatbotContent';
|
@@ -18,6 +17,7 @@ import userAvatar from '../Messages/user_avatar.svg';
|
|
18
17
|
import patternflyAvatar from '../Messages/patternfly_avatar.jpg';
|
19
18
|
import '@patternfly/react-core/dist/styles/base.css';
|
20
19
|
import '@patternfly/chatbot/dist/css/main.css';
|
20
|
+
import { cloneElement, FunctionComponent, isValidElement, ReactNode, useState, Children } from 'react';
|
21
21
|
|
22
22
|
const initialMenuItems = [
|
23
23
|
<DropdownList key="list-1">
|
@@ -84,14 +84,14 @@ const messages: MessageProps[] = [
|
|
84
84
|
}
|
85
85
|
];
|
86
86
|
|
87
|
-
export const AttachmentMenuDemo:
|
88
|
-
const [chatbotVisible, setChatbotVisible] =
|
89
|
-
const [file, setFile] =
|
90
|
-
const [isLoadingFile, setIsLoadingFile] =
|
91
|
-
const [userFacingMenuItems, setUserFacingMenuItems] =
|
92
|
-
const [error, setError] =
|
93
|
-
const [showAlert, setShowAlert] =
|
94
|
-
const [isOpen, setIsOpen] =
|
87
|
+
export const AttachmentMenuDemo: FunctionComponent = () => {
|
88
|
+
const [chatbotVisible, setChatbotVisible] = useState<boolean>(true);
|
89
|
+
const [file, setFile] = useState<File>();
|
90
|
+
const [isLoadingFile, setIsLoadingFile] = useState<boolean>(false);
|
91
|
+
const [userFacingMenuItems, setUserFacingMenuItems] = useState<ReactNode>([]);
|
92
|
+
const [error, setError] = useState<string>();
|
93
|
+
const [showAlert, setShowAlert] = useState<boolean>(false);
|
94
|
+
const [isOpen, setIsOpen] = useState<boolean>(false);
|
95
95
|
|
96
96
|
const { open, getInputProps } = useDropzone({
|
97
97
|
onDropAccepted: (files: File[]) => {
|
@@ -162,18 +162,18 @@ export const AttachmentMenuDemo: React.FunctionComponent = () => {
|
|
162
162
|
setUserFacingMenuItems(initialMenuItems.concat(uploadMenuItems));
|
163
163
|
};
|
164
164
|
|
165
|
-
const findMatchingElements = (elements:
|
166
|
-
let matchingElements = [] as
|
165
|
+
const findMatchingElements = (elements: ReactNode[], targetValue: string) => {
|
166
|
+
let matchingElements = [] as ReactNode[];
|
167
167
|
|
168
168
|
elements.forEach((element) => {
|
169
|
-
if (
|
169
|
+
if (isValidElement(element)) {
|
170
170
|
// Check if the element's value matches the targetValue
|
171
171
|
if (element.props.value && element.props.value.toLowerCase().includes(targetValue.toLowerCase())) {
|
172
|
-
matchingElements.push(
|
172
|
+
matchingElements.push(cloneElement(element, { key: element.props.value }));
|
173
173
|
}
|
174
174
|
|
175
175
|
// Recursively check the element's children
|
176
|
-
const children =
|
176
|
+
const children = Children.toArray(element.props.children);
|
177
177
|
matchingElements = matchingElements.concat(findMatchingElements(children, targetValue));
|
178
178
|
}
|
179
179
|
});
|