@patternfly/chatbot 2.1.0-prerelease.17
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/@types/index.d.ts +9 -0
- package/dist/cjs/AttachMenu/AttachMenu.d.ts +29 -0
- package/dist/cjs/AttachMenu/AttachMenu.js +33 -0
- package/dist/cjs/AttachMenu/index.d.ts +2 -0
- package/dist/cjs/AttachMenu/index.js +23 -0
- package/dist/cjs/AttachmentEdit/AttachmentEdit.d.ts +22 -0
- package/dist/cjs/AttachmentEdit/AttachmentEdit.js +25 -0
- package/dist/cjs/AttachmentEdit/index.d.ts +2 -0
- package/dist/cjs/AttachmentEdit/index.js +23 -0
- package/dist/cjs/Chatbot/Chatbot.d.ts +23 -0
- package/dist/cjs/Chatbot/Chatbot.js +49 -0
- package/dist/cjs/Chatbot/index.d.ts +2 -0
- package/dist/cjs/Chatbot/index.js +23 -0
- package/dist/cjs/ChatbotAlert/ChatbotAlert.d.ts +8 -0
- package/dist/cjs/ChatbotAlert/ChatbotAlert.js +28 -0
- package/dist/cjs/ChatbotAlert/index.d.ts +2 -0
- package/dist/cjs/ChatbotAlert/index.js +23 -0
- package/dist/cjs/ChatbotContent/ChatbotContent.d.ts +9 -0
- package/dist/cjs/ChatbotContent/ChatbotContent.js +27 -0
- package/dist/cjs/ChatbotContent/index.d.ts +2 -0
- package/dist/cjs/ChatbotContent/index.js +23 -0
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.d.ts +14 -0
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +22 -0
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +52 -0
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +83 -0
- package/dist/cjs/ChatbotConversationHistoryNav/index.d.ts +3 -0
- package/dist/cjs/ChatbotConversationHistoryNav/index.js +24 -0
- package/dist/cjs/ChatbotFooter/ChatbotFooter.d.ts +9 -0
- package/dist/cjs/ChatbotFooter/ChatbotFooter.js +35 -0
- package/dist/cjs/ChatbotFooter/ChatbotFootnote.d.ts +44 -0
- package/dist/cjs/ChatbotFooter/ChatbotFootnote.js +56 -0
- package/dist/cjs/ChatbotFooter/index.d.ts +3 -0
- package/dist/cjs/ChatbotFooter/index.js +24 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeader.d.ts +9 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeader.js +13 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.d.ts +9 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.js +10 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.d.ts +9 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.js +10 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.d.ts +15 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.js +14 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +14 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +33 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +18 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +33 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.d.ts +20 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.js +33 -0
- package/dist/cjs/ChatbotHeader/index.d.ts +8 -0
- package/dist/cjs/ChatbotHeader/index.js +29 -0
- package/dist/cjs/ChatbotModal/ChatbotModal.d.ts +10 -0
- package/dist/cjs/ChatbotModal/ChatbotModal.js +34 -0
- package/dist/cjs/ChatbotModal/index.d.ts +2 -0
- package/dist/cjs/ChatbotModal/index.js +23 -0
- package/dist/cjs/ChatbotPopover/ChatbotPopover.d.ts +4 -0
- package/dist/cjs/ChatbotPopover/ChatbotPopover.js +29 -0
- package/dist/cjs/ChatbotPopover/index.d.ts +2 -0
- package/dist/cjs/ChatbotPopover/index.js +23 -0
- package/dist/cjs/ChatbotToggle/ChatbotToggle.d.ts +20 -0
- package/dist/cjs/ChatbotToggle/ChatbotToggle.js +35 -0
- package/dist/cjs/ChatbotToggle/index.d.ts +2 -0
- package/dist/cjs/ChatbotToggle/index.js +23 -0
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +23 -0
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +40 -0
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.d.ts +1 -0
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +49 -0
- package/dist/cjs/ChatbotWelcomePrompt/index.d.ts +2 -0
- package/dist/cjs/ChatbotWelcomePrompt/index.js +23 -0
- package/dist/cjs/CodeModal/CodeModal.d.ts +34 -0
- package/dist/cjs/CodeModal/CodeModal.js +105 -0
- package/dist/cjs/CodeModal/index.d.ts +2 -0
- package/dist/cjs/CodeModal/index.js +23 -0
- package/dist/cjs/FileDetails/FileDetails.d.ts +922 -0
- package/dist/cjs/FileDetails/FileDetails.js +954 -0
- package/dist/cjs/FileDetails/FileDetails.test.d.ts +1 -0
- package/dist/cjs/FileDetails/FileDetails.test.js +26 -0
- package/dist/cjs/FileDetails/index.d.ts +2 -0
- package/dist/cjs/FileDetails/index.js +23 -0
- package/dist/cjs/FileDetailsLabel/FileDetailsLabel.d.ts +21 -0
- package/dist/cjs/FileDetailsLabel/FileDetailsLabel.js +22 -0
- package/dist/cjs/FileDetailsLabel/FileDetailsLabel.test.d.ts +1 -0
- package/dist/cjs/FileDetailsLabel/FileDetailsLabel.test.js +61 -0
- package/dist/cjs/FileDetailsLabel/index.d.ts +2 -0
- package/dist/cjs/FileDetailsLabel/index.js +23 -0
- package/dist/cjs/FileDropZone/FileDropZone.d.ts +17 -0
- package/dist/cjs/FileDropZone/FileDropZone.js +28 -0
- package/dist/cjs/FileDropZone/FileDropZone.test.d.ts +1 -0
- package/dist/cjs/FileDropZone/FileDropZone.test.js +19 -0
- package/dist/cjs/FileDropZone/index.d.ts +2 -0
- package/dist/cjs/FileDropZone/index.js +23 -0
- package/dist/cjs/LoadingMessage/LoadingMessage.d.ts +6 -0
- package/dist/cjs/LoadingMessage/LoadingMessage.js +20 -0
- package/dist/cjs/LoadingMessage/LoadingMessage.test.d.ts +1 -0
- package/dist/cjs/LoadingMessage/LoadingMessage.test.js +20 -0
- package/dist/cjs/LoadingMessage/index.d.ts +2 -0
- package/dist/cjs/LoadingMessage/index.js +23 -0
- package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.d.ts +4 -0
- package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.js +61 -0
- package/dist/cjs/Message/ListMessage/ListItemMessage.d.ts +4 -0
- package/dist/cjs/Message/ListMessage/ListItemMessage.js +12 -0
- package/dist/cjs/Message/ListMessage/OrderedListMessage.d.ts +4 -0
- package/dist/cjs/Message/ListMessage/OrderedListMessage.js +13 -0
- package/dist/cjs/Message/ListMessage/UnorderedListMessage.d.ts +4 -0
- package/dist/cjs/Message/ListMessage/UnorderedListMessage.js +13 -0
- package/dist/cjs/Message/Message.d.ts +65 -0
- package/dist/cjs/Message/Message.js +69 -0
- package/dist/cjs/Message/Message.test.d.ts +1 -0
- package/dist/cjs/Message/Message.test.js +239 -0
- package/dist/cjs/Message/MessageLoading.d.ts +5 -0
- package/dist/cjs/Message/MessageLoading.js +13 -0
- package/dist/cjs/Message/TextMessage/TextMessage.d.ts +4 -0
- package/dist/cjs/Message/TextMessage/TextMessage.js +27 -0
- package/dist/cjs/Message/index.d.ts +2 -0
- package/dist/cjs/Message/index.js +23 -0
- package/dist/cjs/MessageBar/AttachButton.d.ts +21 -0
- package/dist/cjs/MessageBar/AttachButton.js +38 -0
- package/dist/cjs/MessageBar/AttachButton.test.d.ts +1 -0
- package/dist/cjs/MessageBar/AttachButton.test.js +66 -0
- package/dist/cjs/MessageBar/MessageBar.d.ts +71 -0
- package/dist/cjs/MessageBar/MessageBar.js +112 -0
- package/dist/cjs/MessageBar/MessageBar.test.d.ts +1 -0
- package/dist/cjs/MessageBar/MessageBar.test.js +237 -0
- package/dist/cjs/MessageBar/MicrophoneButton.d.ts +21 -0
- package/dist/cjs/MessageBar/MicrophoneButton.js +74 -0
- package/dist/cjs/MessageBar/SendButton.d.ts +14 -0
- package/dist/cjs/MessageBar/SendButton.js +32 -0
- package/dist/cjs/MessageBar/SendButton.test.d.ts +1 -0
- package/dist/cjs/MessageBar/SendButton.test.js +54 -0
- package/dist/cjs/MessageBar/StopButton.d.ts +14 -0
- package/dist/cjs/MessageBar/StopButton.js +32 -0
- package/dist/cjs/MessageBar/StopButton.test.d.ts +1 -0
- package/dist/cjs/MessageBar/StopButton.test.js +54 -0
- package/dist/cjs/MessageBar/index.d.ts +5 -0
- package/dist/cjs/MessageBar/index.js +26 -0
- package/dist/cjs/MessageBox/JumpButton.d.ts +11 -0
- package/dist/cjs/MessageBox/JumpButton.js +17 -0
- package/dist/cjs/MessageBox/JumpButton.test.d.ts +1 -0
- package/dist/cjs/MessageBox/JumpButton.test.js +39 -0
- package/dist/cjs/MessageBox/MessageBox.d.ts +17 -0
- package/dist/cjs/MessageBox/MessageBox.js +74 -0
- package/dist/cjs/MessageBox/index.d.ts +3 -0
- package/dist/cjs/MessageBox/index.js +24 -0
- package/dist/cjs/PreviewAttachment/PreviewAttachment.d.ts +22 -0
- package/dist/cjs/PreviewAttachment/PreviewAttachment.js +25 -0
- package/dist/cjs/PreviewAttachment/index.d.ts +2 -0
- package/dist/cjs/PreviewAttachment/index.js +23 -0
- package/dist/cjs/ResponseActions/ResponseActionButton.d.ts +20 -0
- package/dist/cjs/ResponseActions/ResponseActionButton.js +12 -0
- package/dist/cjs/ResponseActions/ResponseActions.d.ts +30 -0
- package/dist/cjs/ResponseActions/ResponseActions.js +36 -0
- package/dist/cjs/ResponseActions/ResponseActions.test.d.ts +1 -0
- package/dist/cjs/ResponseActions/ResponseActions.test.js +67 -0
- package/dist/cjs/ResponseActions/index.d.ts +2 -0
- package/dist/cjs/ResponseActions/index.js +23 -0
- package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +11 -0
- package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.js +31 -0
- package/dist/cjs/SourceDetailsMenuItem/index.d.ts +2 -0
- package/dist/cjs/SourceDetailsMenuItem/index.js +23 -0
- package/dist/cjs/SourcesCard/SourcesCard.d.ts +34 -0
- package/dist/cjs/SourcesCard/SourcesCard.js +68 -0
- package/dist/cjs/SourcesCard/SourcesCard.test.d.ts +1 -0
- package/dist/cjs/SourcesCard/SourcesCard.test.js +167 -0
- package/dist/cjs/SourcesCard/index.d.ts +2 -0
- package/dist/cjs/SourcesCard/index.js +23 -0
- package/dist/cjs/index.d.ts +48 -0
- package/dist/cjs/index.js +93 -0
- package/dist/css/main.css +1583 -0
- package/dist/css/main.css.map +1 -0
- package/dist/dynamic/AttachMenu/package.json +1 -0
- package/dist/dynamic/AttachmentEdit/package.json +1 -0
- package/dist/dynamic/Chatbot/package.json +1 -0
- package/dist/dynamic/ChatbotAlert/package.json +1 -0
- package/dist/dynamic/ChatbotContent/package.json +1 -0
- package/dist/dynamic/ChatbotConversationHistoryNav/package.json +1 -0
- package/dist/dynamic/ChatbotFooter/package.json +1 -0
- package/dist/dynamic/ChatbotHeader/package.json +1 -0
- package/dist/dynamic/ChatbotModal/package.json +1 -0
- package/dist/dynamic/ChatbotPopover/package.json +1 -0
- package/dist/dynamic/ChatbotToggle/package.json +1 -0
- package/dist/dynamic/ChatbotWelcomePrompt/package.json +1 -0
- package/dist/dynamic/CodeModal/package.json +1 -0
- package/dist/dynamic/FileDetails/package.json +1 -0
- package/dist/dynamic/FileDetailsLabel/package.json +1 -0
- package/dist/dynamic/FileDropZone/package.json +1 -0
- package/dist/dynamic/LoadingMessage/package.json +1 -0
- package/dist/dynamic/Message/package.json +1 -0
- package/dist/dynamic/MessageBar/package.json +1 -0
- package/dist/dynamic/MessageBox/package.json +1 -0
- package/dist/dynamic/PreviewAttachment/package.json +1 -0
- package/dist/dynamic/ResponseActions/package.json +1 -0
- package/dist/dynamic/SourceDetailsMenuItem/package.json +1 -0
- package/dist/dynamic/SourcesCard/package.json +1 -0
- package/dist/esm/AttachMenu/AttachMenu.d.ts +29 -0
- package/dist/esm/AttachMenu/AttachMenu.js +26 -0
- package/dist/esm/AttachMenu/index.d.ts +2 -0
- package/dist/esm/AttachMenu/index.js +2 -0
- package/dist/esm/AttachmentEdit/AttachmentEdit.d.ts +22 -0
- package/dist/esm/AttachmentEdit/AttachmentEdit.js +18 -0
- package/dist/esm/AttachmentEdit/index.d.ts +2 -0
- package/dist/esm/AttachmentEdit/index.js +2 -0
- package/dist/esm/Chatbot/Chatbot.d.ts +23 -0
- package/dist/esm/Chatbot/Chatbot.js +43 -0
- package/dist/esm/Chatbot/index.d.ts +2 -0
- package/dist/esm/Chatbot/index.js +2 -0
- package/dist/esm/ChatbotAlert/ChatbotAlert.d.ts +8 -0
- package/dist/esm/ChatbotAlert/ChatbotAlert.js +21 -0
- package/dist/esm/ChatbotAlert/index.d.ts +2 -0
- package/dist/esm/ChatbotAlert/index.js +2 -0
- package/dist/esm/ChatbotContent/ChatbotContent.d.ts +9 -0
- package/dist/esm/ChatbotContent/ChatbotContent.js +20 -0
- package/dist/esm/ChatbotContent/index.d.ts +2 -0
- package/dist/esm/ChatbotContent/index.js +2 -0
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.d.ts +14 -0
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +15 -0
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +52 -0
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +76 -0
- package/dist/esm/ChatbotConversationHistoryNav/index.d.ts +3 -0
- package/dist/esm/ChatbotConversationHistoryNav/index.js +3 -0
- package/dist/esm/ChatbotFooter/ChatbotFooter.d.ts +9 -0
- package/dist/esm/ChatbotFooter/ChatbotFooter.js +28 -0
- package/dist/esm/ChatbotFooter/ChatbotFootnote.d.ts +44 -0
- package/dist/esm/ChatbotFooter/ChatbotFootnote.js +49 -0
- package/dist/esm/ChatbotFooter/index.d.ts +3 -0
- package/dist/esm/ChatbotFooter/index.js +3 -0
- package/dist/esm/ChatbotHeader/ChatbotHeader.d.ts +9 -0
- package/dist/esm/ChatbotHeader/ChatbotHeader.js +6 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderActions.d.ts +9 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderActions.js +3 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderMain.d.ts +9 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderMain.js +3 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.d.ts +15 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.js +8 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +14 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +26 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +18 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +26 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.d.ts +20 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.js +26 -0
- package/dist/esm/ChatbotHeader/index.d.ts +8 -0
- package/dist/esm/ChatbotHeader/index.js +8 -0
- package/dist/esm/ChatbotModal/ChatbotModal.d.ts +10 -0
- package/dist/esm/ChatbotModal/ChatbotModal.js +27 -0
- package/dist/esm/ChatbotModal/index.d.ts +2 -0
- package/dist/esm/ChatbotModal/index.js +2 -0
- package/dist/esm/ChatbotPopover/ChatbotPopover.d.ts +4 -0
- package/dist/esm/ChatbotPopover/ChatbotPopover.js +22 -0
- package/dist/esm/ChatbotPopover/index.d.ts +2 -0
- package/dist/esm/ChatbotPopover/index.js +2 -0
- package/dist/esm/ChatbotToggle/ChatbotToggle.d.ts +20 -0
- package/dist/esm/ChatbotToggle/ChatbotToggle.js +30 -0
- package/dist/esm/ChatbotToggle/index.d.ts +2 -0
- package/dist/esm/ChatbotToggle/index.js +2 -0
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +23 -0
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +33 -0
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.d.ts +1 -0
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +44 -0
- package/dist/esm/ChatbotWelcomePrompt/index.d.ts +2 -0
- package/dist/esm/ChatbotWelcomePrompt/index.js +2 -0
- package/dist/esm/CodeModal/CodeModal.d.ts +34 -0
- package/dist/esm/CodeModal/CodeModal.js +75 -0
- package/dist/esm/CodeModal/index.d.ts +2 -0
- package/dist/esm/CodeModal/index.js +2 -0
- package/dist/esm/FileDetails/FileDetails.d.ts +922 -0
- package/dist/esm/FileDetails/FileDetails.js +947 -0
- package/dist/esm/FileDetails/FileDetails.test.d.ts +1 -0
- package/dist/esm/FileDetails/FileDetails.test.js +21 -0
- package/dist/esm/FileDetails/index.d.ts +2 -0
- package/dist/esm/FileDetails/index.js +2 -0
- package/dist/esm/FileDetailsLabel/FileDetailsLabel.d.ts +21 -0
- package/dist/esm/FileDetailsLabel/FileDetailsLabel.js +15 -0
- package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.d.ts +1 -0
- package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.js +56 -0
- package/dist/esm/FileDetailsLabel/index.d.ts +2 -0
- package/dist/esm/FileDetailsLabel/index.js +2 -0
- package/dist/esm/FileDropZone/FileDropZone.d.ts +17 -0
- package/dist/esm/FileDropZone/FileDropZone.js +23 -0
- package/dist/esm/FileDropZone/FileDropZone.test.d.ts +1 -0
- package/dist/esm/FileDropZone/FileDropZone.test.js +14 -0
- package/dist/esm/FileDropZone/index.d.ts +2 -0
- package/dist/esm/FileDropZone/index.js +2 -0
- package/dist/esm/LoadingMessage/LoadingMessage.d.ts +6 -0
- package/dist/esm/LoadingMessage/LoadingMessage.js +13 -0
- package/dist/esm/LoadingMessage/LoadingMessage.test.d.ts +1 -0
- package/dist/esm/LoadingMessage/LoadingMessage.test.js +15 -0
- package/dist/esm/LoadingMessage/index.d.ts +2 -0
- package/dist/esm/LoadingMessage/index.js +2 -0
- package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.d.ts +4 -0
- package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.js +56 -0
- package/dist/esm/Message/ListMessage/ListItemMessage.d.ts +4 -0
- package/dist/esm/Message/ListMessage/ListItemMessage.js +7 -0
- package/dist/esm/Message/ListMessage/OrderedListMessage.d.ts +4 -0
- package/dist/esm/Message/ListMessage/OrderedListMessage.js +8 -0
- package/dist/esm/Message/ListMessage/UnorderedListMessage.d.ts +4 -0
- package/dist/esm/Message/ListMessage/UnorderedListMessage.js +8 -0
- package/dist/esm/Message/Message.d.ts +65 -0
- package/dist/esm/Message/Message.js +62 -0
- package/dist/esm/Message/Message.test.d.ts +1 -0
- package/dist/esm/Message/Message.test.js +234 -0
- package/dist/esm/Message/MessageLoading.d.ts +5 -0
- package/dist/esm/Message/MessageLoading.js +8 -0
- package/dist/esm/Message/TextMessage/TextMessage.d.ts +4 -0
- package/dist/esm/Message/TextMessage/TextMessage.js +22 -0
- package/dist/esm/Message/index.d.ts +2 -0
- package/dist/esm/Message/index.js +2 -0
- package/dist/esm/MessageBar/AttachButton.d.ts +21 -0
- package/dist/esm/MessageBar/AttachButton.js +32 -0
- package/dist/esm/MessageBar/AttachButton.test.d.ts +1 -0
- package/dist/esm/MessageBar/AttachButton.test.js +61 -0
- package/dist/esm/MessageBar/MessageBar.d.ts +71 -0
- package/dist/esm/MessageBar/MessageBar.js +105 -0
- package/dist/esm/MessageBar/MessageBar.test.d.ts +1 -0
- package/dist/esm/MessageBar/MessageBar.test.js +232 -0
- package/dist/esm/MessageBar/MicrophoneButton.d.ts +21 -0
- package/dist/esm/MessageBar/MicrophoneButton.js +67 -0
- package/dist/esm/MessageBar/SendButton.d.ts +14 -0
- package/dist/esm/MessageBar/SendButton.js +25 -0
- package/dist/esm/MessageBar/SendButton.test.d.ts +1 -0
- package/dist/esm/MessageBar/SendButton.test.js +49 -0
- package/dist/esm/MessageBar/StopButton.d.ts +14 -0
- package/dist/esm/MessageBar/StopButton.js +25 -0
- package/dist/esm/MessageBar/StopButton.test.d.ts +1 -0
- package/dist/esm/MessageBar/StopButton.test.js +49 -0
- package/dist/esm/MessageBar/index.d.ts +5 -0
- package/dist/esm/MessageBar/index.js +5 -0
- package/dist/esm/MessageBox/JumpButton.d.ts +11 -0
- package/dist/esm/MessageBox/JumpButton.js +12 -0
- package/dist/esm/MessageBox/JumpButton.test.d.ts +1 -0
- package/dist/esm/MessageBox/JumpButton.test.js +34 -0
- package/dist/esm/MessageBox/MessageBox.d.ts +17 -0
- package/dist/esm/MessageBox/MessageBox.js +68 -0
- package/dist/esm/MessageBox/index.d.ts +3 -0
- package/dist/esm/MessageBox/index.js +3 -0
- package/dist/esm/PreviewAttachment/PreviewAttachment.d.ts +22 -0
- package/dist/esm/PreviewAttachment/PreviewAttachment.js +18 -0
- package/dist/esm/PreviewAttachment/index.d.ts +2 -0
- package/dist/esm/PreviewAttachment/index.js +2 -0
- package/dist/esm/ResponseActions/ResponseActionButton.d.ts +20 -0
- package/dist/esm/ResponseActions/ResponseActionButton.js +5 -0
- package/dist/esm/ResponseActions/ResponseActions.d.ts +30 -0
- package/dist/esm/ResponseActions/ResponseActions.js +29 -0
- package/dist/esm/ResponseActions/ResponseActions.test.d.ts +1 -0
- package/dist/esm/ResponseActions/ResponseActions.test.js +62 -0
- package/dist/esm/ResponseActions/index.d.ts +2 -0
- package/dist/esm/ResponseActions/index.js +2 -0
- package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +11 -0
- package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.js +24 -0
- package/dist/esm/SourceDetailsMenuItem/index.d.ts +2 -0
- package/dist/esm/SourceDetailsMenuItem/index.js +2 -0
- package/dist/esm/SourcesCard/SourcesCard.d.ts +34 -0
- package/dist/esm/SourcesCard/SourcesCard.js +63 -0
- package/dist/esm/SourcesCard/SourcesCard.test.d.ts +1 -0
- package/dist/esm/SourcesCard/SourcesCard.test.js +162 -0
- package/dist/esm/SourcesCard/index.d.ts +2 -0
- package/dist/esm/SourcesCard/index.js +2 -0
- package/dist/esm/index.d.ts +48 -0
- package/dist/esm/index.js +49 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/generate-fed-package-json.js +75 -0
- package/generate-index.js +42 -0
- package/package.json +79 -0
- package/patternfly-a11y.config.js +28 -0
- package/patternfly-docs/content/extensions/chatbot/about-chatbot.md +29 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachMenu.tsx +149 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentEdit.tsx +26 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentError.tsx +13 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +87 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetails.tsx +4 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetailsLabel.tsx +54 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDropZone.tsx +60 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithAttachment.tsx +75 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithCustomResponseActions.tsx +39 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickResponses.tsx +44 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithResponseActions.tsx +25 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithSources.tsx +118 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +171 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/PaperclipIcon.svg +10 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/PreviewAttachment.tsx +25 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +37 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/patternfly_avatar.jpg +0 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/user_avatar.jpg +0 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotContainer.tsx +66 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFooter.tsx +14 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFootnote.tsx +26 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderBasic.tsx +189 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawer.tsx +93 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithActions.tsx +75 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderTitle.tsx +50 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBar.tsx +8 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarAttach.tsx +148 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarStop.tsx +10 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotModal.tsx +84 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotToggleBasic.tsx +13 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomeInteraction.tsx +144 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomePrompt.tsx +38 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/CustomClosedIcon.tsx +89 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/PF-HorizontalLogo-Color.svg +29 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/PF-HorizontalLogo-Reverse.svg +28 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/PF-IconLogo-Color.svg +17 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/PF-IconLogo-Reverse.svg +16 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/SkipToContent.tsx +40 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/UI.md +336 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/AttachmentDemos.md +99 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +105 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +473 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachment.tsx +278 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachmentMenu.tsx +268 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedChatbot.tsx +437 -0
- package/patternfly-docs/pages/index.js +27 -0
- package/patternfly-docs/patternfly-docs.config.js +8 -0
- package/patternfly-docs/patternfly-docs.css.js +9 -0
- package/patternfly-docs/patternfly-docs.routes.js +12 -0
- package/patternfly-docs/patternfly-docs.source.js +24 -0
- package/release.config.js +18 -0
- package/src/AttachMenu/AttachMenu.scss +62 -0
- package/src/AttachMenu/AttachMenu.tsx +81 -0
- package/src/AttachMenu/index.ts +3 -0
- package/src/AttachmentEdit/AttachmentEdit.tsx +63 -0
- package/src/AttachmentEdit/index.ts +3 -0
- package/src/Chatbot/Chatbot.scss +89 -0
- package/src/Chatbot/Chatbot.tsx +81 -0
- package/src/Chatbot/index.ts +3 -0
- package/src/ChatbotAlert/ChatbotAlert.scss +5 -0
- package/src/ChatbotAlert/ChatbotAlert.tsx +32 -0
- package/src/ChatbotAlert/index.ts +3 -0
- package/src/ChatbotContent/ChatbotContent.scss +23 -0
- package/src/ChatbotContent/ChatbotContent.tsx +23 -0
- package/src/ChatbotContent/index.ts +3 -0
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.tsx +62 -0
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.scss +166 -0
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.tsx +217 -0
- package/src/ChatbotConversationHistoryNav/index.ts +4 -0
- package/src/ChatbotFooter/ChatbotFooter.scss +54 -0
- package/src/ChatbotFooter/ChatbotFooter.tsx +33 -0
- package/src/ChatbotFooter/ChatbotFootnote.scss +12 -0
- package/src/ChatbotFooter/ChatbotFootnote.tsx +135 -0
- package/src/ChatbotFooter/index.ts +4 -0
- package/src/ChatbotHeader/ChatbotHeader.scss +140 -0
- package/src/ChatbotHeader/ChatbotHeader.tsx +22 -0
- package/src/ChatbotHeader/ChatbotHeaderActions.tsx +15 -0
- package/src/ChatbotHeader/ChatbotHeaderMain.tsx +15 -0
- package/src/ChatbotHeader/ChatbotHeaderMenu.tsx +48 -0
- package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.tsx +73 -0
- package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.tsx +68 -0
- package/src/ChatbotHeader/ChatbotHeaderTitle.tsx +57 -0
- package/src/ChatbotHeader/index.ts +9 -0
- package/src/ChatbotModal/ChatbotModal.scss +93 -0
- package/src/ChatbotModal/ChatbotModal.tsx +43 -0
- package/src/ChatbotModal/index.ts +3 -0
- package/src/ChatbotPopover/ChatbotPopover.scss +27 -0
- package/src/ChatbotPopover/ChatbotPopover.tsx +15 -0
- package/src/ChatbotPopover/index.ts +3 -0
- package/src/ChatbotToggle/ChatbotToggle.scss +26 -0
- package/src/ChatbotToggle/ChatbotToggle.tsx +80 -0
- package/src/ChatbotToggle/index.ts +3 -0
- package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.scss +48 -0
- package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.tsx +64 -0
- package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.tsx +66 -0
- package/src/ChatbotWelcomePrompt/__snapshots__/ChatbotWelcomePrompt.test.tsx.snap +29 -0
- package/src/ChatbotWelcomePrompt/index.ts +3 -0
- package/src/CodeModal/CodeModal.scss +76 -0
- package/src/CodeModal/CodeModal.tsx +153 -0
- package/src/CodeModal/index.ts +3 -0
- package/src/FileDetails/FileDetails.scss +25 -0
- package/src/FileDetails/FileDetails.test.tsx +23 -0
- package/src/FileDetails/FileDetails.tsx +990 -0
- package/src/FileDetails/__snapshots__/FileDetails.test.tsx.snap +74 -0
- package/src/FileDetails/index.ts +2 -0
- package/src/FileDetailsLabel/FileDetailsLabel.scss +66 -0
- package/src/FileDetailsLabel/FileDetailsLabel.test.tsx +48 -0
- package/src/FileDetailsLabel/FileDetailsLabel.tsx +66 -0
- package/src/FileDetailsLabel/__snapshots__/FileDetailsLabel.test.tsx.snap +90 -0
- package/src/FileDetailsLabel/index.ts +2 -0
- package/src/FileDropZone/FileDropZone.scss +36 -0
- package/src/FileDropZone/FileDropZone.test.tsx +15 -0
- package/src/FileDropZone/FileDropZone.tsx +56 -0
- package/src/FileDropZone/__snapshots__/FileDropZone.test.tsx.snap +18 -0
- package/src/FileDropZone/index.ts +3 -0
- package/src/LoadingMessage/LoadingMessage.test.tsx +16 -0
- package/src/LoadingMessage/LoadingMessage.tsx +27 -0
- package/src/LoadingMessage/__snapshots__/LoadingMessage.test.tsx.snap +52 -0
- package/src/LoadingMessage/index.ts +3 -0
- package/src/Message/CodeBlockMessage/CodeBlockMessage.scss +82 -0
- package/src/Message/CodeBlockMessage/CodeBlockMessage.tsx +88 -0
- package/src/Message/ListMessage/ListItemMessage.tsx +11 -0
- package/src/Message/ListMessage/ListMessage.scss +25 -0
- package/src/Message/ListMessage/OrderedListMessage.tsx +17 -0
- package/src/Message/ListMessage/UnorderedListMessage.tsx +15 -0
- package/src/Message/Message.scss +118 -0
- package/src/Message/Message.test.tsx +281 -0
- package/src/Message/Message.tsx +181 -0
- package/src/Message/MessageLoading.scss +53 -0
- package/src/Message/MessageLoading.tsx +15 -0
- package/src/Message/TextMessage/TextMessage.scss +51 -0
- package/src/Message/TextMessage/TextMessage.tsx +17 -0
- package/src/Message/index.ts +3 -0
- package/src/MessageBar/AttachButton.scss +20 -0
- package/src/MessageBar/AttachButton.test.tsx +53 -0
- package/src/MessageBar/AttachButton.tsx +81 -0
- package/src/MessageBar/MessageBar.scss +77 -0
- package/src/MessageBar/MessageBar.test.tsx +318 -0
- package/src/MessageBar/MessageBar.tsx +252 -0
- package/src/MessageBar/MicrophoneButton.scss +48 -0
- package/src/MessageBar/MicrophoneButton.tsx +114 -0
- package/src/MessageBar/SendButton.scss +29 -0
- package/src/MessageBar/SendButton.test.tsx +43 -0
- package/src/MessageBar/SendButton.tsx +54 -0
- package/src/MessageBar/StopButton.scss +22 -0
- package/src/MessageBar/StopButton.test.tsx +42 -0
- package/src/MessageBar/StopButton.tsx +57 -0
- package/src/MessageBar/index.ts +6 -0
- package/src/MessageBox/JumpButton.scss +46 -0
- package/src/MessageBox/JumpButton.test.tsx +26 -0
- package/src/MessageBox/JumpButton.tsx +37 -0
- package/src/MessageBox/MessageBox.scss +36 -0
- package/src/MessageBox/MessageBox.tsx +114 -0
- package/src/MessageBox/index.ts +4 -0
- package/src/PreviewAttachment/PreviewAttachment.tsx +67 -0
- package/src/PreviewAttachment/index.ts +3 -0
- package/src/ResponseActions/ResponseActionButton.tsx +56 -0
- package/src/ResponseActions/ResponseActions.scss +26 -0
- package/src/ResponseActions/ResponseActions.test.tsx +59 -0
- package/src/ResponseActions/ResponseActions.tsx +115 -0
- package/src/ResponseActions/index.ts +3 -0
- package/src/SourceDetailsMenuItem/SourceDetailsMenuItem.scss +33 -0
- package/src/SourceDetailsMenuItem/SourceDetailsMenuItem.tsx +36 -0
- package/src/SourceDetailsMenuItem/index.ts +2 -0
- package/src/SourcesCard/SourcesCard.scss +74 -0
- package/src/SourcesCard/SourcesCard.test.tsx +238 -0
- package/src/SourcesCard/SourcesCard.tsx +159 -0
- package/src/SourcesCard/__snapshots__/SourcesCard.test.tsx.snap +34 -0
- package/src/SourcesCard/index.ts +3 -0
- package/src/index.ts +73 -0
- package/src/main.scss +89 -0
- package/tsconfig.cjs.json +8 -0
- package/tsconfig.json +73 -0
@@ -0,0 +1,44 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { PopoverProps } from '@patternfly/react-core';
|
3
|
+
export interface ChatbotFootnoteProps extends React.HTMLProps<HTMLDivElement> {
|
4
|
+
/** Label to show for the footnote */
|
5
|
+
label: string;
|
6
|
+
/** Config for the popover which opens up when footnote is clicked */
|
7
|
+
popover?: ChatbotFootnotePopover;
|
8
|
+
/** Custom classname for the Footnote component */
|
9
|
+
className?: string;
|
10
|
+
}
|
11
|
+
export interface ChatbotFootnotePopover {
|
12
|
+
/** Title for the Footnote popover */
|
13
|
+
title: string;
|
14
|
+
/** Description for the Footnote popover */
|
15
|
+
description: string;
|
16
|
+
/** Optional Banner Image that can be shown in the Footnote Popover */
|
17
|
+
bannerImage?: ChatbotFootnotePopoverBannerImage;
|
18
|
+
/** Optional CTA button that can be used to trigger an action and close the popover */
|
19
|
+
cta?: ChatbotFootnotePopoverCTA;
|
20
|
+
/** Optional link that can be used to show and external link like **Learn More** */
|
21
|
+
link?: ChatbotFootnotePopoverLink;
|
22
|
+
/** Props for PF Popover */
|
23
|
+
popoverProps?: PopoverProps;
|
24
|
+
}
|
25
|
+
export interface ChatbotFootnotePopoverCTA {
|
26
|
+
/** Label for the CTA */
|
27
|
+
label: string;
|
28
|
+
/** Callback for the CTA */
|
29
|
+
onClick: () => void;
|
30
|
+
}
|
31
|
+
export interface ChatbotFootnotePopoverBannerImage {
|
32
|
+
/** Source for the banner image */
|
33
|
+
src: string;
|
34
|
+
/** Alternate text for the banner image */
|
35
|
+
alt: string;
|
36
|
+
}
|
37
|
+
export interface ChatbotFootnotePopoverLink {
|
38
|
+
/** Label for the Link */
|
39
|
+
label: string;
|
40
|
+
/** URL for the Link */
|
41
|
+
url: string;
|
42
|
+
}
|
43
|
+
export declare const ChatbotFootnote: React.FunctionComponent<ChatbotFootnoteProps>;
|
44
|
+
export default ChatbotFootnote;
|
@@ -0,0 +1,49 @@
|
|
1
|
+
// ============================================================================
|
2
|
+
// Chatbot Footer - Footnote
|
3
|
+
// ============================================================================
|
4
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
5
|
+
var t = {};
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
7
|
+
t[p] = s[p];
|
8
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
9
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
10
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
11
|
+
t[p[i]] = s[p[i]];
|
12
|
+
}
|
13
|
+
return t;
|
14
|
+
};
|
15
|
+
import React from 'react';
|
16
|
+
// Import Patternfly components
|
17
|
+
import { Button, Content, ContentVariants, Flex } from '@patternfly/react-core';
|
18
|
+
// Import Patternfly icons
|
19
|
+
import { InfoCircleIcon } from '@patternfly/react-icons/dist/esm/icons/info-circle-icon';
|
20
|
+
import { ExternalLinkAltIcon } from '@patternfly/react-icons/dist/esm/icons/external-link-alt-icon';
|
21
|
+
// Import Chatbot components
|
22
|
+
import ChatbotPopover from '../ChatbotPopover/ChatbotPopover';
|
23
|
+
export const ChatbotFootnote = (_a) => {
|
24
|
+
var _b, _c, _d, _e, _f;
|
25
|
+
var { label, popover, className } = _a, props = __rest(_a, ["label", "popover", "className"]);
|
26
|
+
// Popover visibility state
|
27
|
+
const [isVisible, setIsVisible] = React.useState(false);
|
28
|
+
// Define popover body content
|
29
|
+
const popoverBodyContent = (React.createElement(React.Fragment, null,
|
30
|
+
(popover === null || popover === void 0 ? void 0 : popover.bannerImage) && React.createElement("img", { src: popover.bannerImage.src, alt: popover.bannerImage.alt }),
|
31
|
+
React.createElement(Content, { component: ContentVariants.h3 }, popover === null || popover === void 0 ? void 0 : popover.title),
|
32
|
+
React.createElement(Content, { component: ContentVariants.p }, popover === null || popover === void 0 ? void 0 : popover.description)));
|
33
|
+
// Define popover footer content
|
34
|
+
const popoverFooterContent = (React.createElement(Flex, { gap: { default: 'gapSm' } },
|
35
|
+
(popover === null || popover === void 0 ? void 0 : popover.cta) && (React.createElement(Button, { variant: "secondary", onClick: () => {
|
36
|
+
var _a;
|
37
|
+
setIsVisible(false);
|
38
|
+
(_a = popover.cta) === null || _a === void 0 ? void 0 : _a.onClick();
|
39
|
+
} }, ((_b = popover.cta) === null || _b === void 0 ? void 0 : _b.label) || 'Got it')),
|
40
|
+
(popover === null || popover === void 0 ? void 0 : popover.link) && (React.createElement(Button, { variant: "link", component: "a", href: popover.link.url, target: "_blank", icon: React.createElement(ExternalLinkAltIcon, null), iconPosition: "end" }, popover.link.label))));
|
41
|
+
return (React.createElement("div", Object.assign({ className: `pf-chatbot__footnote ${className !== null && className !== void 0 ? className : ''}` }, props),
|
42
|
+
popover && (React.createElement(ChatbotPopover, Object.assign({ className: "pf-chatbot__popover--footnote", "aria-label": ((_c = popover.popoverProps) === null || _c === void 0 ? void 0 : _c['aria-label']) || 'More information', isVisible: isVisible, shouldOpen: (_event, _fn) => setIsVisible(true), shouldClose: (_event, _fn) => setIsVisible(false), bodyContent: popoverBodyContent, footerContent: popoverFooterContent, minWidth: ((_d = popover.popoverProps) === null || _d === void 0 ? void 0 : _d.minWidth) || '432', maxWidth: ((_e = popover.popoverProps) === null || _e === void 0 ? void 0 : _e.maxWidth) || '432', distance: ((_f = popover.popoverProps) === null || _f === void 0 ? void 0 : _f.distance) || 16, showClose: false }, popover.popoverProps),
|
43
|
+
React.createElement(Button, { variant: "link", size: "sm" },
|
44
|
+
label,
|
45
|
+
" ",
|
46
|
+
React.createElement(InfoCircleIcon, null)))),
|
47
|
+
!popover && React.createElement(Content, { component: ContentVariants.small }, label)));
|
48
|
+
};
|
49
|
+
export default ChatbotFootnote;
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
export interface ChatbotHeaderProps extends React.HTMLProps<HTMLDivElement> {
|
3
|
+
/** Content to be displayed in the chatbot header */
|
4
|
+
children: React.ReactNode;
|
5
|
+
/** Custom classname for the header component */
|
6
|
+
className?: string;
|
7
|
+
}
|
8
|
+
export declare const ChatbotHeader: React.FunctionComponent<ChatbotHeaderProps>;
|
9
|
+
export default ChatbotHeader;
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { Divider } from '@patternfly/react-core';
|
3
|
+
export const ChatbotHeader = ({ className, children }) => (React.createElement("div", { className: "pf-chatbot__header-container" },
|
4
|
+
React.createElement("div", { className: `pf-chatbot__header ${className !== null && className !== void 0 ? className : ''}` }, children),
|
5
|
+
React.createElement(Divider, { className: "pf-chatbot__header__divider" })));
|
6
|
+
export default ChatbotHeader;
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
export interface ChatbotHeaderActionsProps {
|
3
|
+
/** Content to be displayed in the chatbot header */
|
4
|
+
children: React.ReactNode;
|
5
|
+
/** Custom classname for the header component */
|
6
|
+
className?: string;
|
7
|
+
}
|
8
|
+
export declare const ChatbotHeaderActions: React.FunctionComponent<ChatbotHeaderActionsProps>;
|
9
|
+
export default ChatbotHeaderActions;
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
export interface ChatbotHeaderMainProps {
|
3
|
+
/** Custom classname for the header component */
|
4
|
+
className?: string;
|
5
|
+
/** Menu and/or chatbot header components */
|
6
|
+
children: React.ReactNode;
|
7
|
+
}
|
8
|
+
export declare const ChatbotHeaderMain: React.FunctionComponent<ChatbotHeaderMainProps>;
|
9
|
+
export default ChatbotHeaderMain;
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { TooltipProps } from '@patternfly/react-core';
|
3
|
+
export interface ChatbotHeaderMenuProps {
|
4
|
+
/** Callback function to attach to menu toggle on top right of chatbot header. */
|
5
|
+
onMenuToggle: () => void;
|
6
|
+
/** Custom classname for the header component */
|
7
|
+
className?: string;
|
8
|
+
/** Props spread to the PF Tooltip component wrapping the display mode dropdown */
|
9
|
+
tooltipProps?: TooltipProps;
|
10
|
+
/** Aria label for menu */
|
11
|
+
menuAriaLabel?: string;
|
12
|
+
/** Ref applied to menu */
|
13
|
+
innerRef?: React.Ref<HTMLButtonElement>;
|
14
|
+
}
|
15
|
+
export declare const ChatbotHeaderMenu: React.ForwardRefExoticComponent<ChatbotHeaderMenuProps & React.RefAttributes<HTMLButtonElement>>;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { Button, Icon, Tooltip } from '@patternfly/react-core';
|
3
|
+
import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
|
4
|
+
const ChatbotHeaderMenuBase = ({ className, onMenuToggle, tooltipProps, menuAriaLabel = 'Toggle menu', innerRef }) => (React.createElement("div", { className: `pf-chatbot__menu ${className}` },
|
5
|
+
React.createElement(Tooltip, Object.assign({ content: "Menu", position: "bottom" }, tooltipProps),
|
6
|
+
React.createElement(Button, { className: "pf-chatbot__button--toggle-menu", variant: "plain", onClick: onMenuToggle, "aria-label": menuAriaLabel, ref: innerRef, icon: React.createElement(Icon, { size: "xl", isInline: true },
|
7
|
+
React.createElement(BarsIcon, null)) }))));
|
8
|
+
export const ChatbotHeaderMenu = React.forwardRef((props, ref) => (React.createElement(ChatbotHeaderMenuBase, Object.assign({ innerRef: ref }, props))));
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { TooltipProps, DropdownProps } from '@patternfly/react-core';
|
3
|
+
export interface ChatbotHeaderOptionsDropdownProps extends Omit<DropdownProps, 'toggle'> {
|
4
|
+
/** Content to be displayed in the chatbot header */
|
5
|
+
children: React.ReactNode;
|
6
|
+
/** Custom classname for the header component */
|
7
|
+
className?: string;
|
8
|
+
/** Props spread to the PF Tooltip component wrapping the display mode dropdown */
|
9
|
+
tooltipProps?: TooltipProps;
|
10
|
+
/** Aria label for menu toggle */
|
11
|
+
menuToggleAriaLabel?: string;
|
12
|
+
}
|
13
|
+
export declare const ChatbotHeaderOptionsDropdown: React.FunctionComponent<ChatbotHeaderOptionsDropdownProps>;
|
14
|
+
export default ChatbotHeaderOptionsDropdown;
|
@@ -0,0 +1,26 @@
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
2
|
+
var t = {};
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
4
|
+
t[p] = s[p];
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
8
|
+
t[p[i]] = s[p[i]];
|
9
|
+
}
|
10
|
+
return t;
|
11
|
+
};
|
12
|
+
import React from 'react';
|
13
|
+
import { Tooltip, Dropdown, MenuToggle, Icon } from '@patternfly/react-core';
|
14
|
+
import EllipsisIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
|
15
|
+
export const ChatbotHeaderOptionsDropdown = (_a) => {
|
16
|
+
var { className, children, onSelect, tooltipProps, menuToggleAriaLabel = 'Chatbot options' } = _a, props = __rest(_a, ["className", "children", "onSelect", "tooltipProps", "menuToggleAriaLabel"]);
|
17
|
+
const [isOptionsMenuOpen, setIsOptionsMenuOpen] = React.useState(false);
|
18
|
+
const toggle = (toggleRef) => (React.createElement(Tooltip, Object.assign({ className: "pf-chatbot__tooltip", content: "Chatbot options", position: "bottom" }, tooltipProps),
|
19
|
+
React.createElement(MenuToggle, { className: "pf-chatbot__button--toggle-options", variant: "plain", "aria-label": menuToggleAriaLabel, ref: toggleRef, icon: React.createElement(Icon, { iconSize: "xl", isInline: true },
|
20
|
+
React.createElement(EllipsisIcon, null)), isExpanded: isOptionsMenuOpen, onClick: () => setIsOptionsMenuOpen(!isOptionsMenuOpen) })));
|
21
|
+
return (React.createElement(Dropdown, Object.assign({ className: `pf-chatbot__options ${className !== null && className !== void 0 ? className : ''}`, isOpen: isOptionsMenuOpen, onSelect: (e, value) => {
|
22
|
+
onSelect && onSelect(e, value);
|
23
|
+
setIsOptionsMenuOpen(false);
|
24
|
+
}, onOpenChange: (isOpen) => setIsOptionsMenuOpen(isOpen), popperProps: { position: 'right', preventOverflow: true, appendTo: 'inline' }, shouldFocusToggleOnSelect: true, shouldFocusFirstItemOnOpen: true, toggle: toggle }, props), children));
|
25
|
+
};
|
26
|
+
export default ChatbotHeaderOptionsDropdown;
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { TooltipProps, DropdownProps } from '@patternfly/react-core';
|
3
|
+
export interface ChatbotHeaderSelectorDropdownProps extends Omit<DropdownProps, 'toggle'> {
|
4
|
+
/** Value of the selected dropdown item */
|
5
|
+
value: string;
|
6
|
+
/** Content to be displayed in the chatbot header */
|
7
|
+
children: React.ReactNode;
|
8
|
+
/** Custom classname for the header component */
|
9
|
+
className?: string;
|
10
|
+
/** Props spread to the PF Tooltip component wrapping the display mode dropdown */
|
11
|
+
tooltipProps?: TooltipProps;
|
12
|
+
/** Aria label for menu toggle */
|
13
|
+
menuToggleAriaLabel?: string;
|
14
|
+
/** Text displayed in Tooltip wrapping the display mode dropdown */
|
15
|
+
tooltipContent?: string;
|
16
|
+
}
|
17
|
+
export declare const ChatbotHeaderSelectorDropdown: React.FunctionComponent<ChatbotHeaderSelectorDropdownProps>;
|
18
|
+
export default ChatbotHeaderSelectorDropdown;
|
@@ -0,0 +1,26 @@
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
2
|
+
var t = {};
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
4
|
+
t[p] = s[p];
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
8
|
+
t[p[i]] = s[p[i]];
|
9
|
+
}
|
10
|
+
return t;
|
11
|
+
};
|
12
|
+
import React from 'react';
|
13
|
+
import { Tooltip, Dropdown, MenuToggle } from '@patternfly/react-core';
|
14
|
+
export const ChatbotHeaderSelectorDropdown = (_a) => {
|
15
|
+
var { value, className, children, onSelect, tooltipProps, tooltipContent = 'Chatbot selector', menuToggleAriaLabel } = _a, props = __rest(_a, ["value", "className", "children", "onSelect", "tooltipProps", "tooltipContent", "menuToggleAriaLabel"]);
|
16
|
+
const [isOptionsMenuOpen, setIsOptionsMenuOpen] = React.useState(false);
|
17
|
+
const [defaultAriaLabel, setDefaultAriaLabel] = React.useState('Chatbot selector');
|
18
|
+
const toggle = (toggleRef) => (React.createElement(Tooltip, Object.assign({ className: "pf-chatbot__tooltip", content: tooltipContent, position: "bottom" }, tooltipProps),
|
19
|
+
React.createElement(MenuToggle, { variant: "secondary", "aria-label": menuToggleAriaLabel !== null && menuToggleAriaLabel !== void 0 ? menuToggleAriaLabel : defaultAriaLabel, ref: toggleRef, isExpanded: isOptionsMenuOpen, onClick: () => setIsOptionsMenuOpen(!isOptionsMenuOpen) }, value)));
|
20
|
+
return (React.createElement(Dropdown, Object.assign({ className: `pf-chatbot__selections ${className !== null && className !== void 0 ? className : ''}`, isOpen: isOptionsMenuOpen, onSelect: (e, value) => {
|
21
|
+
onSelect && onSelect(e, value);
|
22
|
+
setDefaultAriaLabel(`Chatbot selector: ${value}`);
|
23
|
+
setIsOptionsMenuOpen(false);
|
24
|
+
}, onOpenChange: (isOpen) => setIsOptionsMenuOpen(isOpen), popperProps: { position: 'right', appendTo: 'inline' }, shouldFocusToggleOnSelect: true, shouldFocusFirstItemOnOpen: true, toggle: toggle }, props), children));
|
25
|
+
};
|
26
|
+
export default ChatbotHeaderSelectorDropdown;
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { ChatbotDisplayMode } from '../Chatbot/Chatbot';
|
3
|
+
export interface ChatbotHeaderTitleProps {
|
4
|
+
/** Content to be displayed in the chatbot header */
|
5
|
+
children?: React.ReactNode;
|
6
|
+
/** Custom classname for the header component */
|
7
|
+
className?: string;
|
8
|
+
/** Display mode of chatbot, in case you want to conditionally show a title */
|
9
|
+
displayMode?: ChatbotDisplayMode;
|
10
|
+
/** Content to display on full screen */
|
11
|
+
showOnFullScreen?: React.ReactNode | string;
|
12
|
+
/** Content to display on docked screen */
|
13
|
+
showOnDocked?: React.ReactNode | string;
|
14
|
+
/** Content to display on overlay screen */
|
15
|
+
showOnEmbedded?: React.ReactNode | string;
|
16
|
+
/** Content to display by default; this will be shown if a case is not explicitly set */
|
17
|
+
showOnDefault?: React.ReactNode | string;
|
18
|
+
}
|
19
|
+
export declare const ChatbotHeaderTitle: React.FunctionComponent<ChatbotHeaderTitleProps>;
|
20
|
+
export default ChatbotHeaderTitle;
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { SplitItem } from '@patternfly/react-core';
|
3
|
+
import { ChatbotDisplayMode } from '../Chatbot/Chatbot';
|
4
|
+
export const ChatbotHeaderTitle = ({ className, children, displayMode, showOnFullScreen, showOnDocked, showOnEmbedded, showOnDefault }) => {
|
5
|
+
const renderChildren = () => {
|
6
|
+
if (displayMode && (showOnDefault || showOnFullScreen || showOnEmbedded || showOnDocked)) {
|
7
|
+
/* eslint-disable indent */
|
8
|
+
switch (displayMode) {
|
9
|
+
case ChatbotDisplayMode.fullscreen:
|
10
|
+
return showOnFullScreen !== null && showOnFullScreen !== void 0 ? showOnFullScreen : showOnDefault;
|
11
|
+
case ChatbotDisplayMode.docked:
|
12
|
+
return showOnDocked !== null && showOnDocked !== void 0 ? showOnDocked : showOnDefault;
|
13
|
+
case ChatbotDisplayMode.embedded:
|
14
|
+
return showOnEmbedded !== null && showOnEmbedded !== void 0 ? showOnEmbedded : showOnDefault;
|
15
|
+
default:
|
16
|
+
return showOnDefault;
|
17
|
+
}
|
18
|
+
/* eslint-enable indent */
|
19
|
+
}
|
20
|
+
else {
|
21
|
+
return children;
|
22
|
+
}
|
23
|
+
};
|
24
|
+
return (React.createElement(SplitItem, { isFilled: true, className: `pf-chatbot__title ${className || ''}` }, renderChildren()));
|
25
|
+
};
|
26
|
+
export default ChatbotHeaderTitle;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
export { default } from './ChatbotHeader';
|
2
|
+
export * from './ChatbotHeader';
|
3
|
+
export * from './ChatbotHeaderActions';
|
4
|
+
export * from './ChatbotHeaderMain';
|
5
|
+
export * from './ChatbotHeaderMenu';
|
6
|
+
export * from './ChatbotHeaderTitle';
|
7
|
+
export * from './ChatbotHeaderOptionsDropdown';
|
8
|
+
export * from './ChatbotHeaderSelectorDropdown';
|
@@ -0,0 +1,8 @@
|
|
1
|
+
export { default } from './ChatbotHeader';
|
2
|
+
export * from './ChatbotHeader';
|
3
|
+
export * from './ChatbotHeaderActions';
|
4
|
+
export * from './ChatbotHeaderMain';
|
5
|
+
export * from './ChatbotHeaderMenu';
|
6
|
+
export * from './ChatbotHeaderTitle';
|
7
|
+
export * from './ChatbotHeaderOptionsDropdown';
|
8
|
+
export * from './ChatbotHeaderSelectorDropdown';
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { ModalProps } from '@patternfly/react-core';
|
3
|
+
import { ChatbotDisplayMode } from '../Chatbot';
|
4
|
+
export interface ChatbotModalProps extends Omit<ModalProps, 'ref'> {
|
5
|
+
/** Display mode for the Chatbot parent; this influences the styles applied */
|
6
|
+
displayMode?: ChatbotDisplayMode;
|
7
|
+
className?: string;
|
8
|
+
}
|
9
|
+
export declare const ChatbotModal: React.FunctionComponent<ChatbotModalProps>;
|
10
|
+
export default ChatbotModal;
|
@@ -0,0 +1,27 @@
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
2
|
+
var t = {};
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
4
|
+
t[p] = s[p];
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
8
|
+
t[p[i]] = s[p[i]];
|
9
|
+
}
|
10
|
+
return t;
|
11
|
+
};
|
12
|
+
// ============================================================================
|
13
|
+
// Code Modal - Chatbot Modal with Code Editor
|
14
|
+
// ============================================================================
|
15
|
+
import React from 'react';
|
16
|
+
// Import PatternFly components
|
17
|
+
import { Modal } from '@patternfly/react-core';
|
18
|
+
import { ChatbotDisplayMode } from '../Chatbot';
|
19
|
+
export const ChatbotModal = (_a) => {
|
20
|
+
var { children, displayMode = ChatbotDisplayMode.default, className, isOpen } = _a, props = __rest(_a, ["children", "displayMode", "className", "isOpen"]);
|
21
|
+
const modal = (React.createElement(Modal, Object.assign({ isOpen: isOpen, ouiaId: "ChatbotModal", "aria-labelledby": "chatbot-modal-title", "aria-describedby": "chatbot-modal", className: `pf-chatbot__chatbot-modal pf-chatbot__chatbot-modal--${displayMode} ${className}`, backdropClassName: "pf-chatbot__chatbot-modal-backdrop" }, props), children));
|
22
|
+
if ((displayMode === ChatbotDisplayMode.fullscreen || displayMode === ChatbotDisplayMode.embedded) && isOpen) {
|
23
|
+
return React.createElement("div", { className: "pf-v6-c-backdrop pf-chatbot__backdrop" }, modal);
|
24
|
+
}
|
25
|
+
return modal;
|
26
|
+
};
|
27
|
+
export default ChatbotModal;
|
@@ -0,0 +1,22 @@
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
2
|
+
var t = {};
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
4
|
+
t[p] = s[p];
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
8
|
+
t[p[i]] = s[p[i]];
|
9
|
+
}
|
10
|
+
return t;
|
11
|
+
};
|
12
|
+
// ============================================================================
|
13
|
+
// Chatbot Popover
|
14
|
+
// ============================================================================
|
15
|
+
import React from 'react';
|
16
|
+
// Import PatternFly components
|
17
|
+
import { Popover } from '@patternfly/react-core';
|
18
|
+
export const ChatbotPopover = (_a) => {
|
19
|
+
var { children, className } = _a, props = __rest(_a, ["children", "className"]);
|
20
|
+
return (React.createElement(Popover, Object.assign({ className: `pf-chatbot__popover ${className !== null && className !== void 0 ? className : ''}`, showClose: false }, props), children));
|
21
|
+
};
|
22
|
+
export default ChatbotPopover;
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { ButtonProps, TooltipProps } from '@patternfly/react-core';
|
3
|
+
export interface ChatbotToggleProps extends ButtonProps {
|
4
|
+
/** Contents of the tooltip applied to the toggle button */
|
5
|
+
toolTipLabel?: React.ReactNode;
|
6
|
+
/** Props spread to the PF Tooltip component */
|
7
|
+
tooltipProps?: Omit<TooltipProps, 'content'>;
|
8
|
+
/** Flag indicating visibility of the chatbot appended to the toggle */
|
9
|
+
isChatbotVisible?: boolean;
|
10
|
+
/** Callback fired when toggle button is clicked */
|
11
|
+
onToggleChatbot?: () => void;
|
12
|
+
/** Accessible label for the toggle button */
|
13
|
+
toggleButtonLabel?: string;
|
14
|
+
/** An image displayed in the chatbot toggle when it is closed */
|
15
|
+
closedToggleIcon?: () => JSX.Element;
|
16
|
+
/** Ref applied to toggle */
|
17
|
+
innerRef?: React.Ref<HTMLButtonElement>;
|
18
|
+
}
|
19
|
+
declare const ChatbotToggle: React.ForwardRefExoticComponent<ChatbotToggleProps & React.RefAttributes<any>>;
|
20
|
+
export default ChatbotToggle;
|
@@ -0,0 +1,30 @@
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
2
|
+
var t = {};
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
4
|
+
t[p] = s[p];
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
8
|
+
t[p[i]] = s[p[i]];
|
9
|
+
}
|
10
|
+
return t;
|
11
|
+
};
|
12
|
+
// ============================================================================
|
13
|
+
// Chatbot Toggle
|
14
|
+
// ============================================================================
|
15
|
+
import React from 'react';
|
16
|
+
import { Button, Tooltip, Icon } from '@patternfly/react-core';
|
17
|
+
import AngleDownIcon from '@patternfly/react-icons/dist/esm/icons/angle-down-icon';
|
18
|
+
const ChatIcon = () => (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24" },
|
19
|
+
React.createElement("path", { fill: "var(--pf-t--global--icon--color--inverse)", stroke: "var(--pf-t--global--icon--color--inverse)", strokeLinejoin: "round", strokeWidth: ".75", d: "M3.577 14.382c0 .198.12.38.31.46l.19.04a.492.492 0 0 0 .349-.143l3.028-3.028h8.513a.489.489 0 0 0 .492-.492V2.491A.489.489 0 0 0 15.967 2H1.691a.489.489 0 0 0-.492.491v8.728c0 .135.056.262.143.349a.498.498 0 0 0 .349.143h1.878v2.663h.008v.008ZM2.19 10.72V2.983h13.278v7.729H7.24a.512.512 0 0 0-.35.143l-2.322 2.322v-1.974a.498.498 0 0 0-.142-.348.492.492 0 0 0-.35-.143H2.19v.008Z" }),
|
20
|
+
React.createElement("path", { fill: "var(--pf-t--global--text--color--inverse)", stroke: "var(--pf-t--global--text--color--inverse)", strokeLinejoin: "round", strokeWidth: ".75", d: "M22.301 9.135h-3.963a.489.489 0 0 0-.492.491c0 .27.222.492.492.492h3.472v7.737h-1.88a.404.404 0 0 0-.348.134.492.492 0 0 0-.143.35v1.973l-2.322-2.323a.492.492 0 0 0-.349-.142H8.532v-4.265a.489.489 0 0 0-.492-.492.494.494 0 0 0-.491.492v4.756c0 .277.222.492.491.492h8.514l3.028 3.028a.492.492 0 0 0 .349.142l.19-.04a.502.502 0 0 0 .31-.459V18.83h1.878c.111-.008.262-.048.349-.135a.491.491 0 0 0 .142-.349v-8.72a.489.489 0 0 0-.491-.491h-.008Z" })));
|
21
|
+
const ChatbotToggleBase = (_a) => {
|
22
|
+
var { toolTipLabel, isChatbotVisible, onToggleChatbot, tooltipProps, toggleButtonLabel, closedToggleIcon: ClosedToggleIcon, innerRef } = _a, props = __rest(_a, ["toolTipLabel", "isChatbotVisible", "onToggleChatbot", "tooltipProps", "toggleButtonLabel", "closedToggleIcon", "innerRef"]);
|
23
|
+
// Configure icon
|
24
|
+
const closedIcon = ClosedToggleIcon ? React.createElement(ClosedToggleIcon, null) : React.createElement(ChatIcon, null);
|
25
|
+
const icon = isChatbotVisible ? React.createElement(AngleDownIcon, null) : closedIcon;
|
26
|
+
return (React.createElement(Tooltip, Object.assign({ content: toolTipLabel }, tooltipProps),
|
27
|
+
React.createElement(Button, Object.assign({ className: `pf-chatbot__button ${isChatbotVisible ? 'pf-chatbot__button--active' : ''}`, variant: "plain", "aria-label": toggleButtonLabel || `${toolTipLabel} toggle`, onClick: onToggleChatbot, "aria-expanded": isChatbotVisible, icon: React.createElement(Icon, { isInline: true }, icon), ref: innerRef }, props))));
|
28
|
+
};
|
29
|
+
const ChatbotToggle = React.forwardRef((props, ref) => (React.createElement(ChatbotToggleBase, Object.assign({ innerRef: ref }, props))));
|
30
|
+
export default ChatbotToggle;
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
export interface ChatbotWelcomePromptProps extends React.HTMLProps<HTMLDivElement> {
|
3
|
+
/** Title for the welcome message*/
|
4
|
+
title: string;
|
5
|
+
/** Welcome message */
|
6
|
+
description: string;
|
7
|
+
/** Custom basic prompts to help users coming for the first time to chatbot */
|
8
|
+
prompts?: WelcomePrompt[];
|
9
|
+
/** Custom classname for the WelcomePrompt component */
|
10
|
+
className?: string;
|
11
|
+
/** Custom test id for the WelcomePrompt component */
|
12
|
+
testId?: string;
|
13
|
+
}
|
14
|
+
export interface WelcomePrompt {
|
15
|
+
/** Message for the welcome prompt */
|
16
|
+
message?: string;
|
17
|
+
/** Title for the welcome prompt */
|
18
|
+
title: string;
|
19
|
+
/** Callback handler for the onClick event for welcome prompt */
|
20
|
+
onClick?: () => void;
|
21
|
+
}
|
22
|
+
export declare const ChatbotWelcomePrompt: React.FunctionComponent<ChatbotWelcomePromptProps>;
|
23
|
+
export default ChatbotWelcomePrompt;
|
@@ -0,0 +1,33 @@
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
2
|
+
var t = {};
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
4
|
+
t[p] = s[p];
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
8
|
+
t[p[i]] = s[p[i]];
|
9
|
+
}
|
10
|
+
return t;
|
11
|
+
};
|
12
|
+
// ============================================================================
|
13
|
+
// Chatbot Layout - Chat - Welcome
|
14
|
+
// ============================================================================
|
15
|
+
import React from 'react';
|
16
|
+
import { Content, ContentVariants, Card, CardHeader, CardTitle, CardBody } from '@patternfly/react-core';
|
17
|
+
export const ChatbotWelcomePrompt = (_a) => {
|
18
|
+
var { title, description, prompts, className, testId } = _a, props = __rest(_a, ["title", "description", "prompts", "className", "testId"]);
|
19
|
+
return (React.createElement("div", Object.assign({ "data-testid": testId, className: `pf-chatbot--layout--welcome ${className !== null && className !== void 0 ? className : ''}` }, props),
|
20
|
+
React.createElement(Content, { component: ContentVariants.h1 },
|
21
|
+
React.createElement("span", { className: "pf-chatbot__hello" }, title),
|
22
|
+
React.createElement("br", null),
|
23
|
+
React.createElement("span", { className: "pf-chatbot__question" }, description)),
|
24
|
+
prompts && (React.createElement("div", { className: "pf-chatbot__prompt-suggestions" }, prompts === null || prompts === void 0 ? void 0 : prompts.map((prompt, index) => (React.createElement(Card, { key: `welcome-prompt-${index}`, className: "pf-chatbot__prompt-suggestion", isClickable: true },
|
25
|
+
React.createElement(CardHeader, { selectableActions: {
|
26
|
+
onClickAction: prompt.onClick,
|
27
|
+
selectableActionId: `welcome-prompt-input-${index}`,
|
28
|
+
selectableActionAriaLabelledby: `welcome-prompt-title-${index}`
|
29
|
+
} },
|
30
|
+
React.createElement(CardTitle, { id: `welcome-prompt-title-${index}` }, prompt.title)),
|
31
|
+
prompt.message && React.createElement(CardBody, null, prompt.message))))))));
|
32
|
+
};
|
33
|
+
export default ChatbotWelcomePrompt;
|
@@ -0,0 +1 @@
|
|
1
|
+
import '@testing-library/jest-dom';
|
@@ -0,0 +1,44 @@
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
+
});
|
9
|
+
};
|
10
|
+
import React from 'react';
|
11
|
+
import { render, screen } from '@testing-library/react';
|
12
|
+
import '@testing-library/jest-dom';
|
13
|
+
import ChatbotWelcomePrompt from './ChatbotWelcomePrompt';
|
14
|
+
import userEvent from '@testing-library/user-event';
|
15
|
+
describe('ChatbotWelcomePrompt', () => {
|
16
|
+
it('should render welcome prompt', () => {
|
17
|
+
const { container } = render(React.createElement(ChatbotWelcomePrompt, { title: "Hello, Chatbot User", description: "How may I help you today?" }));
|
18
|
+
expect(container).toMatchSnapshot();
|
19
|
+
});
|
20
|
+
it('should render correctly', () => {
|
21
|
+
render(React.createElement(ChatbotWelcomePrompt, { title: "Hello, Chatbot User", description: "How may I help you today?" }));
|
22
|
+
expect(screen.getByText('Hello, Chatbot User')).toBeTruthy();
|
23
|
+
expect(screen.getByText('How may I help you today?')).toBeTruthy();
|
24
|
+
});
|
25
|
+
it('should render prompts with titles correctly', () => {
|
26
|
+
render(React.createElement(ChatbotWelcomePrompt, { title: "Hello, Chatbot User", description: "How may I help you today?", prompts: [{ title: 'Topic 1' }] }));
|
27
|
+
expect(screen.getByText('Topic 1')).toBeTruthy();
|
28
|
+
});
|
29
|
+
it('should render prompts with messages correctly', () => {
|
30
|
+
render(React.createElement(ChatbotWelcomePrompt, { title: "Hello, Chatbot User", description: "How may I help you today?", prompts: [{ title: 'Topic 1', message: 'Helpful prompt for Topic 1' }] }));
|
31
|
+
expect(screen.getByText('Helpful prompt for Topic 1')).toBeTruthy();
|
32
|
+
});
|
33
|
+
it('should render prompts with onClick correctly', () => __awaiter(void 0, void 0, void 0, function* () {
|
34
|
+
const spy = jest.fn();
|
35
|
+
render(React.createElement(ChatbotWelcomePrompt, { title: "Hello, Chatbot User", description: "How may I help you today?", prompts: [{ title: 'Topic 1', message: 'Helpful prompt for Topic 1', onClick: spy }] }));
|
36
|
+
yield userEvent.click(screen.getByRole('button', { name: /Topic 1/i }));
|
37
|
+
expect(spy).toHaveBeenCalled();
|
38
|
+
}));
|
39
|
+
it('should apply className appropriately', () => {
|
40
|
+
render(React.createElement(ChatbotWelcomePrompt, { title: "Hello, Chatbot User", description: "How may I help you today?", className: "test", testId: "welcome-prompt" }));
|
41
|
+
const element = screen.getByTestId('welcome-prompt');
|
42
|
+
expect(element).toHaveClass('test');
|
43
|
+
});
|
44
|
+
});
|