@patternfly/chatbot 6.3.0-prerelease.13 → 6.3.0-prerelease.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/AttachMenu/AttachMenu.d.ts +2 -2
- package/dist/cjs/AttachMenu/AttachMenu.js +2 -12
- package/dist/cjs/AttachmentEdit/AttachmentEdit.d.ts +12 -2
- package/dist/cjs/AttachmentEdit/AttachmentEdit.js +3 -6
- package/dist/cjs/AttachmentEdit/AttachmentEdit.test.d.ts +1 -1
- package/dist/cjs/AttachmentEdit/AttachmentEdit.test.js +33 -8
- package/dist/cjs/Chatbot/Chatbot.d.ts +1 -2
- package/dist/cjs/Chatbot/Chatbot.js +4 -9
- package/dist/cjs/Chatbot/Chatbot.test.js +11 -11
- package/dist/cjs/ChatbotAlert/ChatbotAlert.d.ts +2 -2
- package/dist/cjs/ChatbotAlert/ChatbotAlert.js +4 -8
- package/dist/cjs/ChatbotAlert/ChatbotAlert.test.js +10 -10
- package/dist/cjs/ChatbotContent/ChatbotContent.d.ts +3 -3
- package/dist/cjs/ChatbotContent/ChatbotContent.js +2 -8
- package/dist/cjs/ChatbotContent/ChatbotContent.test.js +5 -5
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.d.ts +2 -2
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +7 -11
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +31 -33
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +2 -2
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +16 -33
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +56 -64
- package/dist/cjs/ChatbotConversationHistoryNav/EmptyState.d.ts +2 -2
- package/dist/cjs/ChatbotConversationHistoryNav/EmptyState.js +2 -9
- package/dist/cjs/ChatbotConversationHistoryNav/LoadingState.d.ts +2 -2
- package/dist/cjs/ChatbotConversationHistoryNav/LoadingState.js +2 -25
- package/dist/cjs/ChatbotFooter/ChatbotFooter.d.ts +3 -3
- package/dist/cjs/ChatbotFooter/ChatbotFooter.js +2 -15
- package/dist/cjs/ChatbotFooter/ChatbotFooter.test.js +7 -7
- package/dist/cjs/ChatbotFooter/ChatbotFooternote.test.js +28 -28
- package/dist/cjs/ChatbotFooter/ChatbotFootnote.d.ts +3 -3
- package/dist/cjs/ChatbotFooter/ChatbotFootnote.js +10 -23
- package/dist/cjs/ChatbotHeader/ChatbotHeader.d.ts +3 -3
- package/dist/cjs/ChatbotHeader/ChatbotHeader.js +2 -7
- package/dist/cjs/ChatbotHeader/ChatbotHeader.test.js +5 -5
- package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.d.ts +2 -2
- package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.js +2 -5
- package/dist/cjs/ChatbotHeader/ChatbotHeaderActions.test.js +5 -5
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +1 -2
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.js +5 -10
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.js +7 -10
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.d.ts +2 -2
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.js +2 -5
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.test.js +5 -5
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.d.ts +2 -2
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.js +5 -7
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.js +7 -10
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +6 -3
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +8 -9
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +19 -21
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +6 -3
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +9 -12
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +17 -19
- package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.d.ts +2 -2
- package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.js +2 -5
- package/dist/cjs/ChatbotHeader/ChatbotHeaderTitle.test.js +23 -23
- package/dist/cjs/ChatbotModal/ChatbotModal.d.ts +2 -2
- package/dist/cjs/ChatbotModal/ChatbotModal.js +3 -9
- package/dist/cjs/ChatbotModal/ChatbotModal.test.js +4 -16
- package/dist/cjs/ChatbotPopover/ChatbotPopover.d.ts +2 -2
- package/dist/cjs/ChatbotPopover/ChatbotPopover.js +2 -8
- package/dist/cjs/ChatbotToggle/ChatbotToggle.d.ts +1 -2
- package/dist/cjs/ChatbotToggle/ChatbotToggle.js +8 -13
- package/dist/cjs/ChatbotToggle/ChatbotToggle.test.js +25 -25
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +2 -2
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +6 -20
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +16 -16
- package/dist/cjs/CodeModal/CodeModal.d.ts +8 -2
- package/dist/cjs/CodeModal/CodeModal.js +8 -20
- package/dist/cjs/CodeModal/CodeModal.test.js +23 -4
- package/dist/cjs/Compare/Compare.d.ts +2 -2
- package/dist/cjs/Compare/Compare.js +7 -16
- package/dist/cjs/Compare/Compare.test.js +7 -9
- package/dist/cjs/FileDetails/FileDetails.d.ts +2 -2
- package/dist/cjs/FileDetails/FileDetails.js +2 -15
- package/dist/cjs/FileDetails/FileDetails.test.js +10 -10
- package/dist/cjs/FileDetailsLabel/FileDetailsLabel.d.ts +2 -2
- package/dist/cjs/FileDetailsLabel/FileDetailsLabel.js +2 -5
- package/dist/cjs/FileDetailsLabel/FileDetailsLabel.test.js +21 -21
- package/dist/cjs/FileDropZone/FileDropZone.d.ts +2 -2
- package/dist/cjs/FileDropZone/FileDropZone.js +5 -8
- package/dist/cjs/FileDropZone/FileDropZone.test.js +5 -5
- package/dist/cjs/LoadingMessage/LoadingMessage.d.ts +2 -2
- package/dist/cjs/LoadingMessage/LoadingMessage.js +2 -10
- package/dist/cjs/LoadingMessage/LoadingMessage.test.js +6 -6
- package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.d.ts +1 -2
- package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.js +10 -15
- package/dist/cjs/Message/ErrorMessage/ErrorMessage.d.ts +1 -2
- package/dist/cjs/Message/ErrorMessage/ErrorMessage.js +5 -8
- package/dist/cjs/Message/ImageMessage/ImageMessage.d.ts +1 -2
- package/dist/cjs/Message/ImageMessage/ImageMessage.js +2 -8
- package/dist/cjs/Message/LinkMessage/LinkMessage.d.ts +1 -2
- package/dist/cjs/Message/LinkMessage/LinkMessage.js +6 -9
- package/dist/cjs/Message/ListMessage/ListItemMessage.d.ts +1 -2
- package/dist/cjs/Message/ListMessage/ListItemMessage.js +2 -8
- package/dist/cjs/Message/ListMessage/OrderedListMessage.d.ts +1 -2
- package/dist/cjs/Message/ListMessage/OrderedListMessage.js +2 -9
- package/dist/cjs/Message/ListMessage/UnorderedListMessage.d.ts +1 -2
- package/dist/cjs/Message/ListMessage/UnorderedListMessage.js +2 -9
- package/dist/cjs/Message/Message.d.ts +8 -7
- package/dist/cjs/Message/Message.js +47 -70
- package/dist/cjs/Message/Message.test.js +75 -79
- package/dist/cjs/Message/MessageInput.d.ts +2 -2
- package/dist/cjs/Message/MessageInput.js +5 -14
- package/dist/cjs/Message/MessageLoading.d.ts +1 -2
- package/dist/cjs/Message/MessageLoading.js +3 -8
- package/dist/cjs/Message/QuickResponse/QuickResponse.d.ts +2 -2
- package/dist/cjs/Message/QuickResponse/QuickResponse.js +7 -9
- package/dist/cjs/Message/QuickStarts/FallbackImg.d.ts +2 -2
- package/dist/cjs/Message/QuickStarts/FallbackImg.js +5 -27
- package/dist/cjs/Message/QuickStarts/QuickStartTile.d.ts +2 -2
- package/dist/cjs/Message/QuickStarts/QuickStartTile.js +7 -43
- package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.d.ts +2 -2
- package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.js +9 -38
- package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.test.js +16 -16
- package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.d.ts +2 -2
- package/dist/cjs/Message/QuickStarts/QuickStartTileHeader.js +2 -26
- package/dist/cjs/Message/QuickStarts/types.d.ts +4 -3
- package/dist/cjs/Message/TableMessage/TableMessage.d.ts +1 -2
- package/dist/cjs/Message/TableMessage/TableMessage.js +8 -10
- package/dist/cjs/Message/TableMessage/TbodyMessage.d.ts +2 -3
- package/dist/cjs/Message/TableMessage/TbodyMessage.js +7 -9
- package/dist/cjs/Message/TableMessage/TdMessage.d.ts +1 -2
- package/dist/cjs/Message/TableMessage/TdMessage.js +2 -8
- package/dist/cjs/Message/TableMessage/ThMessage.d.ts +1 -2
- package/dist/cjs/Message/TableMessage/ThMessage.js +2 -8
- package/dist/cjs/Message/TableMessage/TheadMessage.d.ts +1 -2
- package/dist/cjs/Message/TableMessage/TheadMessage.js +2 -8
- package/dist/cjs/Message/TableMessage/TrMessage.d.ts +2 -3
- package/dist/cjs/Message/TableMessage/TrMessage.js +8 -10
- package/dist/cjs/Message/TextMessage/TextMessage.d.ts +1 -2
- package/dist/cjs/Message/TextMessage/TextMessage.js +2 -9
- package/dist/cjs/Message/UserFeedback/CloseButton.d.ts +2 -2
- package/dist/cjs/Message/UserFeedback/CloseButton.js +2 -8
- package/dist/cjs/Message/UserFeedback/UserFeedback.d.ts +2 -2
- package/dist/cjs/Message/UserFeedback/UserFeedback.js +12 -23
- package/dist/cjs/Message/UserFeedback/UserFeedback.test.js +53 -53
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.js +20 -44
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.js +81 -91
- package/dist/cjs/MessageBar/AttachButton.d.ts +1 -2
- package/dist/cjs/MessageBar/AttachButton.js +6 -15
- package/dist/cjs/MessageBar/AttachButton.test.js +24 -24
- package/dist/cjs/MessageBar/MessageBar.d.ts +2 -2
- package/dist/cjs/MessageBar/MessageBar.js +21 -27
- package/dist/cjs/MessageBar/MessageBar.test.js +101 -115
- package/dist/cjs/MessageBar/MicrophoneButton.d.ts +2 -2
- package/dist/cjs/MessageBar/MicrophoneButton.js +7 -14
- package/dist/cjs/MessageBar/SendButton.d.ts +3 -2
- package/dist/cjs/MessageBar/SendButton.js +3 -11
- package/dist/cjs/MessageBar/SendButton.test.js +15 -15
- package/dist/cjs/MessageBar/StopButton.d.ts +3 -2
- package/dist/cjs/MessageBar/StopButton.js +3 -12
- package/dist/cjs/MessageBar/StopButton.test.js +15 -15
- package/dist/cjs/MessageBox/JumpButton.d.ts +2 -2
- package/dist/cjs/MessageBox/JumpButton.js +2 -10
- package/dist/cjs/MessageBox/JumpButton.test.js +10 -10
- package/dist/cjs/MessageBox/MessageBox.d.ts +3 -3
- package/dist/cjs/MessageBox/MessageBox.js +13 -20
- package/dist/cjs/MessageBox/MessageBox.test.js +7 -10
- package/dist/cjs/PreviewAttachment/PreviewAttachment.d.ts +12 -2
- package/dist/cjs/PreviewAttachment/PreviewAttachment.js +3 -6
- package/dist/cjs/PreviewAttachment/PreviewAttachment.test.d.ts +1 -1
- package/dist/cjs/PreviewAttachment/PreviewAttachment.test.js +34 -12
- package/dist/cjs/ResponseActions/ResponseActionButton.d.ts +3 -3
- package/dist/cjs/ResponseActions/ResponseActionButton.js +5 -8
- package/dist/cjs/ResponseActions/ResponseActionButton.test.js +19 -19
- package/dist/cjs/ResponseActions/ResponseActions.d.ts +2 -2
- package/dist/cjs/ResponseActions/ResponseActions.js +10 -14
- package/dist/cjs/ResponseActions/ResponseActions.test.js +42 -42
- package/dist/cjs/Settings/SettingsForm.d.ts +2 -2
- package/dist/cjs/Settings/SettingsForm.js +2 -8
- package/dist/cjs/Settings/SettingsForm.test.js +9 -12
- package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
- package/dist/cjs/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -11
- package/dist/cjs/SourcesCard/SourcesCard.d.ts +2 -2
- package/dist/cjs/SourcesCard/SourcesCard.js +16 -42
- package/dist/cjs/SourcesCard/SourcesCard.test.js +60 -60
- package/dist/cjs/TermsOfUse/TermsOfUse.d.ts +3 -3
- package/dist/cjs/TermsOfUse/TermsOfUse.js +4 -16
- package/dist/cjs/TermsOfUse/TermsOfUse.test.js +31 -33
- package/dist/esm/AttachMenu/AttachMenu.d.ts +2 -2
- package/dist/esm/AttachMenu/AttachMenu.js +2 -9
- package/dist/esm/AttachmentEdit/AttachmentEdit.d.ts +12 -2
- package/dist/esm/AttachmentEdit/AttachmentEdit.js +3 -6
- package/dist/esm/AttachmentEdit/AttachmentEdit.test.d.ts +1 -1
- package/dist/esm/AttachmentEdit/AttachmentEdit.test.js +30 -5
- package/dist/esm/Chatbot/Chatbot.d.ts +1 -2
- package/dist/esm/Chatbot/Chatbot.js +4 -6
- package/dist/esm/Chatbot/Chatbot.test.js +6 -6
- package/dist/esm/ChatbotAlert/ChatbotAlert.d.ts +2 -2
- package/dist/esm/ChatbotAlert/ChatbotAlert.js +4 -5
- package/dist/esm/ChatbotAlert/ChatbotAlert.test.js +4 -4
- package/dist/esm/ChatbotContent/ChatbotContent.d.ts +3 -3
- package/dist/esm/ChatbotContent/ChatbotContent.js +2 -5
- package/dist/esm/ChatbotContent/ChatbotContent.test.js +3 -3
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.d.ts +2 -2
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +7 -11
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.js +8 -10
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +2 -2
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +16 -33
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +26 -34
- package/dist/esm/ChatbotConversationHistoryNav/EmptyState.d.ts +2 -2
- package/dist/esm/ChatbotConversationHistoryNav/EmptyState.js +2 -6
- package/dist/esm/ChatbotConversationHistoryNav/LoadingState.d.ts +2 -2
- package/dist/esm/ChatbotConversationHistoryNav/LoadingState.js +2 -22
- package/dist/esm/ChatbotFooter/ChatbotFooter.d.ts +3 -3
- package/dist/esm/ChatbotFooter/ChatbotFooter.js +2 -12
- package/dist/esm/ChatbotFooter/ChatbotFooter.test.js +4 -4
- package/dist/esm/ChatbotFooter/ChatbotFooternote.test.js +5 -5
- package/dist/esm/ChatbotFooter/ChatbotFootnote.d.ts +3 -3
- package/dist/esm/ChatbotFooter/ChatbotFootnote.js +10 -23
- package/dist/esm/ChatbotHeader/ChatbotHeader.d.ts +3 -3
- package/dist/esm/ChatbotHeader/ChatbotHeader.js +2 -4
- package/dist/esm/ChatbotHeader/ChatbotHeader.test.js +3 -3
- package/dist/esm/ChatbotHeader/ChatbotHeaderActions.d.ts +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderActions.js +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderActions.test.js +3 -3
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +1 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.js +5 -7
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.js +4 -4
- package/dist/esm/ChatbotHeader/ChatbotHeaderMain.d.ts +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderMain.js +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderMain.test.js +3 -3
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.d.ts +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.js +5 -7
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.js +4 -4
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +6 -3
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +8 -9
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +9 -8
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +6 -3
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +9 -9
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +9 -8
- package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.d.ts +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.js +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderTitle.test.js +12 -12
- package/dist/esm/ChatbotModal/ChatbotModal.d.ts +2 -2
- package/dist/esm/ChatbotModal/ChatbotModal.js +3 -6
- package/dist/esm/ChatbotModal/ChatbotModal.test.js +2 -14
- package/dist/esm/ChatbotPopover/ChatbotPopover.d.ts +2 -2
- package/dist/esm/ChatbotPopover/ChatbotPopover.js +2 -5
- package/dist/esm/ChatbotToggle/ChatbotToggle.d.ts +1 -2
- package/dist/esm/ChatbotToggle/ChatbotToggle.js +8 -13
- package/dist/esm/ChatbotToggle/ChatbotToggle.test.js +8 -8
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +2 -2
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +6 -17
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +8 -8
- package/dist/esm/CodeModal/CodeModal.d.ts +8 -2
- package/dist/esm/CodeModal/CodeModal.js +8 -20
- package/dist/esm/CodeModal/CodeModal.test.js +22 -3
- package/dist/esm/Compare/Compare.d.ts +2 -2
- package/dist/esm/Compare/Compare.js +7 -13
- package/dist/esm/Compare/Compare.test.js +4 -6
- package/dist/esm/FileDetails/FileDetails.d.ts +2 -2
- package/dist/esm/FileDetails/FileDetails.js +2 -15
- package/dist/esm/FileDetails/FileDetails.test.js +4 -4
- package/dist/esm/FileDetailsLabel/FileDetailsLabel.d.ts +2 -2
- package/dist/esm/FileDetailsLabel/FileDetailsLabel.js +2 -5
- package/dist/esm/FileDetailsLabel/FileDetailsLabel.test.js +9 -9
- package/dist/esm/FileDropZone/FileDropZone.d.ts +2 -2
- package/dist/esm/FileDropZone/FileDropZone.js +5 -5
- package/dist/esm/FileDropZone/FileDropZone.test.js +3 -3
- package/dist/esm/LoadingMessage/LoadingMessage.d.ts +2 -2
- package/dist/esm/LoadingMessage/LoadingMessage.js +2 -10
- package/dist/esm/LoadingMessage/LoadingMessage.test.js +3 -3
- package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.d.ts +1 -2
- package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.js +10 -15
- package/dist/esm/Message/ErrorMessage/ErrorMessage.d.ts +1 -2
- package/dist/esm/Message/ErrorMessage/ErrorMessage.js +5 -5
- package/dist/esm/Message/ImageMessage/ImageMessage.d.ts +1 -2
- package/dist/esm/Message/ImageMessage/ImageMessage.js +2 -5
- package/dist/esm/Message/LinkMessage/LinkMessage.d.ts +1 -2
- package/dist/esm/Message/LinkMessage/LinkMessage.js +6 -6
- package/dist/esm/Message/ListMessage/ListItemMessage.d.ts +1 -2
- package/dist/esm/Message/ListMessage/ListItemMessage.js +2 -5
- package/dist/esm/Message/ListMessage/OrderedListMessage.d.ts +1 -2
- package/dist/esm/Message/ListMessage/OrderedListMessage.js +2 -6
- package/dist/esm/Message/ListMessage/UnorderedListMessage.d.ts +1 -2
- package/dist/esm/Message/ListMessage/UnorderedListMessage.js +2 -6
- package/dist/esm/Message/Message.d.ts +8 -7
- package/dist/esm/Message/Message.js +47 -70
- package/dist/esm/Message/Message.test.js +75 -79
- package/dist/esm/Message/MessageInput.d.ts +2 -2
- package/dist/esm/Message/MessageInput.js +5 -11
- package/dist/esm/Message/MessageLoading.d.ts +1 -2
- package/dist/esm/Message/MessageLoading.js +2 -4
- package/dist/esm/Message/QuickResponse/QuickResponse.d.ts +2 -2
- package/dist/esm/Message/QuickResponse/QuickResponse.js +7 -6
- package/dist/esm/Message/QuickStarts/FallbackImg.d.ts +2 -2
- package/dist/esm/Message/QuickStarts/FallbackImg.js +5 -4
- package/dist/esm/Message/QuickStarts/QuickStartTile.d.ts +2 -2
- package/dist/esm/Message/QuickStarts/QuickStartTile.js +7 -20
- package/dist/esm/Message/QuickStarts/QuickStartTileDescription.d.ts +2 -2
- package/dist/esm/Message/QuickStarts/QuickStartTileDescription.js +9 -15
- package/dist/esm/Message/QuickStarts/QuickStartTileDescription.test.js +5 -5
- package/dist/esm/Message/QuickStarts/QuickStartTileHeader.d.ts +2 -2
- package/dist/esm/Message/QuickStarts/QuickStartTileHeader.js +2 -3
- package/dist/esm/Message/QuickStarts/types.d.ts +4 -3
- package/dist/esm/Message/TableMessage/TableMessage.d.ts +1 -2
- package/dist/esm/Message/TableMessage/TableMessage.js +8 -7
- package/dist/esm/Message/TableMessage/TbodyMessage.d.ts +2 -3
- package/dist/esm/Message/TableMessage/TbodyMessage.js +7 -6
- package/dist/esm/Message/TableMessage/TdMessage.d.ts +1 -2
- package/dist/esm/Message/TableMessage/TdMessage.js +2 -5
- package/dist/esm/Message/TableMessage/ThMessage.d.ts +1 -2
- package/dist/esm/Message/TableMessage/ThMessage.js +2 -5
- package/dist/esm/Message/TableMessage/TheadMessage.d.ts +1 -2
- package/dist/esm/Message/TableMessage/TheadMessage.js +2 -5
- package/dist/esm/Message/TableMessage/TrMessage.d.ts +2 -3
- package/dist/esm/Message/TableMessage/TrMessage.js +8 -7
- package/dist/esm/Message/TextMessage/TextMessage.d.ts +1 -2
- package/dist/esm/Message/TextMessage/TextMessage.js +2 -6
- package/dist/esm/Message/UserFeedback/CloseButton.d.ts +2 -2
- package/dist/esm/Message/UserFeedback/CloseButton.js +2 -5
- package/dist/esm/Message/UserFeedback/UserFeedback.d.ts +2 -2
- package/dist/esm/Message/UserFeedback/UserFeedback.js +12 -23
- package/dist/esm/Message/UserFeedback/UserFeedback.test.js +21 -21
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.d.ts +2 -2
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.js +20 -44
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.js +26 -36
- package/dist/esm/MessageBar/AttachButton.d.ts +1 -2
- package/dist/esm/MessageBar/AttachButton.js +6 -12
- package/dist/esm/MessageBar/AttachButton.test.js +10 -10
- package/dist/esm/MessageBar/MessageBar.d.ts +2 -2
- package/dist/esm/MessageBar/MessageBar.js +21 -27
- package/dist/esm/MessageBar/MessageBar.test.js +34 -48
- package/dist/esm/MessageBar/MicrophoneButton.d.ts +2 -2
- package/dist/esm/MessageBar/MicrophoneButton.js +7 -11
- package/dist/esm/MessageBar/SendButton.d.ts +3 -2
- package/dist/esm/MessageBar/SendButton.js +3 -8
- package/dist/esm/MessageBar/SendButton.test.js +4 -4
- package/dist/esm/MessageBar/StopButton.d.ts +3 -2
- package/dist/esm/MessageBar/StopButton.js +3 -9
- package/dist/esm/MessageBar/StopButton.test.js +4 -4
- package/dist/esm/MessageBox/JumpButton.d.ts +2 -2
- package/dist/esm/MessageBox/JumpButton.js +2 -7
- package/dist/esm/MessageBox/JumpButton.test.js +5 -5
- package/dist/esm/MessageBox/MessageBox.d.ts +3 -3
- package/dist/esm/MessageBox/MessageBox.js +13 -20
- package/dist/esm/MessageBox/MessageBox.test.js +7 -10
- package/dist/esm/PreviewAttachment/PreviewAttachment.d.ts +12 -2
- package/dist/esm/PreviewAttachment/PreviewAttachment.js +3 -6
- package/dist/esm/PreviewAttachment/PreviewAttachment.test.d.ts +1 -1
- package/dist/esm/PreviewAttachment/PreviewAttachment.test.js +30 -5
- package/dist/esm/ResponseActions/ResponseActionButton.d.ts +3 -3
- package/dist/esm/ResponseActions/ResponseActionButton.js +5 -5
- package/dist/esm/ResponseActions/ResponseActionButton.test.js +7 -7
- package/dist/esm/ResponseActions/ResponseActions.d.ts +2 -2
- package/dist/esm/ResponseActions/ResponseActions.js +10 -14
- package/dist/esm/ResponseActions/ResponseActions.test.js +15 -15
- package/dist/esm/Settings/SettingsForm.d.ts +2 -2
- package/dist/esm/Settings/SettingsForm.js +2 -5
- package/dist/esm/Settings/SettingsForm.test.js +6 -6
- package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.d.ts +2 -2
- package/dist/esm/SourceDetailsMenuItem/SourceDetailsMenuItem.js +2 -8
- package/dist/esm/SourcesCard/SourcesCard.d.ts +2 -2
- package/dist/esm/SourcesCard/SourcesCard.js +16 -39
- package/dist/esm/SourcesCard/SourcesCard.test.js +19 -19
- package/dist/esm/TermsOfUse/TermsOfUse.d.ts +3 -3
- package/dist/esm/TermsOfUse/TermsOfUse.js +4 -16
- package/dist/esm/TermsOfUse/TermsOfUse.test.js +10 -12
- package/package.json +3 -5
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachMenu.tsx +9 -9
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentEdit.tsx +5 -5
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentError.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/BotMessage.tsx +10 -12
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetails.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDetailsLabel.tsx +9 -9
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/FileDropZone.tsx +4 -4
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithAttachment.tsx +7 -7
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithCustomResponseActions.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedback.tsx +4 -4
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedbackTimeout.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickResponses.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickStart.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithResponseActions.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithSources.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +1 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/PreviewAttachment.tsx +5 -5
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessage.tsx +11 -14
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessageWithExtraContent.tsx +4 -4
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotContainer.tsx +59 -36
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFooter.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotFootnote.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderBasic.tsx +10 -13
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawer.tsx +10 -10
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerNavigation.tsx +5 -5
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerResizable.tsx +5 -5
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithActions.tsx +4 -4
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithSelection.tsx +5 -5
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderTitle.tsx +59 -34
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBar.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarAttach.tsx +9 -9
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarDisabled.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarLanguage.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotMessageBarStop.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotModal.tsx +74 -37
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotToggleBasic.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomeInteraction.tsx +7 -7
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotWelcomePrompt.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/UI/CompactSettings.tsx +16 -23
- package/patternfly-docs/content/extensions/chatbot/examples/UI/CustomClosedIcon.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/UI/Settings.tsx +16 -23
- package/patternfly-docs/content/extensions/chatbot/examples/UI/SkipToContent.tsx +5 -5
- package/patternfly-docs/content/extensions/chatbot/examples/UI/SquareChatbotToggle.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUse.tsx +91 -48
- package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUseCompact.tsx +82 -39
- package/patternfly-docs/content/extensions/chatbot/examples/UI/UI.md +3 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/AttachmentDemos.md +1 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +1 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +17 -23
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachment.tsx +13 -13
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachmentMenu.tsx +14 -14
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotCompact.tsx +17 -23
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotInDrawer.tsx +15 -20
- package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedChatbot.tsx +15 -20
- package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedComparisonChatbot.tsx +12 -12
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Feedback.tsx +7 -7
- package/src/AttachMenu/AttachMenu.tsx +2 -2
- package/src/AttachmentEdit/AttachmentEdit.test.tsx +46 -2
- package/src/AttachmentEdit/AttachmentEdit.tsx +25 -7
- package/src/Chatbot/Chatbot.test.tsx +0 -1
- package/src/Chatbot/Chatbot.tsx +5 -3
- package/src/ChatbotAlert/ChatbotAlert.test.tsx +0 -1
- package/src/ChatbotAlert/ChatbotAlert.tsx +2 -2
- package/src/ChatbotContent/ChatbotContent.test.tsx +0 -1
- package/src/ChatbotContent/ChatbotContent.tsx +3 -3
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.test.tsx +0 -1
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.tsx +6 -4
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.tsx +3 -3
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.tsx +8 -6
- package/src/ChatbotConversationHistoryNav/EmptyState.tsx +2 -2
- package/src/ChatbotConversationHistoryNav/LoadingState.tsx +2 -2
- package/src/ChatbotFooter/ChatbotFooter.test.tsx +0 -1
- package/src/ChatbotFooter/ChatbotFooter.tsx +3 -3
- package/src/ChatbotFooter/ChatbotFooternote.test.tsx +0 -1
- package/src/ChatbotFooter/ChatbotFootnote.tsx +6 -4
- package/src/ChatbotHeader/ChatbotHeader.test.tsx +0 -1
- package/src/ChatbotHeader/ChatbotHeader.tsx +3 -6
- package/src/ChatbotHeader/ChatbotHeaderActions.test.tsx +0 -1
- package/src/ChatbotHeader/ChatbotHeaderActions.tsx +2 -2
- package/src/ChatbotHeader/ChatbotHeaderCloseButton.test.tsx +0 -1
- package/src/ChatbotHeader/ChatbotHeaderCloseButton.tsx +5 -4
- package/src/ChatbotHeader/ChatbotHeaderMain.test.tsx +0 -1
- package/src/ChatbotHeader/ChatbotHeaderMain.tsx +2 -2
- package/src/ChatbotHeader/ChatbotHeaderMenu.test.tsx +0 -1
- package/src/ChatbotHeader/ChatbotHeaderMenu.tsx +7 -7
- package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.tsx +9 -1
- package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.tsx +12 -5
- package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.tsx +9 -1
- package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.tsx +20 -6
- package/src/ChatbotHeader/ChatbotHeaderTitle.test.tsx +0 -1
- package/src/ChatbotHeader/ChatbotHeaderTitle.tsx +2 -2
- package/src/ChatbotModal/ChatbotModal.test.tsx +0 -1
- package/src/ChatbotModal/ChatbotModal.tsx +2 -2
- package/src/ChatbotPopover/ChatbotPopover.tsx +3 -3
- package/src/ChatbotToggle/ChatbotToggle.test.tsx +0 -1
- package/src/ChatbotToggle/ChatbotToggle.tsx +5 -3
- package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.tsx +0 -1
- package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.tsx +2 -2
- package/src/CodeModal/CodeModal.test.tsx +29 -2
- package/src/CodeModal/CodeModal.tsx +18 -8
- package/src/Compare/Compare.test.tsx +0 -1
- package/src/Compare/Compare.tsx +7 -6
- package/src/FileDetails/FileDetails.test.tsx +0 -1
- package/src/FileDetails/FileDetails.tsx +1 -1
- package/src/FileDetailsLabel/FileDetailsLabel.test.tsx +0 -1
- package/src/FileDetailsLabel/FileDetailsLabel.tsx +1 -1
- package/src/FileDropZone/FileDropZone.test.tsx +0 -1
- package/src/FileDropZone/FileDropZone.tsx +4 -3
- package/src/LoadingMessage/LoadingMessage.test.tsx +0 -1
- package/src/LoadingMessage/LoadingMessage.tsx +2 -2
- package/src/Message/CodeBlockMessage/CodeBlockMessage.tsx +7 -7
- package/src/Message/ErrorMessage/ErrorMessage.tsx +0 -1
- package/src/Message/ImageMessage/ImageMessage.tsx +1 -2
- package/src/Message/LinkMessage/LinkMessage.tsx +0 -1
- package/src/Message/ListMessage/ListItemMessage.tsx +0 -1
- package/src/Message/ListMessage/OrderedListMessage.tsx +0 -1
- package/src/Message/ListMessage/UnorderedListMessage.tsx +0 -1
- package/src/Message/Message.test.tsx +3 -3
- package/src/Message/Message.tsx +12 -13
- package/src/Message/MessageInput.tsx +5 -5
- package/src/Message/MessageLoading.tsx +0 -2
- package/src/Message/QuickResponse/QuickResponse.tsx +4 -3
- package/src/Message/QuickStarts/FallbackImg.tsx +4 -3
- package/src/Message/QuickStarts/QuickStartTile.tsx +3 -3
- package/src/Message/QuickStarts/QuickStartTileDescription.test.tsx +0 -1
- package/src/Message/QuickStarts/QuickStartTileDescription.tsx +4 -3
- package/src/Message/QuickStarts/QuickStartTileHeader.tsx +2 -2
- package/src/Message/QuickStarts/types.ts +4 -3
- package/src/Message/TableMessage/TableMessage.tsx +4 -4
- package/src/Message/TableMessage/TbodyMessage.tsx +3 -3
- package/src/Message/TableMessage/TdMessage.tsx +1 -2
- package/src/Message/TableMessage/ThMessage.tsx +1 -2
- package/src/Message/TableMessage/TheadMessage.tsx +3 -2
- package/src/Message/TableMessage/TrMessage.tsx +4 -4
- package/src/Message/TextMessage/TextMessage.tsx +1 -2
- package/src/Message/UserFeedback/CloseButton.tsx +2 -2
- package/src/Message/UserFeedback/UserFeedback.test.tsx +0 -1
- package/src/Message/UserFeedback/UserFeedback.tsx +8 -6
- package/src/Message/UserFeedback/UserFeedbackComplete.test.tsx +0 -1
- package/src/Message/UserFeedback/UserFeedbackComplete.tsx +16 -14
- package/src/MessageBar/AttachButton.test.tsx +0 -1
- package/src/MessageBar/AttachButton.tsx +5 -3
- package/src/MessageBar/MessageBar.test.tsx +0 -1
- package/src/MessageBar/MessageBar.tsx +19 -18
- package/src/MessageBar/MicrophoneButton.tsx +8 -6
- package/src/MessageBar/SendButton.test.tsx +0 -1
- package/src/MessageBar/SendButton.tsx +3 -2
- package/src/MessageBar/StopButton.test.tsx +0 -1
- package/src/MessageBar/StopButton.tsx +3 -2
- package/src/MessageBox/JumpButton.test.tsx +0 -1
- package/src/MessageBox/JumpButton.tsx +2 -2
- package/src/MessageBox/MessageBox.test.tsx +2 -2
- package/src/MessageBox/MessageBox.tsx +15 -13
- package/src/PreviewAttachment/PreviewAttachment.test.tsx +44 -2
- package/src/PreviewAttachment/PreviewAttachment.tsx +24 -6
- package/src/ResponseActions/ResponseActionButton.test.tsx +0 -1
- package/src/ResponseActions/ResponseActionButton.tsx +4 -3
- package/src/ResponseActions/ResponseActions.test.tsx +0 -1
- package/src/ResponseActions/ResponseActions.tsx +8 -7
- package/src/Settings/SettingsForm.test.tsx +0 -1
- package/src/Settings/SettingsForm.tsx +2 -7
- package/src/SourceDetailsMenuItem/SourceDetailsMenuItem.tsx +2 -2
- package/src/SourcesCard/SourcesCard.test.tsx +0 -1
- package/src/SourcesCard/SourcesCard.tsx +7 -7
- package/src/TermsOfUse/TermsOfUse.test.tsx +0 -1
- package/src/TermsOfUse/TermsOfUse.tsx +6 -5
- package/tsconfig.cjs.json +0 -1
- package/tsconfig.json +3 -3
@@ -1,4 +1,3 @@
|
|
1
|
-
import React from 'react';
|
2
1
|
import ChatbotToggle from '@patternfly/chatbot/dist/dynamic/ChatbotToggle';
|
3
2
|
import Chatbot from '@patternfly/chatbot/dist/dynamic/Chatbot';
|
4
3
|
import ChatbotContent from '@patternfly/chatbot/dist/dynamic/ChatbotContent';
|
@@ -18,6 +17,7 @@ import userAvatar from '../Messages/user_avatar.svg';
|
|
18
17
|
import patternflyAvatar from '../Messages/patternfly_avatar.jpg';
|
19
18
|
import '@patternfly/react-core/dist/styles/base.css';
|
20
19
|
import '@patternfly/chatbot/dist/css/main.css';
|
20
|
+
import { cloneElement, FunctionComponent, isValidElement, ReactNode, useState, Children } from 'react';
|
21
21
|
|
22
22
|
const initialMenuItems = [
|
23
23
|
<DropdownList key="list-1">
|
@@ -84,14 +84,14 @@ const messages: MessageProps[] = [
|
|
84
84
|
}
|
85
85
|
];
|
86
86
|
|
87
|
-
export const AttachmentMenuDemo:
|
88
|
-
const [chatbotVisible, setChatbotVisible] =
|
89
|
-
const [file, setFile] =
|
90
|
-
const [isLoadingFile, setIsLoadingFile] =
|
91
|
-
const [userFacingMenuItems, setUserFacingMenuItems] =
|
92
|
-
const [error, setError] =
|
93
|
-
const [showAlert, setShowAlert] =
|
94
|
-
const [isOpen, setIsOpen] =
|
87
|
+
export const AttachmentMenuDemo: FunctionComponent = () => {
|
88
|
+
const [chatbotVisible, setChatbotVisible] = useState<boolean>(true);
|
89
|
+
const [file, setFile] = useState<File>();
|
90
|
+
const [isLoadingFile, setIsLoadingFile] = useState<boolean>(false);
|
91
|
+
const [userFacingMenuItems, setUserFacingMenuItems] = useState<ReactNode>([]);
|
92
|
+
const [error, setError] = useState<string>();
|
93
|
+
const [showAlert, setShowAlert] = useState<boolean>(false);
|
94
|
+
const [isOpen, setIsOpen] = useState<boolean>(false);
|
95
95
|
|
96
96
|
const { open, getInputProps } = useDropzone({
|
97
97
|
onDropAccepted: (files: File[]) => {
|
@@ -162,18 +162,18 @@ export const AttachmentMenuDemo: React.FunctionComponent = () => {
|
|
162
162
|
setUserFacingMenuItems(initialMenuItems.concat(uploadMenuItems));
|
163
163
|
};
|
164
164
|
|
165
|
-
const findMatchingElements = (elements:
|
166
|
-
let matchingElements = [] as
|
165
|
+
const findMatchingElements = (elements: ReactNode[], targetValue: string) => {
|
166
|
+
let matchingElements = [] as ReactNode[];
|
167
167
|
|
168
168
|
elements.forEach((element) => {
|
169
|
-
if (
|
169
|
+
if (isValidElement(element)) {
|
170
170
|
// Check if the element's value matches the targetValue
|
171
171
|
if (element.props.value && element.props.value.toLowerCase().includes(targetValue.toLowerCase())) {
|
172
|
-
matchingElements.push(
|
172
|
+
matchingElements.push(cloneElement(element, { key: element.props.value }));
|
173
173
|
}
|
174
174
|
|
175
175
|
// Recursively check the element's children
|
176
|
-
const children =
|
176
|
+
const children = Children.toArray(element.props.children);
|
177
177
|
matchingElements = matchingElements.concat(findMatchingElements(children, targetValue));
|
178
178
|
}
|
179
179
|
});
|
@@ -1,5 +1,4 @@
|
|
1
|
-
import
|
2
|
-
|
1
|
+
import { useEffect, useRef, useState, FunctionComponent, MouseEvent } from 'react';
|
3
2
|
import { Bullseye, Brand, DropdownList, DropdownItem, DropdownGroup, SkipToContent } from '@patternfly/react-core';
|
4
3
|
|
5
4
|
import ChatbotToggle from '@patternfly/chatbot/dist/dynamic/ChatbotToggle';
|
@@ -76,8 +75,6 @@ spec:
|
|
76
75
|
Here is some JavaScript code:
|
77
76
|
|
78
77
|
~~~js
|
79
|
-
import React from 'react';
|
80
|
-
|
81
78
|
const MessageLoading = () => (
|
82
79
|
<div className="pf-chatbot__message-loading">
|
83
80
|
<span className="pf-chatbot__message-loading-dots">
|
@@ -164,39 +161,36 @@ const initialConversations = {
|
|
164
161
|
]
|
165
162
|
};
|
166
163
|
|
167
|
-
export const ChatbotDemo:
|
168
|
-
const [chatbotVisible, setChatbotVisible] =
|
169
|
-
const [displayMode, setDisplayMode] =
|
170
|
-
const [messages, setMessages] =
|
171
|
-
const [selectedModel, setSelectedModel] =
|
172
|
-
const [isSendButtonDisabled, setIsSendButtonDisabled] =
|
173
|
-
const [isDrawerOpen, setIsDrawerOpen] =
|
174
|
-
const [conversations, setConversations] =
|
164
|
+
export const ChatbotDemo: FunctionComponent = () => {
|
165
|
+
const [chatbotVisible, setChatbotVisible] = useState<boolean>(true);
|
166
|
+
const [displayMode, setDisplayMode] = useState<ChatbotDisplayMode>(ChatbotDisplayMode.default);
|
167
|
+
const [messages, setMessages] = useState<MessageProps[]>(initialMessages);
|
168
|
+
const [selectedModel, setSelectedModel] = useState('Granite 7B');
|
169
|
+
const [isSendButtonDisabled, setIsSendButtonDisabled] = useState(false);
|
170
|
+
const [isDrawerOpen, setIsDrawerOpen] = useState(false);
|
171
|
+
const [conversations, setConversations] = useState<Conversation[] | { [key: string]: Conversation[] }>(
|
175
172
|
initialConversations
|
176
173
|
);
|
177
|
-
const [announcement, setAnnouncement] =
|
178
|
-
const scrollToBottomRef =
|
179
|
-
const toggleRef =
|
180
|
-
const chatbotRef =
|
181
|
-
const historyRef =
|
174
|
+
const [announcement, setAnnouncement] = useState<string>();
|
175
|
+
const scrollToBottomRef = useRef<HTMLDivElement>(null);
|
176
|
+
const toggleRef = useRef<HTMLButtonElement>(null);
|
177
|
+
const chatbotRef = useRef<HTMLDivElement>(null);
|
178
|
+
const historyRef = useRef<HTMLButtonElement>(null);
|
182
179
|
|
183
180
|
// Auto-scrolls to the latest message
|
184
|
-
|
181
|
+
useEffect(() => {
|
185
182
|
// don't scroll the first load - in this demo, we know we start with two messages
|
186
183
|
if (messages.length > 2) {
|
187
184
|
scrollToBottomRef.current?.scrollIntoView({ behavior: 'smooth' });
|
188
185
|
}
|
189
186
|
}, [messages]);
|
190
187
|
|
191
|
-
const onSelectModel = (
|
192
|
-
_event: React.MouseEvent<Element, MouseEvent> | undefined,
|
193
|
-
value: string | number | undefined
|
194
|
-
) => {
|
188
|
+
const onSelectModel = (_event: MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
|
195
189
|
setSelectedModel(value as string);
|
196
190
|
};
|
197
191
|
|
198
192
|
const onSelectDisplayMode = (
|
199
|
-
_event:
|
193
|
+
_event: MouseEvent<Element, MouseEvent> | undefined,
|
200
194
|
value: string | number | undefined
|
201
195
|
) => {
|
202
196
|
setDisplayMode(value as ChatbotDisplayMode);
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import
|
1
|
+
import { FunctionComponent, MouseEvent, useEffect, useRef, useState } from 'react';
|
2
2
|
|
3
3
|
import {
|
4
4
|
Brand,
|
@@ -88,8 +88,6 @@ spec:
|
|
88
88
|
Here is some JavaScript code:
|
89
89
|
|
90
90
|
~~~js
|
91
|
-
import React from 'react';
|
92
|
-
|
93
91
|
const MessageLoading = () => (
|
94
92
|
<div className="pf-chatbot__message-loading">
|
95
93
|
<span className="pf-chatbot__message-loading-dots">
|
@@ -176,19 +174,19 @@ const initialConversations = {
|
|
176
174
|
]
|
177
175
|
};
|
178
176
|
|
179
|
-
export const EmbeddedChatbotDemo:
|
180
|
-
const [messages, setMessages] =
|
181
|
-
const [selectedModel, setSelectedModel] =
|
182
|
-
const [isSendButtonDisabled, setIsSendButtonDisabled] =
|
183
|
-
const [isDrawerOpen, setIsDrawerOpen] =
|
184
|
-
const [conversations, setConversations] =
|
177
|
+
export const EmbeddedChatbotDemo: FunctionComponent = () => {
|
178
|
+
const [messages, setMessages] = useState<MessageProps[]>(initialMessages);
|
179
|
+
const [selectedModel, setSelectedModel] = useState('Granite 7B');
|
180
|
+
const [isSendButtonDisabled, setIsSendButtonDisabled] = useState(false);
|
181
|
+
const [isDrawerOpen, setIsDrawerOpen] = useState(false);
|
182
|
+
const [conversations, setConversations] = useState<Conversation[] | { [key: string]: Conversation[] }>(
|
185
183
|
initialConversations
|
186
184
|
);
|
187
|
-
const [isSidebarOpen, setIsSidebarOpen] =
|
188
|
-
const [announcement, setAnnouncement] =
|
189
|
-
const scrollToBottomRef =
|
190
|
-
const historyRef =
|
191
|
-
const drawerRef =
|
185
|
+
const [isSidebarOpen, setIsSidebarOpen] = useState(false);
|
186
|
+
const [announcement, setAnnouncement] = useState<string>();
|
187
|
+
const scrollToBottomRef = useRef<HTMLDivElement>(null);
|
188
|
+
const historyRef = useRef<HTMLButtonElement>(null);
|
189
|
+
const drawerRef = useRef<HTMLDivElement>();
|
192
190
|
|
193
191
|
const displayMode = ChatbotDisplayMode.drawer;
|
194
192
|
const isExpanded = true;
|
@@ -198,17 +196,14 @@ export const EmbeddedChatbotDemo: React.FunctionComponent = () => {
|
|
198
196
|
};
|
199
197
|
|
200
198
|
// Auto-scrolls to the latest message
|
201
|
-
|
199
|
+
useEffect(() => {
|
202
200
|
// don't scroll the first load - in this demo, we know we start with two messages
|
203
201
|
if (messages.length > 2) {
|
204
202
|
scrollToBottomRef.current?.scrollIntoView({ behavior: 'smooth' });
|
205
203
|
}
|
206
204
|
}, [messages]);
|
207
205
|
|
208
|
-
const onSelectModel = (
|
209
|
-
_event: React.MouseEvent<Element, MouseEvent> | undefined,
|
210
|
-
value: string | number | undefined
|
211
|
-
) => {
|
206
|
+
const onSelectModel = (_event: MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
|
212
207
|
setSelectedModel(value as string);
|
213
208
|
};
|
214
209
|
|
@@ -335,7 +330,7 @@ export const EmbeddedChatbotDemo: React.FunctionComponent = () => {
|
|
335
330
|
</PageSidebar>
|
336
331
|
);
|
337
332
|
|
338
|
-
const skipToChatbot = (event:
|
333
|
+
const skipToChatbot = (event: MouseEvent) => {
|
339
334
|
event.preventDefault();
|
340
335
|
if (historyRef.current) {
|
341
336
|
historyRef.current.focus();
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import
|
1
|
+
import { useEffect, useRef, useState, FunctionComponent, MouseEvent } from 'react';
|
2
2
|
|
3
3
|
import {
|
4
4
|
Bullseye,
|
@@ -86,8 +86,6 @@ spec:
|
|
86
86
|
Here is some JavaScript code:
|
87
87
|
|
88
88
|
~~~js
|
89
|
-
import React from 'react';
|
90
|
-
|
91
89
|
const MessageLoading = () => (
|
92
90
|
<div className="pf-chatbot__message-loading">
|
93
91
|
<span className="pf-chatbot__message-loading-dots">
|
@@ -174,32 +172,29 @@ const initialConversations = {
|
|
174
172
|
]
|
175
173
|
};
|
176
174
|
|
177
|
-
export const EmbeddedChatbotDemo:
|
178
|
-
const [messages, setMessages] =
|
179
|
-
const [selectedModel, setSelectedModel] =
|
180
|
-
const [isSendButtonDisabled, setIsSendButtonDisabled] =
|
181
|
-
const [isDrawerOpen, setIsDrawerOpen] =
|
182
|
-
const [conversations, setConversations] =
|
175
|
+
export const EmbeddedChatbotDemo: FunctionComponent = () => {
|
176
|
+
const [messages, setMessages] = useState<MessageProps[]>(initialMessages);
|
177
|
+
const [selectedModel, setSelectedModel] = useState('Granite 7B');
|
178
|
+
const [isSendButtonDisabled, setIsSendButtonDisabled] = useState(false);
|
179
|
+
const [isDrawerOpen, setIsDrawerOpen] = useState(false);
|
180
|
+
const [conversations, setConversations] = useState<Conversation[] | { [key: string]: Conversation[] }>(
|
183
181
|
initialConversations
|
184
182
|
);
|
185
|
-
const [isSidebarOpen, setIsSidebarOpen] =
|
186
|
-
const [announcement, setAnnouncement] =
|
187
|
-
const scrollToBottomRef =
|
188
|
-
const historyRef =
|
183
|
+
const [isSidebarOpen, setIsSidebarOpen] = useState(false);
|
184
|
+
const [announcement, setAnnouncement] = useState<string>();
|
185
|
+
const scrollToBottomRef = useRef<HTMLDivElement>(null);
|
186
|
+
const historyRef = useRef<HTMLButtonElement>(null);
|
189
187
|
|
190
188
|
const displayMode = ChatbotDisplayMode.embedded;
|
191
|
-
//
|
192
|
-
|
189
|
+
// Auto-scrolls to the latest message
|
190
|
+
useEffect(() => {
|
193
191
|
// don't scroll the first load - in this demo, we know we start with two messages
|
194
192
|
if (messages.length > 2) {
|
195
193
|
scrollToBottomRef.current?.scrollIntoView({ behavior: 'smooth' });
|
196
194
|
}
|
197
195
|
}, [messages]);
|
198
196
|
|
199
|
-
const onSelectModel = (
|
200
|
-
_event: React.MouseEvent<Element, MouseEvent> | undefined,
|
201
|
-
value: string | number | undefined
|
202
|
-
) => {
|
197
|
+
const onSelectModel = (_event: MouseEvent<Element, MouseEvent> | undefined, value: string | number | undefined) => {
|
203
198
|
setSelectedModel(value as string);
|
204
199
|
};
|
205
200
|
|
@@ -327,7 +322,7 @@ export const EmbeddedChatbotDemo: React.FunctionComponent = () => {
|
|
327
322
|
</PageSidebar>
|
328
323
|
);
|
329
324
|
|
330
|
-
const skipToChatbot = (event:
|
325
|
+
const skipToChatbot = (event: MouseEvent) => {
|
331
326
|
event.preventDefault();
|
332
327
|
if (historyRef.current) {
|
333
328
|
historyRef.current.focus();
|
package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedComparisonChatbot.tsx
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import
|
1
|
+
import { useState, useRef, useCallback, useEffect, FunctionComponent } from 'react';
|
2
2
|
|
3
3
|
import {
|
4
4
|
Page,
|
@@ -27,9 +27,9 @@ import '@patternfly/react-core/dist/styles/base.css';
|
|
27
27
|
import '@patternfly/chatbot/dist/css/main.css';
|
28
28
|
|
29
29
|
export const CompareChild = ({ name, input, hasNewInput, setIsSendButtonDisabled }) => {
|
30
|
-
const [messages, setMessages] =
|
31
|
-
const [announcement, setAnnouncement] =
|
32
|
-
const scrollToBottomRef =
|
30
|
+
const [messages, setMessages] = useState<MessageProps[]>([]);
|
31
|
+
const [announcement, setAnnouncement] = useState<string>();
|
32
|
+
const scrollToBottomRef = useRef<HTMLDivElement>(null);
|
33
33
|
const displayMode = ChatbotDisplayMode.embedded;
|
34
34
|
|
35
35
|
// you will likely want to come up with your own unique id function; this is for demo purposes only
|
@@ -38,7 +38,7 @@ export const CompareChild = ({ name, input, hasNewInput, setIsSendButtonDisabled
|
|
38
38
|
return id.toString();
|
39
39
|
};
|
40
40
|
|
41
|
-
const handleSend =
|
41
|
+
const handleSend = useCallback(
|
42
42
|
(input: string) => {
|
43
43
|
const date = new Date();
|
44
44
|
const newMessages: MessageProps[] = [];
|
@@ -101,14 +101,14 @@ export const CompareChild = ({ name, input, hasNewInput, setIsSendButtonDisabled
|
|
101
101
|
[messages, name, setIsSendButtonDisabled]
|
102
102
|
);
|
103
103
|
|
104
|
-
|
104
|
+
useEffect(() => {
|
105
105
|
if (input) {
|
106
106
|
handleSend(input);
|
107
107
|
}
|
108
108
|
}, [hasNewInput, input]);
|
109
109
|
|
110
110
|
// Auto-scrolls to the latest message
|
111
|
-
|
111
|
+
useEffect(() => {
|
112
112
|
// don't scroll the first load, but scroll if there's a current stream or a new source has popped up
|
113
113
|
if (messages.length > 0) {
|
114
114
|
scrollToBottomRef.current?.scrollIntoView();
|
@@ -133,11 +133,11 @@ export const CompareChild = ({ name, input, hasNewInput, setIsSendButtonDisabled
|
|
133
133
|
);
|
134
134
|
};
|
135
135
|
|
136
|
-
export const EmbeddedComparisonChatbotDemo:
|
137
|
-
const [input, setInput] =
|
138
|
-
const [hasNewInput, setHasNewInput] =
|
139
|
-
const [isSidebarOpen, setIsSidebarOpen] =
|
140
|
-
const [isSendButtonDisabled, setIsSendButtonDisabled] =
|
136
|
+
export const EmbeddedComparisonChatbotDemo: FunctionComponent = () => {
|
137
|
+
const [input, setInput] = useState<string>();
|
138
|
+
const [hasNewInput, setHasNewInput] = useState(false);
|
139
|
+
const [isSidebarOpen, setIsSidebarOpen] = useState(false);
|
140
|
+
const [isSendButtonDisabled, setIsSendButtonDisabled] = useState(false);
|
141
141
|
|
142
142
|
const handleSend = (value: string) => {
|
143
143
|
setInput(value);
|
@@ -1,15 +1,15 @@
|
|
1
|
-
import
|
1
|
+
import { FunctionComponent, useState, useRef } from 'react';
|
2
2
|
import Message from '@patternfly/chatbot/dist/dynamic/Message';
|
3
3
|
import patternflyAvatar from '../Messages/patternfly_avatar.jpg';
|
4
4
|
import '@patternfly/react-core/dist/styles/base.css';
|
5
5
|
import '@patternfly/chatbot/dist/css/main.css';
|
6
6
|
|
7
|
-
export const MessageWithFeedbackExample:
|
8
|
-
const [showUserFeedbackForm, setShowUserFeedbackForm] =
|
9
|
-
const [showCompletionForm, setShowCompletionForm] =
|
10
|
-
const [launchButton, setLaunchButton] =
|
11
|
-
const positiveRef =
|
12
|
-
const negativeRef =
|
7
|
+
export const MessageWithFeedbackExample: FunctionComponent = () => {
|
8
|
+
const [showUserFeedbackForm, setShowUserFeedbackForm] = useState(false);
|
9
|
+
const [showCompletionForm, setShowCompletionForm] = useState(false);
|
10
|
+
const [launchButton, setLaunchButton] = useState<string>();
|
11
|
+
const positiveRef = useRef<HTMLButtonElement>(null);
|
12
|
+
const negativeRef = useRef<HTMLButtonElement>(null);
|
13
13
|
const feedbackId = 'user-feedback-form';
|
14
14
|
const completeId = 'user-feedback-received';
|
15
15
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
// ============================================================================
|
2
2
|
// Chatbot Attachment Menu
|
3
3
|
// ============================================================================
|
4
|
-
import
|
4
|
+
import type { FunctionComponent } from 'react';
|
5
5
|
|
6
6
|
// Import PatternFly components
|
7
7
|
import {
|
@@ -41,7 +41,7 @@ export interface AttachMenuProps extends DropdownProps {
|
|
41
41
|
toggle: DropdownToggleProps | ((toggleRef: React.RefObject<any>) => React.ReactNode);
|
42
42
|
}
|
43
43
|
|
44
|
-
export const AttachMenu:
|
44
|
+
export const AttachMenu: FunctionComponent<AttachMenuProps> = ({
|
45
45
|
className,
|
46
46
|
filteredItems,
|
47
47
|
handleTextInputChange,
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import
|
2
|
-
import
|
1
|
+
import { fireEvent, render, screen, within } from '@testing-library/react';
|
2
|
+
import '@testing-library/jest-dom';
|
3
3
|
import AttachmentEdit, { AttachmentEditProps } from './AttachmentEdit';
|
4
4
|
|
5
5
|
describe('AttachmentEdit', () => {
|
@@ -52,4 +52,48 @@ describe('AttachmentEdit', () => {
|
|
52
52
|
fireEvent.click(screen.getByText('Cancel'));
|
53
53
|
expect(onCancelHandler).toHaveBeenCalled();
|
54
54
|
});
|
55
|
+
|
56
|
+
it('should render custom button text for footer actions buttons', () => {
|
57
|
+
render(
|
58
|
+
<AttachmentEdit
|
59
|
+
code="Hello world"
|
60
|
+
fileName="greetings.txt"
|
61
|
+
isModalOpen={true}
|
62
|
+
onCancel={jest.fn()}
|
63
|
+
onSave={jest.fn()}
|
64
|
+
handleModalToggle={jest.fn()}
|
65
|
+
primaryActionButtonText="Save"
|
66
|
+
secondaryActionButtonText="Close"
|
67
|
+
/>
|
68
|
+
);
|
69
|
+
|
70
|
+
expect(screen.getByText('Save')).toBeInTheDocument();
|
71
|
+
expect(screen.getByText('Close')).toBeInTheDocument();
|
72
|
+
});
|
73
|
+
|
74
|
+
it('should render AttachmentEdit with custom classNames', async () => {
|
75
|
+
render(
|
76
|
+
<AttachmentEdit
|
77
|
+
code="Hello world"
|
78
|
+
fileName="greetings.txt"
|
79
|
+
isModalOpen={true}
|
80
|
+
onCancel={jest.fn()}
|
81
|
+
onSave={jest.fn()}
|
82
|
+
handleModalToggle={jest.fn()}
|
83
|
+
primaryActionButtonText="Save"
|
84
|
+
secondaryActionButtonText="Close"
|
85
|
+
modalHeaderClassName="custom-header-class"
|
86
|
+
modalBodyClassName="custom-body-class"
|
87
|
+
modalFooterClassName="custom-footer-class"
|
88
|
+
></AttachmentEdit>
|
89
|
+
);
|
90
|
+
|
91
|
+
const modal = screen.getByRole('dialog');
|
92
|
+
const modalHeader = within(modal).getByRole('banner');
|
93
|
+
expect(modalHeader).toHaveClass('custom-header-class');
|
94
|
+
const modalBody = modal.querySelector('#code-modal-body');
|
95
|
+
expect(modalBody).toHaveClass('custom-body-class');
|
96
|
+
const modalfooter = within(modal).getByRole('contentinfo');
|
97
|
+
expect(modalfooter).toHaveClass('custom-footer-class');
|
98
|
+
});
|
55
99
|
});
|
@@ -1,7 +1,7 @@
|
|
1
1
|
// ============================================================================
|
2
2
|
// Attachment Edit - Chatbot Code Snippet Editor
|
3
3
|
// ============================================================================
|
4
|
-
import
|
4
|
+
import type { FunctionComponent, MouseEvent as ReactMouseEvent } from 'react';
|
5
5
|
import CodeModal from '../CodeModal';
|
6
6
|
import { ChatbotDisplayMode } from '../Chatbot';
|
7
7
|
|
@@ -24,9 +24,19 @@ export interface AttachmentEditProps {
|
|
24
24
|
displayMode?: ChatbotDisplayMode;
|
25
25
|
/** Sets modal to compact styling. */
|
26
26
|
isCompact?: boolean;
|
27
|
+
/** Primary action button text */
|
28
|
+
primaryActionButtonText?: string;
|
29
|
+
/** Secondary action button text */
|
30
|
+
secondaryActionButtonText?: string;
|
31
|
+
/** Class applied to modal header */
|
32
|
+
modalHeaderClassName?: string;
|
33
|
+
/** Class applied to modal body */
|
34
|
+
modalBodyClassName?: string;
|
35
|
+
/** Class applied to modal footer */
|
36
|
+
modalFooterClassName?: string;
|
27
37
|
}
|
28
38
|
|
29
|
-
export const AttachmentEdit:
|
39
|
+
export const AttachmentEdit: FunctionComponent<AttachmentEditProps> = ({
|
30
40
|
fileName,
|
31
41
|
code,
|
32
42
|
handleModalToggle,
|
@@ -35,14 +45,19 @@ export const AttachmentEdit: React.FunctionComponent<AttachmentEditProps> = ({
|
|
35
45
|
onSave,
|
36
46
|
title = 'Edit attachment',
|
37
47
|
displayMode = ChatbotDisplayMode.default,
|
38
|
-
isCompact
|
48
|
+
isCompact,
|
49
|
+
modalHeaderClassName,
|
50
|
+
modalBodyClassName,
|
51
|
+
modalFooterClassName,
|
52
|
+
primaryActionButtonText = 'Save',
|
53
|
+
secondaryActionButtonText = 'Cancel'
|
39
54
|
}: AttachmentEditProps) => {
|
40
|
-
const handleSave = (_event:
|
55
|
+
const handleSave = (_event: ReactMouseEvent | MouseEvent | KeyboardEvent, code) => {
|
41
56
|
handleModalToggle(_event);
|
42
57
|
onSave(_event, code);
|
43
58
|
};
|
44
59
|
|
45
|
-
const handleCancel = (_event:
|
60
|
+
const handleCancel = (_event: ReactMouseEvent | MouseEvent | KeyboardEvent) => {
|
46
61
|
handleModalToggle(_event);
|
47
62
|
onCancel(_event);
|
48
63
|
};
|
@@ -55,11 +70,14 @@ export const AttachmentEdit: React.FunctionComponent<AttachmentEditProps> = ({
|
|
55
70
|
isModalOpen={isModalOpen}
|
56
71
|
onPrimaryAction={handleSave}
|
57
72
|
onSecondaryAction={handleCancel}
|
58
|
-
primaryActionBtn=
|
59
|
-
secondaryActionBtn=
|
73
|
+
primaryActionBtn={primaryActionButtonText}
|
74
|
+
secondaryActionBtn={secondaryActionButtonText}
|
60
75
|
title={title}
|
61
76
|
displayMode={displayMode}
|
62
77
|
isCompact={isCompact}
|
78
|
+
modalHeaderClassName={modalHeaderClassName}
|
79
|
+
modalBodyClassName={modalBodyClassName}
|
80
|
+
modalFooterClassName={modalFooterClassName}
|
63
81
|
/>
|
64
82
|
);
|
65
83
|
};
|
package/src/Chatbot/Chatbot.tsx
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
// ============================================================================
|
2
2
|
// Chatbot
|
3
3
|
// ============================================================================
|
4
|
-
import
|
4
|
+
import type { Ref, FunctionComponent } from 'react';
|
5
|
+
|
6
|
+
import { forwardRef } from 'react';
|
5
7
|
import { motion } from 'framer-motion';
|
6
8
|
|
7
9
|
export interface ChatbotProps {
|
@@ -29,7 +31,7 @@ export enum ChatbotDisplayMode {
|
|
29
31
|
drawer = 'drawer'
|
30
32
|
}
|
31
33
|
|
32
|
-
const ChatbotBase:
|
34
|
+
const ChatbotBase: FunctionComponent<ChatbotProps> = ({
|
33
35
|
children,
|
34
36
|
displayMode = ChatbotDisplayMode.default,
|
35
37
|
isVisible = true,
|
@@ -69,7 +71,7 @@ const ChatbotBase: React.FunctionComponent<ChatbotProps> = ({
|
|
69
71
|
);
|
70
72
|
};
|
71
73
|
|
72
|
-
const Chatbot =
|
74
|
+
const Chatbot = forwardRef((props: ChatbotProps, ref: Ref<HTMLDivElement>) => (
|
73
75
|
<ChatbotBase innerRef={ref} {...props} />
|
74
76
|
));
|
75
77
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import
|
1
|
+
import type { FunctionComponent } from 'react';
|
2
2
|
import { Alert, AlertActionCloseButton, AlertProps } from '@patternfly/react-core';
|
3
3
|
|
4
4
|
export interface ChatbotAlert extends AlertProps {
|
@@ -6,7 +6,7 @@ export interface ChatbotAlert extends AlertProps {
|
|
6
6
|
onClose?: () => void;
|
7
7
|
}
|
8
8
|
|
9
|
-
export const ChatbotAlert:
|
9
|
+
export const ChatbotAlert: FunctionComponent<ChatbotAlert> = ({
|
10
10
|
variant = 'info',
|
11
11
|
title,
|
12
12
|
children = '',
|
@@ -1,16 +1,16 @@
|
|
1
1
|
// ============================================================================
|
2
2
|
// Chatbot Main
|
3
3
|
// ============================================================================
|
4
|
-
import
|
4
|
+
import type { HTMLProps, FunctionComponent } from 'react';
|
5
5
|
|
6
|
-
export interface ChatbotContentProps extends
|
6
|
+
export interface ChatbotContentProps extends HTMLProps<HTMLDivElement> {
|
7
7
|
/** Content to be displayed in the chatbot */
|
8
8
|
children: React.ReactNode;
|
9
9
|
/** Custom classname for the ChatbotContent component */
|
10
10
|
className?: string;
|
11
11
|
}
|
12
12
|
|
13
|
-
export const ChatbotContent:
|
13
|
+
export const ChatbotContent: FunctionComponent<ChatbotContentProps> = ({
|
14
14
|
children,
|
15
15
|
className,
|
16
16
|
...props
|
@@ -1,7 +1,9 @@
|
|
1
1
|
// ============================================================================
|
2
2
|
// Chatbot Header - Chatbot Conversation History Nav
|
3
3
|
// ============================================================================
|
4
|
-
import
|
4
|
+
import type { MouseEvent, FunctionComponent, Ref } from 'react';
|
5
|
+
|
6
|
+
import { useState } from 'react';
|
5
7
|
|
6
8
|
// Import PatternFly components
|
7
9
|
import { MenuToggleElement, Tooltip, MenuToggle, Dropdown, DropdownProps } from '@patternfly/react-core';
|
@@ -19,15 +21,15 @@ export interface ChatbotConversationHistoryDropdownProps extends Omit<DropdownPr
|
|
19
21
|
onSelect?: (event?: React.MouseEvent, value?: string | number) => void;
|
20
22
|
}
|
21
23
|
|
22
|
-
export const ChatbotConversationHistoryDropdown:
|
24
|
+
export const ChatbotConversationHistoryDropdown: FunctionComponent<ChatbotConversationHistoryDropdownProps> = ({
|
23
25
|
menuItems,
|
24
26
|
menuClassName,
|
25
27
|
onSelect,
|
26
28
|
label
|
27
29
|
}: ChatbotConversationHistoryDropdownProps) => {
|
28
|
-
const [isOpen, setIsOpen] =
|
30
|
+
const [isOpen, setIsOpen] = useState(false);
|
29
31
|
|
30
|
-
const toggle = (toggleRef:
|
32
|
+
const toggle = (toggleRef: Ref<MenuToggleElement>) => (
|
31
33
|
<Tooltip
|
32
34
|
className="pf-chatbot__tooltip"
|
33
35
|
content={label ?? 'Conversation options'}
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import React from 'react';
|
2
1
|
import '@testing-library/jest-dom';
|
3
2
|
import { fireEvent, render, screen, waitFor } from '@testing-library/react';
|
4
3
|
|
@@ -6,6 +5,7 @@ import { ChatbotDisplayMode } from '../Chatbot/Chatbot';
|
|
6
5
|
import ChatbotConversationHistoryNav, { Conversation } from './ChatbotConversationHistoryNav';
|
7
6
|
import { EmptyStateStatus, Spinner } from '@patternfly/react-core';
|
8
7
|
import { OutlinedCommentsIcon, SearchIcon } from '@patternfly/react-icons';
|
8
|
+
import { ComponentType } from 'react';
|
9
9
|
|
10
10
|
const ERROR = {
|
11
11
|
bodyText: (
|
@@ -25,13 +25,13 @@ const ERROR = {
|
|
25
25
|
const NO_RESULTS = {
|
26
26
|
bodyText: 'Adjust your search query and try again. Check your spelling or try a more general term.',
|
27
27
|
titleText: 'No results found',
|
28
|
-
icon: SearchIcon
|
28
|
+
icon: SearchIcon as ComponentType<any>
|
29
29
|
};
|
30
30
|
|
31
31
|
const EMPTY_STATE = {
|
32
32
|
bodyText: 'Access timely assistance by starting a conversation with an AI model.',
|
33
33
|
titleText: 'Start a new chat',
|
34
|
-
icon: OutlinedCommentsIcon
|
34
|
+
icon: OutlinedCommentsIcon as ComponentType<any>
|
35
35
|
};
|
36
36
|
|
37
37
|
const ERROR_WITHOUT_BUTTON = {
|