@patternfly/chatbot 2.2.0-prerelease.3 → 2.2.0-prerelease.30
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.d.ts +3 -3
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +3 -1
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +27 -4
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +23 -11
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +99 -3
- package/dist/cjs/ChatbotConversationHistoryNav/EmptyState.d.ts +11 -0
- package/dist/cjs/ChatbotConversationHistoryNav/EmptyState.js +29 -0
- package/dist/cjs/ChatbotConversationHistoryNav/LoadingState.d.ts +4 -0
- package/dist/cjs/ChatbotConversationHistoryNav/LoadingState.js +45 -0
- 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/ChatbotFooter/ChatbotFootnote.d.ts +1 -1
- package/dist/cjs/ChatbotFooter/ChatbotFootnote.js +1 -1
- 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 +6 -4
- 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/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +19 -11
- 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/ImageMessage/ImageMessage.d.ts +4 -0
- package/dist/cjs/Message/ImageMessage/ImageMessage.js +25 -0
- package/dist/cjs/Message/LinkMessage/LinkMessage.d.ts +4 -0
- package/dist/cjs/Message/LinkMessage/LinkMessage.js +30 -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 +47 -8
- package/dist/cjs/Message/Message.js +69 -18
- package/dist/cjs/Message/Message.test.js +265 -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.d.ts +11 -4
- package/dist/cjs/MessageBar/MessageBar.js +122 -39
- package/dist/cjs/MessageBar/MessageBar.test.js +12 -4
- package/dist/cjs/MessageBar/MicrophoneButton.d.ts +1 -1
- 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/__mocks__/rehype-external-links.d.ts +2 -0
- package/dist/cjs/__mocks__/rehype-external-links.js +4 -0
- package/dist/cjs/__mocks__/rehype-sanitize.d.ts +2 -0
- package/dist/cjs/__mocks__/rehype-sanitize.js +4 -0
- package/dist/cjs/__mocks__/rehype-unwrap-images.d.ts +2 -0
- package/dist/cjs/__mocks__/rehype-unwrap-images.js +4 -0
- package/dist/cjs/index.d.ts +6 -0
- package/dist/cjs/index.js +10 -1
- package/dist/css/main.css +467 -123
- 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.d.ts +3 -3
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +3 -1
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +27 -4
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +23 -11
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +99 -3
- package/dist/esm/ChatbotConversationHistoryNav/EmptyState.d.ts +11 -0
- package/dist/esm/ChatbotConversationHistoryNav/EmptyState.js +22 -0
- package/dist/esm/ChatbotConversationHistoryNav/LoadingState.d.ts +4 -0
- package/dist/esm/ChatbotConversationHistoryNav/LoadingState.js +38 -0
- 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/ChatbotFooter/ChatbotFootnote.d.ts +1 -1
- package/dist/esm/ChatbotFooter/ChatbotFootnote.js +1 -1
- 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 +6 -4
- 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/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +19 -11
- 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/ImageMessage/ImageMessage.d.ts +4 -0
- package/dist/esm/Message/ImageMessage/ImageMessage.js +20 -0
- package/dist/esm/Message/LinkMessage/LinkMessage.d.ts +4 -0
- package/dist/esm/Message/LinkMessage/LinkMessage.js +25 -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 +47 -8
- package/dist/esm/Message/Message.js +67 -16
- package/dist/esm/Message/Message.test.js +265 -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.d.ts +11 -4
- package/dist/esm/MessageBar/MessageBar.js +122 -39
- package/dist/esm/MessageBar/MessageBar.test.js +12 -4
- package/dist/esm/MessageBar/MicrophoneButton.d.ts +1 -1
- 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/__mocks__/rehype-external-links.d.ts +2 -0
- package/dist/esm/__mocks__/rehype-external-links.js +2 -0
- package/dist/esm/__mocks__/rehype-sanitize.d.ts +2 -0
- package/dist/esm/__mocks__/rehype-sanitize.js +2 -0
- package/dist/esm/__mocks__/rehype-unwrap-images.d.ts +2 -0
- package/dist/esm/__mocks__/rehype-unwrap-images.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 +10 -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/AttachmentError.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +191 -12
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDropZone.tsx +2 -1
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithAttachment.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithCustomResponseActions.tsx +5 -1
- 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/MessageWithQuickResponses.tsx +1 -1
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickStart.tsx +31 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithResponseActions.tsx +1 -1
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithSources.tsx +1 -1
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +74 -11
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +221 -14
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessageWithExtraContent.tsx +54 -0
- 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 +5 -5
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderBasic.tsx +1 -1
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawer.tsx +36 -3
- 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/ChatbotWelcomeInteraction.tsx +1 -1
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomePrompt.tsx +7 -7
- 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 +11 -11
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachment.tsx +21 -20
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachmentMenu.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedChatbot.tsx +11 -11
- 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.scss +1 -1
- 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 +10 -4
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.scss +22 -1
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.tsx +242 -3
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.tsx +93 -25
- package/src/ChatbotConversationHistoryNav/EmptyState.tsx +44 -0
- package/src/ChatbotConversationHistoryNav/LoadingState.tsx +38 -0
- package/src/ChatbotFooter/ChatbotFooter.scss +0 -5
- package/src/ChatbotFooter/ChatbotFooter.test.tsx +15 -0
- package/src/ChatbotFooter/ChatbotFooternote.test.tsx +84 -0
- package/src/ChatbotFooter/ChatbotFootnote.tsx +2 -2
- 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 +11 -4
- 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/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.tsx +26 -18
- package/src/ChatbotWelcomePrompt/__snapshots__/ChatbotWelcomePrompt.test.tsx.snap +2 -2
- 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/ImageMessage/ImageMessage.scss +9 -0
- package/src/Message/ImageMessage/ImageMessage.tsx +14 -0
- package/src/Message/LinkMessage/LinkMessage.tsx +34 -0
- package/src/Message/ListMessage/ListMessage.scss +6 -6
- package/src/Message/ListMessage/OrderedListMessage.tsx +2 -2
- package/src/Message/Message.scss +4 -26
- package/src/Message/Message.test.tsx +357 -3
- package/src/Message/Message.tsx +148 -31
- 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 +21 -12
- 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 +38 -20
- package/src/MessageBar/MessageBar.test.tsx +12 -4
- package/src/MessageBar/MessageBar.tsx +153 -58
- package/src/MessageBar/MicrophoneButton.scss +8 -8
- package/src/MessageBar/MicrophoneButton.tsx +1 -1
- 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 +105 -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/__mocks__/rehype-external-links.ts +3 -0
- package/src/__mocks__/rehype-sanitize.ts +3 -0
- package/src/__mocks__/rehype-unwrap-images.tsx +3 -0
- package/src/index.ts +9 -0
- package/src/main.scss +8 -6
@@ -0,0 +1,81 @@
|
|
1
|
+
import * as React from 'react';
|
2
|
+
import { Button, Flex, pluralize, Popover } from '@patternfly/react-core';
|
3
|
+
import InfoCircleIcon from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
|
4
|
+
|
5
|
+
interface QuickStartTileDescriptionProps {
|
6
|
+
/** QuickStart description */
|
7
|
+
description: string;
|
8
|
+
/** QuickStart prerequisites */
|
9
|
+
prerequisites?: string[];
|
10
|
+
/** Label for the English word "Prerequisite" */
|
11
|
+
prerequisiteWord?: string;
|
12
|
+
/** Label for the English word "Prerequisites" */
|
13
|
+
prerequisiteWordPlural?: string;
|
14
|
+
/** Aria-label for the quick start button */
|
15
|
+
quickStartButtonAriaLabel?: string;
|
16
|
+
}
|
17
|
+
|
18
|
+
/** This function is a helper for pluralizing strings stolen from React.
|
19
|
+
*
|
20
|
+
* @param {number} i The quantity of the string you want to pluralize
|
21
|
+
* @param {string} singular The singular version of the string
|
22
|
+
* @param {string} plural The change to the string that should occur if the quantity is not equal to 1.
|
23
|
+
* Defaults to adding an 's'.
|
24
|
+
*/
|
25
|
+
export function pluralizeWord(i: number, singular: string, plural?: string) {
|
26
|
+
if (!plural) {
|
27
|
+
plural = `${singular}s`;
|
28
|
+
}
|
29
|
+
return `${i === 1 ? singular : plural}`;
|
30
|
+
}
|
31
|
+
|
32
|
+
const QuickStartTileDescription: React.FC<QuickStartTileDescriptionProps> = ({
|
33
|
+
description,
|
34
|
+
prerequisites,
|
35
|
+
prerequisiteWord = 'Prerequisite',
|
36
|
+
prerequisiteWordPlural = 'Prerequisites',
|
37
|
+
quickStartButtonAriaLabel = 'Show prerequisites'
|
38
|
+
}) => {
|
39
|
+
const prereqs = prerequisites?.filter((p) => p);
|
40
|
+
const buttonRef = React.useRef<HTMLButtonElement>(null);
|
41
|
+
const pluralizedPrereq = pluralizeWord(prereqs?.length || 0, prerequisiteWord, prerequisiteWordPlural);
|
42
|
+
return (
|
43
|
+
<>
|
44
|
+
{description}
|
45
|
+
{prereqs && prereqs.length > 0 && (
|
46
|
+
<Flex spaceItems={{ default: 'spaceItemsSm' }}>
|
47
|
+
<h5>{pluralize(prereqs.length, prerequisiteWord, prerequisiteWordPlural)}</h5>
|
48
|
+
<Button
|
49
|
+
variant="link"
|
50
|
+
isInline
|
51
|
+
data-testid="qs-card-prereqs"
|
52
|
+
ref={buttonRef}
|
53
|
+
onClick={(e) => {
|
54
|
+
e.preventDefault();
|
55
|
+
e.stopPropagation();
|
56
|
+
}}
|
57
|
+
aria-label={quickStartButtonAriaLabel}
|
58
|
+
>
|
59
|
+
<InfoCircleIcon />
|
60
|
+
</Button>
|
61
|
+
<Popover
|
62
|
+
aria-label={pluralizedPrereq}
|
63
|
+
headerContent={pluralizedPrereq}
|
64
|
+
triggerRef={buttonRef}
|
65
|
+
bodyContent={
|
66
|
+
<div>
|
67
|
+
<ul aria-label={pluralizedPrereq}>
|
68
|
+
{prereqs.map((prerequisite, index) => (
|
69
|
+
// eslint-disable-next-line react/no-array-index-key
|
70
|
+
<li key={index}>{prerequisite}</li>
|
71
|
+
))}
|
72
|
+
</ul>
|
73
|
+
</div>
|
74
|
+
}
|
75
|
+
/>
|
76
|
+
</Flex>
|
77
|
+
)}
|
78
|
+
</>
|
79
|
+
);
|
80
|
+
};
|
81
|
+
export default QuickStartTileDescription;
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import * as React from 'react';
|
2
|
+
import { Button, Flex } from '@patternfly/react-core';
|
3
|
+
|
4
|
+
interface QuickStartTileHeaderProps {
|
5
|
+
/** Name for the header */
|
6
|
+
name: string;
|
7
|
+
/** Id for the QuickStart */
|
8
|
+
quickStartId?: string;
|
9
|
+
/** Callback for when the name of the QuickStart is clicked */
|
10
|
+
onSelect: (e: React.FormEvent<HTMLInputElement> | React.MouseEvent<Element, MouseEvent>) => void;
|
11
|
+
}
|
12
|
+
|
13
|
+
const QuickStartTileHeader: React.FC<QuickStartTileHeaderProps> = ({ name, quickStartId, onSelect }) => (
|
14
|
+
<Flex flexWrap={{ default: 'nowrap' }}>
|
15
|
+
<Button data-test="title" id={quickStartId} variant="link" isInline onClick={onSelect}>
|
16
|
+
{name}
|
17
|
+
</Button>
|
18
|
+
</Flex>
|
19
|
+
);
|
20
|
+
|
21
|
+
export default QuickStartTileHeader;
|
@@ -0,0 +1,75 @@
|
|
1
|
+
export const monitorSampleAppQuickStartWithImage = {
|
2
|
+
apiVersion: 'console.openshift.io/v1',
|
3
|
+
kind: 'QuickStarts',
|
4
|
+
metadata: {
|
5
|
+
name: 'monitor-sampleapp'
|
6
|
+
},
|
7
|
+
spec: {
|
8
|
+
icon: 'test.png', // this is only difference
|
9
|
+
version: 4.7,
|
10
|
+
displayName: 'Monitoring your sample application',
|
11
|
+
durationMinutes: 10,
|
12
|
+
description: `Now that you’ve created a sample application and added health checks, let’s monitor your application.`,
|
13
|
+
prerequisites: [`You completed the "Getting started with a sample" quick start.`],
|
14
|
+
introduction: `### This quick start shows you how to monitor your sample application.
|
15
|
+
You should have previously created the **sample-app** application and **nodejs-sample** deployment via the **Get started with a sample** quick start. If you haven't, you may be able to follow these tasks with any existing deployment.`,
|
16
|
+
tasks: [
|
17
|
+
{
|
18
|
+
title: `Viewing the monitoring details of your sample application`,
|
19
|
+
description: `### To view the details of your sample application:
|
20
|
+
1. Go to the project your sample application was created in.
|
21
|
+
2. In the **</> Developer** perspective, go to **Topology** view.
|
22
|
+
3. Click on the **nodejs-sample** deployment to view its details.
|
23
|
+
4. Click on the **Monitoring** tab in the side panel.
|
24
|
+
You can see context sensitive metrics and alerts in the **Monitoring** tab.`,
|
25
|
+
review: {
|
26
|
+
instructions: `#### To verify you can view the monitoring information:
|
27
|
+
1. Do you see a **Metrics** accordion in the side panel?
|
28
|
+
2. Do you see a **View monitoring dashboard** link in the **Metrics** accordion?
|
29
|
+
3. Do you see three charts in the **Metrics** accordion: **CPU Usage**, **Memory Usage** and **Receive Bandwidth**?`,
|
30
|
+
failedTaskHelp: `This task isn’t verified yet. Try the task again.`
|
31
|
+
},
|
32
|
+
summary: {
|
33
|
+
success: `You have learned how you can monitor your sample app!`,
|
34
|
+
failed: `Try the steps again.`
|
35
|
+
}
|
36
|
+
},
|
37
|
+
{
|
38
|
+
title: `Viewing your project monitoring dashboard`,
|
39
|
+
description: `### To view the project monitoring dashboard in the context of **nodejs-sample**:
|
40
|
+
1. Click on the **View monitoring dashboard** link in the side panel.
|
41
|
+
2. You can change the **Time Range** and **Refresh Interval** of the dashboard.
|
42
|
+
3. You can change the context of the dashboard as well by clicking on the drop-down list. Select a specific workload or **All Workloads** to view the dashboard in the context of the entire project.`,
|
43
|
+
review: {
|
44
|
+
instructions: `#### To verify that you are able to view the monitoring dashboard:
|
45
|
+
Do you see metrics charts in the dashboard?`,
|
46
|
+
failedTaskHelp: `This task isn’t verified yet. Try the task again.`
|
47
|
+
},
|
48
|
+
summary: {
|
49
|
+
success: `You have learned how to view the dashboard in the context of your sample app!`,
|
50
|
+
failed: `Try the steps again.`
|
51
|
+
}
|
52
|
+
},
|
53
|
+
{
|
54
|
+
title: `Viewing custom metrics`,
|
55
|
+
description: `### To view custom metrics:
|
56
|
+
1. Click on the **Metrics** tab of the **Monitoring** page.
|
57
|
+
2. Click the **Select Query** drop-down list to see the available queries.
|
58
|
+
3. Click on **Filesystem Usage** from the list to run the query.`,
|
59
|
+
review: {
|
60
|
+
instructions: `#### Verify you can see the chart associated with the query:
|
61
|
+
Do you see a chart displayed with filesystem usage for your project? Note: select **Custom Query** from the dropdown to create and run a custom query utilizing PromQL.
|
62
|
+
`,
|
63
|
+
failedTaskHelp: `This task isn’t verified yet. Try the task again.`
|
64
|
+
},
|
65
|
+
summary: {
|
66
|
+
success: `You have learned how to run a query!`,
|
67
|
+
failed: `Try the steps again.`
|
68
|
+
}
|
69
|
+
}
|
70
|
+
],
|
71
|
+
conclusion: `You have learned how to access workload monitoring and metrics!`,
|
72
|
+
|
73
|
+
nextQuickStart: [``]
|
74
|
+
}
|
75
|
+
};
|
@@ -0,0 +1,75 @@
|
|
1
|
+
export const monitorSampleAppQuickStart = {
|
2
|
+
apiVersion: 'console.openshift.io/v1',
|
3
|
+
kind: 'QuickStarts',
|
4
|
+
metadata: {
|
5
|
+
name: 'monitor-sampleapp'
|
6
|
+
},
|
7
|
+
spec: {
|
8
|
+
version: 4.7,
|
9
|
+
displayName: 'Monitoring your sample application',
|
10
|
+
durationMinutes: 10,
|
11
|
+
icon: '',
|
12
|
+
description: `Now that you’ve created a sample application and added health checks, let’s monitor your application.`,
|
13
|
+
prerequisites: [`You completed the "Getting started with a sample" quick start.`],
|
14
|
+
introduction: `### This quick start shows you how to monitor your sample application.
|
15
|
+
You should have previously created the **sample-app** application and **nodejs-sample** deployment via the **Get started with a sample** quick start. If you haven't, you may be able to follow these tasks with any existing deployment.`,
|
16
|
+
tasks: [
|
17
|
+
{
|
18
|
+
title: `Viewing the monitoring details of your sample application`,
|
19
|
+
description: `### To view the details of your sample application:
|
20
|
+
1. Go to the project your sample application was created in.
|
21
|
+
2. In the **</> Developer** perspective, go to **Topology** view.
|
22
|
+
3. Click on the **nodejs-sample** deployment to view its details.
|
23
|
+
4. Click on the **Monitoring** tab in the side panel.
|
24
|
+
You can see context sensitive metrics and alerts in the **Monitoring** tab.`,
|
25
|
+
review: {
|
26
|
+
instructions: `#### To verify you can view the monitoring information:
|
27
|
+
1. Do you see a **Metrics** accordion in the side panel?
|
28
|
+
2. Do you see a **View monitoring dashboard** link in the **Metrics** accordion?
|
29
|
+
3. Do you see three charts in the **Metrics** accordion: **CPU Usage**, **Memory Usage** and **Receive Bandwidth**?`,
|
30
|
+
failedTaskHelp: `This task isn’t verified yet. Try the task again.`
|
31
|
+
},
|
32
|
+
summary: {
|
33
|
+
success: `You have learned how you can monitor your sample app!`,
|
34
|
+
failed: `Try the steps again.`
|
35
|
+
}
|
36
|
+
},
|
37
|
+
{
|
38
|
+
title: `Viewing your project monitoring dashboard`,
|
39
|
+
description: `### To view the project monitoring dashboard in the context of **nodejs-sample**:
|
40
|
+
1. Click on the **View monitoring dashboard** link in the side panel.
|
41
|
+
2. You can change the **Time Range** and **Refresh Interval** of the dashboard.
|
42
|
+
3. You can change the context of the dashboard as well by clicking on the drop-down list. Select a specific workload or **All Workloads** to view the dashboard in the context of the entire project.`,
|
43
|
+
review: {
|
44
|
+
instructions: `#### To verify that you are able to view the monitoring dashboard:
|
45
|
+
Do you see metrics charts in the dashboard?`,
|
46
|
+
failedTaskHelp: `This task isn’t verified yet. Try the task again.`
|
47
|
+
},
|
48
|
+
summary: {
|
49
|
+
success: `You have learned how to view the dashboard in the context of your sample app!`,
|
50
|
+
failed: `Try the steps again.`
|
51
|
+
}
|
52
|
+
},
|
53
|
+
{
|
54
|
+
title: `Viewing custom metrics`,
|
55
|
+
description: `### To view custom metrics:
|
56
|
+
1. Click on the **Metrics** tab of the **Monitoring** page.
|
57
|
+
2. Click the **Select Query** drop-down list to see the available queries.
|
58
|
+
3. Click on **Filesystem Usage** from the list to run the query.`,
|
59
|
+
review: {
|
60
|
+
instructions: `#### Verify you can see the chart associated with the query:
|
61
|
+
Do you see a chart displayed with filesystem usage for your project? Note: select **Custom Query** from the dropdown to create and run a custom query utilizing PromQL.
|
62
|
+
`,
|
63
|
+
failedTaskHelp: `This task isn’t verified yet. Try the task again.`
|
64
|
+
},
|
65
|
+
summary: {
|
66
|
+
success: `You have learned how to run a query!`,
|
67
|
+
failed: `Try the steps again.`
|
68
|
+
}
|
69
|
+
}
|
70
|
+
],
|
71
|
+
conclusion: `You have learned how to access workload monitoring and metrics!`,
|
72
|
+
|
73
|
+
nextQuickStart: [``]
|
74
|
+
}
|
75
|
+
};
|
@@ -0,0 +1,154 @@
|
|
1
|
+
import { ButtonProps } from '@patternfly/react-core';
|
2
|
+
|
3
|
+
// These types are all from the QuickStart extension.
|
4
|
+
// We want to ensure parity, so be careful when adjusting these.
|
5
|
+
export interface AccessReviewResourceAttributes {
|
6
|
+
group?: string;
|
7
|
+
resource?: string;
|
8
|
+
subresource?: string;
|
9
|
+
verb?: K8sVerb;
|
10
|
+
name?: string;
|
11
|
+
namespace?: string;
|
12
|
+
}
|
13
|
+
|
14
|
+
export type K8sVerb = 'create' | 'get' | 'list' | 'update' | 'patch' | 'delete' | 'deletecollection' | 'watch';
|
15
|
+
|
16
|
+
export interface QuickStart {
|
17
|
+
apiVersion?: string;
|
18
|
+
kind?: string;
|
19
|
+
metadata: ObjectMetadata;
|
20
|
+
spec: QuickStartSpec;
|
21
|
+
}
|
22
|
+
|
23
|
+
export interface ObjectMetadata {
|
24
|
+
name: string;
|
25
|
+
annotations?: { [key: string]: string };
|
26
|
+
clusterName?: string;
|
27
|
+
creationTimestamp?: string;
|
28
|
+
deletionGracePeriodSeconds?: number;
|
29
|
+
deletionTimestamp?: string;
|
30
|
+
finalizers?: string[];
|
31
|
+
generateName?: string;
|
32
|
+
generation?: number;
|
33
|
+
labels?: { [key: string]: string };
|
34
|
+
managedFields?: any[];
|
35
|
+
namespace?: string;
|
36
|
+
ownerReferences?: OwnerReference[];
|
37
|
+
resourceVersion?: string;
|
38
|
+
uid?: string;
|
39
|
+
// language can be: en
|
40
|
+
language?: string;
|
41
|
+
// country can be: US
|
42
|
+
country?: string;
|
43
|
+
// locale is a combination of language and country, for example: en_US
|
44
|
+
locale?: string;
|
45
|
+
// anything else to custom define
|
46
|
+
[key: string]: any;
|
47
|
+
}
|
48
|
+
|
49
|
+
export interface OwnerReference {
|
50
|
+
name: string;
|
51
|
+
kind: string;
|
52
|
+
uid: string;
|
53
|
+
apiVersion: string;
|
54
|
+
controller?: boolean;
|
55
|
+
blockOwnerDeletion?: boolean;
|
56
|
+
}
|
57
|
+
|
58
|
+
export interface QuickStartTask {
|
59
|
+
title?: string;
|
60
|
+
description?: string;
|
61
|
+
review?: QuickStartTaskReview;
|
62
|
+
summary?: QuickStartTaskSummary;
|
63
|
+
proc?: string;
|
64
|
+
}
|
65
|
+
|
66
|
+
export interface QuickStartTaskReview {
|
67
|
+
instructions?: string;
|
68
|
+
failedTaskHelp?: string;
|
69
|
+
}
|
70
|
+
|
71
|
+
export interface QuickStartTaskSummary {
|
72
|
+
success?: string;
|
73
|
+
failed?: string;
|
74
|
+
}
|
75
|
+
|
76
|
+
export interface QuickstartAction {
|
77
|
+
/** Screen reader aria label. */
|
78
|
+
'aria-label': string;
|
79
|
+
/** Icon to be rendered as a plain button, by default Bookmark outlined will be used. */
|
80
|
+
icon?: React.ComponentType<unknown>;
|
81
|
+
/** Callback with synthetic event parameter. */
|
82
|
+
onClick?: (e: React.SyntheticEvent) => void;
|
83
|
+
/** Additional button props to be rendered as extra props. */
|
84
|
+
buttonProps?: ButtonProps;
|
85
|
+
}
|
86
|
+
|
87
|
+
export interface QuickStart {
|
88
|
+
apiVersion?: string;
|
89
|
+
kind?: string;
|
90
|
+
metadata: ObjectMetadata;
|
91
|
+
spec: QuickStartSpec;
|
92
|
+
}
|
93
|
+
|
94
|
+
export interface QuickStartSpec {
|
95
|
+
version?: number;
|
96
|
+
displayName: string;
|
97
|
+
durationMinutes?: number;
|
98
|
+
icon: React.ReactNode;
|
99
|
+
description: string;
|
100
|
+
prerequisites?: string[];
|
101
|
+
introduction?: string;
|
102
|
+
tasks?: QuickStartTask[];
|
103
|
+
conclusion?: string;
|
104
|
+
nextQuickStart?: string[];
|
105
|
+
accessReviewResources?: AccessReviewResourceAttributes[];
|
106
|
+
link?: QuickStartExternal;
|
107
|
+
type?: QuickStartType;
|
108
|
+
}
|
109
|
+
|
110
|
+
export interface QuickStartTask {
|
111
|
+
title?: string;
|
112
|
+
description?: string;
|
113
|
+
review?: QuickStartTaskReview;
|
114
|
+
summary?: QuickStartTaskSummary;
|
115
|
+
proc?: string;
|
116
|
+
}
|
117
|
+
|
118
|
+
export interface QuickStartTaskReview {
|
119
|
+
instructions?: string;
|
120
|
+
failedTaskHelp?: string;
|
121
|
+
}
|
122
|
+
|
123
|
+
export interface QuickStartTaskSummary {
|
124
|
+
success?: string;
|
125
|
+
failed?: string;
|
126
|
+
}
|
127
|
+
|
128
|
+
export type AllQuickStartStates = Record<string, QuickStartState>;
|
129
|
+
|
130
|
+
export type QuickStartState = Record<string, string | number | QuickStartStatus>;
|
131
|
+
|
132
|
+
export enum QuickStartStatus {
|
133
|
+
COMPLETE = 'Complete',
|
134
|
+
IN_PROGRESS = 'In Progress',
|
135
|
+
NOT_STARTED = 'Not started'
|
136
|
+
}
|
137
|
+
|
138
|
+
export enum QuickStartTaskStatus {
|
139
|
+
INIT = 'Initial',
|
140
|
+
VISITED = 'Visited',
|
141
|
+
REVIEW = 'Review',
|
142
|
+
SUCCESS = 'Success',
|
143
|
+
FAILED = 'Failed'
|
144
|
+
}
|
145
|
+
|
146
|
+
export interface QuickStartExternal {
|
147
|
+
href: string;
|
148
|
+
text?: string;
|
149
|
+
}
|
150
|
+
|
151
|
+
export interface QuickStartType {
|
152
|
+
text: string;
|
153
|
+
color?: 'green' | 'purple' | 'grey' | 'blue' | 'orange' | 'red' | 'teal' | 'orangered' | 'yellow';
|
154
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
.pf-chatbot__message-table {
|
2
|
+
border-radius: var(--pf-t--global--border--radius--small);
|
3
|
+
--pf-v6-c-table--BackgroundColor: var(--pf-t--global--background--color--tertiary--default);
|
4
|
+
--pf-v6-c-table--BorderColor: var(--pf-t--global--border--color--default);
|
5
|
+
padding: 0 var(--pf-t--global--spacer--lg) 0 var(--pf-t--global--spacer--lg);
|
6
|
+
|
7
|
+
&.pf-m-grid.pf-v6-c-table tbody:where(.pf-v6-c-table__tbody):first-of-type {
|
8
|
+
border-block-start: 0;
|
9
|
+
}
|
10
|
+
|
11
|
+
tbody {
|
12
|
+
border-radius: var(--pf-t--global--border--radius--small);
|
13
|
+
}
|
14
|
+
|
15
|
+
tr {
|
16
|
+
--pf-v6-c-table__tr--responsive--PaddingInlineEnd: 0;
|
17
|
+
--pf-v6-c-table__tr--responsive--PaddingInlineStart: 0;
|
18
|
+
}
|
19
|
+
|
20
|
+
.pf-v6-c-table__tr:last-of-type {
|
21
|
+
border-block-end: 0;
|
22
|
+
}
|
23
|
+
}
|
@@ -0,0 +1,83 @@
|
|
1
|
+
// ============================================================================
|
2
|
+
// Chatbot Main - Message - Content - Table
|
3
|
+
// ============================================================================
|
4
|
+
|
5
|
+
import React from 'react';
|
6
|
+
import { ExtraProps } from 'react-markdown';
|
7
|
+
import { Table, TableProps } from '@patternfly/react-table';
|
8
|
+
|
9
|
+
interface Properties {
|
10
|
+
line: number;
|
11
|
+
column: number;
|
12
|
+
offset: number;
|
13
|
+
}
|
14
|
+
export interface TableNode {
|
15
|
+
children?: TableNode[];
|
16
|
+
value?: string;
|
17
|
+
position: { start: Properties; end: Properties };
|
18
|
+
tagName: string;
|
19
|
+
type: string;
|
20
|
+
}
|
21
|
+
|
22
|
+
const TableMessage = ({ children, ...props }: TableProps & ExtraProps) => {
|
23
|
+
const { className, ...rest } = props;
|
24
|
+
|
25
|
+
// This allows us to parse the nested data we get back from the 3rd party Markdown parser
|
26
|
+
// Open to feedback here if there is a better way to do this
|
27
|
+
// This looks for ths and spits them all out so we can filter them later, looking for text values
|
28
|
+
const findHeaders = (array?: TableNode[]) => {
|
29
|
+
const headers: TableNode[] = [];
|
30
|
+
if (!array) {
|
31
|
+
return headers;
|
32
|
+
}
|
33
|
+
const traverse = (items: TableNode[]) => {
|
34
|
+
for (const item of items) {
|
35
|
+
if (item.tagName === 'th') {
|
36
|
+
headers.push(item);
|
37
|
+
}
|
38
|
+
if (item.children) {
|
39
|
+
traverse(item.children);
|
40
|
+
}
|
41
|
+
}
|
42
|
+
};
|
43
|
+
|
44
|
+
traverse(array);
|
45
|
+
return headers;
|
46
|
+
};
|
47
|
+
|
48
|
+
const headers = findHeaders(rest.node?.children as TableNode[] | undefined);
|
49
|
+
const headerTextValues = headers.map((header) => header?.children?.filter((c) => c?.type === 'text')[0]?.value);
|
50
|
+
|
51
|
+
// We are sending these header text values down to child tds by passing them through children, since mobile view for tables expects a dataLabel prop
|
52
|
+
// The data structure does not otherwise know this information at that level
|
53
|
+
// This is somewhat opinionated and may break if 3rd party library changes
|
54
|
+
// See Tr and Tbody for other usage
|
55
|
+
const modifyChildren = (children) =>
|
56
|
+
React.Children.map(children, (child) => {
|
57
|
+
if (child && headerTextValues?.length > 0) {
|
58
|
+
return React.cloneElement(child, { extraHeaders: headerTextValues });
|
59
|
+
}
|
60
|
+
return child;
|
61
|
+
});
|
62
|
+
|
63
|
+
if (!props['aria-label']) {
|
64
|
+
// eslint-disable-next-line no-console
|
65
|
+
console.warn(
|
66
|
+
'For accessibility reasons an aria-label should be specified for the Table via the <Message /> tableProps prop'
|
67
|
+
);
|
68
|
+
}
|
69
|
+
|
70
|
+
return (
|
71
|
+
// gridBreakPoint is so we show mobile-styled-PF table
|
72
|
+
<Table
|
73
|
+
aria-label={props['aria-label']}
|
74
|
+
gridBreakPoint="grid"
|
75
|
+
className={`pf-chatbot__message-table ${className ? className : ''}`}
|
76
|
+
{...rest}
|
77
|
+
>
|
78
|
+
{modifyChildren(children)}
|
79
|
+
</Table>
|
80
|
+
);
|
81
|
+
};
|
82
|
+
|
83
|
+
export default TableMessage;
|
@@ -0,0 +1,20 @@
|
|
1
|
+
// ============================================================================
|
2
|
+
// Chatbot Main - Message - Content - Table
|
3
|
+
// ============================================================================
|
4
|
+
|
5
|
+
import React from 'react';
|
6
|
+
import { ExtraProps } from 'react-markdown';
|
7
|
+
import { Tbody, TbodyProps } from '@patternfly/react-table';
|
8
|
+
|
9
|
+
const TbodyProps = ({ children, ...props }: TbodyProps & ExtraProps & { extraHeaders?: string[] }) => {
|
10
|
+
// passthrough so we can place dataLabel on tds
|
11
|
+
const modifyChildren = (children) => {
|
12
|
+
if (children && props.extraHeaders) {
|
13
|
+
return React.Children.map(children, (child) => React.cloneElement(child, { extraHeaders: props.extraHeaders }));
|
14
|
+
}
|
15
|
+
return children;
|
16
|
+
};
|
17
|
+
|
18
|
+
return <Tbody {...props}>{modifyChildren(children)}</Tbody>;
|
19
|
+
};
|
20
|
+
export default TbodyProps;
|
@@ -0,0 +1,11 @@
|
|
1
|
+
// ============================================================================
|
2
|
+
// Chatbot Main - Message - Content - Table
|
3
|
+
// ============================================================================
|
4
|
+
|
5
|
+
import React from 'react';
|
6
|
+
import { ExtraProps } from 'react-markdown';
|
7
|
+
import { Td, TdProps } from '@patternfly/react-table';
|
8
|
+
|
9
|
+
const TdMessage = ({ children, ...props }: TdProps & ExtraProps) => <Td {...props}>{children}</Td>;
|
10
|
+
|
11
|
+
export default TdMessage;
|
@@ -0,0 +1,11 @@
|
|
1
|
+
// ============================================================================
|
2
|
+
// Chatbot Main - Message - Content - Table
|
3
|
+
// ============================================================================
|
4
|
+
|
5
|
+
import React from 'react';
|
6
|
+
import { ExtraProps } from 'react-markdown';
|
7
|
+
import { Th, ThProps } from '@patternfly/react-table';
|
8
|
+
|
9
|
+
const ThMessage = ({ children, ...props }: ThProps & ExtraProps) => <Th {...props}>{children}</Th>;
|
10
|
+
|
11
|
+
export default ThMessage;
|
@@ -0,0 +1,11 @@
|
|
1
|
+
// ============================================================================
|
2
|
+
// Chatbot Main - Message - Content - Table
|
3
|
+
// ============================================================================
|
4
|
+
|
5
|
+
import React from 'react';
|
6
|
+
import { ExtraProps } from 'react-markdown';
|
7
|
+
import { Thead, TheadProps } from '@patternfly/react-table';
|
8
|
+
|
9
|
+
const TheadMessage = ({ children, ...props }: TheadProps & ExtraProps) => <Thead {...props}>{children}</Thead>;
|
10
|
+
|
11
|
+
export default TheadMessage;
|
@@ -0,0 +1,27 @@
|
|
1
|
+
// ============================================================================
|
2
|
+
// Chatbot Main - Message - Content - Table
|
3
|
+
// ============================================================================
|
4
|
+
|
5
|
+
import React from 'react';
|
6
|
+
import { ExtraProps } from 'react-markdown';
|
7
|
+
import { Tr, TrProps } from '@patternfly/react-table';
|
8
|
+
|
9
|
+
const TrMessage = ({ children, ...props }: TrProps & ExtraProps & { extraHeaders?: string[] }) => {
|
10
|
+
let tdIndex = 0;
|
11
|
+
|
12
|
+
// passthrough so we can place dataLabel on tds
|
13
|
+
// places column name on correct child
|
14
|
+
const modifyChildren = (children) =>
|
15
|
+
React.Children.map(children, (child) => {
|
16
|
+
if (child.type.name === 'td' && props.extraHeaders) {
|
17
|
+
const clonedChild = React.cloneElement(child, { dataLabel: props.extraHeaders[tdIndex] });
|
18
|
+
tdIndex = tdIndex + 1;
|
19
|
+
return clonedChild;
|
20
|
+
}
|
21
|
+
return child;
|
22
|
+
});
|
23
|
+
|
24
|
+
return <Tr {...props}>{modifyChildren(children)}</Tr>;
|
25
|
+
};
|
26
|
+
|
27
|
+
export default TrMessage;
|
@@ -10,42 +10,51 @@
|
|
10
10
|
}
|
11
11
|
}
|
12
12
|
|
13
|
+
// make it full width when there's a table, so the table can grow as needed
|
14
|
+
.pf-chatbot__message-and-actions:has(.pf-chatbot__message-table) {
|
15
|
+
width: 100%;
|
16
|
+
}
|
17
|
+
|
13
18
|
// Need to inline shorter text
|
14
19
|
.pf-chatbot__message-text {
|
15
20
|
width: fit-content;
|
16
|
-
padding: var(--pf-t--
|
17
|
-
border-radius: var(--pf-t--
|
21
|
+
padding: var(--pf-t--global--spacer--sm) 0 var(--pf-t--global--spacer--sm) 0;
|
22
|
+
border-radius: var(--pf-t--global--border--radius--small);
|
23
|
+
|
24
|
+
.pf-v6-c-button.pf-m-link {
|
25
|
+
font-size: var(--pf-t--global--font--size--md);
|
26
|
+
}
|
18
27
|
|
19
28
|
.pf-v6-c-content,
|
20
29
|
.pf-v6-c-content--small,
|
21
30
|
.pf-v6-c-content--blockquote,
|
22
31
|
p,
|
23
32
|
a {
|
24
|
-
--pf-v6-c-content--FontSize: var(--pf-t--
|
33
|
+
--pf-v6-c-content--FontSize: var(--pf-t--global--font--size--md);
|
25
34
|
}
|
26
35
|
|
27
36
|
code {
|
28
|
-
background-color: var(--pf-t--
|
37
|
+
background-color: var(--pf-t--global--background--color--tertiary--default);
|
29
38
|
font-size: var(--pf-t--global--font--size--body--default);
|
30
39
|
}
|
31
40
|
}
|
32
41
|
|
33
42
|
.pf-chatbot__message--user {
|
34
43
|
.pf-chatbot__message-text {
|
35
|
-
background-color: var(--pf-t--
|
36
|
-
color: var(--pf-t--
|
37
|
-
|
44
|
+
background-color: var(--pf-t--global--color--brand--default);
|
45
|
+
color: var(--pf-t--global--text--color--on-brand--default);
|
46
|
+
--pf-v6-c-content--Color: var(--pf-t--global--text--color--on-brand--default);
|
47
|
+
padding: var(--pf-t--global--spacer--sm);
|
48
|
+
.pf-v6-c-button__icon {
|
49
|
+
--pf-v6-c-button__icon--Color: var(--pf-t--global--text--color--on-brand--default);
|
50
|
+
}
|
38
51
|
|
39
52
|
.pf-v6-c-content,
|
40
53
|
.pf-v6-c-content--small,
|
41
54
|
.pf-v6-c-content--blockquote,
|
42
55
|
p,
|
43
56
|
a {
|
44
|
-
color: var(--pf-t--
|
45
|
-
}
|
46
|
-
|
47
|
-
code {
|
48
|
-
background-color: initial;
|
57
|
+
color: var(--pf-t--global--text--color--on-brand--default);
|
49
58
|
}
|
50
59
|
}
|
51
60
|
}
|