@patternfly/chatbot 2.2.1 → 6.3.0-prerelease.10
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/AttachmentEdit/AttachmentEdit.d.ts +2 -0
- package/dist/cjs/AttachmentEdit/AttachmentEdit.js +2 -2
- package/dist/cjs/Chatbot/Chatbot.d.ts +2 -0
- package/dist/cjs/Chatbot/Chatbot.js +2 -2
- package/dist/cjs/Chatbot/Chatbot.test.js +4 -0
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +6 -0
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +9 -3
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +27 -0
- package/dist/cjs/ChatbotFooter/ChatbotFooter.d.ts +1 -0
- package/dist/cjs/ChatbotFooter/ChatbotFooter.js +2 -2
- package/dist/cjs/ChatbotFooter/ChatbotFooter.test.d.ts +1 -1
- package/dist/cjs/ChatbotFooter/ChatbotFooter.test.js +5 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeader.js +1 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +4 -2
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.js +20 -6
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +1 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.js +5 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.js +1 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.d.ts +3 -2
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.js +20 -6
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +1 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.js +5 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +1 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +3 -3
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +1 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +5 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +1 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +2 -2
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +1 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +5 -0
- package/dist/cjs/ChatbotModal/ChatbotModal.d.ts +3 -0
- package/dist/cjs/ChatbotModal/ChatbotModal.js +2 -2
- package/dist/cjs/ChatbotModal/ChatbotModal.test.d.ts +1 -0
- package/dist/cjs/ChatbotModal/ChatbotModal.test.js +28 -0
- package/dist/cjs/ChatbotPopover/ChatbotPopover.js +1 -1
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +1 -0
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +3 -3
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +4 -0
- package/dist/cjs/CodeModal/CodeModal.d.ts +2 -0
- package/dist/cjs/CodeModal/CodeModal.js +3 -3
- package/dist/cjs/CodeModal/CodeModal.test.d.ts +1 -0
- package/dist/cjs/CodeModal/CodeModal.test.js +15 -0
- package/dist/cjs/FileDetails/FileDetails.js +1 -1
- package/dist/cjs/Message/Message.d.ts +19 -1
- package/dist/cjs/Message/Message.js +58 -39
- package/dist/cjs/Message/Message.test.js +64 -0
- package/dist/cjs/Message/MessageInput.d.ts +18 -0
- package/dist/cjs/Message/MessageInput.js +34 -0
- package/dist/cjs/Message/QuickResponse/QuickResponse.d.ts +2 -0
- package/dist/cjs/Message/QuickResponse/QuickResponse.js +2 -2
- package/dist/cjs/Message/QuickStarts/QuickStartTile.d.ts +2 -0
- package/dist/cjs/Message/QuickStarts/QuickStartTile.js +2 -2
- package/dist/cjs/Message/UserFeedback/UserFeedback.js +4 -4
- package/dist/cjs/Message/UserFeedback/UserFeedback.test.js +4 -0
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.js +4 -4
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.js +4 -0
- package/dist/cjs/MessageBar/AttachButton.d.ts +1 -0
- package/dist/cjs/MessageBar/AttachButton.js +3 -3
- package/dist/cjs/MessageBar/AttachButton.test.js +4 -0
- package/dist/cjs/MessageBar/MessageBar.d.ts +5 -0
- package/dist/cjs/MessageBar/MessageBar.js +14 -13
- package/dist/cjs/MessageBar/MessageBar.test.js +13 -0
- package/dist/cjs/MessageBar/MicrophoneButton.d.ts +1 -0
- package/dist/cjs/MessageBar/MicrophoneButton.js +4 -4
- package/dist/cjs/MessageBar/SendButton.d.ts +1 -0
- package/dist/cjs/MessageBar/SendButton.js +3 -3
- package/dist/cjs/MessageBar/SendButton.test.js +4 -0
- package/dist/cjs/MessageBar/StopButton.d.ts +1 -0
- package/dist/cjs/MessageBar/StopButton.js +3 -3
- package/dist/cjs/MessageBar/StopButton.test.js +4 -0
- package/dist/cjs/MessageBox/MessageBox.d.ts +4 -0
- package/dist/cjs/MessageBox/MessageBox.js +21 -7
- package/dist/cjs/MessageBox/MessageBox.test.js +43 -0
- package/dist/cjs/PreviewAttachment/PreviewAttachment.d.ts +2 -0
- package/dist/cjs/PreviewAttachment/PreviewAttachment.js +2 -2
- package/dist/cjs/Settings/SettingsForm.d.ts +2 -0
- package/dist/cjs/Settings/SettingsForm.js +2 -2
- package/dist/cjs/Settings/SettingsForm.test.d.ts +1 -1
- package/dist/cjs/Settings/SettingsForm.test.js +12 -0
- package/dist/cjs/SourcesCard/SourcesCard.d.ts +7 -1
- package/dist/cjs/SourcesCard/SourcesCard.js +17 -11
- package/dist/cjs/SourcesCard/SourcesCard.test.js +25 -15
- package/dist/cjs/TermsOfUse/TermsOfUse.d.ts +2 -0
- package/dist/cjs/TermsOfUse/TermsOfUse.js +5 -5
- package/dist/cjs/tracking/console_tracking_provider.d.ts +4 -5
- package/dist/cjs/tracking/console_tracking_provider.js +22 -15
- package/dist/cjs/tracking/posthog_tracking_provider.d.ts +2 -2
- package/dist/cjs/tracking/posthog_tracking_provider.js +21 -12
- package/dist/cjs/tracking/segment_tracking_provider.d.ts +2 -2
- package/dist/cjs/tracking/segment_tracking_provider.js +21 -12
- package/dist/cjs/tracking/trackingProviderProxy.d.ts +1 -1
- package/dist/cjs/tracking/trackingProviderProxy.js +2 -2
- package/dist/cjs/tracking/tracking_api.d.ts +1 -1
- package/dist/cjs/tracking/tracking_registry.js +46 -12
- package/dist/cjs/tracking/tracking_spi.d.ts +15 -5
- package/dist/cjs/tracking/tracking_spi.js +9 -0
- package/dist/cjs/tracking/umami_tracking_provider.d.ts +6 -2
- package/dist/cjs/tracking/umami_tracking_provider.js +66 -22
- package/dist/css/main.css +225 -22
- package/dist/css/main.css.map +1 -1
- package/dist/esm/AttachmentEdit/AttachmentEdit.d.ts +2 -0
- package/dist/esm/AttachmentEdit/AttachmentEdit.js +2 -2
- package/dist/esm/Chatbot/Chatbot.d.ts +2 -0
- package/dist/esm/Chatbot/Chatbot.js +2 -2
- package/dist/esm/Chatbot/Chatbot.test.js +4 -0
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +6 -0
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +9 -3
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +27 -0
- package/dist/esm/ChatbotFooter/ChatbotFooter.d.ts +1 -0
- package/dist/esm/ChatbotFooter/ChatbotFooter.js +2 -2
- package/dist/esm/ChatbotFooter/ChatbotFooter.test.d.ts +1 -1
- package/dist/esm/ChatbotFooter/ChatbotFooter.test.js +5 -0
- package/dist/esm/ChatbotHeader/ChatbotHeader.js +1 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +4 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.js +20 -6
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +1 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.js +5 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderMain.js +1 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.d.ts +3 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.js +20 -6
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +1 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.js +5 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +1 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +3 -3
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +1 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +5 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +1 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +1 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +5 -0
- package/dist/esm/ChatbotModal/ChatbotModal.d.ts +3 -0
- package/dist/esm/ChatbotModal/ChatbotModal.js +2 -2
- package/dist/esm/ChatbotModal/ChatbotModal.test.d.ts +1 -0
- package/dist/esm/ChatbotModal/ChatbotModal.test.js +23 -0
- package/dist/esm/ChatbotPopover/ChatbotPopover.js +1 -1
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +1 -0
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +3 -3
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +4 -0
- package/dist/esm/CodeModal/CodeModal.d.ts +2 -0
- package/dist/esm/CodeModal/CodeModal.js +3 -3
- package/dist/esm/CodeModal/CodeModal.test.d.ts +1 -0
- package/dist/esm/CodeModal/CodeModal.test.js +10 -0
- package/dist/esm/FileDetails/FileDetails.js +1 -1
- package/dist/esm/Message/Message.d.ts +19 -1
- package/dist/esm/Message/Message.js +58 -39
- package/dist/esm/Message/Message.test.js +64 -0
- package/dist/esm/Message/MessageInput.d.ts +18 -0
- package/dist/esm/Message/MessageInput.js +29 -0
- package/dist/esm/Message/QuickResponse/QuickResponse.d.ts +2 -0
- package/dist/esm/Message/QuickResponse/QuickResponse.js +2 -2
- package/dist/esm/Message/QuickStarts/QuickStartTile.d.ts +2 -0
- package/dist/esm/Message/QuickStarts/QuickStartTile.js +2 -2
- package/dist/esm/Message/UserFeedback/UserFeedback.js +4 -4
- package/dist/esm/Message/UserFeedback/UserFeedback.test.js +4 -0
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.js +4 -4
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.js +4 -0
- package/dist/esm/MessageBar/AttachButton.d.ts +1 -0
- package/dist/esm/MessageBar/AttachButton.js +3 -3
- package/dist/esm/MessageBar/AttachButton.test.js +4 -0
- package/dist/esm/MessageBar/MessageBar.d.ts +5 -0
- package/dist/esm/MessageBar/MessageBar.js +14 -13
- package/dist/esm/MessageBar/MessageBar.test.js +13 -0
- package/dist/esm/MessageBar/MicrophoneButton.d.ts +1 -0
- package/dist/esm/MessageBar/MicrophoneButton.js +4 -4
- package/dist/esm/MessageBar/SendButton.d.ts +1 -0
- package/dist/esm/MessageBar/SendButton.js +3 -3
- package/dist/esm/MessageBar/SendButton.test.js +4 -0
- package/dist/esm/MessageBar/StopButton.d.ts +1 -0
- package/dist/esm/MessageBar/StopButton.js +3 -3
- package/dist/esm/MessageBar/StopButton.test.js +4 -0
- package/dist/esm/MessageBox/MessageBox.d.ts +4 -0
- package/dist/esm/MessageBox/MessageBox.js +21 -7
- package/dist/esm/MessageBox/MessageBox.test.js +44 -1
- package/dist/esm/PreviewAttachment/PreviewAttachment.d.ts +2 -0
- package/dist/esm/PreviewAttachment/PreviewAttachment.js +2 -2
- package/dist/esm/Settings/SettingsForm.d.ts +2 -0
- package/dist/esm/Settings/SettingsForm.js +2 -2
- package/dist/esm/Settings/SettingsForm.test.d.ts +1 -1
- package/dist/esm/Settings/SettingsForm.test.js +12 -0
- package/dist/esm/SourcesCard/SourcesCard.d.ts +7 -1
- package/dist/esm/SourcesCard/SourcesCard.js +18 -12
- package/dist/esm/SourcesCard/SourcesCard.test.js +25 -15
- package/dist/esm/TermsOfUse/TermsOfUse.d.ts +2 -0
- package/dist/esm/TermsOfUse/TermsOfUse.js +5 -5
- package/dist/esm/tracking/console_tracking_provider.d.ts +4 -5
- package/dist/esm/tracking/console_tracking_provider.js +22 -15
- package/dist/esm/tracking/posthog_tracking_provider.d.ts +2 -2
- package/dist/esm/tracking/posthog_tracking_provider.js +21 -12
- package/dist/esm/tracking/segment_tracking_provider.d.ts +2 -2
- package/dist/esm/tracking/segment_tracking_provider.js +21 -12
- package/dist/esm/tracking/trackingProviderProxy.d.ts +1 -1
- package/dist/esm/tracking/trackingProviderProxy.js +2 -2
- package/dist/esm/tracking/tracking_api.d.ts +1 -1
- package/dist/esm/tracking/tracking_registry.js +46 -12
- package/dist/esm/tracking/tracking_spi.d.ts +15 -5
- package/dist/esm/tracking/tracking_spi.js +8 -1
- package/dist/esm/tracking/umami_tracking_provider.d.ts +6 -2
- package/dist/esm/tracking/umami_tracking_provider.js +66 -22
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/patternfly-docs/content/extensions/chatbot/examples/Analytics/Analytics.md +18 -14
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentEdit.tsx +10 -1
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +74 -104
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetailsLabel.tsx +48 -37
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedback.tsx +33 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickResponses.tsx +34 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickStart.tsx +11 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithSources.tsx +71 -13
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +3 -1
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/PreviewAttachment.tsx +10 -1
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +80 -104
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawer.tsx +44 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerResizable.tsx +13 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithActions.tsx +9 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithSelection.tsx +11 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/CompactSettings.tsx +289 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUseCompact.tsx +136 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/UI.md +15 -1
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +8 -1
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +6 -3
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachment.tsx +2 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachmentMenu.tsx +2 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotCompact.tsx +481 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotInDrawer.tsx +2 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedChatbot.tsx +2 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedComparisonChatbot.tsx +62 -57
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Feedback.tsx +2 -0
- package/src/AttachmentEdit/AttachmentEdit.tsx +5 -1
- package/src/Chatbot/Chatbot.scss +7 -0
- package/src/Chatbot/Chatbot.test.tsx +9 -0
- package/src/Chatbot/Chatbot.tsx +4 -1
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.scss +38 -3
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.tsx +71 -0
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.tsx +23 -2
- package/src/ChatbotFooter/ChatbotFooter.scss +5 -0
- package/src/ChatbotFooter/ChatbotFooter.test.tsx +10 -0
- package/src/ChatbotFooter/ChatbotFooter.tsx +3 -1
- package/src/ChatbotHeader/ChatbotHeader.scss +25 -0
- package/src/ChatbotHeader/ChatbotHeader.tsx +1 -1
- package/src/ChatbotHeader/ChatbotHeaderCloseButton.test.tsx +6 -0
- package/src/ChatbotHeader/ChatbotHeaderCloseButton.tsx +12 -6
- package/src/ChatbotHeader/ChatbotHeaderMain.tsx +3 -1
- package/src/ChatbotHeader/ChatbotHeaderMenu.test.tsx +8 -0
- package/src/ChatbotHeader/ChatbotHeaderMenu.tsx +10 -5
- package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.tsx +6 -0
- package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.tsx +5 -2
- package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.tsx +10 -0
- package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.tsx +4 -0
- package/src/ChatbotModal/ChatbotModal.scss +15 -4
- package/src/ChatbotModal/ChatbotModal.test.tsx +59 -0
- package/src/ChatbotModal/ChatbotModal.tsx +5 -1
- package/src/ChatbotPopover/ChatbotPopover.scss +9 -5
- package/src/ChatbotPopover/ChatbotPopover.tsx +1 -1
- package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.scss +9 -1
- package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.tsx +13 -0
- package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.tsx +13 -2
- package/src/ChatbotWelcomePrompt/__snapshots__/ChatbotWelcomePrompt.test.tsx.snap +1 -1
- package/src/CodeModal/CodeModal.scss +11 -3
- package/src/CodeModal/CodeModal.test.tsx +24 -0
- package/src/CodeModal/CodeModal.tsx +6 -2
- package/src/FileDetails/FileDetails.tsx +1 -1
- package/src/FileDetails/__snapshots__/FileDetails.test.tsx.snap +1 -1
- package/src/FileDetailsLabel/__snapshots__/FileDetailsLabel.test.tsx.snap +1 -1
- package/src/Message/Message.scss +31 -0
- package/src/Message/Message.test.tsx +83 -0
- package/src/Message/Message.tsx +121 -56
- package/src/Message/MessageInput.tsx +59 -0
- package/src/Message/QuickResponse/QuickResponse.tsx +5 -1
- package/src/Message/QuickStarts/QuickStartTile.tsx +5 -1
- package/src/Message/TextMessage/TextMessage.scss +25 -0
- package/src/Message/UserFeedback/UserFeedback.scss +24 -3
- package/src/Message/UserFeedback/UserFeedback.test.tsx +13 -0
- package/src/Message/UserFeedback/UserFeedback.tsx +4 -2
- package/src/Message/UserFeedback/UserFeedbackComplete.test.tsx +4 -0
- package/src/Message/UserFeedback/UserFeedbackComplete.tsx +10 -2
- package/src/MessageBar/AttachButton.scss +10 -0
- package/src/MessageBar/AttachButton.test.tsx +4 -0
- package/src/MessageBar/AttachButton.tsx +5 -2
- package/src/MessageBar/MessageBar.scss +17 -0
- package/src/MessageBar/MessageBar.test.tsx +13 -0
- package/src/MessageBar/MessageBar.tsx +23 -8
- package/src/MessageBar/MicrophoneButton.scss +10 -0
- package/src/MessageBar/MicrophoneButton.tsx +6 -3
- package/src/MessageBar/SendButton.scss +10 -0
- package/src/MessageBar/SendButton.test.tsx +5 -1
- package/src/MessageBar/SendButton.tsx +5 -2
- package/src/MessageBar/StopButton.scss +10 -0
- package/src/MessageBar/StopButton.test.tsx +5 -1
- package/src/MessageBar/StopButton.tsx +5 -2
- package/src/MessageBox/MessageBox.scss +6 -0
- package/src/MessageBox/MessageBox.test.tsx +45 -1
- package/src/MessageBox/MessageBox.tsx +16 -6
- package/src/PreviewAttachment/PreviewAttachment.tsx +5 -1
- package/src/Settings/Settings.scss +11 -0
- package/src/Settings/SettingsForm.test.tsx +17 -0
- package/src/Settings/SettingsForm.tsx +12 -2
- package/src/SourcesCard/SourcesCard.scss +11 -7
- package/src/SourcesCard/SourcesCard.test.tsx +30 -22
- package/src/SourcesCard/SourcesCard.tsx +56 -13
- package/src/TermsOfUse/TermsOfUse.scss +20 -0
- package/src/TermsOfUse/TermsOfUse.tsx +9 -4
- package/src/tracking/console_tracking_provider.ts +21 -17
- package/src/tracking/posthog_tracking_provider.ts +20 -13
- package/src/tracking/segment_tracking_provider.ts +20 -13
- package/src/tracking/trackingProviderProxy.ts +2 -2
- package/src/tracking/tracking_api.ts +1 -1
- package/src/tracking/tracking_registry.ts +46 -13
- package/src/tracking/tracking_spi.ts +18 -7
- package/src/tracking/umami_tracking_provider.ts +76 -20
- package/src/SourcesCard/__snapshots__/SourcesCard.test.tsx.snap +0 -34
@@ -2,38 +2,48 @@ import React from 'react';
|
|
2
2
|
|
3
3
|
import Message from '@patternfly/chatbot/dist/dynamic/Message';
|
4
4
|
import userAvatar from './user_avatar.svg';
|
5
|
-
import {
|
5
|
+
import {
|
6
|
+
AlertActionLink,
|
7
|
+
MenuToggle,
|
8
|
+
MenuToggleElement,
|
9
|
+
Select,
|
10
|
+
SelectList,
|
11
|
+
SelectOption
|
12
|
+
} from '@patternfly/react-core';
|
6
13
|
|
7
14
|
export const UserMessageExample: React.FunctionComponent = () => {
|
8
|
-
const [variant, setVariant] = React.useState('
|
15
|
+
const [variant, setVariant] = React.useState<string>('Code');
|
16
|
+
const [isEditable, setIsEditable] = React.useState<boolean>(true);
|
17
|
+
const [isOpen, setIsOpen] = React.useState<boolean>(false);
|
18
|
+
const [selected, setSelected] = React.useState<string>('Message content type');
|
9
19
|
|
10
20
|
/* eslint-disable indent */
|
11
21
|
const renderContent = () => {
|
12
22
|
switch (variant) {
|
13
|
-
case '
|
23
|
+
case 'Code':
|
14
24
|
return code;
|
15
|
-
case '
|
25
|
+
case 'Inline code':
|
16
26
|
return inlineCode;
|
17
|
-
case '
|
27
|
+
case 'Heading':
|
18
28
|
return heading;
|
19
|
-
case '
|
29
|
+
case 'Emphasis':
|
20
30
|
return emphasis;
|
21
|
-
case '
|
31
|
+
case 'Block quotes':
|
22
32
|
return blockQuotes;
|
23
|
-
case '
|
33
|
+
case 'Ordered list':
|
24
34
|
return orderedList;
|
25
|
-
case '
|
35
|
+
case 'Unordered list':
|
26
36
|
return unorderedList;
|
27
|
-
case '
|
37
|
+
case 'More complex list':
|
28
38
|
return moreComplexList;
|
29
|
-
case '
|
39
|
+
case 'Link':
|
30
40
|
return link;
|
31
|
-
case '
|
41
|
+
case 'Table':
|
32
42
|
return table;
|
33
|
-
case '
|
43
|
+
case 'Image':
|
34
44
|
return image;
|
35
45
|
default:
|
36
|
-
return;
|
46
|
+
return '';
|
37
47
|
}
|
38
48
|
};
|
39
49
|
/* eslint-enable indent */
|
@@ -155,6 +165,32 @@ _Italic text, formatted with single underscores_
|
|
155
165
|
)
|
156
166
|
};
|
157
167
|
|
168
|
+
const onSelect = (_event: React.MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
|
169
|
+
setVariant(value);
|
170
|
+
setSelected(value as string);
|
171
|
+
setIsOpen(false);
|
172
|
+
};
|
173
|
+
|
174
|
+
const onToggleClick = () => {
|
175
|
+
setIsOpen(!isOpen);
|
176
|
+
};
|
177
|
+
|
178
|
+
const toggle = (toggleRef: React.Ref<MenuToggleElement>) => (
|
179
|
+
<MenuToggle
|
180
|
+
className="pf-v6-u-mb-md"
|
181
|
+
ref={toggleRef}
|
182
|
+
onClick={onToggleClick}
|
183
|
+
isExpanded={isOpen}
|
184
|
+
style={
|
185
|
+
{
|
186
|
+
width: '200px'
|
187
|
+
} as React.CSSProperties
|
188
|
+
}
|
189
|
+
>
|
190
|
+
{selected}
|
191
|
+
</MenuToggle>
|
192
|
+
);
|
193
|
+
|
158
194
|
return (
|
159
195
|
<>
|
160
196
|
<Message
|
@@ -171,103 +207,43 @@ _Italic text, formatted with single underscores_
|
|
171
207
|
avatar={userAvatar}
|
172
208
|
avatarProps={{ isBordered: true }}
|
173
209
|
/>
|
174
|
-
<
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
<
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
onChange={() => setVariant('blockQuotes')}
|
200
|
-
name="user-message-type"
|
201
|
-
label="Block quote"
|
202
|
-
id="user-block-quotes"
|
203
|
-
/>
|
204
|
-
<Radio
|
205
|
-
isChecked={variant === 'emphasis'}
|
206
|
-
onChange={() => setVariant('emphasis')}
|
207
|
-
name="user-message-type"
|
208
|
-
label="Emphasis"
|
209
|
-
id="user-emphasis"
|
210
|
-
/>
|
211
|
-
<Radio
|
212
|
-
isChecked={variant === 'link'}
|
213
|
-
onChange={() => setVariant('link')}
|
214
|
-
name="user-message-type"
|
215
|
-
label="Link"
|
216
|
-
id="user-link"
|
217
|
-
/>
|
218
|
-
<Radio
|
219
|
-
isChecked={variant === 'unorderedList'}
|
220
|
-
onChange={() => setVariant('unorderedList')}
|
221
|
-
name="user-message-type"
|
222
|
-
label="Unordered list"
|
223
|
-
id="user-unordered-list"
|
224
|
-
/>
|
225
|
-
<Radio
|
226
|
-
isChecked={variant === 'orderedList'}
|
227
|
-
onChange={() => setVariant('orderedList')}
|
228
|
-
name="user-message-type"
|
229
|
-
label="Ordered list"
|
230
|
-
id="user-ordered-list"
|
231
|
-
/>
|
232
|
-
<Radio
|
233
|
-
isChecked={variant === 'moreComplexList'}
|
234
|
-
onChange={() => setVariant('moreComplexList')}
|
235
|
-
name="user-message-type"
|
236
|
-
label="More complex list"
|
237
|
-
id="user-more-complex-list"
|
238
|
-
/>
|
239
|
-
<Radio
|
240
|
-
isChecked={variant === 'table'}
|
241
|
-
onChange={() => setVariant('table')}
|
242
|
-
name="user-message-type"
|
243
|
-
label="Table"
|
244
|
-
id="user-table"
|
245
|
-
/>
|
246
|
-
<Radio
|
247
|
-
isChecked={variant === 'image'}
|
248
|
-
onChange={() => setVariant('image')}
|
249
|
-
name="user-message-type"
|
250
|
-
label="Image"
|
251
|
-
id="user-image"
|
252
|
-
/>
|
253
|
-
<Radio
|
254
|
-
isChecked={variant === 'error'}
|
255
|
-
onChange={() => setVariant('error')}
|
256
|
-
name="user-message-error"
|
257
|
-
label="Error"
|
258
|
-
id="user-error"
|
259
|
-
/>
|
260
|
-
</FormGroup>
|
261
|
-
</Form>
|
210
|
+
<Select
|
211
|
+
id="single-select"
|
212
|
+
isOpen={isOpen}
|
213
|
+
selected={selected}
|
214
|
+
onSelect={onSelect}
|
215
|
+
onOpenChange={(isOpen) => setIsOpen(isOpen)}
|
216
|
+
toggle={toggle}
|
217
|
+
shouldFocusToggleOnSelect
|
218
|
+
>
|
219
|
+
<SelectList>
|
220
|
+
<SelectOption value="Code">Code</SelectOption>
|
221
|
+
<SelectOption value="Inline code">Inline code</SelectOption>
|
222
|
+
<SelectOption value="Heading">Heading</SelectOption>
|
223
|
+
<SelectOption value="Block quotes">Block quotes</SelectOption>
|
224
|
+
<SelectOption value="Emphasis">Emphasis</SelectOption>
|
225
|
+
<SelectOption value="Link">Link</SelectOption>
|
226
|
+
<SelectOption value="Unordered list">Unordered list</SelectOption>
|
227
|
+
<SelectOption value="Ordered list">Ordered list</SelectOption>
|
228
|
+
<SelectOption value="More complex list">More complex list</SelectOption>
|
229
|
+
<SelectOption value="Table">Table</SelectOption>
|
230
|
+
<SelectOption value="Image">Image</SelectOption>
|
231
|
+
<SelectOption value="Error">Error</SelectOption>
|
232
|
+
<SelectOption value="Editable">Editable</SelectOption>
|
233
|
+
</SelectList>
|
234
|
+
</Select>
|
262
235
|
<Message
|
263
236
|
name="User"
|
264
237
|
role="user"
|
265
238
|
content={renderContent()}
|
266
239
|
avatar={userAvatar}
|
267
240
|
tableProps={
|
268
|
-
variant === '
|
241
|
+
variant === 'Table' ? { 'aria-label': 'App information and user roles for user messages' } : undefined
|
269
242
|
}
|
270
|
-
|
243
|
+
isEditable={variant === 'Editable' ? isEditable : false}
|
244
|
+
error={variant === 'Error' ? error : undefined}
|
245
|
+
onEditUpdate={() => setIsEditable(false)}
|
246
|
+
onEditCancel={() => setIsEditable(false)}
|
271
247
|
/>
|
272
248
|
</>
|
273
249
|
);
|
@@ -4,6 +4,7 @@ import ChatbotConversationHistoryNav, {
|
|
4
4
|
Conversation
|
5
5
|
} from '@patternfly/chatbot/dist/dynamic/ChatbotConversationHistoryNav';
|
6
6
|
import { Checkbox, EmptyStateStatus, Spinner } from '@patternfly/react-core';
|
7
|
+
import { OutlinedCommentsIcon, SearchIcon } from '@patternfly/react-icons';
|
7
8
|
|
8
9
|
const initialConversations: { [key: string]: Conversation[] } = {
|
9
10
|
Today: [{ id: '1', text: 'Red Hat products and services' }],
|
@@ -46,18 +47,33 @@ const ERROR = {
|
|
46
47
|
onClick: () => alert('Clicked Reload')
|
47
48
|
};
|
48
49
|
|
50
|
+
const NO_RESULTS = {
|
51
|
+
bodyText: 'Adjust your search query and try again. Check your spelling or try a more general term.',
|
52
|
+
titleText: 'No results found',
|
53
|
+
icon: SearchIcon
|
54
|
+
};
|
55
|
+
|
56
|
+
const EMPTY_STATE = {
|
57
|
+
bodyText: 'Access timely assistance by starting a conversation with an AI model.',
|
58
|
+
titleText: 'Start a new chat',
|
59
|
+
icon: OutlinedCommentsIcon
|
60
|
+
};
|
61
|
+
|
49
62
|
export const ChatbotHeaderTitleDemo: React.FunctionComponent = () => {
|
50
63
|
const [isOpen, setIsOpen] = React.useState(true);
|
51
64
|
const [isButtonOrderReversed, setIsButtonOrderReversed] = React.useState(false);
|
65
|
+
const [isCompact, setIsCompact] = React.useState(false);
|
52
66
|
const [conversations, setConversations] = React.useState<Conversation[] | { [key: string]: Conversation[] }>(
|
53
67
|
initialConversations
|
54
68
|
);
|
55
69
|
const [isLoading, setIsLoading] = React.useState(false);
|
56
70
|
const [hasError, setHasError] = React.useState(false);
|
71
|
+
const [isEmpty, setIsEmpty] = React.useState(false);
|
72
|
+
const [hasNoResults, setHasNoResults] = React.useState(false);
|
57
73
|
const displayMode = ChatbotDisplayMode.embedded;
|
58
74
|
|
59
75
|
const findMatchingItems = (targetValue: string) => {
|
60
|
-
|
76
|
+
const filteredConversations = Object.entries(initialConversations).reduce((acc, [key, items]) => {
|
61
77
|
const filteredItems = items.filter((item) => item.text.toLowerCase().includes(targetValue.toLowerCase()));
|
62
78
|
if (filteredItems.length > 0) {
|
63
79
|
acc[key] = filteredItems;
|
@@ -67,7 +83,9 @@ export const ChatbotHeaderTitleDemo: React.FunctionComponent = () => {
|
|
67
83
|
|
68
84
|
// append message if no items are found
|
69
85
|
if (Object.keys(filteredConversations).length === 0) {
|
70
|
-
|
86
|
+
setHasNoResults(true);
|
87
|
+
} else {
|
88
|
+
setHasNoResults(false);
|
71
89
|
}
|
72
90
|
return filteredConversations;
|
73
91
|
};
|
@@ -105,6 +123,27 @@ export const ChatbotHeaderTitleDemo: React.FunctionComponent = () => {
|
|
105
123
|
id="drawer-has-error"
|
106
124
|
name="drawer-has-error"
|
107
125
|
></Checkbox>
|
126
|
+
<Checkbox
|
127
|
+
label="Show empty state"
|
128
|
+
isChecked={isEmpty}
|
129
|
+
onChange={() => setIsEmpty(!isEmpty)}
|
130
|
+
id="drawer-is-empty"
|
131
|
+
name="drawer-is-empty"
|
132
|
+
></Checkbox>
|
133
|
+
<Checkbox
|
134
|
+
label="Show no results state"
|
135
|
+
isChecked={hasNoResults}
|
136
|
+
onChange={() => setHasNoResults(!hasNoResults)}
|
137
|
+
id="drawer-has-no-results"
|
138
|
+
name="drawer-has-no-results"
|
139
|
+
></Checkbox>
|
140
|
+
<Checkbox
|
141
|
+
label="Show compact version"
|
142
|
+
isChecked={isCompact}
|
143
|
+
onChange={() => setIsCompact(!isCompact)}
|
144
|
+
id="drawer-compact"
|
145
|
+
name="drawer-compact"
|
146
|
+
></Checkbox>
|
108
147
|
<ChatbotConversationHistoryNav
|
109
148
|
displayMode={displayMode}
|
110
149
|
onDrawerToggle={() => setIsOpen(!isOpen)}
|
@@ -129,6 +168,9 @@ export const ChatbotHeaderTitleDemo: React.FunctionComponent = () => {
|
|
129
168
|
drawerContent={<div>Drawer content</div>}
|
130
169
|
isLoading={isLoading}
|
131
170
|
errorState={hasError ? ERROR : undefined}
|
171
|
+
emptyState={isEmpty ? EMPTY_STATE : undefined}
|
172
|
+
noResultsState={hasNoResults ? NO_RESULTS : undefined}
|
173
|
+
isCompact={isCompact}
|
132
174
|
/>
|
133
175
|
</>
|
134
176
|
);
|
package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerResizable.tsx
CHANGED
@@ -4,6 +4,7 @@ import ChatbotConversationHistoryNav, {
|
|
4
4
|
Conversation
|
5
5
|
} from '@patternfly/chatbot/dist/dynamic/ChatbotConversationHistoryNav';
|
6
6
|
import { Checkbox } from '@patternfly/react-core';
|
7
|
+
import { SearchIcon } from '@patternfly/react-icons';
|
7
8
|
|
8
9
|
const initialConversations: { [key: string]: Conversation[] } = {
|
9
10
|
Today: [{ id: '1', text: 'Red Hat products and services' }],
|
@@ -31,15 +32,22 @@ const initialConversations: { [key: string]: Conversation[] } = {
|
|
31
32
|
]
|
32
33
|
};
|
33
34
|
|
35
|
+
const NO_RESULTS = {
|
36
|
+
bodyText: 'Adjust your search query and try again. Check your spelling or try a more general term.',
|
37
|
+
titleText: 'No results found',
|
38
|
+
icon: SearchIcon
|
39
|
+
};
|
40
|
+
|
34
41
|
export const ChatbotHeaderDrawerResizableDemo: React.FunctionComponent = () => {
|
35
42
|
const [isOpen, setIsOpen] = React.useState(true);
|
36
43
|
const [conversations, setConversations] = React.useState<Conversation[] | { [key: string]: Conversation[] }>(
|
37
44
|
initialConversations
|
38
45
|
);
|
46
|
+
const [showNoResults, setShowNoResults] = React.useState(false);
|
39
47
|
const displayMode = ChatbotDisplayMode.embedded;
|
40
48
|
|
41
49
|
const findMatchingItems = (targetValue: string) => {
|
42
|
-
|
50
|
+
const filteredConversations = Object.entries(initialConversations).reduce((acc, [key, items]) => {
|
43
51
|
const filteredItems = items.filter((item) => item.text.toLowerCase().includes(targetValue.toLowerCase()));
|
44
52
|
if (filteredItems.length > 0) {
|
45
53
|
acc[key] = filteredItems;
|
@@ -49,7 +57,9 @@ export const ChatbotHeaderDrawerResizableDemo: React.FunctionComponent = () => {
|
|
49
57
|
|
50
58
|
// append message if no items are found
|
51
59
|
if (Object.keys(filteredConversations).length === 0) {
|
52
|
-
|
60
|
+
setShowNoResults(true);
|
61
|
+
} else {
|
62
|
+
setShowNoResults(false);
|
53
63
|
}
|
54
64
|
return filteredConversations;
|
55
65
|
};
|
@@ -88,6 +98,7 @@ export const ChatbotHeaderDrawerResizableDemo: React.FunctionComponent = () => {
|
|
88
98
|
}}
|
89
99
|
drawerContent={<div>Drawer content</div>}
|
90
100
|
drawerPanelContentProps={{ isResizable: true, minSize: '200px' }}
|
101
|
+
emptyState={showNoResults ? NO_RESULTS : undefined}
|
91
102
|
/>
|
92
103
|
</>
|
93
104
|
);
|
package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithActions.tsx
CHANGED
@@ -51,6 +51,7 @@ const conversations: { [key: string]: Conversation[] } = {
|
|
51
51
|
|
52
52
|
export const ChatbotHeaderTitleDemo: React.FunctionComponent = () => {
|
53
53
|
const [isDrawerOpen, setIsDrawerOpen] = React.useState(true);
|
54
|
+
const [isCompact, setIsCompact] = React.useState(false);
|
54
55
|
const displayMode = ChatbotDisplayMode.embedded;
|
55
56
|
|
56
57
|
return (
|
@@ -62,6 +63,13 @@ export const ChatbotHeaderTitleDemo: React.FunctionComponent = () => {
|
|
62
63
|
id="drawer-actions-visible"
|
63
64
|
name="drawer-actions-visible"
|
64
65
|
></Checkbox>
|
66
|
+
<Checkbox
|
67
|
+
label="Show compact version"
|
68
|
+
isChecked={isCompact}
|
69
|
+
onChange={() => setIsCompact(!isCompact)}
|
70
|
+
id="drawer-actions-compact"
|
71
|
+
name="drawer-actions-compact"
|
72
|
+
></Checkbox>
|
65
73
|
<ChatbotConversationHistoryNav
|
66
74
|
displayMode={displayMode}
|
67
75
|
onDrawerToggle={() => setIsDrawerOpen(!isDrawerOpen)}
|
@@ -69,6 +77,7 @@ export const ChatbotHeaderTitleDemo: React.FunctionComponent = () => {
|
|
69
77
|
setIsDrawerOpen={setIsDrawerOpen}
|
70
78
|
conversations={conversations}
|
71
79
|
drawerContent={<div>Drawer content</div>}
|
80
|
+
isCompact={isCompact}
|
72
81
|
/>
|
73
82
|
</>
|
74
83
|
);
|
package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithSelection.tsx
CHANGED
@@ -25,6 +25,7 @@ const menuItems = [
|
|
25
25
|
export const ChatbotHeaderDrawerWithSelection: React.FunctionComponent = () => {
|
26
26
|
const [isDrawerOpen, setIsDrawerOpen] = React.useState(true);
|
27
27
|
const [currentSelection, setCurrentSelection] = React.useState('2');
|
28
|
+
const [isCompact, setIsCompact] = React.useState(false);
|
28
29
|
const displayMode = ChatbotDisplayMode.embedded;
|
29
30
|
|
30
31
|
const conversations: { [key: string]: Conversation[] } = {
|
@@ -60,8 +61,15 @@ export const ChatbotHeaderDrawerWithSelection: React.FunctionComponent = () => {
|
|
60
61
|
label="Display drawer"
|
61
62
|
isChecked={isDrawerOpen}
|
62
63
|
onChange={() => setIsDrawerOpen(!isDrawerOpen)}
|
63
|
-
id="drawer-
|
64
|
-
name="drawer-
|
64
|
+
id="drawer-selected-visible"
|
65
|
+
name="drawer-selected-visible"
|
66
|
+
></Checkbox>
|
67
|
+
<Checkbox
|
68
|
+
label="Show compact version"
|
69
|
+
isChecked={isCompact}
|
70
|
+
onChange={() => setIsCompact(!isCompact)}
|
71
|
+
id="drawer-selected-compact"
|
72
|
+
name="drawer-selected-compact"
|
65
73
|
></Checkbox>
|
66
74
|
<ChatbotConversationHistoryNav
|
67
75
|
displayMode={displayMode}
|
@@ -72,6 +80,7 @@ export const ChatbotHeaderDrawerWithSelection: React.FunctionComponent = () => {
|
|
72
80
|
drawerContent={<div>Drawer content</div>}
|
73
81
|
activeItemId={currentSelection}
|
74
82
|
onSelectActiveItem={(_e, id) => setCurrentSelection(id as string)}
|
83
|
+
isCompact={isCompact}
|
75
84
|
/>
|
76
85
|
</>
|
77
86
|
);
|