@patternfly/chatbot 2.2.0-prerelease.2 → 2.2.0-prerelease.21
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.test.d.ts +1 -0
- package/dist/cjs/AttachmentEdit/AttachmentEdit.test.js +52 -0
- package/dist/cjs/Chatbot/Chatbot.test.d.ts +1 -0
- package/dist/cjs/Chatbot/Chatbot.test.js +28 -0
- package/dist/cjs/ChatbotAlert/ChatbotAlert.test.d.ts +1 -0
- package/dist/cjs/ChatbotAlert/ChatbotAlert.test.js +27 -0
- package/dist/cjs/ChatbotContent/ChatbotContent.test.d.ts +1 -0
- package/dist/cjs/ChatbotContent/ChatbotContent.test.js +18 -0
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +3 -1
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +17 -1
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +9 -9
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +39 -3
- package/dist/cjs/ChatbotFooter/ChatbotFooter.test.d.ts +1 -0
- package/dist/cjs/ChatbotFooter/ChatbotFooter.test.js +18 -0
- package/dist/cjs/ChatbotFooter/ChatbotFooternote.test.d.ts +1 -0
- package/dist/cjs/ChatbotFooter/ChatbotFooternote.test.js +87 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeader.test.d.ts +1 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeader.test.js +18 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.test.d.ts +1 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.test.js +18 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +17 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.js +16 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +1 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.js +20 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.test.d.ts +1 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.test.js +18 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.d.ts +2 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.js +4 -2
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +1 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.js +20 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +3 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +1 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +43 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +3 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +1 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +41 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.test.d.ts +1 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.test.js +47 -0
- package/dist/cjs/ChatbotHeader/index.d.ts +1 -0
- package/dist/cjs/ChatbotHeader/index.js +1 -0
- package/dist/cjs/ChatbotToggle/ChatbotToggle.js +3 -1
- package/dist/cjs/CodeModal/CodeModal.js +2 -12
- package/dist/cjs/Compare/Compare.d.ts +17 -0
- package/dist/cjs/Compare/Compare.js +50 -0
- package/dist/cjs/Compare/Compare.test.d.ts +1 -0
- package/dist/cjs/Compare/Compare.test.js +20 -0
- package/dist/cjs/Compare/index.d.ts +2 -0
- package/dist/cjs/Compare/index.js +23 -0
- package/dist/cjs/Message/ListMessage/OrderedListMessage.d.ts +1 -1
- package/dist/cjs/Message/ListMessage/OrderedListMessage.js +2 -2
- package/dist/cjs/Message/Message.d.ts +31 -7
- package/dist/cjs/Message/Message.js +47 -15
- package/dist/cjs/Message/Message.test.js +183 -3
- package/dist/cjs/Message/QuickResponse/QuickResponse.d.ts +17 -0
- package/dist/cjs/Message/QuickResponse/QuickResponse.js +34 -0
- package/dist/cjs/Message/QuickStarts/FallbackImg.d.ts +13 -0
- package/dist/cjs/Message/QuickStarts/FallbackImg.js +34 -0
- package/dist/cjs/Message/QuickStarts/QuickStartTile.d.ts +27 -0
- package/dist/cjs/Message/QuickStarts/QuickStartTile.js +82 -0
- package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.d.ts +23 -0
- package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.js +64 -0
- package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.d.ts +1 -0
- package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.js +76 -0
- package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.d.ts +11 -0
- package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.js +30 -0
- package/dist/cjs/Message/QuickStarts/monitor-sampleapp-quickstart-with-image.d.ts +30 -0
- package/dist/cjs/Message/QuickStarts/monitor-sampleapp-quickstart-with-image.js +77 -0
- package/dist/cjs/Message/QuickStarts/monitor-sampleapp-quickstart.d.ts +30 -0
- package/dist/cjs/Message/QuickStarts/monitor-sampleapp-quickstart.js +77 -0
- package/dist/cjs/Message/QuickStarts/types.d.ts +132 -0
- package/dist/cjs/Message/QuickStarts/types.js +17 -0
- package/dist/cjs/Message/TableMessage/TableMessage.d.ts +20 -0
- package/dist/cjs/Message/TableMessage/TableMessage.js +67 -0
- package/dist/cjs/Message/TableMessage/TbodyMessage.d.ts +7 -0
- package/dist/cjs/Message/TableMessage/TbodyMessage.js +33 -0
- package/dist/cjs/Message/TableMessage/TdMessage.d.ts +5 -0
- package/dist/cjs/Message/TableMessage/TdMessage.js +26 -0
- package/dist/cjs/Message/TableMessage/ThMessage.d.ts +5 -0
- package/dist/cjs/Message/TableMessage/ThMessage.js +26 -0
- package/dist/cjs/Message/TableMessage/TheadMessage.d.ts +5 -0
- package/dist/cjs/Message/TableMessage/TheadMessage.js +26 -0
- package/dist/cjs/Message/TableMessage/TrMessage.d.ts +7 -0
- package/dist/cjs/Message/TableMessage/TrMessage.js +37 -0
- package/dist/cjs/Message/TextMessage/TextMessage.d.ts +2 -1
- package/dist/cjs/Message/TextMessage/TextMessage.js +2 -2
- package/dist/cjs/Message/UserFeedback/CloseButton.d.ts +10 -0
- package/dist/cjs/Message/UserFeedback/CloseButton.js +14 -0
- package/dist/cjs/Message/UserFeedback/UserFeedback.d.ts +39 -0
- package/dist/cjs/Message/UserFeedback/UserFeedback.js +55 -0
- package/dist/cjs/Message/UserFeedback/UserFeedback.test.d.ts +1 -0
- package/dist/cjs/Message/UserFeedback/UserFeedback.test.js +146 -0
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.d.ts +42 -0
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.js +117 -0
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.d.ts +1 -0
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.js +249 -0
- package/dist/cjs/MessageBar/AttachButton.js +4 -2
- package/dist/cjs/MessageBar/MessageBar.js +9 -12
- package/dist/cjs/MessageBar/MessageBar.test.js +4 -4
- package/dist/cjs/MessageBar/SendButton.js +3 -1
- package/dist/cjs/MessageBar/StopButton.js +3 -1
- package/dist/cjs/MessageBox/MessageBox.test.d.ts +1 -0
- package/dist/cjs/MessageBox/MessageBox.test.js +22 -0
- package/dist/cjs/PreviewAttachment/PreviewAttachment.test.d.ts +1 -0
- package/dist/cjs/PreviewAttachment/PreviewAttachment.test.js +28 -0
- package/dist/cjs/ResponseActions/ResponseActionButton.d.ts +10 -1
- package/dist/cjs/ResponseActions/ResponseActionButton.js +28 -5
- package/dist/cjs/ResponseActions/ResponseActionButton.test.d.ts +1 -0
- package/dist/cjs/ResponseActions/ResponseActionButton.test.js +54 -0
- package/dist/cjs/ResponseActions/ResponseActions.d.ts +12 -2
- package/dist/cjs/ResponseActions/ResponseActions.js +26 -9
- package/dist/cjs/ResponseActions/ResponseActions.test.js +79 -5
- package/dist/cjs/Settings/SettingsForm.d.ts +13 -0
- package/dist/cjs/Settings/SettingsForm.js +27 -0
- package/dist/cjs/Settings/SettingsForm.test.d.ts +1 -0
- package/dist/cjs/Settings/SettingsForm.test.js +26 -0
- package/dist/cjs/Settings/index.d.ts +2 -0
- package/dist/cjs/Settings/index.js +23 -0
- package/dist/cjs/TermsOfUse/TermsOfUse.d.ts +34 -0
- package/dist/cjs/TermsOfUse/TermsOfUse.js +49 -0
- package/dist/cjs/TermsOfUse/TermsOfUse.test.d.ts +1 -0
- package/dist/cjs/TermsOfUse/TermsOfUse.test.js +79 -0
- package/dist/cjs/TermsOfUse/index.d.ts +2 -0
- package/dist/cjs/TermsOfUse/index.js +23 -0
- package/dist/cjs/index.d.ts +6 -0
- package/dist/cjs/index.js +10 -1
- package/dist/css/main.css +400 -102
- package/dist/css/main.css.map +1 -1
- package/dist/dynamic/Compare/package.json +1 -0
- package/dist/dynamic/Settings/package.json +1 -0
- package/dist/dynamic/TermsOfUse/package.json +1 -0
- package/dist/esm/AttachmentEdit/AttachmentEdit.test.d.ts +1 -0
- package/dist/esm/AttachmentEdit/AttachmentEdit.test.js +47 -0
- package/dist/esm/Chatbot/Chatbot.test.d.ts +1 -0
- package/dist/esm/Chatbot/Chatbot.test.js +23 -0
- package/dist/esm/ChatbotAlert/ChatbotAlert.test.d.ts +1 -0
- package/dist/esm/ChatbotAlert/ChatbotAlert.test.js +22 -0
- package/dist/esm/ChatbotContent/ChatbotContent.test.d.ts +1 -0
- package/dist/esm/ChatbotContent/ChatbotContent.test.js +13 -0
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +3 -1
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +17 -1
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +9 -9
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +39 -3
- package/dist/esm/ChatbotFooter/ChatbotFooter.test.d.ts +1 -0
- package/dist/esm/ChatbotFooter/ChatbotFooter.test.js +13 -0
- package/dist/esm/ChatbotFooter/ChatbotFooternote.test.d.ts +1 -0
- package/dist/esm/ChatbotFooter/ChatbotFooternote.test.js +82 -0
- package/dist/esm/ChatbotHeader/ChatbotHeader.test.d.ts +1 -0
- package/dist/esm/ChatbotHeader/ChatbotHeader.test.js +13 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.d.ts +1 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.js +13 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +17 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.js +10 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +1 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.js +15 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.d.ts +1 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.js +13 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.d.ts +2 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.js +4 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +1 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.js +15 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +3 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +1 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +38 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +3 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +1 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +36 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.d.ts +1 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.js +42 -0
- package/dist/esm/ChatbotHeader/index.d.ts +1 -0
- package/dist/esm/ChatbotHeader/index.js +1 -0
- package/dist/esm/ChatbotToggle/ChatbotToggle.js +3 -1
- package/dist/esm/CodeModal/CodeModal.js +2 -12
- package/dist/esm/Compare/Compare.d.ts +17 -0
- package/dist/esm/Compare/Compare.js +43 -0
- package/dist/esm/Compare/Compare.test.d.ts +1 -0
- package/dist/esm/Compare/Compare.test.js +15 -0
- package/dist/esm/Compare/index.d.ts +2 -0
- package/dist/esm/Compare/index.js +2 -0
- package/dist/esm/Message/ListMessage/OrderedListMessage.d.ts +1 -1
- package/dist/esm/Message/ListMessage/OrderedListMessage.js +2 -2
- package/dist/esm/Message/Message.d.ts +31 -7
- package/dist/esm/Message/Message.js +45 -13
- package/dist/esm/Message/Message.test.js +183 -3
- package/dist/esm/Message/QuickResponse/QuickResponse.d.ts +17 -0
- package/dist/esm/Message/QuickResponse/QuickResponse.js +27 -0
- package/dist/esm/Message/QuickStarts/FallbackImg.d.ts +13 -0
- package/dist/esm/Message/QuickStarts/FallbackImg.js +9 -0
- package/dist/esm/Message/QuickStarts/QuickStartTile.d.ts +27 -0
- package/dist/esm/Message/QuickStarts/QuickStartTile.js +52 -0
- package/dist/esm/Message/QuickStarts/QuickStartTileDescription.d.ts +23 -0
- package/dist/esm/Message/QuickStarts/QuickStartTileDescription.js +35 -0
- package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.d.ts +1 -0
- package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.js +48 -0
- package/dist/esm/Message/QuickStarts/QuickStartTileHeader.d.ts +11 -0
- package/dist/esm/Message/QuickStarts/QuickStartTileHeader.js +5 -0
- package/dist/esm/Message/QuickStarts/monitor-sampleapp-quickstart-with-image.d.ts +30 -0
- package/dist/esm/Message/QuickStarts/monitor-sampleapp-quickstart-with-image.js +74 -0
- package/dist/esm/Message/QuickStarts/monitor-sampleapp-quickstart.d.ts +30 -0
- package/dist/esm/Message/QuickStarts/monitor-sampleapp-quickstart.js +74 -0
- package/dist/esm/Message/QuickStarts/types.d.ts +132 -0
- package/dist/esm/Message/QuickStarts/types.js +14 -0
- package/dist/esm/Message/TableMessage/TableMessage.d.ts +20 -0
- package/dist/esm/Message/TableMessage/TableMessage.js +62 -0
- package/dist/esm/Message/TableMessage/TbodyMessage.d.ts +7 -0
- package/dist/esm/Message/TableMessage/TbodyMessage.js +28 -0
- package/dist/esm/Message/TableMessage/TdMessage.d.ts +5 -0
- package/dist/esm/Message/TableMessage/TdMessage.js +21 -0
- package/dist/esm/Message/TableMessage/ThMessage.d.ts +5 -0
- package/dist/esm/Message/TableMessage/ThMessage.js +21 -0
- package/dist/esm/Message/TableMessage/TheadMessage.d.ts +5 -0
- package/dist/esm/Message/TableMessage/TheadMessage.js +21 -0
- package/dist/esm/Message/TableMessage/TrMessage.d.ts +7 -0
- package/dist/esm/Message/TableMessage/TrMessage.js +32 -0
- package/dist/esm/Message/TextMessage/TextMessage.d.ts +2 -1
- package/dist/esm/Message/TextMessage/TextMessage.js +3 -3
- package/dist/esm/Message/UserFeedback/CloseButton.d.ts +10 -0
- package/dist/esm/Message/UserFeedback/CloseButton.js +9 -0
- package/dist/esm/Message/UserFeedback/UserFeedback.d.ts +39 -0
- package/dist/esm/Message/UserFeedback/UserFeedback.js +50 -0
- package/dist/esm/Message/UserFeedback/UserFeedback.test.d.ts +1 -0
- package/dist/esm/Message/UserFeedback/UserFeedback.test.js +141 -0
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.d.ts +42 -0
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.js +112 -0
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.d.ts +1 -0
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.js +244 -0
- package/dist/esm/MessageBar/AttachButton.js +4 -2
- package/dist/esm/MessageBar/MessageBar.js +9 -12
- package/dist/esm/MessageBar/MessageBar.test.js +4 -4
- package/dist/esm/MessageBar/SendButton.js +3 -1
- package/dist/esm/MessageBar/StopButton.js +3 -1
- package/dist/esm/MessageBox/MessageBox.test.d.ts +1 -0
- package/dist/esm/MessageBox/MessageBox.test.js +17 -0
- package/dist/esm/PreviewAttachment/PreviewAttachment.test.d.ts +1 -0
- package/dist/esm/PreviewAttachment/PreviewAttachment.test.js +23 -0
- package/dist/esm/ResponseActions/ResponseActionButton.d.ts +10 -1
- package/dist/esm/ResponseActions/ResponseActionButton.js +25 -2
- package/dist/esm/ResponseActions/ResponseActionButton.test.d.ts +1 -0
- package/dist/esm/ResponseActions/ResponseActionButton.test.js +49 -0
- package/dist/esm/ResponseActions/ResponseActions.d.ts +12 -2
- package/dist/esm/ResponseActions/ResponseActions.js +26 -9
- package/dist/esm/ResponseActions/ResponseActions.test.js +79 -5
- package/dist/esm/Settings/SettingsForm.d.ts +13 -0
- package/dist/esm/Settings/SettingsForm.js +20 -0
- package/dist/esm/Settings/SettingsForm.test.d.ts +1 -0
- package/dist/esm/Settings/SettingsForm.test.js +21 -0
- package/dist/esm/Settings/index.d.ts +2 -0
- package/dist/esm/Settings/index.js +2 -0
- package/dist/esm/TermsOfUse/TermsOfUse.d.ts +34 -0
- package/dist/esm/TermsOfUse/TermsOfUse.js +42 -0
- package/dist/esm/TermsOfUse/TermsOfUse.test.d.ts +1 -0
- package/dist/esm/TermsOfUse/TermsOfUse.test.js +74 -0
- package/dist/esm/TermsOfUse/index.d.ts +2 -0
- package/dist/esm/TermsOfUse/index.js +2 -0
- package/dist/esm/index.d.ts +6 -0
- package/dist/esm/index.js +6 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -13
- package/patternfly-docs/content/extensions/chatbot/about-chatbot.md +5 -2
- package/patternfly-docs/content/extensions/chatbot/design-guidelines.md +41 -4
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +168 -13
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithCustomResponseActions.tsx +4 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedback.tsx +71 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedbackTimeout.tsx +27 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickStart.tsx +31 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +63 -11
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +208 -12
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/explore-pipeline-quickstart.ts +65 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFooter.tsx +1 -1
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFootnote.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawer.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerNavigation.tsx +67 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerResizable.tsx +94 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarAttach.tsx +1 -1
- package/patternfly-docs/content/extensions/chatbot/examples/UI/PF-TermsAndConditionsHeader.svg +148 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/Settings.tsx +289 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/SquareChatbotToggle.tsx +1 -1
- package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUse.tsx +147 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/UI.md +49 -6
- package/patternfly-docs/content/extensions/chatbot/examples/demos/AttachmentDemos.md +14 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +26 -3
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachment.tsx +20 -19
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachmentMenu.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedChatbot.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedComparisonChatbot.tsx +206 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Feedback.tsx +104 -0
- package/patternfly-docs/content/extensions/chatbot/img/attached-file.svg +24 -29
- package/patternfly-docs/content/extensions/chatbot/img/attachment-menu.svg +4 -4
- package/patternfly-docs/content/extensions/chatbot/img/attachment-unsent.svg +30 -57
- package/patternfly-docs/content/extensions/chatbot/img/chatbot-elements.svg +5 -5
- package/patternfly-docs/content/extensions/chatbot/img/chatbot-quickstarts-tile.svg +58 -0
- package/patternfly-docs/content/extensions/chatbot/img/chatbot-settings.svg +83 -0
- package/patternfly-docs/content/extensions/chatbot/img/conversation-history.svg +6 -29
- package/patternfly-docs/content/extensions/chatbot/img/docked.svg +68 -49
- package/patternfly-docs/content/extensions/chatbot/img/footnote.svg +1 -1
- package/patternfly-docs/content/extensions/chatbot/img/fullscreen.svg +25 -16
- package/patternfly-docs/content/extensions/chatbot/img/listening.svg +1 -1
- package/patternfly-docs/content/extensions/chatbot/img/message-bar-elements.svg +3 -3
- package/patternfly-docs/content/extensions/chatbot/img/message-elements.svg +85 -142
- package/patternfly-docs/content/extensions/chatbot/img/overlay.svg +52 -36
- package/patternfly-docs/content/extensions/chatbot/img/settings-menu.svg +122 -0
- package/patternfly-docs/content/extensions/chatbot/img/source-tile.svg +62 -0
- package/patternfly-docs/content/extensions/chatbot/img/toggle-customizations.svg +12 -0
- package/src/AttachMenu/AttachMenu.scss +1 -1
- package/src/AttachmentEdit/AttachmentEdit.test.tsx +55 -0
- package/src/Chatbot/Chatbot.test.tsx +31 -0
- package/src/ChatbotAlert/ChatbotAlert.test.tsx +31 -0
- package/src/ChatbotContent/ChatbotContent.test.tsx +15 -0
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.tsx +7 -1
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.scss +8 -1
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.tsx +112 -3
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.tsx +41 -8
- package/src/ChatbotFooter/ChatbotFooter.scss +2 -6
- package/src/ChatbotFooter/ChatbotFooter.test.tsx +15 -0
- package/src/ChatbotFooter/ChatbotFooternote.test.tsx +84 -0
- package/src/ChatbotHeader/ChatbotHeader.scss +2 -5
- package/src/ChatbotHeader/ChatbotHeader.test.tsx +15 -0
- package/src/ChatbotHeader/ChatbotHeaderActions.test.tsx +17 -0
- package/src/ChatbotHeader/ChatbotHeaderCloseButton.test.tsx +20 -0
- package/src/ChatbotHeader/ChatbotHeaderCloseButton.tsx +57 -0
- package/src/ChatbotHeader/ChatbotHeaderMain.test.tsx +17 -0
- package/src/ChatbotHeader/ChatbotHeaderMenu.test.tsx +19 -0
- package/src/ChatbotHeader/ChatbotHeaderMenu.tsx +11 -2
- package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.tsx +45 -0
- package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.tsx +8 -1
- package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.tsx +43 -0
- package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.tsx +8 -1
- package/src/ChatbotHeader/ChatbotHeaderTitle.test.tsx +59 -0
- package/src/ChatbotHeader/index.ts +1 -0
- package/src/ChatbotModal/ChatbotModal.scss +1 -1
- package/src/ChatbotToggle/ChatbotToggle.tsx +6 -1
- package/src/CodeModal/CodeModal.scss +9 -1
- package/src/CodeModal/CodeModal.tsx +2 -13
- package/src/Compare/Compare.scss +72 -0
- package/src/Compare/Compare.test.tsx +31 -0
- package/src/Compare/Compare.tsx +98 -0
- package/src/Compare/index.ts +2 -0
- package/src/FileDetails/FileDetails.scss +1 -1
- package/src/FileDropZone/__snapshots__/FileDropZone.test.tsx.snap +1 -1
- package/src/Message/CodeBlockMessage/CodeBlockMessage.scss +4 -4
- package/src/Message/ListMessage/ListMessage.scss +5 -5
- package/src/Message/ListMessage/OrderedListMessage.tsx +2 -2
- package/src/Message/Message.scss +4 -26
- package/src/Message/Message.test.tsx +215 -3
- package/src/Message/Message.tsx +94 -23
- package/src/Message/MessageLoading.scss +2 -2
- package/src/Message/QuickResponse/QuickResponse.scss +33 -0
- package/src/Message/QuickResponse/QuickResponse.tsx +54 -0
- package/src/Message/QuickStarts/FallbackImg.tsx +24 -0
- package/src/Message/QuickStarts/QuickStartTile.scss +24 -0
- package/src/Message/QuickStarts/QuickStartTile.tsx +147 -0
- package/src/Message/QuickStarts/QuickStartTileDescription.test.tsx +57 -0
- package/src/Message/QuickStarts/QuickStartTileDescription.tsx +81 -0
- package/src/Message/QuickStarts/QuickStartTileHeader.tsx +21 -0
- package/src/Message/QuickStarts/monitor-sampleapp-quickstart-with-image.ts +75 -0
- package/src/Message/QuickStarts/monitor-sampleapp-quickstart.ts +75 -0
- package/src/Message/QuickStarts/types.ts +154 -0
- package/src/Message/TableMessage/TableMessage.scss +23 -0
- package/src/Message/TableMessage/TableMessage.tsx +83 -0
- package/src/Message/TableMessage/TbodyMessage.tsx +20 -0
- package/src/Message/TableMessage/TdMessage.tsx +11 -0
- package/src/Message/TableMessage/ThMessage.tsx +11 -0
- package/src/Message/TableMessage/TheadMessage.tsx +11 -0
- package/src/Message/TableMessage/TrMessage.tsx +27 -0
- package/src/Message/TextMessage/TextMessage.scss +13 -11
- package/src/Message/TextMessage/TextMessage.tsx +3 -3
- package/src/Message/UserFeedback/CloseButton.tsx +21 -0
- package/src/Message/UserFeedback/UserFeedback.scss +53 -0
- package/src/Message/UserFeedback/UserFeedback.test.tsx +257 -0
- package/src/Message/UserFeedback/UserFeedback.tsx +132 -0
- package/src/Message/UserFeedback/UserFeedbackComplete.test.tsx +255 -0
- package/src/Message/UserFeedback/UserFeedbackComplete.tsx +211 -0
- package/src/MessageBar/AttachButton.scss +19 -3
- package/src/MessageBar/AttachButton.tsx +3 -1
- package/src/MessageBar/MessageBar.scss +3 -2
- package/src/MessageBar/MessageBar.test.tsx +4 -4
- package/src/MessageBar/MessageBar.tsx +9 -12
- package/src/MessageBar/MicrophoneButton.scss +8 -8
- package/src/MessageBar/SendButton.tsx +2 -0
- package/src/MessageBar/StopButton.scss +17 -3
- package/src/MessageBar/StopButton.tsx +2 -0
- package/src/MessageBox/JumpButton.scss +6 -6
- package/src/MessageBox/MessageBox.test.tsx +26 -0
- package/src/PreviewAttachment/PreviewAttachment.test.tsx +51 -0
- package/src/ResponseActions/ResponseActionButton.test.tsx +52 -0
- package/src/ResponseActions/ResponseActionButton.tsx +59 -28
- package/src/ResponseActions/ResponseActions.scss +11 -9
- package/src/ResponseActions/ResponseActions.test.tsx +103 -5
- package/src/ResponseActions/ResponseActions.tsx +80 -9
- package/src/Settings/Settings.scss +34 -0
- package/src/Settings/SettingsForm.test.tsx +28 -0
- package/src/Settings/SettingsForm.tsx +25 -0
- package/src/Settings/index.ts +3 -0
- package/src/SourceDetailsMenuItem/SourceDetailsMenuItem.scss +1 -1
- package/src/SourcesCard/SourcesCard.scss +2 -2
- package/src/TermsOfUse/TermsOfUse.scss +66 -0
- package/src/TermsOfUse/TermsOfUse.test.tsx +138 -0
- package/src/TermsOfUse/TermsOfUse.tsx +117 -0
- package/src/TermsOfUse/index.ts +3 -0
- package/src/index.ts +9 -0
- package/src/main.scss +7 -4
@@ -14,14 +14,17 @@ propComponents:
|
|
14
14
|
[
|
15
15
|
'AttachMenu',
|
16
16
|
'AttachmentEdit',
|
17
|
-
'
|
18
|
-
'
|
17
|
+
'FileDetailsProps',
|
18
|
+
'FileDetailsLabelProps',
|
19
19
|
'FileDropZone',
|
20
20
|
'PreviewAttachment',
|
21
21
|
'Message',
|
22
22
|
'PreviewAttachment',
|
23
23
|
'ActionProps',
|
24
|
-
'SourcesCardProps'
|
24
|
+
'SourcesCardProps',
|
25
|
+
'UserFeedbackProps',
|
26
|
+
'UserFeedbackCompleteProps',
|
27
|
+
'QuickResponseProps'
|
25
28
|
]
|
26
29
|
sortValue: 3
|
27
30
|
---
|
@@ -39,7 +42,8 @@ import FileDetailsLabel from '@patternfly/chatbot/dist/dynamic/FileDetailsLabel'
|
|
39
42
|
import FileDropZone from '@patternfly/chatbot/dist/dynamic/FileDropZone';
|
40
43
|
import { PreviewAttachment } from '@patternfly/chatbot/dist/dynamic/PreviewAttachment';
|
41
44
|
import ChatbotAlert from '@patternfly/chatbot/dist/dynamic/ChatbotAlert';
|
42
|
-
|
45
|
+
import { explorePipelinesQuickStart } from './explore-pipeline-quickstart.ts';
|
46
|
+
import { monitorSampleAppQuickStart } from '@patternfly/chatbot/src/Message/QuickStarts/monitor-sampleapp-quickstart.ts';
|
43
47
|
import userAvatar from './user_avatar.svg';
|
44
48
|
import squareImg from './PF-social-color-square.svg';
|
45
49
|
|
@@ -51,19 +55,15 @@ The `content` prop of the `<Message>` component is passed to a `<Markdown>` comp
|
|
51
55
|
|
52
56
|
Messages from the ChatBot will be marked with an "AI" label to clearly communicate the use of AI to users. The ChatBot can display different `content` types, including plain text, code, or a loading animation (via `isLoading`).
|
53
57
|
|
54
|
-
<br />
|
55
|
-
|
56
58
|
By default, a date and timestamp is displayed with each message. We recommend using the `timestamp` prop in real ChatBots, since it will allow you to set persistent dates and times on messages, even if the messages re-render. You can update `timestamp` with a different [date and time format](/ux-writing/numerics) as needed.
|
57
59
|
|
58
|
-
<br />
|
59
|
-
|
60
60
|
You can further customize the avatar by applying an additional class or passing [PatternFly avatar props](/components/avatar) to the `<Message>` component via `avatarProps`.
|
61
61
|
|
62
62
|
```js file="./BotMessage.tsx"
|
63
63
|
|
64
64
|
```
|
65
65
|
|
66
|
-
###
|
66
|
+
### Message actions
|
67
67
|
|
68
68
|
You can add actions to a message, to allow users to interact with the message content. These actions can include:
|
69
69
|
|
@@ -79,15 +79,57 @@ You can add actions to a message, to allow users to interact with the message co
|
|
79
79
|
|
80
80
|
### Custom message actions
|
81
81
|
|
82
|
-
Beyond the standard message actions (
|
82
|
+
Beyond the standard message actions (good response, bad response, copy, share, or listen), you can add custom actions to a bot message by passing an `actions` object to the `<Message>` component. This object can contain the following customizations:
|
83
|
+
|
84
|
+
- `ariaLabel`
|
85
|
+
- `onClick`
|
86
|
+
- `className`
|
87
|
+
- `isDisabled`
|
88
|
+
- `tooltipContent`
|
89
|
+
- `tooltipContent`
|
90
|
+
- `tooltipProps`
|
91
|
+
- `icon`
|
92
|
+
|
93
|
+
You can apply a `clickedAriaLabel` and `clickedTooltipContent` once a button is clicked. If either of these props are omitted, their values will default to the `ariaLabel` or `tooltipContent` supplied.
|
83
94
|
|
84
95
|
```js file="./MessageWithCustomResponseActions.tsx"
|
85
96
|
|
86
97
|
```
|
87
98
|
|
99
|
+
### Message feedback
|
100
|
+
|
101
|
+
When a user selects a positive or negative [message action](#message-actions), you can display a message feedback card that acknowledges their response and provides space for additional written feedback. These cards can be manually dismissed via the close button and the thank-you card can be [configured to time out automatically](/patternfly-ai/chatbot/messages#message-feedback-with-timeouts).
|
102
|
+
|
103
|
+
You can see the full feedback flow [in the message demos](/patternfly-ai/chatbot/messages/demo#message-feedback).
|
104
|
+
|
105
|
+
The message feedback cards will immediately receive focus by default, but you can remove this behavior by passing `focusOnLoad: false` to the `<Message>` (as shown in the following examples). For better usability, you should generally keep the default focus behavior.
|
106
|
+
|
107
|
+
The following examples demonstrate:
|
108
|
+
|
109
|
+
- A basic feedback card. To toggle the text input area, select the **Has text area** checkbox.
|
110
|
+
- A thank-you card. To toggle the close button, select the **Has close button** checkbox.
|
111
|
+
|
112
|
+
```js file="./MessageWithFeedback.tsx"
|
113
|
+
|
114
|
+
```
|
115
|
+
|
116
|
+
### Message feedback with timeouts
|
117
|
+
|
118
|
+
The feedback thank-you message can be configured to time out and automatically close after a period of time. The default time-out period is 8000 ms, but it can be customized via `timeout`.
|
119
|
+
|
120
|
+
To display the thank-you message in this example, click **Show card**.
|
121
|
+
|
122
|
+
The card will not dismiss within the default time if a user is hovering over it or if it has keyboard focus. Instead, it will dismiss after they remove focus, via `timeoutAnimation`, which is 3000 ms by default. You can adjust this duration and set an `onTimeout` callback, as well as optional `onMouseEnter` and `onMouseLeave` callbacks.
|
123
|
+
|
124
|
+
For accessibility purposes, be sure to announce when new content appears onscreen. `isLiveRegion` is set to true by default on `<Message>` so it will make appropriate announcements for you when the thank-you card appears.
|
125
|
+
|
126
|
+
```js file="./MessageWithFeedbackTimeout.tsx"
|
127
|
+
|
128
|
+
```
|
129
|
+
|
88
130
|
### Messages with quick responses
|
89
131
|
|
90
|
-
You can offer convenient, clickable responses to messages in the form of quick actions. Quick actions are [PatternFly labels](/components/label/) in a label group, configured to display up to 5 visible labels.
|
132
|
+
You can offer convenient, clickable responses to messages in the form of quick actions. Quick actions are [PatternFly labels](/components/label/) in a label group, configured to display up to 5 visible labels. Only 1 response can be selected at a time.
|
91
133
|
|
92
134
|
To add quick actions, pass `quickResponses` to `<Message>`. This can be overridden by passing additional `<LabelGroup>` props to `quickResponseContainerProps`, or additional `<Label>` props to `quickResponses`.
|
93
135
|
|
@@ -105,6 +147,16 @@ The API for a source requires a link at minimum, but we strongly recommend provi
|
|
105
147
|
|
106
148
|
```
|
107
149
|
|
150
|
+
### Messages with quick start tiles
|
151
|
+
|
152
|
+
[Quick start](/extensions/quick-starts/) tiles can be added to messages via the `quickStarts` prop. Users can initiate the quick start from a link within the message tile.
|
153
|
+
|
154
|
+
The quick start tile displayed below the message is based on the tile included in the [PatternFly quick starts extension](https://github.com/patternfly/patternfly-quickstarts), but with slightly more limited functionality. For example, it does not track the state of the extension. However, it supports an additional `onSelectQuickStart` prop, so that the name of the quick start can be captured on click. This can be used to trigger other behavior in your application, such as launching that quick start in your main UI.
|
155
|
+
|
156
|
+
```js file="./MessageWithQuickStart.tsx"
|
157
|
+
|
158
|
+
```
|
159
|
+
|
108
160
|
### User messages
|
109
161
|
|
110
162
|
Messages from users have a different background color to differentiate them from bot messages. You can also display a custom avatar that is uploaded by the user. You can further customize the avatar by applying an additional class or passing [PatternFly avatar props](/components/avatar) to the `<Message>` component via `avatarProps`.
|
@@ -2,25 +2,139 @@ 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 { Form, FormGroup, Radio } from '@patternfly/react-core';
|
5
6
|
|
6
7
|
export const UserMessageExample: React.FunctionComponent = () => {
|
7
|
-
const
|
8
|
+
const [variant, setVariant] = React.useState('code');
|
8
9
|
|
9
|
-
|
10
|
+
/* eslint-disable indent */
|
11
|
+
const renderContent = () => {
|
12
|
+
switch (variant) {
|
13
|
+
case 'code':
|
14
|
+
return code;
|
15
|
+
case 'inlineCode':
|
16
|
+
return inlineCode;
|
17
|
+
case 'heading':
|
18
|
+
return heading;
|
19
|
+
case 'emphasis':
|
20
|
+
return emphasis;
|
21
|
+
case 'blockQuotes':
|
22
|
+
return blockQuotes;
|
23
|
+
case 'orderedList':
|
24
|
+
return orderedList;
|
25
|
+
case 'unorderedList':
|
26
|
+
return unorderedList;
|
27
|
+
case 'moreComplexList':
|
28
|
+
return moreComplexList;
|
29
|
+
case 'link':
|
30
|
+
return link;
|
31
|
+
case 'table':
|
32
|
+
return table;
|
33
|
+
default:
|
34
|
+
return;
|
35
|
+
}
|
36
|
+
};
|
37
|
+
/* eslint-enable indent */
|
10
38
|
|
11
|
-
|
39
|
+
const code = `
|
40
|
+
Here is some YAML code:
|
12
41
|
|
13
|
-
|
42
|
+
~~~yaml
|
43
|
+
apiVersion: helm.openshift.io/v1beta1/
|
44
|
+
kind: HelmChartRepository
|
45
|
+
metadata:
|
46
|
+
name: azure-sample-repo0oooo00ooo
|
47
|
+
spec:
|
48
|
+
connectionConfig:
|
49
|
+
url: https://raw.githubusercontent.com/Azure-Samples/helm-charts/master/docs
|
50
|
+
~~~
|
14
51
|
|
15
|
-
|
16
|
-
2. Item 3
|
17
|
-
3. Item 4
|
52
|
+
Here is some JavaScript code:
|
18
53
|
|
19
|
-
|
54
|
+
~~~js
|
55
|
+
import React from 'react';
|
56
|
+
|
57
|
+
const MessageLoading = () => (
|
58
|
+
<div className="pf-chatbot__message-loading">
|
59
|
+
<span className="pf-chatbot__message-loading-dots">
|
60
|
+
<span className="pf-v6-screen-reader">Loading message</span>
|
61
|
+
</span>
|
62
|
+
</div>
|
63
|
+
);
|
64
|
+
|
65
|
+
export default MessageLoading;
|
66
|
+
|
67
|
+
~~~
|
68
|
+
`;
|
69
|
+
|
70
|
+
const heading = `
|
71
|
+
# h1 Heading
|
72
|
+
|
73
|
+
## h2 Heading
|
74
|
+
|
75
|
+
### h3 Heading
|
76
|
+
|
77
|
+
#### h4 Heading
|
78
|
+
|
79
|
+
##### h5 Heading
|
80
|
+
|
81
|
+
###### h6 Heading
|
82
|
+
`;
|
83
|
+
|
84
|
+
const emphasis = `
|
85
|
+
**Bold text, formatted with double asterisks**
|
86
|
+
|
87
|
+
__Bold text, formatted with double underscores__
|
88
|
+
|
89
|
+
*Italic text, formatted with single asterisks*
|
90
|
+
|
91
|
+
_Italic text, formatted with single underscores_
|
92
|
+
|
93
|
+
~~Strikethrough~~
|
94
|
+
`;
|
95
|
+
|
96
|
+
const blockQuotes = `> Blockquotes can also be nested...
|
97
|
+
>> ...by using additional greater-than signs (>) right next to each other...
|
98
|
+
> > > ...or with spaces between each sign.`;
|
99
|
+
|
100
|
+
const orderedList = `
|
101
|
+
Here is an ordered list:
|
20
102
|
|
21
|
-
|
22
|
-
|
23
|
-
|
103
|
+
1. Item 1
|
104
|
+
2. Item 2
|
105
|
+
3. Item 3`;
|
106
|
+
|
107
|
+
const unorderedList = `
|
108
|
+
Here is an unordered list:
|
109
|
+
|
110
|
+
* Item 1
|
111
|
+
* Item 2
|
112
|
+
* Item 3`;
|
113
|
+
|
114
|
+
const moreComplexList = `You may be wondering whether you can display more complex lists with formatting. In response to your question, I will explain how to spread butter on toast.
|
115
|
+
|
116
|
+
1. **Using a \`toaster\`:**
|
117
|
+
|
118
|
+
- Place \`bread\` in a \`toaster\`
|
119
|
+
- Once \`bread\` is lightly browned, remove from \`toaster\`
|
120
|
+
|
121
|
+
2. **Using a \`knife\`:**
|
122
|
+
|
123
|
+
Acquire 1 tablespoon of room temperature \`butter\`. Use \`knife\` to spread butter on \`toast\`. Bon appétit!
|
124
|
+
`;
|
125
|
+
|
126
|
+
const link = `A paragraph with a URL: https://reactjs.org.`;
|
127
|
+
|
128
|
+
const inlineCode = `Here is an inline code - \`() => void\``;
|
129
|
+
|
130
|
+
const table = `To customize your table, you can use [PatternFly TableProps](/components/table#table)
|
131
|
+
|
132
|
+
| Version | GA date | User role
|
133
|
+
|-|-|-|
|
134
|
+
| 2.5 | September 30, 2024 | Administrator |
|
135
|
+
| 2.5 | June 27, 2023 | Editor |
|
136
|
+
| 3.0 | April 1, 2025 | Administrator
|
137
|
+
`;
|
24
138
|
|
25
139
|
return (
|
26
140
|
<>
|
@@ -31,7 +145,6 @@ Here is an unordered list:
|
|
31
145
|
timestamp="1 hour ago"
|
32
146
|
avatar={userAvatar}
|
33
147
|
/>
|
34
|
-
<Message name="User" role="user" content={markdown} avatar={userAvatar} />
|
35
148
|
<Message
|
36
149
|
name="User"
|
37
150
|
role="user"
|
@@ -39,6 +152,89 @@ Here is an unordered list:
|
|
39
152
|
avatar={userAvatar}
|
40
153
|
avatarProps={{ isBordered: true }}
|
41
154
|
/>
|
155
|
+
<Form>
|
156
|
+
<FormGroup role="radiogroup" isInline fieldId="user-message-type" label="Message content type">
|
157
|
+
<Radio
|
158
|
+
isChecked={variant === 'code'}
|
159
|
+
onChange={() => setVariant('code')}
|
160
|
+
name="user-message-type"
|
161
|
+
label="Code"
|
162
|
+
id="user-code"
|
163
|
+
/>
|
164
|
+
<Radio
|
165
|
+
isChecked={variant === 'inlineCode'}
|
166
|
+
onChange={() => setVariant('inlineCode')}
|
167
|
+
name="user-message-type"
|
168
|
+
label="Inline code"
|
169
|
+
id="user-inline-code"
|
170
|
+
/>
|
171
|
+
<Radio
|
172
|
+
isChecked={variant === 'heading'}
|
173
|
+
onChange={() => setVariant('heading')}
|
174
|
+
name="user-message-type"
|
175
|
+
label="Heading"
|
176
|
+
id="user-heading"
|
177
|
+
/>
|
178
|
+
<Radio
|
179
|
+
isChecked={variant === 'blockQuotes'}
|
180
|
+
onChange={() => setVariant('blockQuotes')}
|
181
|
+
name="user-message-type"
|
182
|
+
label="Block quote"
|
183
|
+
id="user-block-quotes"
|
184
|
+
/>
|
185
|
+
<Radio
|
186
|
+
isChecked={variant === 'emphasis'}
|
187
|
+
onChange={() => setVariant('emphasis')}
|
188
|
+
name="user-message-type"
|
189
|
+
label="Emphasis"
|
190
|
+
id="user-emphasis"
|
191
|
+
/>
|
192
|
+
<Radio
|
193
|
+
isChecked={variant === 'link'}
|
194
|
+
onChange={() => setVariant('link')}
|
195
|
+
name="user-message-type"
|
196
|
+
label="Link"
|
197
|
+
id="user-link"
|
198
|
+
/>
|
199
|
+
<Radio
|
200
|
+
isChecked={variant === 'unorderedList'}
|
201
|
+
onChange={() => setVariant('unorderedList')}
|
202
|
+
name="user-message-type"
|
203
|
+
label="Unordered list"
|
204
|
+
id="user-unordered-list"
|
205
|
+
/>
|
206
|
+
<Radio
|
207
|
+
isChecked={variant === 'orderedList'}
|
208
|
+
onChange={() => setVariant('orderedList')}
|
209
|
+
name="user-message-type"
|
210
|
+
label="Ordered list"
|
211
|
+
id="user-ordered-list"
|
212
|
+
/>
|
213
|
+
<Radio
|
214
|
+
isChecked={variant === 'moreComplexList'}
|
215
|
+
onChange={() => setVariant('moreComplexList')}
|
216
|
+
name="user-message-type"
|
217
|
+
label="More complex list"
|
218
|
+
id="user-more-complex-list"
|
219
|
+
/>
|
220
|
+
<Radio
|
221
|
+
isChecked={variant === 'table'}
|
222
|
+
onChange={() => setVariant('table')}
|
223
|
+
name="user-message-type"
|
224
|
+
label="Table"
|
225
|
+
id="user-table"
|
226
|
+
/>
|
227
|
+
</FormGroup>
|
228
|
+
</Form>
|
229
|
+
<Message
|
230
|
+
name="User"
|
231
|
+
role="user"
|
232
|
+
content={renderContent()}
|
233
|
+
avatar={userAvatar}
|
234
|
+
tableProps={
|
235
|
+
variant === 'table' ? { 'aria-label': 'App information and user roles for user messages' } : undefined
|
236
|
+
}
|
237
|
+
/>
|
42
238
|
</>
|
43
239
|
);
|
44
240
|
};
|
package/patternfly-docs/content/extensions/chatbot/examples/Messages/explore-pipeline-quickstart.ts
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
import userAvatar from './user_avatar.svg';
|
2
|
+
|
3
|
+
export const explorePipelinesQuickStart = {
|
4
|
+
apiVersion: 'console.openshift.io/v1',
|
5
|
+
kind: 'QuickStarts',
|
6
|
+
metadata: {
|
7
|
+
name: 'explore-pipelines'
|
8
|
+
},
|
9
|
+
spec: {
|
10
|
+
version: 4.7,
|
11
|
+
displayName: `Installing the Pipelines Operator`,
|
12
|
+
durationMinutes: 10,
|
13
|
+
icon: userAvatar,
|
14
|
+
description: `Install the OpenShift® Pipelines Operator to build Pipelines using Tekton.`,
|
15
|
+
prerequisites: [''],
|
16
|
+
introduction: `OpenShift® Pipelines is a cloud-native, continuous integration and continuous delivery (CI/CD) solution based on Kubernetes resources. It uses Tekton building blocks to automate deployments across multiple Kubernetes distributions by abstracting away the underlying implementation details.
|
17
|
+
* OpenShift Pipelines is a serverless CI/CD system that runs pipelines with all the required dependencies in isolated containers.
|
18
|
+
* They are designed for decentralized teams that work on a microservice-based architecture.
|
19
|
+
* They are defined using standard Custom Resource Definitions making them extensible and easy to integrate with the existing Kubernetes tools. This enables you to scale on-demand.
|
20
|
+
* You can use OpenShift Pipelines to build images with Kubernetes tools such as Source-to-Image (S2I), Buildah, Buildpacks, and Kaniko that are portable across any Kubernetes platform.
|
21
|
+
* You can use the Developer perspective to create and manage pipelines and view logs in your namespaces.
|
22
|
+
|
23
|
+
To start using Pipelines, install the OpenShift® Pipelines Operator on your cluster.`,
|
24
|
+
tasks: [
|
25
|
+
{
|
26
|
+
title: `Installing the OpenShift Pipelines Operator`,
|
27
|
+
description: `### To install the OpenShift Pipelines Operator:
|
28
|
+
|
29
|
+
1. From the **Administrator** perspective in the console navigation panel, click **Operators > OperatorHub**.
|
30
|
+
2. In the **Filter by keyword** field, type \`OpenShift Pipelines Operator\`.
|
31
|
+
3. If the tile has an Installed label, the Operator is already installed. Proceed to the next quick start to create a Pipeline.
|
32
|
+
4. Click the **tile** to open the Operator details.
|
33
|
+
5. At the top of the OpenShift Pipelines Operator panel that opens, click **Install**.
|
34
|
+
6. Fill out the Operator subscription form by selecting the channel that matches your OpenShift cluster, and then click **Install**.
|
35
|
+
7. On the **Installed Operators** page, wait for the OpenShift Pipelines Operator's status to change from **Installing** to **Succeeded**. `,
|
36
|
+
review: {
|
37
|
+
instructions: `#### To verify that the OpenShift Pipelines Operator is installed:
|
38
|
+
1. From the **Operators** section of the navigation, go to the **Installed Operators** page.
|
39
|
+
2. Verify that the **OpenShift Pipelines Operator** appears in the list of Operators.
|
40
|
+
|
41
|
+
In the status column, is the status of the OpenShift Pipelines Operator **Succeeded**?`,
|
42
|
+
failedTaskHelp: `This task isn’t verified yet. Try the task again, or [read more](https://docs.openshift.com/container-platform/4.6/pipelines/installing-pipelines.html#op-installing-pipelines-operator-in-web-console_installing-pipelines) about this topic.`
|
43
|
+
},
|
44
|
+
summary: {
|
45
|
+
success: `You have installed the Pipelines Operator!`,
|
46
|
+
failed: `Try the steps again.`
|
47
|
+
}
|
48
|
+
}
|
49
|
+
],
|
50
|
+
conclusion: `You successfully installed the OpenShift Pipelines Operator! If you want to learn how to deploy an application and associate a Pipeline with it, take the Creating a Pipeline quick start.`,
|
51
|
+
nextQuickStart: [`install-app-and-associate-pipeline`],
|
52
|
+
accessReviewResources: [
|
53
|
+
{
|
54
|
+
group: 'operators.coreos.com',
|
55
|
+
resource: 'operatorgroups',
|
56
|
+
verb: 'list'
|
57
|
+
},
|
58
|
+
{
|
59
|
+
group: 'packages.operators.coreos.com',
|
60
|
+
resource: 'packagemanifests',
|
61
|
+
verb: 'list'
|
62
|
+
}
|
63
|
+
]
|
64
|
+
}
|
65
|
+
};
|
@@ -8,7 +8,7 @@ export const ChatbotFooterExample: React.FunctionComponent = () => {
|
|
8
8
|
return (
|
9
9
|
<ChatbotFooter>
|
10
10
|
<MessageBar onSendMessage={handleSend} hasMicrophoneButton hasAttachButton />
|
11
|
-
<ChatbotFootnote label="
|
11
|
+
<ChatbotFootnote label="ChatBot uses AI. Check for mistakes." />
|
12
12
|
</ChatbotFooter>
|
13
13
|
);
|
14
14
|
};
|
@@ -3,10 +3,10 @@ import { ChatbotFootnote } from '@patternfly/chatbot/dist/dynamic/ChatbotFooter'
|
|
3
3
|
|
4
4
|
export const FootnoteDemo: React.FunctionComponent = () => (
|
5
5
|
<ChatbotFootnote
|
6
|
-
label="
|
6
|
+
label="ChatBot uses AI. Check for mistakes."
|
7
7
|
popover={{
|
8
8
|
title: 'Verify accuracy',
|
9
|
-
description: `While
|
9
|
+
description: `While ChatBot strives for accuracy, there's always a possibility of errors. It's a good practice to verify critical information from reliable sources, especially if it's crucial for decision-making or actions.`,
|
10
10
|
bannerImage: {
|
11
11
|
src: 'https://cdn.dribbble.com/userupload/10651749/file/original-8a07b8e39d9e8bf002358c66fce1223e.gif',
|
12
12
|
alt: 'Example image for footnote popover'
|
@@ -33,7 +33,7 @@ const initialConversations: { [key: string]: Conversation[] } = {
|
|
33
33
|
|
34
34
|
export const ChatbotHeaderTitleDemo: React.FunctionComponent = () => {
|
35
35
|
const [isOpen, setIsOpen] = React.useState(true);
|
36
|
-
const [isButtonOrderReversed,
|
36
|
+
const [isButtonOrderReversed, setIsButtonOrderReversed] = React.useState(false);
|
37
37
|
const [conversations, setConversations] = React.useState<Conversation[] | { [key: string]: Conversation[] }>(
|
38
38
|
initialConversations
|
39
39
|
);
|
@@ -70,7 +70,7 @@ export const ChatbotHeaderTitleDemo: React.FunctionComponent = () => {
|
|
70
70
|
<Checkbox
|
71
71
|
label="Reverse action buttons"
|
72
72
|
isChecked={isButtonOrderReversed}
|
73
|
-
onChange={() =>
|
73
|
+
onChange={() => setIsButtonOrderReversed(!isButtonOrderReversed)}
|
74
74
|
id="drawer-actions-visible"
|
75
75
|
name="drawer-actions-visible"
|
76
76
|
></Checkbox>
|
package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerNavigation.tsx
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { ChatbotDisplayMode } from '@patternfly/chatbot/dist/dynamic/Chatbot';
|
3
|
+
import ChatbotConversationHistoryNav, {
|
4
|
+
Conversation
|
5
|
+
} from '@patternfly/chatbot/dist/dynamic/ChatbotConversationHistoryNav';
|
6
|
+
import { Checkbox } from '@patternfly/react-core';
|
7
|
+
|
8
|
+
const initialConversations: Conversation[] = [
|
9
|
+
{ id: '1', text: 'Red Hat products and services', noIcon: true },
|
10
|
+
{
|
11
|
+
id: '2',
|
12
|
+
text: 'Enterprise Linux installation and setup',
|
13
|
+
noIcon: true
|
14
|
+
},
|
15
|
+
{ id: '3', text: 'Troubleshoot system crash', noIcon: true },
|
16
|
+
{ id: '4', text: 'Ansible security and updates', noIcon: true },
|
17
|
+
{ id: '5', text: 'Red Hat certification', noIcon: true },
|
18
|
+
{ id: '6', text: 'Lightspeed user documentation', noIcon: true },
|
19
|
+
{ id: '7', text: 'Crashing pod assistance', noIcon: true },
|
20
|
+
{ id: '8', text: 'OpenShift AI pipelines', noIcon: true },
|
21
|
+
{ id: '9', text: 'Updating subscription plan', noIcon: true },
|
22
|
+
{ id: '10', text: 'Red Hat licensing options', noIcon: true },
|
23
|
+
{ id: '11', text: 'RHEL system performance', noIcon: true },
|
24
|
+
{ id: '12', text: 'Manage user accounts', noIcon: true }
|
25
|
+
];
|
26
|
+
|
27
|
+
export const ChatbotHeaderTitleDemo: React.FunctionComponent = () => {
|
28
|
+
const [isOpen, setIsOpen] = React.useState(true);
|
29
|
+
const [isButtonOrderReversed, setIsButtonOrderReversed] = React.useState(false);
|
30
|
+
const [conversations, setConversations] = React.useState<Conversation[] | { [key: string]: Conversation[] }>(
|
31
|
+
initialConversations
|
32
|
+
);
|
33
|
+
const displayMode = ChatbotDisplayMode.embedded;
|
34
|
+
|
35
|
+
return (
|
36
|
+
<>
|
37
|
+
<Checkbox
|
38
|
+
label="Display drawer"
|
39
|
+
isChecked={isOpen}
|
40
|
+
onChange={() => {
|
41
|
+
setIsOpen(!isOpen);
|
42
|
+
setConversations(initialConversations);
|
43
|
+
}}
|
44
|
+
id="navigation-drawer-visible"
|
45
|
+
name="navigation-drawer-visible"
|
46
|
+
/>
|
47
|
+
<Checkbox
|
48
|
+
label="Reverse action buttons"
|
49
|
+
isChecked={isButtonOrderReversed}
|
50
|
+
onChange={() => setIsButtonOrderReversed(!isButtonOrderReversed)}
|
51
|
+
id="navigation-drawer-actions-visible"
|
52
|
+
name="navigation-drawer-actions-visible"
|
53
|
+
></Checkbox>
|
54
|
+
<ChatbotConversationHistoryNav
|
55
|
+
displayMode={displayMode}
|
56
|
+
onDrawerToggle={() => setIsOpen(!isOpen)}
|
57
|
+
isDrawerOpen={isOpen}
|
58
|
+
setIsDrawerOpen={setIsOpen}
|
59
|
+
// eslint-disable-next-line no-console
|
60
|
+
onSelectActiveItem={(e, selectedItem) => console.log(`Selected history item with id ${selectedItem}`)}
|
61
|
+
conversations={conversations}
|
62
|
+
reverseButtonOrder={isButtonOrderReversed}
|
63
|
+
drawerContent={<div>Drawer content</div>}
|
64
|
+
/>
|
65
|
+
</>
|
66
|
+
);
|
67
|
+
};
|
package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerResizable.tsx
ADDED
@@ -0,0 +1,94 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { ChatbotDisplayMode } from '@patternfly/chatbot/dist/dynamic/Chatbot';
|
3
|
+
import ChatbotConversationHistoryNav, {
|
4
|
+
Conversation
|
5
|
+
} from '@patternfly/chatbot/dist/dynamic/ChatbotConversationHistoryNav';
|
6
|
+
import { Checkbox } from '@patternfly/react-core';
|
7
|
+
|
8
|
+
const initialConversations: { [key: string]: Conversation[] } = {
|
9
|
+
Today: [{ id: '1', text: 'Red Hat products and services' }],
|
10
|
+
'This month': [
|
11
|
+
{
|
12
|
+
id: '2',
|
13
|
+
text: 'Enterprise Linux installation and setup'
|
14
|
+
},
|
15
|
+
{ id: '3', text: 'Troubleshoot system crash' }
|
16
|
+
],
|
17
|
+
March: [
|
18
|
+
{ id: '4', text: 'Ansible security and updates' },
|
19
|
+
{ id: '5', text: 'Red Hat certification' },
|
20
|
+
{ id: '6', text: 'Lightspeed user documentation' }
|
21
|
+
],
|
22
|
+
February: [
|
23
|
+
{ id: '7', text: 'Crashing pod assistance' },
|
24
|
+
{ id: '8', text: 'OpenShift AI pipelines' },
|
25
|
+
{ id: '9', text: 'Updating subscription plan' },
|
26
|
+
{ id: '10', text: 'Red Hat licensing options' }
|
27
|
+
],
|
28
|
+
January: [
|
29
|
+
{ id: '11', text: 'RHEL system performance' },
|
30
|
+
{ id: '12', text: 'Manage user accounts' }
|
31
|
+
]
|
32
|
+
};
|
33
|
+
|
34
|
+
export const ChatbotHeaderDrawerResizableDemo: React.FunctionComponent = () => {
|
35
|
+
const [isOpen, setIsOpen] = React.useState(true);
|
36
|
+
const [conversations, setConversations] = React.useState<Conversation[] | { [key: string]: Conversation[] }>(
|
37
|
+
initialConversations
|
38
|
+
);
|
39
|
+
const displayMode = ChatbotDisplayMode.embedded;
|
40
|
+
|
41
|
+
const findMatchingItems = (targetValue: string) => {
|
42
|
+
let filteredConversations = Object.entries(initialConversations).reduce((acc, [key, items]) => {
|
43
|
+
const filteredItems = items.filter((item) => item.text.toLowerCase().includes(targetValue.toLowerCase()));
|
44
|
+
if (filteredItems.length > 0) {
|
45
|
+
acc[key] = filteredItems;
|
46
|
+
}
|
47
|
+
return acc;
|
48
|
+
}, {});
|
49
|
+
|
50
|
+
// append message if no items are found
|
51
|
+
if (Object.keys(filteredConversations).length === 0) {
|
52
|
+
filteredConversations = [{ id: '13', noIcon: true, text: 'No results found' }];
|
53
|
+
}
|
54
|
+
return filteredConversations;
|
55
|
+
};
|
56
|
+
|
57
|
+
return (
|
58
|
+
<>
|
59
|
+
<Checkbox
|
60
|
+
label="Display drawer"
|
61
|
+
isChecked={isOpen}
|
62
|
+
onChange={() => {
|
63
|
+
setIsOpen(!isOpen);
|
64
|
+
setConversations(initialConversations);
|
65
|
+
}}
|
66
|
+
id="drawer-visible"
|
67
|
+
name="drawer-visible"
|
68
|
+
/>
|
69
|
+
<ChatbotConversationHistoryNav
|
70
|
+
displayMode={displayMode}
|
71
|
+
onDrawerToggle={() => setIsOpen(!isOpen)}
|
72
|
+
isDrawerOpen={isOpen}
|
73
|
+
setIsDrawerOpen={setIsOpen}
|
74
|
+
// eslint-disable-next-line no-console
|
75
|
+
onSelectActiveItem={(e, selectedItem) => console.log(`Selected history item with id ${selectedItem}`)}
|
76
|
+
conversations={conversations}
|
77
|
+
onNewChat={() => {
|
78
|
+
setIsOpen(!isOpen);
|
79
|
+
}}
|
80
|
+
handleTextInputChange={(value: string) => {
|
81
|
+
if (value === '') {
|
82
|
+
setConversations(initialConversations);
|
83
|
+
}
|
84
|
+
// this is where you would perform search on the items in the drawer
|
85
|
+
// and update the state
|
86
|
+
const newConversations: { [key: string]: Conversation[] } = findMatchingItems(value);
|
87
|
+
setConversations(newConversations);
|
88
|
+
}}
|
89
|
+
drawerContent={<div>Drawer content</div>}
|
90
|
+
drawerPanelContentProps={{ isResizable: true, minSize: '200px' }}
|
91
|
+
/>
|
92
|
+
</>
|
93
|
+
);
|
94
|
+
};
|
@@ -126,7 +126,7 @@ export const ChatbotMessageBarDefaultAttachExample: React.FunctionComponent = ()
|
|
126
126
|
return (
|
127
127
|
<>
|
128
128
|
{/* this is required for react-dropzone to work in Safari and Firefox */}
|
129
|
-
<input {...getInputProps()} />
|
129
|
+
<input {...getInputProps()} hidden />
|
130
130
|
<MessageBar
|
131
131
|
onSendMessage={handleSend}
|
132
132
|
attachMenuProps={{
|