@patternfly/chatbot 6.3.0-prerelease.1 → 6.3.0-prerelease.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/AttachmentEdit/AttachmentEdit.d.ts +2 -0
- package/dist/cjs/AttachmentEdit/AttachmentEdit.js +2 -2
- package/dist/cjs/Chatbot/Chatbot.d.ts +2 -0
- package/dist/cjs/Chatbot/Chatbot.js +2 -2
- package/dist/cjs/Chatbot/Chatbot.test.js +4 -0
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +2 -0
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +3 -3
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +4 -0
- package/dist/cjs/ChatbotFooter/ChatbotFooter.d.ts +1 -0
- package/dist/cjs/ChatbotFooter/ChatbotFooter.js +2 -2
- package/dist/cjs/ChatbotFooter/ChatbotFooter.test.d.ts +1 -1
- package/dist/cjs/ChatbotFooter/ChatbotFooter.test.js +5 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeader.js +1 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +4 -2
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.js +20 -6
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +1 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.test.js +5 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMain.js +1 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.d.ts +3 -2
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.js +20 -6
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +1 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.test.js +5 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +1 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +3 -3
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +1 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +5 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +1 -0
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +2 -2
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +1 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +5 -0
- package/dist/cjs/ChatbotModal/ChatbotModal.d.ts +3 -0
- package/dist/cjs/ChatbotModal/ChatbotModal.js +2 -2
- package/dist/cjs/ChatbotModal/ChatbotModal.test.d.ts +1 -0
- package/dist/cjs/ChatbotModal/ChatbotModal.test.js +28 -0
- package/dist/cjs/ChatbotPopover/ChatbotPopover.js +1 -1
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +1 -0
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +3 -3
- package/dist/cjs/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +4 -0
- package/dist/cjs/CodeModal/CodeModal.d.ts +2 -0
- package/dist/cjs/CodeModal/CodeModal.js +3 -3
- package/dist/cjs/CodeModal/CodeModal.test.d.ts +1 -0
- package/dist/cjs/CodeModal/CodeModal.test.js +15 -0
- package/dist/cjs/FileDetails/FileDetails.js +1 -1
- package/dist/cjs/Message/Message.d.ts +2 -0
- package/dist/cjs/Message/Message.js +6 -6
- package/dist/cjs/Message/Message.test.js +12 -0
- package/dist/cjs/Message/QuickResponse/QuickResponse.d.ts +2 -0
- package/dist/cjs/Message/QuickResponse/QuickResponse.js +2 -2
- package/dist/cjs/Message/QuickStarts/QuickStartTile.d.ts +2 -0
- package/dist/cjs/Message/QuickStarts/QuickStartTile.js +2 -2
- package/dist/cjs/Message/UserFeedback/UserFeedback.js +4 -4
- package/dist/cjs/Message/UserFeedback/UserFeedback.test.js +4 -0
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.js +4 -4
- package/dist/cjs/Message/UserFeedback/UserFeedbackComplete.test.js +4 -0
- package/dist/cjs/MessageBar/AttachButton.d.ts +1 -0
- package/dist/cjs/MessageBar/AttachButton.js +3 -3
- package/dist/cjs/MessageBar/AttachButton.test.js +4 -0
- package/dist/cjs/MessageBar/MessageBar.d.ts +5 -0
- package/dist/cjs/MessageBar/MessageBar.js +14 -13
- package/dist/cjs/MessageBar/MessageBar.test.js +13 -0
- package/dist/cjs/MessageBar/MicrophoneButton.d.ts +1 -0
- package/dist/cjs/MessageBar/MicrophoneButton.js +3 -3
- package/dist/cjs/MessageBar/SendButton.d.ts +1 -0
- package/dist/cjs/MessageBar/SendButton.js +3 -3
- package/dist/cjs/MessageBar/SendButton.test.js +4 -0
- package/dist/cjs/MessageBar/StopButton.d.ts +1 -0
- package/dist/cjs/MessageBar/StopButton.js +3 -3
- package/dist/cjs/MessageBar/StopButton.test.js +4 -0
- package/dist/cjs/MessageBox/MessageBox.d.ts +4 -0
- package/dist/cjs/MessageBox/MessageBox.js +16 -2
- package/dist/cjs/MessageBox/MessageBox.test.js +43 -0
- package/dist/cjs/PreviewAttachment/PreviewAttachment.d.ts +2 -0
- package/dist/cjs/PreviewAttachment/PreviewAttachment.js +2 -2
- package/dist/cjs/Settings/SettingsForm.d.ts +2 -0
- package/dist/cjs/Settings/SettingsForm.js +2 -2
- package/dist/cjs/Settings/SettingsForm.test.d.ts +1 -1
- package/dist/cjs/Settings/SettingsForm.test.js +12 -0
- package/dist/cjs/SourcesCard/SourcesCard.js +2 -2
- package/dist/cjs/TermsOfUse/TermsOfUse.d.ts +2 -0
- package/dist/cjs/TermsOfUse/TermsOfUse.js +5 -5
- package/dist/css/main.css +218 -15
- package/dist/css/main.css.map +1 -1
- package/dist/esm/AttachmentEdit/AttachmentEdit.d.ts +2 -0
- package/dist/esm/AttachmentEdit/AttachmentEdit.js +2 -2
- package/dist/esm/Chatbot/Chatbot.d.ts +2 -0
- package/dist/esm/Chatbot/Chatbot.js +2 -2
- package/dist/esm/Chatbot/Chatbot.test.js +4 -0
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.d.ts +2 -0
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +3 -3
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.js +4 -0
- package/dist/esm/ChatbotFooter/ChatbotFooter.d.ts +1 -0
- package/dist/esm/ChatbotFooter/ChatbotFooter.js +2 -2
- package/dist/esm/ChatbotFooter/ChatbotFooter.test.d.ts +1 -1
- package/dist/esm/ChatbotFooter/ChatbotFooter.test.js +5 -0
- package/dist/esm/ChatbotHeader/ChatbotHeader.js +1 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.d.ts +4 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.js +20 -6
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.d.ts +1 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.test.js +5 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderMain.js +1 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.d.ts +3 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.js +20 -6
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.d.ts +1 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.test.js +5 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.d.ts +1 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.js +3 -3
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.d.ts +1 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.js +5 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.d.ts +1 -0
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.js +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.d.ts +1 -1
- package/dist/esm/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.js +5 -0
- package/dist/esm/ChatbotModal/ChatbotModal.d.ts +3 -0
- package/dist/esm/ChatbotModal/ChatbotModal.js +2 -2
- package/dist/esm/ChatbotModal/ChatbotModal.test.d.ts +1 -0
- package/dist/esm/ChatbotModal/ChatbotModal.test.js +23 -0
- package/dist/esm/ChatbotPopover/ChatbotPopover.js +1 -1
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.d.ts +1 -0
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.js +3 -3
- package/dist/esm/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.js +4 -0
- package/dist/esm/CodeModal/CodeModal.d.ts +2 -0
- package/dist/esm/CodeModal/CodeModal.js +3 -3
- package/dist/esm/CodeModal/CodeModal.test.d.ts +1 -0
- package/dist/esm/CodeModal/CodeModal.test.js +10 -0
- package/dist/esm/FileDetails/FileDetails.js +1 -1
- package/dist/esm/Message/Message.d.ts +2 -0
- package/dist/esm/Message/Message.js +6 -6
- package/dist/esm/Message/Message.test.js +12 -0
- package/dist/esm/Message/QuickResponse/QuickResponse.d.ts +2 -0
- package/dist/esm/Message/QuickResponse/QuickResponse.js +2 -2
- package/dist/esm/Message/QuickStarts/QuickStartTile.d.ts +2 -0
- package/dist/esm/Message/QuickStarts/QuickStartTile.js +2 -2
- package/dist/esm/Message/UserFeedback/UserFeedback.js +4 -4
- package/dist/esm/Message/UserFeedback/UserFeedback.test.js +4 -0
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.js +4 -4
- package/dist/esm/Message/UserFeedback/UserFeedbackComplete.test.js +4 -0
- package/dist/esm/MessageBar/AttachButton.d.ts +1 -0
- package/dist/esm/MessageBar/AttachButton.js +3 -3
- package/dist/esm/MessageBar/AttachButton.test.js +4 -0
- package/dist/esm/MessageBar/MessageBar.d.ts +5 -0
- package/dist/esm/MessageBar/MessageBar.js +14 -13
- package/dist/esm/MessageBar/MessageBar.test.js +13 -0
- package/dist/esm/MessageBar/MicrophoneButton.d.ts +1 -0
- package/dist/esm/MessageBar/MicrophoneButton.js +3 -3
- package/dist/esm/MessageBar/SendButton.d.ts +1 -0
- package/dist/esm/MessageBar/SendButton.js +3 -3
- package/dist/esm/MessageBar/SendButton.test.js +4 -0
- package/dist/esm/MessageBar/StopButton.d.ts +1 -0
- package/dist/esm/MessageBar/StopButton.js +3 -3
- package/dist/esm/MessageBar/StopButton.test.js +4 -0
- package/dist/esm/MessageBox/MessageBox.d.ts +4 -0
- package/dist/esm/MessageBox/MessageBox.js +16 -2
- package/dist/esm/MessageBox/MessageBox.test.js +44 -1
- package/dist/esm/PreviewAttachment/PreviewAttachment.d.ts +2 -0
- package/dist/esm/PreviewAttachment/PreviewAttachment.js +2 -2
- package/dist/esm/Settings/SettingsForm.d.ts +2 -0
- package/dist/esm/Settings/SettingsForm.js +2 -2
- package/dist/esm/Settings/SettingsForm.test.d.ts +1 -1
- package/dist/esm/Settings/SettingsForm.test.js +12 -0
- package/dist/esm/SourcesCard/SourcesCard.js +2 -2
- package/dist/esm/TermsOfUse/TermsOfUse.d.ts +2 -0
- package/dist/esm/TermsOfUse/TermsOfUse.js +5 -5
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachmentEdit.tsx +10 -1
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithFeedback.tsx +33 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickResponses.tsx +24 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickStart.tsx +11 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithSources.tsx +21 -0
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/PreviewAttachment.tsx +10 -1
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawer.tsx +9 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithActions.tsx +9 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithSelection.tsx +11 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/CompactSettings.tsx +289 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/TermsOfUseCompact.tsx +136 -0
- package/patternfly-docs/content/extensions/chatbot/examples/UI/UI.md +14 -0
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +8 -1
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotCompact.tsx +481 -0
- package/src/AttachmentEdit/AttachmentEdit.tsx +5 -1
- package/src/Chatbot/Chatbot.scss +7 -0
- package/src/Chatbot/Chatbot.test.tsx +9 -0
- package/src/Chatbot/Chatbot.tsx +4 -1
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.scss +38 -3
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.test.tsx +18 -0
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.tsx +9 -2
- package/src/ChatbotFooter/ChatbotFooter.scss +5 -0
- package/src/ChatbotFooter/ChatbotFooter.test.tsx +10 -0
- package/src/ChatbotFooter/ChatbotFooter.tsx +3 -1
- package/src/ChatbotHeader/ChatbotHeader.scss +25 -0
- package/src/ChatbotHeader/ChatbotHeader.tsx +1 -1
- package/src/ChatbotHeader/ChatbotHeaderCloseButton.test.tsx +6 -0
- package/src/ChatbotHeader/ChatbotHeaderCloseButton.tsx +12 -6
- package/src/ChatbotHeader/ChatbotHeaderMain.tsx +3 -1
- package/src/ChatbotHeader/ChatbotHeaderMenu.test.tsx +8 -0
- package/src/ChatbotHeader/ChatbotHeaderMenu.tsx +10 -5
- package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.test.tsx +6 -0
- package/src/ChatbotHeader/ChatbotHeaderOptionsDropdown.tsx +5 -2
- package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.test.tsx +10 -0
- package/src/ChatbotHeader/ChatbotHeaderSelectorDropdown.tsx +4 -0
- package/src/ChatbotModal/ChatbotModal.scss +15 -4
- package/src/ChatbotModal/ChatbotModal.test.tsx +59 -0
- package/src/ChatbotModal/ChatbotModal.tsx +5 -1
- package/src/ChatbotPopover/ChatbotPopover.scss +9 -5
- package/src/ChatbotPopover/ChatbotPopover.tsx +1 -1
- package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.scss +9 -1
- package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.test.tsx +13 -0
- package/src/ChatbotWelcomePrompt/ChatbotWelcomePrompt.tsx +13 -2
- package/src/ChatbotWelcomePrompt/__snapshots__/ChatbotWelcomePrompt.test.tsx.snap +1 -1
- package/src/CodeModal/CodeModal.scss +11 -3
- package/src/CodeModal/CodeModal.test.tsx +24 -0
- package/src/CodeModal/CodeModal.tsx +6 -2
- package/src/FileDetails/FileDetails.tsx +1 -1
- package/src/FileDetails/__snapshots__/FileDetails.test.tsx.snap +1 -1
- package/src/FileDetailsLabel/__snapshots__/FileDetailsLabel.test.tsx.snap +1 -1
- package/src/Message/Message.scss +27 -0
- package/src/Message/Message.test.tsx +21 -0
- package/src/Message/Message.tsx +10 -3
- package/src/Message/QuickResponse/QuickResponse.tsx +5 -1
- package/src/Message/QuickStarts/QuickStartTile.tsx +5 -1
- package/src/Message/TextMessage/TextMessage.scss +25 -0
- package/src/Message/UserFeedback/UserFeedback.scss +24 -3
- package/src/Message/UserFeedback/UserFeedback.test.tsx +13 -0
- package/src/Message/UserFeedback/UserFeedback.tsx +4 -2
- package/src/Message/UserFeedback/UserFeedbackComplete.test.tsx +4 -0
- package/src/Message/UserFeedback/UserFeedbackComplete.tsx +10 -2
- package/src/MessageBar/AttachButton.scss +10 -0
- package/src/MessageBar/AttachButton.test.tsx +4 -0
- package/src/MessageBar/AttachButton.tsx +5 -2
- package/src/MessageBar/MessageBar.scss +17 -0
- package/src/MessageBar/MessageBar.test.tsx +13 -0
- package/src/MessageBar/MessageBar.tsx +23 -8
- package/src/MessageBar/MicrophoneButton.scss +10 -0
- package/src/MessageBar/MicrophoneButton.tsx +5 -2
- package/src/MessageBar/SendButton.scss +10 -0
- package/src/MessageBar/SendButton.test.tsx +5 -1
- package/src/MessageBar/SendButton.tsx +5 -2
- package/src/MessageBar/StopButton.scss +10 -0
- package/src/MessageBar/StopButton.test.tsx +5 -1
- package/src/MessageBar/StopButton.tsx +5 -2
- package/src/MessageBox/MessageBox.scss +6 -0
- package/src/MessageBox/MessageBox.test.tsx +45 -1
- package/src/MessageBox/MessageBox.tsx +11 -1
- package/src/PreviewAttachment/PreviewAttachment.tsx +5 -1
- package/src/Settings/Settings.scss +11 -0
- package/src/Settings/SettingsForm.test.tsx +17 -0
- package/src/Settings/SettingsForm.tsx +12 -2
- package/src/SourcesCard/SourcesCard.scss +8 -0
- package/src/SourcesCard/SourcesCard.tsx +2 -1
- package/src/TermsOfUse/TermsOfUse.scss +20 -0
- package/src/TermsOfUse/TermsOfUse.tsx +9 -4
@@ -1,4 +1,15 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
3
|
+
var t = {};
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
5
|
+
t[p] = s[p];
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
9
|
+
t[p[i]] = s[p[i]];
|
10
|
+
}
|
11
|
+
return t;
|
12
|
+
};
|
2
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
15
|
};
|
@@ -9,7 +20,8 @@ exports.MessageBox = void 0;
|
|
9
20
|
// ============================================================================
|
10
21
|
const react_1 = __importDefault(require("react"));
|
11
22
|
const JumpButton_1 = __importDefault(require("./JumpButton"));
|
12
|
-
const MessageBoxBase = (
|
23
|
+
const MessageBoxBase = (_a) => {
|
24
|
+
var { announcement, ariaLabel = 'Scrollable message log', children, innerRef, className, position = 'top', onScrollToTopClick, onScrollToBottomClick } = _a, props = __rest(_a, ["announcement", "ariaLabel", "children", "innerRef", "className", "position", "onScrollToTopClick", "onScrollToBottomClick"]);
|
13
25
|
const [atTop, setAtTop] = react_1.default.useState(false);
|
14
26
|
const [atBottom, setAtBottom] = react_1.default.useState(true);
|
15
27
|
const [isOverflowing, setIsOverflowing] = react_1.default.useState(false);
|
@@ -42,12 +54,14 @@ const MessageBoxBase = ({ announcement, ariaLabel = 'Scrollable message log', ch
|
|
42
54
|
if (element) {
|
43
55
|
element.scrollTo({ top: 0, behavior: 'smooth' });
|
44
56
|
}
|
57
|
+
onScrollToTopClick && onScrollToTopClick();
|
45
58
|
}, [messageBoxRef]);
|
46
59
|
const scrollToBottom = react_1.default.useCallback(() => {
|
47
60
|
const element = messageBoxRef.current;
|
48
61
|
if (element) {
|
49
62
|
element.scrollTo({ top: element.scrollHeight, behavior: 'smooth' });
|
50
63
|
}
|
64
|
+
onScrollToBottomClick && onScrollToBottomClick();
|
51
65
|
}, [messageBoxRef]);
|
52
66
|
// Detect scroll position
|
53
67
|
react_1.default.useEffect(() => {
|
@@ -65,7 +79,7 @@ const MessageBoxBase = ({ announcement, ariaLabel = 'Scrollable message log', ch
|
|
65
79
|
}, [checkOverflow, handleScroll, messageBoxRef]);
|
66
80
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
67
81
|
react_1.default.createElement(JumpButton_1.default, { position: "top", isHidden: isOverflowing && atTop, onClick: scrollToTop }),
|
68
|
-
react_1.default.createElement("div", { role: "region", tabIndex: 0, "aria-label": ariaLabel, className: `pf-chatbot__messagebox ${position === 'bottom' && 'pf-chatbot__messagebox--bottom'} ${className !== null && className !== void 0 ? className : ''}`, ref: innerRef !== null && innerRef !== void 0 ? innerRef : messageBoxRef },
|
82
|
+
react_1.default.createElement("div", Object.assign({ role: "region", tabIndex: 0, "aria-label": ariaLabel, className: `pf-chatbot__messagebox ${position === 'bottom' && 'pf-chatbot__messagebox--bottom'} ${className !== null && className !== void 0 ? className : ''}`, ref: innerRef !== null && innerRef !== void 0 ? innerRef : messageBoxRef }, props),
|
69
83
|
children,
|
70
84
|
react_1.default.createElement("div", { className: "pf-chatbot__messagebox-announcement", "aria-live": "polite" }, announcement)),
|
71
85
|
react_1.default.createElement(JumpButton_1.default, { position: "bottom", isHidden: isOverflowing && atBottom, onClick: scrollToBottom })));
|
@@ -1,4 +1,13 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
+
});
|
10
|
+
};
|
2
11
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
13
|
};
|
@@ -6,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
15
|
const react_1 = __importDefault(require("react"));
|
7
16
|
const react_2 = require("@testing-library/react");
|
8
17
|
const MessageBox_1 = require("./MessageBox");
|
18
|
+
const user_event_1 = __importDefault(require("@testing-library/user-event"));
|
9
19
|
describe('MessageBox', () => {
|
10
20
|
it('should render Message box', () => {
|
11
21
|
(0, react_2.render)(react_1.default.createElement(MessageBox_1.MessageBox, null,
|
@@ -19,4 +29,37 @@ describe('MessageBox', () => {
|
|
19
29
|
expect(ref.current).not.toBeNull();
|
20
30
|
expect(ref.current).toBeInstanceOf(HTMLDivElement);
|
21
31
|
});
|
32
|
+
it('should call onScrollToBottomClick when scroll to top button is clicked', () => __awaiter(void 0, void 0, void 0, function* () {
|
33
|
+
const spy = jest.fn();
|
34
|
+
(0, react_2.render)(react_1.default.createElement(MessageBox_1.MessageBox, { onScrollToBottomClick: spy },
|
35
|
+
react_1.default.createElement("div", null, "Test message content")));
|
36
|
+
// this forces button to show
|
37
|
+
const region = react_2.screen.getByRole('region');
|
38
|
+
Object.defineProperty(region, 'scrollHeight', { configurable: true, value: 1000 });
|
39
|
+
Object.defineProperty(region, 'clientHeight', { configurable: true, value: 500 });
|
40
|
+
Object.defineProperty(region, 'scrollTop', { configurable: true, value: 0 });
|
41
|
+
region.dispatchEvent(new Event('scroll'));
|
42
|
+
yield (0, react_2.waitFor)(() => {
|
43
|
+
user_event_1.default.click(react_2.screen.getByRole('button', { name: /Jump bottom button/i }));
|
44
|
+
expect(spy).toHaveBeenCalled();
|
45
|
+
});
|
46
|
+
}));
|
47
|
+
it('should call onScrollToTopClick when scroll to top button is clicked', () => __awaiter(void 0, void 0, void 0, function* () {
|
48
|
+
const spy = jest.fn();
|
49
|
+
(0, react_2.render)(react_1.default.createElement(MessageBox_1.MessageBox, { onScrollToTopClick: spy },
|
50
|
+
react_1.default.createElement("div", null, "Test message content")));
|
51
|
+
// this forces button to show
|
52
|
+
const region = react_2.screen.getByRole('region');
|
53
|
+
Object.defineProperty(region, 'scrollHeight', { configurable: true, value: 1000 });
|
54
|
+
Object.defineProperty(region, 'clientHeight', { configurable: true, value: 500 });
|
55
|
+
Object.defineProperty(region, 'scrollTop', {
|
56
|
+
configurable: true,
|
57
|
+
value: 500
|
58
|
+
});
|
59
|
+
region.dispatchEvent(new Event('scroll'));
|
60
|
+
yield (0, react_2.waitFor)(() => {
|
61
|
+
user_event_1.default.click(react_2.screen.getByRole('button', { name: /Jump top button/i }));
|
62
|
+
expect(spy).toHaveBeenCalled();
|
63
|
+
});
|
64
|
+
}));
|
22
65
|
});
|
@@ -17,6 +17,8 @@ export interface PreviewAttachmentProps {
|
|
17
17
|
title?: string;
|
18
18
|
/** Display mode for the Chatbot parent; this influences the styles applied */
|
19
19
|
displayMode?: ChatbotDisplayMode;
|
20
|
+
/** Sets modal to compact styling. */
|
21
|
+
isCompact?: boolean;
|
20
22
|
}
|
21
23
|
export declare const PreviewAttachment: React.FunctionComponent<PreviewAttachmentProps>;
|
22
24
|
export default PreviewAttachment;
|
@@ -10,7 +10,7 @@ exports.PreviewAttachment = void 0;
|
|
10
10
|
const react_1 = __importDefault(require("react"));
|
11
11
|
const CodeModal_1 = __importDefault(require("../CodeModal"));
|
12
12
|
const Chatbot_1 = require("../Chatbot");
|
13
|
-
const PreviewAttachment = ({ fileName, code, handleModalToggle, isModalOpen, onDismiss = undefined, onEdit, title = 'Preview attachment', displayMode = Chatbot_1.ChatbotDisplayMode.default }) => {
|
13
|
+
const PreviewAttachment = ({ fileName, code, handleModalToggle, isModalOpen, onDismiss = undefined, onEdit, title = 'Preview attachment', displayMode = Chatbot_1.ChatbotDisplayMode.default, isCompact }) => {
|
14
14
|
const handleEdit = (_event) => {
|
15
15
|
handleModalToggle(_event);
|
16
16
|
onEdit(_event);
|
@@ -19,7 +19,7 @@ const PreviewAttachment = ({ fileName, code, handleModalToggle, isModalOpen, onD
|
|
19
19
|
handleModalToggle(_event);
|
20
20
|
onDismiss && onDismiss(_event);
|
21
21
|
};
|
22
|
-
return (react_1.default.createElement(CodeModal_1.default, { codeEditorControlClassName: "pf-chatbot__code-modal--controls", code: code, fileName: fileName, handleModalToggle: handleModalToggle, isCopyEnabled: true, isLineNumbersVisible: false, isModalOpen: isModalOpen, onPrimaryAction: handleEdit, onSecondaryAction: handleDismiss, primaryActionBtn: "Edit", secondaryActionBtn: "Dismiss", title: title, isReadOnly: true, displayMode: displayMode }));
|
22
|
+
return (react_1.default.createElement(CodeModal_1.default, { codeEditorControlClassName: "pf-chatbot__code-modal--controls", code: code, fileName: fileName, handleModalToggle: handleModalToggle, isCopyEnabled: true, isLineNumbersVisible: false, isModalOpen: isModalOpen, onPrimaryAction: handleEdit, onSecondaryAction: handleDismiss, primaryActionBtn: "Edit", secondaryActionBtn: "Dismiss", title: title, isReadOnly: true, displayMode: displayMode, isCompact: isCompact }));
|
23
23
|
};
|
24
24
|
exports.PreviewAttachment = PreviewAttachment;
|
25
25
|
exports.default = exports.PreviewAttachment;
|
@@ -8,6 +8,8 @@ export interface SettingsFormProps {
|
|
8
8
|
label: string;
|
9
9
|
field: React.ReactElement;
|
10
10
|
}[];
|
11
|
+
/** Sets form to compact styling. */
|
12
|
+
isCompact?: boolean;
|
11
13
|
}
|
12
14
|
export declare const SettingsForm: React.FunctionComponent<SettingsFormProps>;
|
13
15
|
export default SettingsForm;
|
@@ -17,8 +17,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.SettingsForm = void 0;
|
18
18
|
const react_1 = __importDefault(require("react"));
|
19
19
|
const SettingsForm = (_a) => {
|
20
|
-
var { className, fields = [] } = _a, props = __rest(_a, ["className", "fields"]);
|
21
|
-
return (react_1.default.createElement("div", Object.assign({ className: `pf-chatbot__settings-form-container ${className}` }, props),
|
20
|
+
var { className, fields = [], isCompact } = _a, props = __rest(_a, ["className", "fields", "isCompact"]);
|
21
|
+
return (react_1.default.createElement("div", Object.assign({ className: `pf-chatbot__settings-form-container ${isCompact ? 'pf-m-compact' : ''} ${className ? ` ${className}` : ''}` }, props),
|
22
22
|
react_1.default.createElement("form", { className: "pf-chatbot__settings-form" }, fields.map((field) => (react_1.default.createElement("div", { className: "pf-chatbot__settings-form-row", key: field.label },
|
23
23
|
react_1.default.createElement("label", { className: "pf-chatbot__settings-label", htmlFor: field.id }, field.label),
|
24
24
|
field.field))))));
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
import '@testing-library/jest-dom';
|
@@ -7,6 +7,7 @@ const react_1 = __importDefault(require("react"));
|
|
7
7
|
const react_core_1 = require("@patternfly/react-core");
|
8
8
|
const react_2 = require("@testing-library/react");
|
9
9
|
const SettingsForm_1 = require("./SettingsForm");
|
10
|
+
require("@testing-library/jest-dom");
|
10
11
|
describe('SettingsForm', () => {
|
11
12
|
it('should render settingsForm with custom classname', () => {
|
12
13
|
const { container } = (0, react_2.render)(react_1.default.createElement(SettingsForm_1.SettingsForm, { className: "custom-settings" }));
|
@@ -23,4 +24,15 @@ describe('SettingsForm', () => {
|
|
23
24
|
(0, react_2.render)(react_1.default.createElement(SettingsForm_1.SettingsForm, { fields: fields }));
|
24
25
|
expect(react_2.screen.getByRole('button', { name: 'Archive chat' })).toBeTruthy();
|
25
26
|
});
|
27
|
+
it('should render settingsForm with isCompact', () => {
|
28
|
+
const fields = [
|
29
|
+
{
|
30
|
+
id: 'archived-chat',
|
31
|
+
label: 'Archive chat',
|
32
|
+
field: (react_1.default.createElement(react_core_1.Button, { id: "archived-chat", variant: "secondary" }, "Archive chat"))
|
33
|
+
}
|
34
|
+
];
|
35
|
+
(0, react_2.render)(react_1.default.createElement(SettingsForm_1.SettingsForm, { "data-testid": "settings-form", fields: fields, isCompact: true }));
|
36
|
+
expect(react_2.screen.getByTestId('settings-form')).toHaveClass('pf-m-compact');
|
37
|
+
});
|
26
38
|
});
|
@@ -22,7 +22,7 @@ const react_1 = __importDefault(require("react"));
|
|
22
22
|
const react_core_1 = require("@patternfly/react-core");
|
23
23
|
const react_icons_1 = require("@patternfly/react-icons");
|
24
24
|
const SourcesCard = (_a) => {
|
25
|
-
var { className, isDisabled, paginationAriaLabel = 'Pagination', sources, sourceWord = 'source', sourceWordPlural = 'sources', toNextPageAriaLabel = 'Go to next page', toPreviousPageAriaLabel = 'Go to previous page', onNextClick, onPreviousClick, onSetPage, showMoreWords = 'show more', showLessWords = 'show less' } = _a, props = __rest(_a, ["className", "isDisabled", "paginationAriaLabel", "sources", "sourceWord", "sourceWordPlural", "toNextPageAriaLabel", "toPreviousPageAriaLabel", "onNextClick", "onPreviousClick", "onSetPage", "showMoreWords", "showLessWords"]);
|
25
|
+
var { className, isDisabled, paginationAriaLabel = 'Pagination', sources, sourceWord = 'source', sourceWordPlural = 'sources', toNextPageAriaLabel = 'Go to next page', toPreviousPageAriaLabel = 'Go to previous page', onNextClick, onPreviousClick, onSetPage, showMoreWords = 'show more', showLessWords = 'show less', isCompact } = _a, props = __rest(_a, ["className", "isDisabled", "paginationAriaLabel", "sources", "sourceWord", "sourceWordPlural", "toNextPageAriaLabel", "toPreviousPageAriaLabel", "onNextClick", "onPreviousClick", "onSetPage", "showMoreWords", "showLessWords", "isCompact"]);
|
26
26
|
const [page, setPage] = react_1.default.useState(1);
|
27
27
|
const [isExpanded, setIsExpanded] = react_1.default.useState(false);
|
28
28
|
const onToggle = (_event, isExpanded) => {
|
@@ -40,7 +40,7 @@ const SourcesCard = (_a) => {
|
|
40
40
|
};
|
41
41
|
return (react_1.default.createElement("div", { className: "pf-chatbot__source" },
|
42
42
|
react_1.default.createElement("span", null, (0, react_core_1.pluralize)(sources.length, sourceWord, sourceWordPlural)),
|
43
|
-
react_1.default.createElement(react_core_1.Card, Object.assign({ className: "pf-chatbot__sources-card" }, props),
|
43
|
+
react_1.default.createElement(react_core_1.Card, Object.assign({ isCompact: isCompact, className: "pf-chatbot__sources-card" }, props),
|
44
44
|
react_1.default.createElement(react_core_1.CardTitle, { className: "pf-chatbot__sources-card-title" },
|
45
45
|
react_1.default.createElement(react_core_1.Button, { component: "a", variant: react_core_1.ButtonVariant.link, href: sources[page - 1].link, icon: sources[page - 1].isExternal ? react_1.default.createElement(react_icons_1.ExternalLinkSquareAltIcon, null) : undefined, iconPosition: "end", isInline: true, rel: sources[page - 1].isExternal ? 'noreferrer' : undefined, target: sources[page - 1].isExternal ? '_blank' : undefined }, renderTitle(sources[page - 1].title))),
|
46
46
|
sources[page - 1].body && (react_1.default.createElement(react_core_1.CardBody, { className: `pf-chatbot__sources-card-body` }, sources[page - 1].hasShowMore ? (
|
@@ -28,6 +28,8 @@ export interface TermsOfUseProps extends ModalProps {
|
|
28
28
|
innerRef?: React.Ref<HTMLDivElement>;
|
29
29
|
/** OuiaID applied to modal */
|
30
30
|
ouiaId?: string;
|
31
|
+
/** Sets modal to compact styling. */
|
32
|
+
isCompact?: boolean;
|
31
33
|
}
|
32
34
|
export declare const TermsOfUseBase: React.FunctionComponent<TermsOfUseProps>;
|
33
35
|
declare const TermsOfUse: React.ForwardRefExoticComponent<Omit<TermsOfUseProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
@@ -23,7 +23,7 @@ const react_core_1 = require("@patternfly/react-core");
|
|
23
23
|
const Chatbot_1 = require("../Chatbot");
|
24
24
|
const ChatbotModal_1 = __importDefault(require("../ChatbotModal/ChatbotModal"));
|
25
25
|
const TermsOfUseBase = (_a) => {
|
26
|
-
var { handleModalToggle, isModalOpen, onPrimaryAction, onSecondaryAction, primaryActionBtn = 'Accept', secondaryActionBtn = 'Decline', title = 'Terms of use', image, altText, displayMode = Chatbot_1.ChatbotDisplayMode.default, className, children, innerRef, ouiaId = 'TermsOfUse' } = _a, props = __rest(_a, ["handleModalToggle", "isModalOpen", "onPrimaryAction", "onSecondaryAction", "primaryActionBtn", "secondaryActionBtn", "title", "image", "altText", "displayMode", "className", "children", "innerRef", "ouiaId"]);
|
26
|
+
var { handleModalToggle, isModalOpen, onPrimaryAction, onSecondaryAction, primaryActionBtn = 'Accept', secondaryActionBtn = 'Decline', title = 'Terms of use', image, altText, displayMode = Chatbot_1.ChatbotDisplayMode.default, className, children, innerRef, ouiaId = 'TermsOfUse', isCompact } = _a, props = __rest(_a, ["handleModalToggle", "isModalOpen", "onPrimaryAction", "onSecondaryAction", "primaryActionBtn", "secondaryActionBtn", "title", "image", "altText", "displayMode", "className", "children", "innerRef", "ouiaId", "isCompact"]);
|
27
27
|
const handlePrimaryAction = (_event) => {
|
28
28
|
handleModalToggle(_event);
|
29
29
|
onPrimaryAction && onPrimaryAction(_event);
|
@@ -31,13 +31,13 @@ const TermsOfUseBase = (_a) => {
|
|
31
31
|
const handleSecondaryAction = (_event) => {
|
32
32
|
onSecondaryAction(_event);
|
33
33
|
};
|
34
|
-
const modal = (react_1.default.createElement(ChatbotModal_1.default, Object.assign({ isOpen: isModalOpen, ouiaId: ouiaId, "aria-labelledby": "terms-of-use-title", "aria-describedby": "terms-of-use-modal", className: `pf-chatbot__terms-of-use-modal pf-chatbot__terms-of-use-modal--${displayMode} ${className ? className : ''}`, displayMode: displayMode }, props),
|
34
|
+
const modal = (react_1.default.createElement(ChatbotModal_1.default, Object.assign({ isOpen: isModalOpen, ouiaId: ouiaId, "aria-labelledby": "terms-of-use-title", "aria-describedby": "terms-of-use-modal", className: `pf-chatbot__terms-of-use-modal pf-chatbot__terms-of-use-modal--${displayMode} ${isCompact ? 'pf-m-compact' : ''} ${className ? className : ''}`, displayMode: displayMode }, props),
|
35
35
|
react_1.default.createElement("section", { className: `pf-chatbot__terms-of-use--section`, "aria-label": title, tabIndex: -1, ref: innerRef },
|
36
|
-
react_1.default.createElement(react_core_1.ModalHeader,
|
36
|
+
react_1.default.createElement(react_core_1.ModalHeader, { className: "pf-chatbot__terms-of-use--modal-header" },
|
37
37
|
react_1.default.createElement("div", { className: "pf-chatbot__terms-of-use--header" },
|
38
|
-
image && altText && react_1.default.createElement("img", { src: image, className: "pf-chatbot__terms-of-use--image", alt: altText }),
|
38
|
+
!isCompact && image && altText && (react_1.default.createElement("img", { src: image, className: "pf-chatbot__terms-of-use--image", alt: altText })),
|
39
39
|
react_1.default.createElement("h1", { className: "pf-chatbot__terms-of-use--title" }, title))),
|
40
|
-
react_1.default.createElement(react_core_1.ModalBody,
|
40
|
+
react_1.default.createElement(react_core_1.ModalBody, { className: "pf-chatbot__terms-of-use--modal-body" },
|
41
41
|
react_1.default.createElement(react_core_1.Content, null, children)),
|
42
42
|
react_1.default.createElement(react_core_1.ModalFooter, { className: "pf-chatbot__terms-of-use--footer" },
|
43
43
|
react_1.default.createElement(react_core_1.Button, { isBlock: true, key: "terms-of-use-modal-primary", variant: "primary", onClick: handlePrimaryAction, form: "terms-of-use-form", size: "lg" }, primaryActionBtn),
|
package/dist/css/main.css
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
@charset "UTF-8";
|
1
2
|
.pf-chatbot__menu.pf-v6-c-menu {
|
2
3
|
--pf-v6-c-menu--BorderRadius: var(--pf-t--global--border--radius--large);
|
3
4
|
--pf-v6-c-menu__list-item--hover--BackgroundColor: var(--pf-t--global--background--color--secondary--default);
|
@@ -159,6 +160,10 @@
|
|
159
160
|
border-radius: var(--pf-t--global--border--radius--sharp);
|
160
161
|
}
|
161
162
|
|
163
|
+
.pf-chatbot.pf-m-compact {
|
164
|
+
font-size: var(--pf-t--global--font--size--sm);
|
165
|
+
}
|
166
|
+
|
162
167
|
.pf-chatbot__alert {
|
163
168
|
position: sticky;
|
164
169
|
top: var(--pf-t--global--spacer--lg);
|
@@ -191,8 +196,8 @@
|
|
191
196
|
border-radius: var(--pf-t--global--border--radius--medium);
|
192
197
|
}
|
193
198
|
.pf-chatbot__history .pf-chatbot__input {
|
194
|
-
padding-inline-start: var(--pf-t--global--spacer--
|
195
|
-
padding-inline-end: var(--pf-t--global--spacer--
|
199
|
+
padding-inline-start: var(--pf-t--global--spacer--lg);
|
200
|
+
padding-inline-end: var(--pf-t--global--spacer--lg);
|
196
201
|
}
|
197
202
|
.pf-chatbot__history .pf-v6-c-menu {
|
198
203
|
--pf-v6-c-menu--PaddingBlockStart: 0;
|
@@ -280,7 +285,6 @@
|
|
280
285
|
border-radius: var(--pf-t--global--border--radius--pill);
|
281
286
|
justify-content: center;
|
282
287
|
align-items: center;
|
283
|
-
border-radius: var(--pf-t--global--border--radius--small);
|
284
288
|
}
|
285
289
|
.pf-chatbot__history.pf-v6-c-drawer .pf-v6-c-drawer__body {
|
286
290
|
--pf-v6-c-drawer__panel__body--PaddingBlockStart: 0;
|
@@ -341,6 +345,33 @@
|
|
341
345
|
align-self: stretch;
|
342
346
|
}
|
343
347
|
|
348
|
+
.pf-chatbot__history.pf-m-compact .pf-v6-c-drawer__main .pf-v6-c-drawer__panel {
|
349
|
+
--pf-v6-c-drawer__panel--PaddingBlockStart: var(--pf-t--global--spacer--sm);
|
350
|
+
--pf-v6-c-drawer__panel--PaddingBlockEnd: var(--pf-t--global--spacer--sm);
|
351
|
+
--pf-v6-c-drawer__head--PaddingInlineStart: var(--pf-t--global--spacer--md);
|
352
|
+
--pf-v6-c-drawer__head--PaddingInlineEnd: var(--pf-t--global--spacer--md);
|
353
|
+
--pf-v6-c-drawer__panel--RowGap: var(--pf-t--global--spacer--md);
|
354
|
+
}
|
355
|
+
.pf-chatbot__history.pf-m-compact .pf-v6-c-drawer__main .pf-v6-c-drawer__body {
|
356
|
+
--pf-v6-c-drawer__panel__body--PaddingInlineStart: var(--pf-t--global--spacer--md);
|
357
|
+
--pf-v6-c-drawer__panel__body--PaddingInlineEnd: var(--pf-t--global--spacer--md);
|
358
|
+
}
|
359
|
+
.pf-chatbot__history.pf-m-compact .pf-chatbot__menu-item {
|
360
|
+
font-size: var(--pf-t--global--font--size--body--md);
|
361
|
+
}
|
362
|
+
.pf-chatbot__history.pf-m-compact .pf-v6-c-drawer__head {
|
363
|
+
--pf-v6-c-drawer__head--PaddingInlineStart: var(--pf-t--global--spacer--lg);
|
364
|
+
--pf-v6-c-drawer__head--PaddingInlineEnd: var(--pf-t--global--spacer--lg);
|
365
|
+
}
|
366
|
+
.pf-chatbot__history.pf-m-compact .pf-v6-c-drawer__close .pf-v6-c-button {
|
367
|
+
width: 2rem;
|
368
|
+
height: 2rem;
|
369
|
+
--pf-v6-c-button--m-plain--PaddingInlineEnd: var(--pf-t--global--spacer--xs);
|
370
|
+
--pf-v6-c-button--m-plain--PaddingInlineStart: var(--pf-t--global--spacer--xs);
|
371
|
+
--pf-v6-c-button--PaddingBlockStart: var(--pf-t--global--spacer--xs);
|
372
|
+
--pf-v6-c-button--PaddingBlockEnd: var(--pf-t--global--spacer--xs);
|
373
|
+
}
|
374
|
+
|
344
375
|
.pf-chatbot__footnote {
|
345
376
|
align-self: center;
|
346
377
|
}
|
@@ -390,6 +421,11 @@
|
|
390
421
|
padding: var(--pf-t--global--spacer--sm) var(--pf-t--global--spacer--lg);
|
391
422
|
}
|
392
423
|
|
424
|
+
.pf-chatbot__footer.pf-m-compact .pf-chatbot__footer-container {
|
425
|
+
padding: 0 var(--pf-t--global--spacer--sm) var(--pf-t--global--spacer--sm) var(--pf-t--global--spacer--sm);
|
426
|
+
row-gap: var(--pf-t--global--spacer--sm);
|
427
|
+
}
|
428
|
+
|
393
429
|
.pf-chatbot__header-container {
|
394
430
|
display: grid;
|
395
431
|
}
|
@@ -507,6 +543,25 @@
|
|
507
543
|
display: inline-flex;
|
508
544
|
}
|
509
545
|
|
546
|
+
.pf-chatbot.pf-m-compact .pf-chatbot__header {
|
547
|
+
gap: var(--pf-t--global--spacer--sm);
|
548
|
+
padding: var(--pf-t--global--spacer--sm);
|
549
|
+
}
|
550
|
+
.pf-chatbot.pf-m-compact .pf-chatbot__header .pf-chatbot__title img {
|
551
|
+
max-height: 24px;
|
552
|
+
vertical-align: middle;
|
553
|
+
}
|
554
|
+
|
555
|
+
.pf-v6-c-menu-toggle.pf-chatbot__button--toggle-options.pf-m-compact,
|
556
|
+
.pf-chatbot__button--toggle-menu.pf-m-compact {
|
557
|
+
width: 2rem;
|
558
|
+
height: 2rem;
|
559
|
+
}
|
560
|
+
|
561
|
+
.pf-chatbot__header .pf-chatbot__actions .pf-v6-c-menu-toggle.pf-m-secondary.pf-m-compact {
|
562
|
+
width: initial;
|
563
|
+
}
|
564
|
+
|
510
565
|
.pf-chatbot__chatbot-modal-backdrop {
|
511
566
|
position: static !important;
|
512
567
|
}
|
@@ -523,10 +578,6 @@
|
|
523
578
|
.pf-chatbot__chatbot-modal .pf-v6-c-modal-box__title {
|
524
579
|
--pf-v6-c-modal-box__title--FontSize: var(--pf-t--global--font--size--heading--h3);
|
525
580
|
}
|
526
|
-
.pf-chatbot__chatbot-modal .pf-v6-c-button.pf-m-primary.pf-m-block,
|
527
|
-
.pf-chatbot__chatbot-modal .pf-v6-c-button.pf-m-link.pf-m-block {
|
528
|
-
--pf-v6-c-button--FontWeight: var(--pf-t--global--font--weight--body--bold);
|
529
|
-
}
|
530
581
|
.pf-chatbot__chatbot-modal .pf-v6-c-modal-box__footer {
|
531
582
|
padding-block-start: var(--pf-t--global--spacer--xl);
|
532
583
|
padding-block-end: var(--pf-t--global--spacer--xl);
|
@@ -580,6 +631,14 @@
|
|
580
631
|
position: absolute;
|
581
632
|
}
|
582
633
|
|
634
|
+
.pf-chatbot__chatbot-modal.pf-m-compact .pf-v6-c-modal-box__header {
|
635
|
+
padding-block-end: 0;
|
636
|
+
}
|
637
|
+
.pf-chatbot__chatbot-modal.pf-m-compact .pf-v6-c-modal-box__footer {
|
638
|
+
padding-block-start: var(--pf-t--global--spacer--lg);
|
639
|
+
padding-block-end: var(--pf-t--global--spacer--lg);
|
640
|
+
}
|
641
|
+
|
583
642
|
.pf-chatbot__popover .pf-v6-c-popover__arrow {
|
584
643
|
display: none;
|
585
644
|
}
|
@@ -632,7 +691,6 @@
|
|
632
691
|
gap: var(--pf-t--global--spacer--lg);
|
633
692
|
}
|
634
693
|
.pf-chatbot--layout--welcome .pf-v6-c-content--h1 {
|
635
|
-
--pf-v6-c-content--h1--FontSize: var(--pf-t--global--font--size--3xl);
|
636
694
|
--pf-v6-c-content--h1--FontWeight: var(--pf-t--global--font--weight--400);
|
637
695
|
--pf-v6-c-content--h1--MarginBlockEnd: 0;
|
638
696
|
}
|
@@ -653,6 +711,14 @@
|
|
653
711
|
height: 100%;
|
654
712
|
}
|
655
713
|
|
714
|
+
.pf-chatbot--layout--welcome.pf-m-compact {
|
715
|
+
gap: var(--pf-t--global--spacer--md);
|
716
|
+
padding-block-end: var(--pf-t--global--spacer--md);
|
717
|
+
}
|
718
|
+
.pf-chatbot--layout--welcome.pf-m-compact .pf-chatbot__prompt-suggestions {
|
719
|
+
gap: var(--pf-t--global--spacer--md);
|
720
|
+
}
|
721
|
+
|
656
722
|
@media screen and (min-width: 64rem) {
|
657
723
|
.pf-chatbot--fullscreen .pf-chatbot--layout--welcome .pf-chatbot__prompt-suggestions,
|
658
724
|
.pf-chatbot--embedded .pf-chatbot--layout--welcome .pf-chatbot__prompt-suggestions {
|
@@ -722,8 +788,8 @@
|
|
722
788
|
.pf-chatbot__code-modal .pf-v6-c-code-editor__header-main {
|
723
789
|
display: none;
|
724
790
|
}
|
725
|
-
.pf-chatbot__code-modal .pf-
|
726
|
-
|
791
|
+
.pf-chatbot__code-modal .pf-v6-c-modal-box__close .pf-v6-c-button.pf-m-plain {
|
792
|
+
--pf-v6-c-button__icon--Color: var(--pf-t--global--icon--color--subtle);
|
727
793
|
}
|
728
794
|
|
729
795
|
.pf-v6-theme-dark .pf-chatbot__code-modal .pf-v6-c-code-editor__controls > div > button {
|
@@ -731,7 +797,7 @@
|
|
731
797
|
--pf-v6-c-button--hover__icon--Color: #c7c7c7;
|
732
798
|
}
|
733
799
|
|
734
|
-
.pf-chatbot__code-modal-
|
800
|
+
.pf-chatbot__code-modal-editor {
|
735
801
|
flex: 1;
|
736
802
|
}
|
737
803
|
|
@@ -739,6 +805,10 @@
|
|
739
805
|
height: inherit !important;
|
740
806
|
}
|
741
807
|
|
808
|
+
.pf-chatbot__code-modal.pf-m-compact .pf-chatbot__code-modal-body {
|
809
|
+
gap: var(--pf-t--global--spacer--md);
|
810
|
+
}
|
811
|
+
|
742
812
|
.pf-chatbot__compare-container {
|
743
813
|
display: flex;
|
744
814
|
flex-direction: column;
|
@@ -1180,6 +1250,39 @@
|
|
1180
1250
|
color: var(--pf-t--global--text--color--on-brand--default);
|
1181
1251
|
}
|
1182
1252
|
|
1253
|
+
.pf-chatbot.pf-m-compact .pf-chatbot__message-text .pf-v6-c-button.pf-m-link {
|
1254
|
+
font-size: var(--pf-t--global--font--size--sm);
|
1255
|
+
}
|
1256
|
+
.pf-chatbot.pf-m-compact .pf-chatbot__message-text .pf-v6-c-content,
|
1257
|
+
.pf-chatbot.pf-m-compact .pf-chatbot__message-text .pf-v6-c-content--small,
|
1258
|
+
.pf-chatbot.pf-m-compact .pf-chatbot__message-text .pf-v6-c-content--blockquote,
|
1259
|
+
.pf-chatbot.pf-m-compact .pf-chatbot__message-text p,
|
1260
|
+
.pf-chatbot.pf-m-compact .pf-chatbot__message-text a {
|
1261
|
+
--pf-v6-c-content--FontSize: var(--pf-t--global--font--size--sm);
|
1262
|
+
}
|
1263
|
+
.pf-chatbot.pf-m-compact .pf-chatbot__message-text .pf-v6-c-content--blockquote {
|
1264
|
+
--pf-v6-c-content--blockquote--PaddingBlockStart: 0;
|
1265
|
+
--pf-v6-c-content--blockquote--PaddingBlockEnd: 0;
|
1266
|
+
}
|
1267
|
+
|
1268
|
+
.pf-chatbot.pf-m-compact .pf-chatbot__message {
|
1269
|
+
gap: var(--pf-t--global--spacer--md);
|
1270
|
+
padding-bottom: var(--pf-t--global--spacer--sm);
|
1271
|
+
}
|
1272
|
+
.pf-chatbot.pf-m-compact .pf-chatbot__message .pf-chatbot__message-contents {
|
1273
|
+
gap: var(--pf-t--global--spacer--xs);
|
1274
|
+
}
|
1275
|
+
.pf-chatbot.pf-m-compact .pf-chatbot__message-name {
|
1276
|
+
font-size: var(--pf-t--global--font--size--xs);
|
1277
|
+
}
|
1278
|
+
.pf-chatbot.pf-m-compact .pf-chatbot__message-avatar.pf-chatbot__message-avatar--round.pf-v6-c-avatar {
|
1279
|
+
--pf-v6-c-avatar--Width: 2rem;
|
1280
|
+
--pf-v6-c-avatar--Height: 2rem;
|
1281
|
+
}
|
1282
|
+
.pf-chatbot.pf-m-compact .pf-chatbot__message-contents {
|
1283
|
+
gap: var(--pf-t--global--spacer--xs);
|
1284
|
+
}
|
1285
|
+
|
1183
1286
|
.pf-chatbot__message-code-block {
|
1184
1287
|
width: 100%;
|
1185
1288
|
background-color: var(--pf-t--color--gray--80);
|
@@ -1299,6 +1402,21 @@
|
|
1299
1402
|
color: var(--pf-t--global--text--color--on-brand--default);
|
1300
1403
|
}
|
1301
1404
|
|
1405
|
+
.pf-chatbot.pf-m-compact .pf-chatbot__message-text .pf-v6-c-button.pf-m-link {
|
1406
|
+
font-size: var(--pf-t--global--font--size--sm);
|
1407
|
+
}
|
1408
|
+
.pf-chatbot.pf-m-compact .pf-chatbot__message-text .pf-v6-c-content,
|
1409
|
+
.pf-chatbot.pf-m-compact .pf-chatbot__message-text .pf-v6-c-content--small,
|
1410
|
+
.pf-chatbot.pf-m-compact .pf-chatbot__message-text .pf-v6-c-content--blockquote,
|
1411
|
+
.pf-chatbot.pf-m-compact .pf-chatbot__message-text p,
|
1412
|
+
.pf-chatbot.pf-m-compact .pf-chatbot__message-text a {
|
1413
|
+
--pf-v6-c-content--FontSize: var(--pf-t--global--font--size--sm);
|
1414
|
+
}
|
1415
|
+
.pf-chatbot.pf-m-compact .pf-chatbot__message-text .pf-v6-c-content--blockquote {
|
1416
|
+
--pf-v6-c-content--blockquote--PaddingBlockStart: 0;
|
1417
|
+
--pf-v6-c-content--blockquote--PaddingBlockEnd: 0;
|
1418
|
+
}
|
1419
|
+
|
1302
1420
|
.pf-chatbot__message-ordered-list,
|
1303
1421
|
.pf-chatbot__message-unordered-list {
|
1304
1422
|
width: fit-content;
|
@@ -1445,6 +1563,7 @@
|
|
1445
1563
|
flex-direction: column;
|
1446
1564
|
gap: var(--pf-t--global--spacer--lg);
|
1447
1565
|
align-items: center;
|
1566
|
+
text-align: center;
|
1448
1567
|
}
|
1449
1568
|
|
1450
1569
|
.pf-chatbot__feedback-complete-text {
|
@@ -1463,10 +1582,6 @@
|
|
1463
1582
|
justify-content: center;
|
1464
1583
|
}
|
1465
1584
|
|
1466
|
-
.pf-chatbot__feedback-complete-body {
|
1467
|
-
text-align: center;
|
1468
|
-
}
|
1469
|
-
|
1470
1585
|
.pf-chatbot__feedback-complete-title {
|
1471
1586
|
font-family: var(--pf-t--global--font--family--heading);
|
1472
1587
|
font-size: var(--pf-t--global--font--size--lg);
|
@@ -1489,6 +1604,20 @@
|
|
1489
1604
|
font-weight: initial;
|
1490
1605
|
}
|
1491
1606
|
|
1607
|
+
.pf-v6-c-card.pf-m-compact.pf-chatbot__feedback-card .pf-chatbot__feedback-card-form.pf-m-compact {
|
1608
|
+
--pf-v6-c-form--GridGap: var(--pf-t--global--spacer--md);
|
1609
|
+
}
|
1610
|
+
|
1611
|
+
.pf-v6-c-card.pf-m-compact.pf-chatbot__feedback-card.pf-chatbot__feedback-card-complete div.pf-chatbot__feedback-complete-body {
|
1612
|
+
gap: var(--pf-t--global--spacer--sm);
|
1613
|
+
}
|
1614
|
+
.pf-v6-c-card.pf-m-compact.pf-chatbot__feedback-card.pf-chatbot__feedback-card-complete .pf-chatbot__feedback-complete-image {
|
1615
|
+
width: 40px;
|
1616
|
+
}
|
1617
|
+
.pf-v6-c-card.pf-m-compact.pf-chatbot__feedback-card.pf-chatbot__feedback-card-complete .pf-chatbot__feedback-card-complete-empty-header .pf-v6-c-card__header:first-child {
|
1618
|
+
--pf-v6-c-card--first-child--PaddingBlockStart: var(--pf-t--global--spacer--sm);
|
1619
|
+
}
|
1620
|
+
|
1492
1621
|
.pf-v6-c-button.pf-chatbot__button--attach {
|
1493
1622
|
border-radius: var(--pf-t--global--border--radius--pill);
|
1494
1623
|
padding: var(--pf-t--global--spacer--md);
|
@@ -1511,6 +1640,13 @@
|
|
1511
1640
|
color: var(--pf-t--global--icon--color--inverse);
|
1512
1641
|
}
|
1513
1642
|
|
1643
|
+
.pf-v6-c-button.pf-chatbot__button--attach.pf-m-compact {
|
1644
|
+
width: 1.5rem;
|
1645
|
+
height: 1.5rem;
|
1646
|
+
padding: var(--pf-t--global--spacer--sm);
|
1647
|
+
align-items: center;
|
1648
|
+
}
|
1649
|
+
|
1514
1650
|
.pf-v6-c-button.pf-chatbot__button--microphone {
|
1515
1651
|
border-radius: var(--pf-t--global--border--radius--pill);
|
1516
1652
|
padding: var(--pf-t--global--spacer--md);
|
@@ -1542,6 +1678,13 @@
|
|
1542
1678
|
box-shadow: 0 0 0 16px rgba(0, 102, 204, 0);
|
1543
1679
|
}
|
1544
1680
|
}
|
1681
|
+
.pf-v6-c-button.pf-chatbot__button--microphone.pf-m-compact {
|
1682
|
+
width: 1.5rem;
|
1683
|
+
height: 1.5rem;
|
1684
|
+
padding: var(--pf-t--global--spacer--sm);
|
1685
|
+
align-items: center;
|
1686
|
+
}
|
1687
|
+
|
1545
1688
|
.pf-v6-c-button.pf-chatbot__button--send {
|
1546
1689
|
border-radius: var(--pf-t--global--border--radius--pill);
|
1547
1690
|
padding: var(--pf-t--global--spacer--md);
|
@@ -1584,6 +1727,13 @@
|
|
1584
1727
|
transform: translate3d(0, 0, 0);
|
1585
1728
|
}
|
1586
1729
|
}
|
1730
|
+
.pf-v6-c-button.pf-chatbot__button--send.pf-m-compact {
|
1731
|
+
width: 1.5rem;
|
1732
|
+
height: 1.5rem;
|
1733
|
+
padding: var(--pf-t--global--spacer--sm);
|
1734
|
+
align-items: center;
|
1735
|
+
}
|
1736
|
+
|
1587
1737
|
.pf-v6-c-button.pf-chatbot__button--stop {
|
1588
1738
|
background-color: var(--pf-t--global--color--brand--default);
|
1589
1739
|
border-radius: var(--pf-t--global--border--radius--pill);
|
@@ -1610,6 +1760,13 @@
|
|
1610
1760
|
color: var(--pf-t--global--icon--color--on-brand--default);
|
1611
1761
|
}
|
1612
1762
|
|
1763
|
+
.pf-v6-c-button.pf-chatbot__button--stop.pf-m-compact {
|
1764
|
+
width: 1.5rem;
|
1765
|
+
height: 1.5rem;
|
1766
|
+
padding: var(--pf-t--global--spacer--sm);
|
1767
|
+
align-items: center;
|
1768
|
+
}
|
1769
|
+
|
1613
1770
|
.pf-chatbot__message-bar {
|
1614
1771
|
--pf-chatbot__message-bar-child--PaddingBlockStart: var(--pf-t--global--spacer--xs);
|
1615
1772
|
--pf-chatbot__message-bar-child--PaddingBlockEnd: var(--pf-t--global--spacer--xs);
|
@@ -1701,6 +1858,18 @@
|
|
1701
1858
|
}
|
1702
1859
|
}
|
1703
1860
|
|
1861
|
+
.pf-chatbot__message-bar-input.pf-m-compact {
|
1862
|
+
padding-block-start: 0;
|
1863
|
+
padding-block-end: 0;
|
1864
|
+
}
|
1865
|
+
.pf-chatbot__message-bar-input.pf-m-compact .pf-chatbot__message-textarea {
|
1866
|
+
font-size: var(--pf-t--global--font--size--sm) !important;
|
1867
|
+
}
|
1868
|
+
.pf-chatbot__message-bar-input.pf-m-compact .pf-chatbot__message-bar-actions {
|
1869
|
+
padding-block-start: var(--pf-t--global--spacer--md);
|
1870
|
+
padding-block-end: var(--pf-t--global--spacer--md);
|
1871
|
+
}
|
1872
|
+
|
1704
1873
|
.pf-chatbot__jump {
|
1705
1874
|
position: absolute !important;
|
1706
1875
|
inset-inline-start: 75% !important;
|
@@ -1781,6 +1950,10 @@
|
|
1781
1950
|
width: 100%;
|
1782
1951
|
}
|
1783
1952
|
}
|
1953
|
+
.pf-chatbot.pf-m-compact .pf-chatbot__messagebox {
|
1954
|
+
padding: var(--pf-t--global--spacer--md);
|
1955
|
+
}
|
1956
|
+
|
1784
1957
|
.pf-chatbot__jump {
|
1785
1958
|
position: absolute !important;
|
1786
1959
|
inset-inline-start: 75% !important;
|
@@ -1882,6 +2055,15 @@
|
|
1882
2055
|
text-align: center;
|
1883
2056
|
}
|
1884
2057
|
|
2058
|
+
.pf-chatbot__settings-form-container.pf-m-compact .pf-chatbot__settings-form-row {
|
2059
|
+
padding: var(--pf-t--global--spacer--md);
|
2060
|
+
font-size: var(--pf-t--global--font--size--body--md);
|
2061
|
+
}
|
2062
|
+
|
2063
|
+
.pf-chatbot__header.pf-m-compact {
|
2064
|
+
padding-inline-start: var(--pf-t--global--spacer--md);
|
2065
|
+
}
|
2066
|
+
|
1885
2067
|
.pf-chatbot__source {
|
1886
2068
|
display: flex;
|
1887
2069
|
flex-direction: column;
|
@@ -1950,6 +2132,11 @@
|
|
1950
2132
|
color: var(--pf-t--global--icon--color--subtle);
|
1951
2133
|
}
|
1952
2134
|
|
2135
|
+
.pf-v6-c-card.pf-m-compact.pf-chatbot__sources-card .pf-v6-c-card__footer.pf-chatbot__sources-card-footer-container {
|
2136
|
+
border-top: var(--pf-t--global--border--width--regular) solid var(--pf-t--global--border--color--default);
|
2137
|
+
padding: var(--pf-t--global--spacer--xs) var(--pf-t--global--spacer--sm) var(--pf-t--global--spacer--xs) var(--pf-t--global--spacer--xs) !important;
|
2138
|
+
}
|
2139
|
+
|
1953
2140
|
.pf-chatbot__source-details-subhead {
|
1954
2141
|
color: var(--pf-t--global--text--color--subtle);
|
1955
2142
|
font-size: var(--pf-t--global--icon--size--font--xs);
|
@@ -2037,6 +2224,22 @@
|
|
2037
2224
|
font-size: var(--pf-t--global--font--size--heading--2xl);
|
2038
2225
|
}
|
2039
2226
|
|
2227
|
+
.pf-chatbot__terms-of-use-modal.pf-m-compact .pf-chatbot__terms-of-use--header {
|
2228
|
+
gap: var(--pf-t--global--spacer--md);
|
2229
|
+
align-items: flex-start;
|
2230
|
+
margin-block-start: var(--pf-t--global--spacer--lg);
|
2231
|
+
}
|
2232
|
+
.pf-chatbot__terms-of-use-modal.pf-m-compact .pf-chatbot__terms-of-use--modal-header {
|
2233
|
+
--pf-v6-c-modal-box__header--PaddingBlockStart: var(--pf-t--global--spacer--md);
|
2234
|
+
--pf-v6-c-modal-box__header--PaddingBlockEnd: var(--pf-t--global--spacer--md);
|
2235
|
+
--pf-v6-c-modal-box__header--PaddingInlineStart: var(--pf-t--global--spacer--md);
|
2236
|
+
--pf-v6-c-modal-box__header--PaddingInlineEnd: var(--pf-t--global--spacer--md);
|
2237
|
+
}
|
2238
|
+
.pf-chatbot__terms-of-use-modal.pf-m-compact .pf-chatbot__terms-of-use--modal-body {
|
2239
|
+
--pf-v6-c-modal-box__body--PaddingInlineStart: var(--pf-t--global--spacer--md);
|
2240
|
+
--pf-v6-c-modal-box__body--PaddingInlineEnd: var(--pf-t--global--spacer--md);
|
2241
|
+
}
|
2242
|
+
|
2040
2243
|
:where(:root) {
|
2041
2244
|
--pf-t--chatbot--heading--font-family: var(
|
2042
2245
|
--pf-v6-c-content--heading--FontFamily,
|