@patternfly/chatbot 6.3.0-prerelease.9 → 6.4.0-prerelease.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/AttachMenu/AttachMenu.d.ts +2 -2
- package/dist/cjs/AttachMenu/AttachMenu.js +2 -12
- package/dist/cjs/AttachmentEdit/AttachmentEdit.d.ts +12 -2
- package/dist/cjs/AttachmentEdit/AttachmentEdit.js +3 -6
- package/dist/cjs/AttachmentEdit/AttachmentEdit.test.d.ts +1 -1
- package/dist/cjs/AttachmentEdit/AttachmentEdit.test.js +33 -8
- package/dist/cjs/Chatbot/Chatbot.d.ts +1 -2
- package/dist/cjs/Chatbot/Chatbot.js +4 -9
- package/dist/cjs/Chatbot/Chatbot.test.js +11 -11
- package/dist/cjs/ChatbotAlert/ChatbotAlert.d.ts +2 -2
- package/dist/cjs/ChatbotAlert/ChatbotAlert.js +4 -8
- package/dist/cjs/ChatbotAlert/ChatbotAlert.test.js +10 -10
- package/dist/cjs/ChatbotContent/ChatbotContent.d.ts +3 -3
- package/dist/cjs/ChatbotContent/ChatbotContent.js +2 -8
- package/dist/cjs/ChatbotContent/ChatbotContent.test.js +5 -5
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.d.ts +2 -2
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +7 -11
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +31 -33
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +7 -3
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +17 -34
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +73 -64
- package/dist/cjs/ChatbotConversationHistoryNav/EmptyState.d.ts +2 -2
- package/dist/cjs/ChatbotConversationHistoryNav/EmptyState.js +2 -9
- package/dist/cjs/ChatbotConversationHistoryNav/LoadingState.d.ts +2 -2
- package/dist/cjs/ChatbotConversationHistoryNav/LoadingState.js +2 -25
- package/dist/cjs/ChatbotFooter/ChatbotFooter.d.ts +3 -3
- package/dist/cjs/ChatbotFooter/ChatbotFooter.js +2 -15
- package/dist/cjs/ChatbotFooter/ChatbotFooter.test.js +7 -7
- package/dist/cjs/ChatbotFooter/ChatbotFooternote.test.js +28 -28
- package/dist/cjs/ChatbotFooter/ChatbotFootnote.d.ts +3 -3
- package/dist/cjs/ChatbotFooter/ChatbotFootnote.js +10 -23
- package/dist/cjs/ChatbotHeader/ChatbotHeader.d.ts +3 -3
- package/dist/cjs/ChatbotHeader/ChatbotHeader.js +2 -7
- package/dist/cjs/ChatbotHeader/ChatbotHeader.test.js +5 -5
- package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.d.ts +2 -2
- package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.js +2 -5
- package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.test.js +5 -5
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +1 -2
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.js +5 -10
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.js +7 -10
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.d.ts +2 -2
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.js +2 -5
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.test.js +5 -5
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.d.ts +2 -2
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.js +5 -7
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.js +7 -10
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +6 -3
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +8 -9
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +19 -21
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +8 -3
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +11 -12
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +17 -19
- package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.d.ts +2 -2
- package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.js +2 -5
- package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.test.js +23 -23
- package/dist/cjs/ChatbotModal/ChatbotModal.d.ts +2 -2
- package/dist/cjs/ChatbotModal/ChatbotModal.js +3 -9
- package/dist/cjs/ChatbotModal/ChatbotModal.test.js +4 -16
- package/dist/cjs/ChatbotPopover/ChatbotPopover.d.ts +2 -2
- package/dist/cjs/ChatbotPopover/ChatbotPopover.js +2 -8
- package/dist/cjs/ChatbotToggle/ChatbotToggle.d.ts +1 -2
- package/dist/cjs/ChatbotToggle/ChatbotToggle.js +8 -13
- package/dist/cjs/ChatbotToggle/ChatbotToggle.test.js +25 -25
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +2 -2
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +6 -20
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +16 -16
- package/dist/cjs/CodeModal/CodeModal.d.ts +8 -2
- package/dist/cjs/CodeModal/CodeModal.js +8 -20
- package/dist/cjs/CodeModal/CodeModal.test.js +23 -4
- package/dist/cjs/Compare/Compare.d.ts +2 -2
- package/dist/cjs/Compare/Compare.js +7 -16
- package/dist/cjs/Compare/Compare.test.js +7 -9
- package/dist/cjs/FileDetails/FileDetails.d.ts +2 -2
- package/dist/cjs/FileDetails/FileDetails.js +2 -15
- package/dist/cjs/FileDetails/FileDetails.test.js +10 -10
- package/dist/cjs/FileDetailsLabel/FileDetailsLabel.d.ts +2 -2
- package/dist/cjs/FileDetailsLabel/FileDetailsLabel.js +2 -5
- package/dist/cjs/FileDetailsLabel/FileDetailsLabel.test.js +21 -21
- package/dist/cjs/FileDropZone/FileDropZone.d.ts +23 -3
- package/dist/cjs/FileDropZone/FileDropZone.js +11 -9
- package/dist/cjs/FileDropZone/FileDropZone.test.js +86 -5
- package/dist/cjs/LoadingMessage/LoadingMessage.d.ts +2 -2
- package/dist/cjs/LoadingMessage/LoadingMessage.js +2 -10
- package/dist/cjs/LoadingMessage/LoadingMessage.test.js +6 -6
- package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.d.ts +20 -3
- package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.js +30 -21
- package/dist/cjs/Message/ErrorMessage/ErrorMessage.d.ts +1 -2
- package/dist/cjs/Message/ErrorMessage/ErrorMessage.js +5 -8
- package/dist/cjs/Message/ImageMessage/ImageMessage.d.ts +1 -2
- package/dist/cjs/Message/ImageMessage/ImageMessage.js +2 -8
- package/dist/cjs/Message/LinkMessage/LinkMessage.d.ts +1 -2
- package/dist/cjs/Message/LinkMessage/LinkMessage.js +6 -9
- package/dist/cjs/Message/ListMessage/ListItemMessage.d.ts +1 -2
- package/dist/cjs/Message/ListMessage/ListItemMessage.js +2 -8
- package/dist/cjs/Message/ListMessage/OrderedListMessage.d.ts +1 -2
- package/dist/cjs/Message/ListMessage/OrderedListMessage.js +2 -9
- package/dist/cjs/Message/ListMessage/UnorderedListMessage.d.ts +1 -2
- package/dist/cjs/Message/ListMessage/UnorderedListMessage.js +2 -9
- package/dist/cjs/Message/Message.d.ts +28 -10
- package/dist/cjs/Message/Message.js +50 -72
- package/dist/cjs/Message/Message.test.js +138 -82
- package/dist/cjs/Message/MessageInput.d.ts +4 -2
- package/dist/cjs/Message/MessageInput.js +6 -15
- package/dist/cjs/Message/MessageLoading.d.ts +1 -2
- package/dist/cjs/Message/MessageLoading.js +3 -8
- package/dist/cjs/Message/Plugins/index.d.ts +1 -0
- package/dist/cjs/Message/Plugins/index.js +5 -0
- package/dist/cjs/Message/Plugins/rehypeCodeBlockToggle.d.ts +2 -0
- package/dist/cjs/Message/Plugins/rehypeCodeBlockToggle.js +24 -0
- package/dist/cjs/Message/Plugins/rehypeMoveImagesOutOfParagraphs.d.ts +2 -0
- package/dist/cjs/Message/Plugins/rehypeMoveImagesOutOfParagraphs.js +47 -0
- package/dist/cjs/Message/QuickResponse/QuickResponse.d.ts +2 -2
- package/dist/cjs/Message/QuickResponse/QuickResponse.js +7 -9
- package/dist/cjs/Message/QuickStarts/FallbackImg.d.ts +2 -2
- package/dist/cjs/Message/QuickStarts/FallbackImg.js +5 -27
- package/dist/cjs/Message/QuickStarts/QuickStartTile.d.ts +2 -2
- package/dist/cjs/Message/QuickStarts/QuickStartTile.js +7 -43
- package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.d.ts +2 -2
- package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.js +9 -38
- package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.js +16 -16
- package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.d.ts +2 -2
- package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.js +2 -26
- package/dist/cjs/Message/QuickStarts/types.d.ts +4 -3
- package/dist/cjs/Message/TableMessage/TableMessage.d.ts +1 -2
- package/dist/cjs/Message/TableMessage/TableMessage.js +8 -10
- package/dist/cjs/Message/TableMessage/TbodyMessage.d.ts +2 -3
- package/dist/cjs/Message/TableMessage/TbodyMessage.js +7 -9
- package/dist/cjs/Message/TableMessage/TdMessage.d.ts +1 -2
- package/dist/cjs/Message/TableMessage/TdMessage.js +2 -8
- package/dist/cjs/Message/TableMessage/ThMessage.d.ts +1 -2
- package/dist/cjs/Message/TableMessage/ThMessage.js +2 -8
- package/dist/cjs/Message/TableMessage/TheadMessage.d.ts +1 -2
- package/dist/cjs/Message/TableMessage/TheadMessage.js +2 -8
- package/dist/cjs/Message/TableMessage/TrMessage.d.ts +2 -3
- package/dist/cjs/Message/TableMessage/TrMessage.js +8 -10
- package/dist/cjs/Message/TextMessage/TextMessage.d.ts +1 -2
- package/dist/cjs/Message/TextMessage/TextMessage.js +2 -9
- package/dist/cjs/Message/UserFeedback/CloseButton.d.ts +2 -2
- package/dist/cjs/Message/UserFeedback/CloseButton.js +2 -8
- package/dist/cjs/Message/UserFeedback/UserFeedback.d.ts +2 -2
- package/dist/cjs/Message/UserFeedback/UserFeedback.js +12 -23
- package/dist/cjs/Message/UserFeedback/UserFeedback.test.js +53 -53
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.js +20 -44
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.js +81 -91
- package/dist/cjs/Message/index.d.ts +1 -0
- package/dist/cjs/Message/index.js +3 -1
- package/dist/cjs/MessageBar/AttachButton.d.ts +26 -3
- package/dist/cjs/MessageBar/AttachButton.js +10 -20
- package/dist/cjs/MessageBar/AttachButton.test.js +102 -24
- package/dist/cjs/MessageBar/MessageBar.d.ts +32 -4
- package/dist/cjs/MessageBar/MessageBar.js +30 -32
- package/dist/cjs/MessageBar/MessageBar.test.js +122 -108
- package/dist/cjs/MessageBar/MicrophoneButton.d.ts +2 -2
- package/dist/cjs/MessageBar/MicrophoneButton.js +7 -14
- package/dist/cjs/MessageBar/SendButton.d.ts +3 -2
- package/dist/cjs/MessageBar/SendButton.js +3 -11
- package/dist/cjs/MessageBar/SendButton.test.js +15 -15
- package/dist/cjs/MessageBar/StopButton.d.ts +3 -2
- package/dist/cjs/MessageBar/StopButton.js +3 -12
- package/dist/cjs/MessageBar/StopButton.test.js +15 -15
- package/dist/cjs/MessageBox/JumpButton.d.ts +2 -2
- package/dist/cjs/MessageBox/JumpButton.js +2 -10
- package/dist/cjs/MessageBox/JumpButton.test.js +10 -10
- package/dist/cjs/MessageBox/MessageBox.d.ts +21 -5
- package/dist/cjs/MessageBox/MessageBox.js +170 -45
- package/dist/cjs/MessageBox/MessageBox.test.js +219 -6
- package/dist/cjs/MessageDivider/MessageDivider.d.ts +9 -0
- package/dist/cjs/MessageDivider/MessageDivider.js +23 -0
- package/dist/cjs/MessageDivider/MessageDivider.test.d.ts +1 -0
- package/dist/cjs/MessageDivider/MessageDivider.test.js +29 -0
- package/dist/cjs/MessageDivider/index.d.ts +2 -0
- package/dist/cjs/MessageDivider/index.js +23 -0
- package/dist/cjs/PreviewAttachment/PreviewAttachment.d.ts +12 -2
- package/dist/cjs/PreviewAttachment/PreviewAttachment.js +3 -6
- package/dist/cjs/PreviewAttachment/PreviewAttachment.test.d.ts +1 -1
- package/dist/cjs/PreviewAttachment/PreviewAttachment.test.js +34 -12
- package/dist/cjs/ResponseActions/ResponseActionButton.d.ts +5 -5
- package/dist/cjs/ResponseActions/ResponseActionButton.js +5 -8
- package/dist/cjs/ResponseActions/ResponseActionButton.test.js +19 -19
- package/dist/cjs/ResponseActions/ResponseActions.d.ts +8 -3
- package/dist/cjs/ResponseActions/ResponseActions.js +39 -18
- package/dist/cjs/ResponseActions/ResponseActions.test.js +125 -41
- package/dist/cjs/Settings/SettingsForm.d.ts +2 -2
- package/dist/cjs/Settings/SettingsForm.js +2 -8
- package/dist/cjs/Settings/SettingsForm.test.js +9 -12
- package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
- package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -11
- package/dist/cjs/SourcesCard/SourcesCard.d.ts +12 -3
- package/dist/cjs/SourcesCard/SourcesCard.js +17 -42
- package/dist/cjs/SourcesCard/SourcesCard.test.js +70 -60
- package/dist/cjs/TermsOfUse/TermsOfUse.d.ts +3 -3
- package/dist/cjs/TermsOfUse/TermsOfUse.js +4 -16
- package/dist/cjs/TermsOfUse/TermsOfUse.test.js +31 -33
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +4 -1
- package/dist/css/main.css +71 -62
- package/dist/css/main.css.map +1 -1
- package/dist/dynamic/MessageDivider/package.json +1 -0
- package/dist/esm/AttachMenu/AttachMenu.d.ts +2 -2
- package/dist/esm/AttachMenu/AttachMenu.js +2 -9
- package/dist/esm/AttachmentEdit/AttachmentEdit.d.ts +12 -2
- package/dist/esm/AttachmentEdit/AttachmentEdit.js +3 -6
- package/dist/esm/AttachmentEdit/AttachmentEdit.test.d.ts +1 -1
- package/dist/esm/AttachmentEdit/AttachmentEdit.test.js +30 -5
- package/dist/esm/Chatbot/Chatbot.d.ts +1 -2
- package/dist/esm/Chatbot/Chatbot.js +4 -6
- package/dist/esm/Chatbot/Chatbot.test.js +6 -6
- package/dist/esm/ChatbotAlert/ChatbotAlert.d.ts +2 -2
- package/dist/esm/ChatbotAlert/ChatbotAlert.js +4 -5
- package/dist/esm/ChatbotAlert/ChatbotAlert.test.js +4 -4
- package/dist/esm/ChatbotContent/ChatbotContent.d.ts +3 -3
- package/dist/esm/ChatbotContent/ChatbotContent.js +2 -5
- package/dist/esm/ChatbotContent/ChatbotContent.test.js +3 -3
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.d.ts +2 -2
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +7 -11
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +8 -10
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +7 -3
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +19 -36
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +43 -34
- package/dist/esm/ChatbotConversationHistoryNav/EmptyState.d.ts +2 -2
- package/dist/esm/ChatbotConversationHistoryNav/EmptyState.js +2 -6
- package/dist/esm/ChatbotConversationHistoryNav/LoadingState.d.ts +2 -2
- package/dist/esm/ChatbotConversationHistoryNav/LoadingState.js +2 -22
- package/dist/esm/ChatbotFooter/ChatbotFooter.d.ts +3 -3
- package/dist/esm/ChatbotFooter/ChatbotFooter.js +2 -12
- package/dist/esm/ChatbotFooter/ChatbotFooter.test.js +4 -4
- package/dist/esm/ChatbotFooter/ChatbotFooternote.test.js +5 -5
- package/dist/esm/ChatbotFooter/ChatbotFootnote.d.ts +3 -3
- package/dist/esm/ChatbotFooter/ChatbotFootnote.js +10 -23
- package/dist/esm/ChatbotHeader/ChatbotHeader.d.ts +3 -3
- package/dist/esm/ChatbotHeader/ChatbotHeader.js +2 -4
- package/dist/esm/ChatbotHeader/ChatbotHeader.test.js +3 -3
- package/dist/esm/ChatbotHeader/ChatbotHeaderActions.d.ts +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderActions.js +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.js +3 -3
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +1 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.js +5 -7
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.js +4 -4
- package/dist/esm/ChatbotHeader/ChatbotHeaderMain.d.ts +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderMain.js +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.js +3 -3
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.d.ts +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.js +5 -7
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.js +4 -4
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +6 -3
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +8 -9
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +9 -8
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +8 -3
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +11 -9
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +9 -8
- package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.d.ts +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.js +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.js +12 -12
- package/dist/esm/ChatbotModal/ChatbotModal.d.ts +2 -2
- package/dist/esm/ChatbotModal/ChatbotModal.js +3 -6
- package/dist/esm/ChatbotModal/ChatbotModal.test.js +2 -14
- package/dist/esm/ChatbotPopover/ChatbotPopover.d.ts +2 -2
- package/dist/esm/ChatbotPopover/ChatbotPopover.js +2 -5
- package/dist/esm/ChatbotToggle/ChatbotToggle.d.ts +1 -2
- package/dist/esm/ChatbotToggle/ChatbotToggle.js +8 -13
- package/dist/esm/ChatbotToggle/ChatbotToggle.test.js +8 -8
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +2 -2
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +6 -17
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +8 -8
- package/dist/esm/CodeModal/CodeModal.d.ts +8 -2
- package/dist/esm/CodeModal/CodeModal.js +8 -20
- package/dist/esm/CodeModal/CodeModal.test.js +22 -3
- package/dist/esm/Compare/Compare.d.ts +2 -2
- package/dist/esm/Compare/Compare.js +7 -13
- package/dist/esm/Compare/Compare.test.js +4 -6
- package/dist/esm/FileDetails/FileDetails.d.ts +2 -2
- package/dist/esm/FileDetails/FileDetails.js +2 -15
- package/dist/esm/FileDetails/FileDetails.test.js +4 -4
- package/dist/esm/FileDetailsLabel/FileDetailsLabel.d.ts +2 -2
- package/dist/esm/FileDetailsLabel/FileDetailsLabel.js +2 -5
- package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.js +9 -9
- package/dist/esm/FileDropZone/FileDropZone.d.ts +23 -3
- package/dist/esm/FileDropZone/FileDropZone.js +11 -6
- package/dist/esm/FileDropZone/FileDropZone.test.js +84 -3
- package/dist/esm/LoadingMessage/LoadingMessage.d.ts +2 -2
- package/dist/esm/LoadingMessage/LoadingMessage.js +2 -10
- package/dist/esm/LoadingMessage/LoadingMessage.test.js +3 -3
- package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.d.ts +20 -3
- package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.js +31 -19
- package/dist/esm/Message/ErrorMessage/ErrorMessage.d.ts +1 -2
- package/dist/esm/Message/ErrorMessage/ErrorMessage.js +5 -5
- package/dist/esm/Message/ImageMessage/ImageMessage.d.ts +1 -2
- package/dist/esm/Message/ImageMessage/ImageMessage.js +2 -5
- package/dist/esm/Message/LinkMessage/LinkMessage.d.ts +1 -2
- package/dist/esm/Message/LinkMessage/LinkMessage.js +6 -6
- package/dist/esm/Message/ListMessage/ListItemMessage.d.ts +1 -2
- package/dist/esm/Message/ListMessage/ListItemMessage.js +2 -5
- package/dist/esm/Message/ListMessage/OrderedListMessage.d.ts +1 -2
- package/dist/esm/Message/ListMessage/OrderedListMessage.js +2 -6
- package/dist/esm/Message/ListMessage/UnorderedListMessage.d.ts +1 -2
- package/dist/esm/Message/ListMessage/UnorderedListMessage.js +2 -6
- package/dist/esm/Message/Message.d.ts +28 -10
- package/dist/esm/Message/Message.js +50 -72
- package/dist/esm/Message/Message.test.js +138 -82
- package/dist/esm/Message/MessageInput.d.ts +4 -2
- package/dist/esm/Message/MessageInput.js +6 -12
- package/dist/esm/Message/MessageLoading.d.ts +1 -2
- package/dist/esm/Message/MessageLoading.js +2 -4
- package/dist/esm/Message/Plugins/index.d.ts +1 -0
- package/dist/esm/Message/Plugins/index.js +1 -0
- package/dist/esm/Message/Plugins/rehypeCodeBlockToggle.d.ts +2 -0
- package/dist/esm/Message/Plugins/rehypeCodeBlockToggle.js +20 -0
- package/dist/esm/Message/Plugins/rehypeMoveImagesOutOfParagraphs.d.ts +2 -0
- package/dist/esm/Message/Plugins/rehypeMoveImagesOutOfParagraphs.js +43 -0
- package/dist/esm/Message/QuickResponse/QuickResponse.d.ts +2 -2
- package/dist/esm/Message/QuickResponse/QuickResponse.js +7 -6
- package/dist/esm/Message/QuickStarts/FallbackImg.d.ts +2 -2
- package/dist/esm/Message/QuickStarts/FallbackImg.js +5 -4
- package/dist/esm/Message/QuickStarts/QuickStartTile.d.ts +2 -2
- package/dist/esm/Message/QuickStarts/QuickStartTile.js +7 -20
- package/dist/esm/Message/QuickStarts/QuickStartTileDescription.d.ts +2 -2
- package/dist/esm/Message/QuickStarts/QuickStartTileDescription.js +9 -15
- package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.js +5 -5
- package/dist/esm/Message/QuickStarts/QuickStartTileHeader.d.ts +2 -2
- package/dist/esm/Message/QuickStarts/QuickStartTileHeader.js +2 -3
- package/dist/esm/Message/QuickStarts/types.d.ts +4 -3
- package/dist/esm/Message/TableMessage/TableMessage.d.ts +1 -2
- package/dist/esm/Message/TableMessage/TableMessage.js +8 -7
- package/dist/esm/Message/TableMessage/TbodyMessage.d.ts +2 -3
- package/dist/esm/Message/TableMessage/TbodyMessage.js +7 -6
- package/dist/esm/Message/TableMessage/TdMessage.d.ts +1 -2
- package/dist/esm/Message/TableMessage/TdMessage.js +2 -5
- package/dist/esm/Message/TableMessage/ThMessage.d.ts +1 -2
- package/dist/esm/Message/TableMessage/ThMessage.js +2 -5
- package/dist/esm/Message/TableMessage/TheadMessage.d.ts +1 -2
- package/dist/esm/Message/TableMessage/TheadMessage.js +2 -5
- package/dist/esm/Message/TableMessage/TrMessage.d.ts +2 -3
- package/dist/esm/Message/TableMessage/TrMessage.js +8 -7
- package/dist/esm/Message/TextMessage/TextMessage.d.ts +1 -2
- package/dist/esm/Message/TextMessage/TextMessage.js +2 -6
- package/dist/esm/Message/UserFeedback/CloseButton.d.ts +2 -2
- package/dist/esm/Message/UserFeedback/CloseButton.js +2 -5
- package/dist/esm/Message/UserFeedback/UserFeedback.d.ts +2 -2
- package/dist/esm/Message/UserFeedback/UserFeedback.js +12 -23
- package/dist/esm/Message/UserFeedback/UserFeedback.test.js +21 -21
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.js +20 -44
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.js +26 -36
- package/dist/esm/Message/index.d.ts +1 -0
- package/dist/esm/Message/index.js +1 -0
- package/dist/esm/MessageBar/AttachButton.d.ts +26 -3
- package/dist/esm/MessageBar/AttachButton.js +10 -17
- package/dist/esm/MessageBar/AttachButton.test.js +95 -17
- package/dist/esm/MessageBar/MessageBar.d.ts +32 -4
- package/dist/esm/MessageBar/MessageBar.js +28 -30
- package/dist/esm/MessageBar/MessageBar.test.js +87 -73
- package/dist/esm/MessageBar/MicrophoneButton.d.ts +2 -2
- package/dist/esm/MessageBar/MicrophoneButton.js +7 -11
- package/dist/esm/MessageBar/SendButton.d.ts +3 -2
- package/dist/esm/MessageBar/SendButton.js +3 -8
- package/dist/esm/MessageBar/SendButton.test.js +9 -9
- package/dist/esm/MessageBar/StopButton.d.ts +3 -2
- package/dist/esm/MessageBar/StopButton.js +3 -9
- package/dist/esm/MessageBar/StopButton.test.js +9 -9
- package/dist/esm/MessageBox/JumpButton.d.ts +2 -2
- package/dist/esm/MessageBox/JumpButton.js +2 -7
- package/dist/esm/MessageBox/JumpButton.test.js +9 -9
- package/dist/esm/MessageBox/MessageBox.d.ts +21 -5
- package/dist/esm/MessageBox/MessageBox.js +170 -45
- package/dist/esm/MessageBox/MessageBox.test.js +220 -7
- package/dist/esm/MessageDivider/MessageDivider.d.ts +9 -0
- package/dist/esm/MessageDivider/MessageDivider.js +21 -0
- package/dist/esm/MessageDivider/MessageDivider.test.d.ts +1 -0
- package/dist/esm/MessageDivider/MessageDivider.test.js +24 -0
- package/dist/esm/MessageDivider/index.d.ts +2 -0
- package/dist/esm/MessageDivider/index.js +2 -0
- package/dist/esm/PreviewAttachment/PreviewAttachment.d.ts +12 -2
- package/dist/esm/PreviewAttachment/PreviewAttachment.js +3 -6
- package/dist/esm/PreviewAttachment/PreviewAttachment.test.d.ts +1 -1
- package/dist/esm/PreviewAttachment/PreviewAttachment.test.js +30 -5
- package/dist/esm/ResponseActions/ResponseActionButton.d.ts +5 -5
- package/dist/esm/ResponseActions/ResponseActionButton.js +5 -5
- package/dist/esm/ResponseActions/ResponseActionButton.test.js +7 -7
- package/dist/esm/ResponseActions/ResponseActions.d.ts +8 -3
- package/dist/esm/ResponseActions/ResponseActions.js +40 -19
- package/dist/esm/ResponseActions/ResponseActions.test.js +100 -16
- package/dist/esm/Settings/SettingsForm.d.ts +2 -2
- package/dist/esm/Settings/SettingsForm.js +2 -5
- package/dist/esm/Settings/SettingsForm.test.js +6 -6
- package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
- package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -8
- package/dist/esm/SourcesCard/SourcesCard.d.ts +12 -3
- package/dist/esm/SourcesCard/SourcesCard.js +17 -39
- package/dist/esm/SourcesCard/SourcesCard.test.js +29 -19
- package/dist/esm/TermsOfUse/TermsOfUse.d.ts +3 -3
- package/dist/esm/TermsOfUse/TermsOfUse.js +4 -16
- package/dist/esm/TermsOfUse/TermsOfUse.test.js +10 -12
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +2 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -8
- package/patternfly-docs/content/extensions/chatbot/design-guidelines.md +10 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Customizing Messages/Customizing Messages.md +51 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachMenu.tsx +9 -9
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentEdit.tsx +5 -5
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentError.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +24 -20
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetails.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetailsLabel.tsx +9 -9
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDropZone.tsx +4 -4
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithAttachment.tsx +7 -7
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithClickedResponseActions.tsx +25 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithCustomResponseActions.tsx +3 -12
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithDividers.tsx +24 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedback.tsx +4 -4
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedbackTimeout.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickResponses.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickStart.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithResponseActions.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithSources.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +33 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/PreviewAttachment.tsx +5 -5
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +61 -18
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessageWithExtraContent.tsx +4 -4
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotContainer.tsx +59 -36
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFooter.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFootnote.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderBasic.tsx +10 -13
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawer.tsx +19 -10
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerNavigation.tsx +5 -5
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerResizable.tsx +5 -5
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithActions.tsx +6 -6
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithPin.tsx +196 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithSelection.tsx +7 -7
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderTitle.tsx +59 -34
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBar.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarAttach.tsx +9 -9
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarDisabled.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarLanguage.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarStop.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotModal.tsx +74 -37
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotToggleBasic.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomeInteraction.tsx +8 -8
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomePrompt.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/UI/CompactSettings.tsx +16 -23
- package/patternfly-docs/content/extensions/chatbot/examples/UI/CustomClosedIcon.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/UI/Settings.tsx +16 -23
- package/patternfly-docs/content/extensions/chatbot/examples/UI/SkipToContent.tsx +5 -5
- package/patternfly-docs/content/extensions/chatbot/examples/UI/SquareChatbotToggle.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUse.tsx +91 -48
- package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUseCompact.tsx +82 -39
- package/patternfly-docs/content/extensions/chatbot/examples/UI/UI.md +12 -1
- package/patternfly-docs/content/extensions/chatbot/examples/demos/AttachmentDemos.md +37 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +34 -1
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +19 -25
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachment.tsx +42 -15
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachmentMenu.tsx +15 -14
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotCompact.tsx +19 -25
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotDisplayMode.tsx +486 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotInDrawer.tsx +17 -22
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotScrolling.tsx +536 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotTranscripts.tsx +565 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedChatbot.tsx +17 -22
- package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedComparisonChatbot.tsx +13 -13
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Feedback.tsx +7 -7
- package/patternfly-docs/content/extensions/chatbot/img/quick-response-confirmation.svg +67 -0
- package/src/AttachMenu/AttachMenu.tsx +2 -2
- package/src/AttachmentEdit/AttachmentEdit.test.tsx +46 -2
- package/src/AttachmentEdit/AttachmentEdit.tsx +25 -7
- package/src/Chatbot/Chatbot.scss +1 -1
- package/src/Chatbot/Chatbot.test.tsx +0 -1
- package/src/Chatbot/Chatbot.tsx +5 -3
- package/src/ChatbotAlert/ChatbotAlert.test.tsx +0 -1
- package/src/ChatbotAlert/ChatbotAlert.tsx +2 -2
- package/src/ChatbotContent/ChatbotContent.scss +1 -1
- package/src/ChatbotContent/ChatbotContent.test.tsx +0 -1
- package/src/ChatbotContent/ChatbotContent.tsx +3 -3
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.tsx +0 -1
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.tsx +6 -4
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.scss +14 -2
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.tsx +61 -3
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.tsx +37 -18
- package/src/ChatbotConversationHistoryNav/EmptyState.tsx +2 -2
- package/src/ChatbotConversationHistoryNav/LoadingState.tsx +2 -2
- package/src/ChatbotFooter/ChatbotFooter.scss +1 -1
- package/src/ChatbotFooter/ChatbotFooter.test.tsx +0 -1
- package/src/ChatbotFooter/ChatbotFooter.tsx +3 -3
- package/src/ChatbotFooter/ChatbotFooternote.test.tsx +0 -1
- package/src/ChatbotFooter/ChatbotFootnote.tsx +6 -4
- package/src/ChatbotHeader/ChatbotHeader.scss +3 -3
- package/src/ChatbotHeader/ChatbotHeader.test.tsx +0 -1
- package/src/ChatbotHeader/ChatbotHeader.tsx +3 -6
- package/src/ChatbotHeader/ChatbotHeaderActions.test.tsx +0 -1
- package/src/ChatbotHeader/ChatbotHeaderActions.tsx +2 -2
- package/src/ChatbotHeader/ChatbotHeaderCloseButton.test.tsx +0 -1
- package/src/ChatbotHeader/ChatbotHeaderCloseButton.tsx +5 -4
- package/src/ChatbotHeader/ChatbotHeaderMain.test.tsx +0 -1
- package/src/ChatbotHeader/ChatbotHeaderMain.tsx +2 -2
- package/src/ChatbotHeader/ChatbotHeaderMenu.test.tsx +0 -1
- package/src/ChatbotHeader/ChatbotHeaderMenu.tsx +7 -7
- package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.tsx +9 -1
- package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.tsx +12 -5
- package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.tsx +9 -1
- package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.tsx +26 -6
- package/src/ChatbotHeader/ChatbotHeaderTitle.test.tsx +0 -1
- package/src/ChatbotHeader/ChatbotHeaderTitle.tsx +2 -2
- package/src/ChatbotModal/ChatbotModal.test.tsx +0 -1
- package/src/ChatbotModal/ChatbotModal.tsx +2 -2
- package/src/ChatbotPopover/ChatbotPopover.tsx +3 -3
- package/src/ChatbotToggle/ChatbotToggle.scss +2 -2
- package/src/ChatbotToggle/ChatbotToggle.test.tsx +0 -1
- package/src/ChatbotToggle/ChatbotToggle.tsx +5 -3
- package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.tsx +0 -1
- package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.tsx +2 -2
- package/src/CodeModal/CodeModal.test.tsx +29 -2
- package/src/CodeModal/CodeModal.tsx +18 -8
- package/src/Compare/Compare.test.tsx +0 -1
- package/src/Compare/Compare.tsx +7 -6
- package/src/FileDetails/FileDetails.test.tsx +0 -1
- package/src/FileDetails/FileDetails.tsx +1 -1
- package/src/FileDetailsLabel/FileDetailsLabel.test.tsx +0 -1
- package/src/FileDetailsLabel/FileDetailsLabel.tsx +1 -1
- package/src/FileDropZone/FileDropZone.test.tsx +112 -1
- package/src/FileDropZone/FileDropZone.tsx +45 -5
- package/src/LoadingMessage/LoadingMessage.test.tsx +0 -1
- package/src/LoadingMessage/LoadingMessage.tsx +2 -2
- package/src/Message/CodeBlockMessage/CodeBlockMessage.scss +7 -0
- package/src/Message/CodeBlockMessage/CodeBlockMessage.tsx +104 -20
- package/src/Message/ErrorMessage/ErrorMessage.tsx +0 -1
- package/src/Message/ImageMessage/ImageMessage.tsx +1 -2
- package/src/Message/LinkMessage/LinkMessage.tsx +0 -1
- package/src/Message/ListMessage/ListItemMessage.tsx +0 -1
- package/src/Message/ListMessage/OrderedListMessage.tsx +0 -1
- package/src/Message/ListMessage/UnorderedListMessage.tsx +0 -1
- package/src/Message/Message.scss +9 -7
- package/src/Message/Message.test.tsx +84 -6
- package/src/Message/Message.tsx +39 -18
- package/src/Message/MessageInput.tsx +9 -5
- package/src/Message/MessageLoading.tsx +0 -2
- package/src/Message/Plugins/index.ts +1 -0
- package/src/Message/Plugins/rehypeCodeBlockToggle.ts +24 -0
- package/src/Message/Plugins/rehypeMoveImagesOutOfParagraphs.ts +53 -0
- package/src/Message/QuickResponse/QuickResponse.tsx +4 -3
- package/src/Message/QuickStarts/FallbackImg.tsx +4 -3
- package/src/Message/QuickStarts/QuickStartTile.tsx +3 -3
- package/src/Message/QuickStarts/QuickStartTileDescription.test.tsx +0 -1
- package/src/Message/QuickStarts/QuickStartTileDescription.tsx +4 -3
- package/src/Message/QuickStarts/QuickStartTileHeader.tsx +2 -2
- package/src/Message/QuickStarts/types.ts +4 -3
- package/src/Message/TableMessage/TableMessage.tsx +4 -4
- package/src/Message/TableMessage/TbodyMessage.tsx +3 -3
- package/src/Message/TableMessage/TdMessage.tsx +1 -2
- package/src/Message/TableMessage/ThMessage.tsx +1 -2
- package/src/Message/TableMessage/TheadMessage.tsx +3 -2
- package/src/Message/TableMessage/TrMessage.tsx +4 -4
- package/src/Message/TextMessage/TextMessage.scss +2 -5
- package/src/Message/TextMessage/TextMessage.tsx +1 -2
- package/src/Message/UserFeedback/CloseButton.tsx +2 -2
- package/src/Message/UserFeedback/UserFeedback.test.tsx +0 -1
- package/src/Message/UserFeedback/UserFeedback.tsx +8 -6
- package/src/Message/UserFeedback/UserFeedbackComplete.test.tsx +0 -1
- package/src/Message/UserFeedback/UserFeedbackComplete.tsx +16 -14
- package/src/Message/index.ts +1 -0
- package/src/MessageBar/AttachButton.test.tsx +127 -8
- package/src/MessageBar/AttachButton.tsx +50 -7
- package/src/MessageBar/MessageBar.test.tsx +81 -30
- package/src/MessageBar/MessageBar.tsx +86 -20
- package/src/MessageBar/MicrophoneButton.tsx +10 -7
- package/src/MessageBar/SendButton.scss +3 -3
- package/src/MessageBar/SendButton.test.tsx +5 -6
- package/src/MessageBar/SendButton.tsx +4 -3
- package/src/MessageBar/StopButton.test.tsx +5 -6
- package/src/MessageBar/StopButton.tsx +4 -3
- package/src/MessageBox/JumpButton.scss +1 -1
- package/src/MessageBox/JumpButton.test.tsx +4 -5
- package/src/MessageBox/JumpButton.tsx +3 -3
- package/src/MessageBox/MessageBox.test.tsx +295 -5
- package/src/MessageBox/MessageBox.tsx +301 -84
- package/src/MessageDivider/MessageDivider.scss +45 -0
- package/src/MessageDivider/MessageDivider.test.tsx +24 -0
- package/src/MessageDivider/MessageDivider.tsx +35 -0
- package/src/MessageDivider/index.ts +3 -0
- package/src/PreviewAttachment/PreviewAttachment.test.tsx +44 -2
- package/src/PreviewAttachment/PreviewAttachment.tsx +24 -6
- package/src/ResponseActions/ResponseActionButton.test.tsx +0 -1
- package/src/ResponseActions/ResponseActionButton.tsx +6 -5
- package/src/ResponseActions/ResponseActions.test.tsx +126 -4
- package/src/ResponseActions/ResponseActions.tsx +92 -12
- package/src/Settings/SettingsForm.test.tsx +0 -1
- package/src/Settings/SettingsForm.tsx +2 -7
- package/src/SourceDetailsMenuItem/SourceDetailsMenuItem.tsx +2 -2
- package/src/SourcesCard/SourcesCard.test.tsx +14 -1
- package/src/SourcesCard/SourcesCard.tsx +19 -7
- package/src/TermsOfUse/TermsOfUse.test.tsx +0 -1
- package/src/TermsOfUse/TermsOfUse.tsx +6 -5
- package/src/index.ts +3 -0
- package/src/main.scss +1 -52
- package/tsconfig.cjs.json +0 -1
- package/tsconfig.json +3 -3
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { useState, FormEvent, FunctionComponent, MouseEvent } from 'react';
|
|
3
2
|
import SettingsForm from '@patternfly/chatbot/dist/dynamic/Settings';
|
|
4
3
|
import {
|
|
5
4
|
Button,
|
|
@@ -23,13 +22,13 @@ import ChatbotHeader, {
|
|
|
23
22
|
} from '@patternfly/chatbot/dist/dynamic/ChatbotHeader';
|
|
24
23
|
import { CogIcon, ExpandIcon, OpenDrawerRightIcon, OutlinedWindowRestoreIcon } from '@patternfly/react-icons';
|
|
25
24
|
|
|
26
|
-
export const CompactSettingsDemo:
|
|
27
|
-
const [isChecked, setIsChecked] =
|
|
28
|
-
const [isThemeOpen, setIsThemeOpen] =
|
|
29
|
-
const [isLanguageOpen, setIsLanguageOpen] =
|
|
30
|
-
const [isVoiceOpen, setIsVoiceOpen] =
|
|
31
|
-
const [displayMode, setDisplayMode] =
|
|
32
|
-
const [areSettingsOpen, setAreSettingsOpen] =
|
|
25
|
+
export const CompactSettingsDemo: FunctionComponent = () => {
|
|
26
|
+
const [isChecked, setIsChecked] = useState<boolean>(true);
|
|
27
|
+
const [isThemeOpen, setIsThemeOpen] = useState(false);
|
|
28
|
+
const [isLanguageOpen, setIsLanguageOpen] = useState(false);
|
|
29
|
+
const [isVoiceOpen, setIsVoiceOpen] = useState(false);
|
|
30
|
+
const [displayMode, setDisplayMode] = useState(ChatbotDisplayMode.default);
|
|
31
|
+
const [areSettingsOpen, setAreSettingsOpen] = useState(true);
|
|
33
32
|
const chatbotVisible = true;
|
|
34
33
|
|
|
35
34
|
const onFocus = (id: string) => {
|
|
@@ -41,10 +40,7 @@ export const CompactSettingsDemo: React.FunctionComponent = () => {
|
|
|
41
40
|
setIsThemeOpen(!isThemeOpen);
|
|
42
41
|
};
|
|
43
42
|
|
|
44
|
-
const onThemeSelect = (
|
|
45
|
-
_event: React.MouseEvent<Element, MouseEvent> | undefined,
|
|
46
|
-
value: string | number | undefined
|
|
47
|
-
) => {
|
|
43
|
+
const onThemeSelect = (_event: MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
|
|
48
44
|
// eslint-disable-next-line no-console
|
|
49
45
|
console.log('selected', value);
|
|
50
46
|
onFocus('theme');
|
|
@@ -56,7 +52,7 @@ export const CompactSettingsDemo: React.FunctionComponent = () => {
|
|
|
56
52
|
};
|
|
57
53
|
|
|
58
54
|
const onLanguageSelect = (
|
|
59
|
-
_event:
|
|
55
|
+
_event: MouseEvent<Element, MouseEvent> | undefined,
|
|
60
56
|
value: string | number | undefined
|
|
61
57
|
) => {
|
|
62
58
|
// eslint-disable-next-line no-console
|
|
@@ -70,16 +66,13 @@ export const CompactSettingsDemo: React.FunctionComponent = () => {
|
|
|
70
66
|
setIsVoiceOpen(!isVoiceOpen);
|
|
71
67
|
};
|
|
72
68
|
|
|
73
|
-
const onVoiceSelect = (
|
|
74
|
-
_event: React.MouseEvent<Element, MouseEvent> | undefined,
|
|
75
|
-
value: string | number | undefined
|
|
76
|
-
) => {
|
|
69
|
+
const onVoiceSelect = (_event: MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
|
|
77
70
|
// eslint-disable-next-line no-console
|
|
78
71
|
console.log('selected', value);
|
|
79
72
|
setIsVoiceOpen(false);
|
|
80
73
|
};
|
|
81
74
|
|
|
82
|
-
const handleChange = (_event:
|
|
75
|
+
const handleChange = (_event: FormEvent<HTMLInputElement>, checked: boolean) => {
|
|
83
76
|
setIsChecked(checked);
|
|
84
77
|
};
|
|
85
78
|
|
|
@@ -91,7 +84,7 @@ export const CompactSettingsDemo: React.FunctionComponent = () => {
|
|
|
91
84
|
shouldFocusToggleOnSelect
|
|
92
85
|
shouldFocusFirstItemOnOpen
|
|
93
86
|
shouldPreventScrollOnItemFocus
|
|
94
|
-
toggle={(toggleRef:
|
|
87
|
+
toggle={(toggleRef: Ref<MenuToggleElement>) => (
|
|
95
88
|
// We want to add the id property here as well so the label is coupled
|
|
96
89
|
// with t he button on screen readers.
|
|
97
90
|
<MenuToggle size="sm" id="theme" ref={toggleRef} onClick={onThemeToggleClick} isExpanded={isThemeOpen}>
|
|
@@ -116,7 +109,7 @@ export const CompactSettingsDemo: React.FunctionComponent = () => {
|
|
|
116
109
|
shouldFocusToggleOnSelect
|
|
117
110
|
shouldFocusFirstItemOnOpen
|
|
118
111
|
shouldPreventScrollOnItemFocus
|
|
119
|
-
toggle={(toggleRef:
|
|
112
|
+
toggle={(toggleRef: Ref<MenuToggleElement>) => (
|
|
120
113
|
// We want to add the id property here as well so the label is coupled
|
|
121
114
|
// with the button on screen readers.
|
|
122
115
|
<MenuToggle size="sm" id="language" ref={toggleRef} onClick={onLanguageToggleClick} isExpanded={isLanguageOpen}>
|
|
@@ -140,7 +133,7 @@ export const CompactSettingsDemo: React.FunctionComponent = () => {
|
|
|
140
133
|
shouldFocusToggleOnSelect
|
|
141
134
|
shouldFocusFirstItemOnOpen
|
|
142
135
|
shouldPreventScrollOnItemFocus
|
|
143
|
-
toggle={(toggleRef:
|
|
136
|
+
toggle={(toggleRef: Ref<MenuToggleElement>) => (
|
|
144
137
|
// We want to add the id property here as well so the label is coupled
|
|
145
138
|
// with the button on screen readers.
|
|
146
139
|
<MenuToggle size="sm" id="voice" ref={toggleRef} onClick={onVoiceToggleClick} isExpanded={isVoiceOpen}>
|
|
@@ -210,7 +203,7 @@ export const CompactSettingsDemo: React.FunctionComponent = () => {
|
|
|
210
203
|
];
|
|
211
204
|
|
|
212
205
|
const onSelectDropdownItem = (
|
|
213
|
-
_event:
|
|
206
|
+
_event: MouseEvent<Element, MouseEvent> | undefined,
|
|
214
207
|
value: string | number | undefined
|
|
215
208
|
) => {
|
|
216
209
|
if (value === 'Settings') {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FunctionComponent, useState } from 'react';
|
|
2
2
|
import ChatbotToggle from '@patternfly/chatbot/dist/dynamic/ChatbotToggle';
|
|
3
3
|
|
|
4
|
-
export const BasicDemo:
|
|
5
|
-
const [chatbotVisible, setChatbotVisible] =
|
|
4
|
+
export const BasicDemo: FunctionComponent = () => {
|
|
5
|
+
const [chatbotVisible, setChatbotVisible] = useState<boolean>(false);
|
|
6
6
|
|
|
7
7
|
const closedToggleIcon: () => JSX.Element = () => (
|
|
8
8
|
<svg
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { useState, FunctionComponent, MouseEvent, Ref } from 'react';
|
|
3
2
|
import SettingsForm from '@patternfly/chatbot/dist/dynamic/Settings';
|
|
4
3
|
import {
|
|
5
4
|
Button,
|
|
@@ -23,13 +22,13 @@ import ChatbotHeader, {
|
|
|
23
22
|
} from '@patternfly/chatbot/dist/dynamic/ChatbotHeader';
|
|
24
23
|
import { CogIcon, ExpandIcon, OpenDrawerRightIcon, OutlinedWindowRestoreIcon } from '@patternfly/react-icons';
|
|
25
24
|
|
|
26
|
-
export const SettingsDemo:
|
|
27
|
-
const [isChecked, setIsChecked] =
|
|
28
|
-
const [isThemeOpen, setIsThemeOpen] =
|
|
29
|
-
const [isLanguageOpen, setIsLanguageOpen] =
|
|
30
|
-
const [isVoiceOpen, setIsVoiceOpen] =
|
|
31
|
-
const [displayMode, setDisplayMode] =
|
|
32
|
-
const [areSettingsOpen, setAreSettingsOpen] =
|
|
25
|
+
export const SettingsDemo: FunctionComponent = () => {
|
|
26
|
+
const [isChecked, setIsChecked] = useState<boolean>(true);
|
|
27
|
+
const [isThemeOpen, setIsThemeOpen] = useState(false);
|
|
28
|
+
const [isLanguageOpen, setIsLanguageOpen] = useState(false);
|
|
29
|
+
const [isVoiceOpen, setIsVoiceOpen] = useState(false);
|
|
30
|
+
const [displayMode, setDisplayMode] = useState(ChatbotDisplayMode.default);
|
|
31
|
+
const [areSettingsOpen, setAreSettingsOpen] = useState(true);
|
|
33
32
|
const chatbotVisible = true;
|
|
34
33
|
|
|
35
34
|
const onFocus = (id: string) => {
|
|
@@ -41,10 +40,7 @@ export const SettingsDemo: React.FunctionComponent = () => {
|
|
|
41
40
|
setIsThemeOpen(!isThemeOpen);
|
|
42
41
|
};
|
|
43
42
|
|
|
44
|
-
const onThemeSelect = (
|
|
45
|
-
_event: React.MouseEvent<Element, MouseEvent> | undefined,
|
|
46
|
-
value: string | number | undefined
|
|
47
|
-
) => {
|
|
43
|
+
const onThemeSelect = (_event: MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
|
|
48
44
|
// eslint-disable-next-line no-console
|
|
49
45
|
console.log('selected', value);
|
|
50
46
|
onFocus('theme');
|
|
@@ -56,7 +52,7 @@ export const SettingsDemo: React.FunctionComponent = () => {
|
|
|
56
52
|
};
|
|
57
53
|
|
|
58
54
|
const onLanguageSelect = (
|
|
59
|
-
_event:
|
|
55
|
+
_event: MouseEvent<Element, MouseEvent> | undefined,
|
|
60
56
|
value: string | number | undefined
|
|
61
57
|
) => {
|
|
62
58
|
// eslint-disable-next-line no-console
|
|
@@ -70,16 +66,13 @@ export const SettingsDemo: React.FunctionComponent = () => {
|
|
|
70
66
|
setIsVoiceOpen(!isVoiceOpen);
|
|
71
67
|
};
|
|
72
68
|
|
|
73
|
-
const onVoiceSelect = (
|
|
74
|
-
_event: React.MouseEvent<Element, MouseEvent> | undefined,
|
|
75
|
-
value: string | number | undefined
|
|
76
|
-
) => {
|
|
69
|
+
const onVoiceSelect = (_event: MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
|
|
77
70
|
// eslint-disable-next-line no-console
|
|
78
71
|
console.log('selected', value);
|
|
79
72
|
setIsVoiceOpen(false);
|
|
80
73
|
};
|
|
81
74
|
|
|
82
|
-
const handleChange = (_event:
|
|
75
|
+
const handleChange = (_event: FormEvent<HTMLInputElement>, checked: boolean) => {
|
|
83
76
|
setIsChecked(checked);
|
|
84
77
|
};
|
|
85
78
|
|
|
@@ -91,7 +84,7 @@ export const SettingsDemo: React.FunctionComponent = () => {
|
|
|
91
84
|
shouldFocusToggleOnSelect
|
|
92
85
|
shouldFocusFirstItemOnOpen
|
|
93
86
|
shouldPreventScrollOnItemFocus
|
|
94
|
-
toggle={(toggleRef:
|
|
87
|
+
toggle={(toggleRef: Ref<MenuToggleElement>) => (
|
|
95
88
|
// We want to add the id property here as well so the label is coupled
|
|
96
89
|
// with the button on screen readers.
|
|
97
90
|
<MenuToggle id="theme" ref={toggleRef} onClick={onThemeToggleClick} isExpanded={isThemeOpen}>
|
|
@@ -116,7 +109,7 @@ export const SettingsDemo: React.FunctionComponent = () => {
|
|
|
116
109
|
shouldFocusToggleOnSelect
|
|
117
110
|
shouldFocusFirstItemOnOpen
|
|
118
111
|
shouldPreventScrollOnItemFocus
|
|
119
|
-
toggle={(toggleRef:
|
|
112
|
+
toggle={(toggleRef: Ref<MenuToggleElement>) => (
|
|
120
113
|
// We want to add the id property here as well so the label is coupled
|
|
121
114
|
// with the button on screen readers.
|
|
122
115
|
<MenuToggle id="language" ref={toggleRef} onClick={onLanguageToggleClick} isExpanded={isLanguageOpen}>
|
|
@@ -140,7 +133,7 @@ export const SettingsDemo: React.FunctionComponent = () => {
|
|
|
140
133
|
shouldFocusToggleOnSelect
|
|
141
134
|
shouldFocusFirstItemOnOpen
|
|
142
135
|
shouldPreventScrollOnItemFocus
|
|
143
|
-
toggle={(toggleRef:
|
|
136
|
+
toggle={(toggleRef: Ref<MenuToggleElement>) => (
|
|
144
137
|
// We want to add the id property here as well so the label is coupled
|
|
145
138
|
// with the button on screen readers.
|
|
146
139
|
<MenuToggle id="voice" ref={toggleRef} onClick={onVoiceToggleClick} isExpanded={isVoiceOpen}>
|
|
@@ -210,7 +203,7 @@ export const SettingsDemo: React.FunctionComponent = () => {
|
|
|
210
203
|
];
|
|
211
204
|
|
|
212
205
|
const onSelectDropdownItem = (
|
|
213
|
-
_event:
|
|
206
|
+
_event: MouseEvent<Element, MouseEvent> | undefined,
|
|
214
207
|
value: string | number | undefined
|
|
215
208
|
) => {
|
|
216
209
|
if (value === 'Settings') {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { useState, useRef, FunctionComponent } from 'react';
|
|
2
2
|
|
|
3
3
|
import { SkipToContent } from '@patternfly/react-core';
|
|
4
4
|
import ChatbotToggle from '@patternfly/chatbot/dist/dynamic/ChatbotToggle';
|
|
5
5
|
import Chatbot, { ChatbotDisplayMode } from '@patternfly/chatbot/dist/dynamic/Chatbot';
|
|
6
6
|
|
|
7
|
-
export const ChatbotDemo:
|
|
8
|
-
const [chatbotVisible, setChatbotVisible] =
|
|
9
|
-
const toggleRef =
|
|
10
|
-
const chatbotRef =
|
|
7
|
+
export const ChatbotDemo: FunctionComponent = () => {
|
|
8
|
+
const [chatbotVisible, setChatbotVisible] = useState<boolean>(true);
|
|
9
|
+
const toggleRef = useRef<HTMLButtonElement>(null);
|
|
10
|
+
const chatbotRef = useRef<HTMLDivElement>(null);
|
|
11
11
|
const displayMode = ChatbotDisplayMode.default;
|
|
12
12
|
|
|
13
13
|
const handleSkipToContent = (e) => {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FunctionComponent, useState } from 'react';
|
|
2
2
|
import ChatbotToggle from '@patternfly/chatbot/dist/dynamic/ChatbotToggle';
|
|
3
3
|
|
|
4
|
-
export const SquareChatbotToggle:
|
|
5
|
-
const [chatbotVisible, setChatbotVisible] =
|
|
4
|
+
export const SquareChatbotToggle: FunctionComponent = () => {
|
|
5
|
+
const [chatbotVisible, setChatbotVisible] = useState<boolean>(false);
|
|
6
6
|
return (
|
|
7
7
|
<ChatbotToggle
|
|
8
8
|
tooltipLabel="Chatbot"
|
|
@@ -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
|
|
@@ -1,13 +1,32 @@
|
|
|
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
|
+
SkipToContent,
|
|
13
|
+
MenuToggle,
|
|
14
|
+
MenuToggleElement,
|
|
15
|
+
Select,
|
|
16
|
+
SelectList,
|
|
17
|
+
SelectOption,
|
|
18
|
+
Stack
|
|
19
|
+
} from '@patternfly/react-core';
|
|
3
20
|
import TermsOfUse from '@patternfly/chatbot/dist/dynamic/TermsOfUse';
|
|
4
21
|
import Chatbot, { ChatbotDisplayMode } from '@patternfly/chatbot/dist/dynamic/Chatbot';
|
|
5
22
|
|
|
6
|
-
export const TermsOfUseCompactExample:
|
|
7
|
-
const [isModalOpen, setIsModalOpen] =
|
|
8
|
-
const [displayMode, setDisplayMode] =
|
|
9
|
-
const chatbotRef =
|
|
10
|
-
const termsRef =
|
|
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');
|
|
11
30
|
|
|
12
31
|
const handleSkipToContent = (e) => {
|
|
13
32
|
e.preventDefault();
|
|
@@ -19,7 +38,7 @@ export const TermsOfUseCompactExample: React.FunctionComponent = () => {
|
|
|
19
38
|
}
|
|
20
39
|
};
|
|
21
40
|
|
|
22
|
-
const handleModalToggle = (_event:
|
|
41
|
+
const handleModalToggle = (_event: ReactMouseEvent | MouseEvent | KeyboardEvent) => {
|
|
23
42
|
setIsModalOpen(!isModalOpen);
|
|
24
43
|
};
|
|
25
44
|
|
|
@@ -33,6 +52,42 @@ export const TermsOfUseCompactExample: React.FunctionComponent = () => {
|
|
|
33
52
|
console.log('Clicked secondary action');
|
|
34
53
|
};
|
|
35
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
|
+
|
|
36
91
|
const introduction = (
|
|
37
92
|
<>
|
|
38
93
|
<p>
|
|
@@ -87,37 +142,25 @@ export const TermsOfUseCompactExample: React.FunctionComponent = () => {
|
|
|
87
142
|
boxShadow: 'var(--pf-t--global--box-shadow--lg)'
|
|
88
143
|
}}
|
|
89
144
|
>
|
|
90
|
-
<
|
|
91
|
-
<
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
label="Fullscreen"
|
|
110
|
-
id="fullscreen"
|
|
111
|
-
/>
|
|
112
|
-
<Radio
|
|
113
|
-
isChecked={displayMode === ChatbotDisplayMode.embedded}
|
|
114
|
-
onChange={() => setDisplayMode(ChatbotDisplayMode.embedded)}
|
|
115
|
-
name="basic-inline-radio"
|
|
116
|
-
label="Embedded"
|
|
117
|
-
id="embedded"
|
|
118
|
-
/>
|
|
119
|
-
</FormGroup>
|
|
120
|
-
<Button onClick={handleModalToggle}>Launch modal</Button>
|
|
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>
|
|
121
164
|
</div>
|
|
122
165
|
<Chatbot ref={chatbotRef} displayMode={displayMode} isVisible></Chatbot>
|
|
123
166
|
<TermsOfUse
|
|
@@ -68,7 +68,7 @@ import { MessageBar } from '@patternfly/chatbot/dist/dynamic/MessageBar';
|
|
|
68
68
|
import SourceDetailsMenuItem from '@patternfly/chatbot/dist/dynamic/SourceDetailsMenuItem';
|
|
69
69
|
import { ChatbotModal } from '@patternfly/chatbot/dist/dynamic/ChatbotModal';
|
|
70
70
|
import SettingsForm from '@patternfly/chatbot/dist/dynamic/Settings';
|
|
71
|
-
import { BellIcon, CalendarAltIcon, ClipboardIcon, CodeIcon, UploadIcon } from '@patternfly/react-icons';
|
|
71
|
+
import { BellIcon, CalendarAltIcon, ClipboardIcon, CodeIcon, ThumbtackIcon, UploadIcon } from '@patternfly/react-icons';
|
|
72
72
|
import { useDropzone } from 'react-dropzone';
|
|
73
73
|
|
|
74
74
|
import ChatbotConversationHistoryNav from '@patternfly/chatbot/dist/dynamic/ChatbotConversationHistoryNav';
|
|
@@ -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
|
|
|
@@ -360,6 +361,14 @@ Actions can be added to conversations with `menuItems`. Optionally, you can also
|
|
|
360
361
|
|
|
361
362
|
```
|
|
362
363
|
|
|
364
|
+
### Pinning conversations
|
|
365
|
+
|
|
366
|
+
To help users track important conversations, add a "pin" option to the conversation action menus. This action moves a conversation to a dedicated "pinned" section at the top of the history drawer for quick access. Pinned items should contain an "unpin" option, so that users can remove pinned conversations as needed.
|
|
367
|
+
|
|
368
|
+
```js file="./ChatbotHeaderDrawerWithPin.tsx"
|
|
369
|
+
|
|
370
|
+
```
|
|
371
|
+
|
|
363
372
|
### Drawer with active conversation
|
|
364
373
|
|
|
365
374
|
If you're showing a conversation that is already active, you can set the `activeItemId` prop on your `<ChatbotConversationHistoryNav>` to apply an active visual state.
|
|
@@ -399,6 +408,7 @@ This example also includes an example of how to use [skip to content](/patternfl
|
|
|
399
408
|
### Compact terms of use
|
|
400
409
|
|
|
401
410
|
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.
|
|
411
|
+
|
|
402
412
|
```js file="./TermsOfUseCompact.tsx" isFullscreen
|
|
403
413
|
|
|
404
414
|
```
|
|
@@ -416,6 +426,7 @@ In this demo, you can toggle the settings page by clicking the "Settings" button
|
|
|
416
426
|
### Compact settings
|
|
417
427
|
|
|
418
428
|
To make the settings menu compact, with less spacing between the menu contents, pass `isCompact` to the `<SettingsForm>`.
|
|
429
|
+
|
|
419
430
|
```js file="./CompactSettings.tsx" isFullscreen
|
|
420
431
|
|
|
421
432
|
```
|
|
@@ -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:
|