@patternfly/chatbot 6.8.0-prerelease.3 → 6.8.0-prerelease.5
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/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +2 -5
- package/dist/cjs/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +3 -3
- package/dist/cjs/ChatbotHeader/ChatbotHeaderCloseButton.js +1 -1
- package/dist/cjs/ChatbotHeader/ChatbotHeaderMenu.js +2 -5
- package/dist/cjs/ChatbotHeader/ChatbotHeaderNewChatButton.js +2 -2
- package/dist/cjs/FileDropZone/FileDropZone.js +1 -1
- package/dist/cjs/MarkdownContent/MarkdownContent.js +15 -1
- package/dist/cjs/Message/CodeBlockMessage/CodeBlockMessage.js +2 -2
- package/dist/cjs/Message/LinkMessage/LinkMessage.js +5 -1
- package/dist/cjs/Message/Message.test.js +1 -18
- package/dist/cjs/Message/QuickStarts/QuickStartTileDescription.js +2 -5
- package/dist/cjs/MessageBar/MessageBar.test.js +1 -1
- package/dist/cjs/MessageBox/JumpButton.test.js +2 -2
- package/dist/cjs/MessageBox/MessageBox.js +79 -28
- package/dist/cjs/MessageBox/MessageBox.test.d.ts +1 -1
- package/dist/cjs/MessageBox/MessageBox.test.js +59 -0
- package/dist/cjs/ResponseActions/ResponseActionButton.test.js +6 -6
- package/dist/cjs/ResponseActions/ResponseActions.test.js +6 -7
- package/dist/cjs/SourcesCardBase/SourcesCardBase.js +5 -5
- package/dist/cjs/index.d.ts +0 -2
- package/dist/cjs/index.js +1 -4
- package/dist/css/main.css +0 -13
- package/dist/css/main.css.map +1 -1
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.js +2 -2
- package/dist/esm/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.js +4 -4
- package/dist/esm/ChatbotHeader/ChatbotHeaderCloseButton.js +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderMenu.js +2 -2
- package/dist/esm/ChatbotHeader/ChatbotHeaderNewChatButton.js +2 -2
- package/dist/esm/FileDropZone/FileDropZone.js +2 -2
- package/dist/esm/MarkdownContent/MarkdownContent.js +15 -1
- package/dist/esm/Message/CodeBlockMessage/CodeBlockMessage.js +2 -2
- package/dist/esm/Message/LinkMessage/LinkMessage.js +6 -2
- package/dist/esm/Message/Message.test.js +1 -18
- package/dist/esm/Message/QuickStarts/QuickStartTileDescription.js +2 -2
- package/dist/esm/MessageBar/MessageBar.test.js +2 -2
- package/dist/esm/MessageBox/JumpButton.test.js +2 -2
- package/dist/esm/MessageBox/MessageBox.js +80 -29
- package/dist/esm/MessageBox/MessageBox.test.d.ts +1 -1
- package/dist/esm/MessageBox/MessageBox.test.js +59 -0
- package/dist/esm/ResponseActions/ResponseActionButton.test.js +7 -7
- package/dist/esm/ResponseActions/ResponseActions.test.js +7 -8
- package/dist/esm/SourcesCardBase/SourcesCardBase.js +7 -7
- package/dist/esm/index.d.ts +0 -2
- package/dist/esm/index.js +0 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithCustomResponseActions.tsx +3 -4
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithMarkdownToolResponse.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithQuickResponses.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithSources.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/MessageWithToolResponse.tsx +5 -5
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/Messages.md +1 -1
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/UserMessageWithExtraContent.tsx +7 -31
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderBasic.tsx +4 -6
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawer.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerResizable.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithPin.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/UI/ChatbotHeaderDrawerWithSearchActions.tsx +3 -3
- package/patternfly-docs/content/extensions/chatbot/examples/UI/CompactSettings.tsx +10 -5
- package/patternfly-docs/content/extensions/chatbot/examples/UI/Settings.tsx +10 -5
- package/patternfly-docs/content/extensions/chatbot/examples/UI/UI.md +1 -15
- package/patternfly-docs/content/extensions/chatbot/examples/demos/AttachmentDemos.md +2 -4
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.md +2 -5
- package/patternfly-docs/content/extensions/chatbot/examples/demos/Chatbot.tsx +4 -7
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachment.tsx +4 -6
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotAttachmentMenu.tsx +13 -7
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotCompact.tsx +4 -7
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotDisplayMode.tsx +10 -8
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotInDrawer.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotScrolling.tsx +4 -8
- package/patternfly-docs/content/extensions/chatbot/examples/demos/ChatbotTranscripts.tsx +4 -7
- package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedChatbot.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/demos/EmbeddedComparisonChatbot.tsx +2 -2
- package/patternfly-docs/content/extensions/chatbot/examples/demos/WhiteEmbeddedChatbot.tsx +2 -2
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryDropdown.tsx +2 -3
- package/src/ChatbotConversationHistoryNav/ChatbotConversationHistoryNav.tsx +4 -4
- package/src/ChatbotHeader/ChatbotHeaderCloseButton.tsx +2 -2
- package/src/ChatbotHeader/ChatbotHeaderMenu.tsx +2 -2
- package/src/ChatbotHeader/ChatbotHeaderNewChatButton.tsx +2 -3
- package/src/FileDropZone/FileDropZone.tsx +2 -2
- package/src/MarkdownContent/MarkdownContent.tsx +14 -0
- package/src/Message/CodeBlockMessage/CodeBlockMessage.tsx +2 -2
- package/src/Message/LinkMessage/LinkMessage.tsx +21 -2
- package/src/Message/Message.test.tsx +4 -4
- package/src/Message/QuickStarts/QuickStartTileDescription.tsx +2 -2
- package/src/MessageBar/MessageBar.test.tsx +6 -6
- package/src/MessageBox/JumpButton.test.tsx +1 -1
- package/src/MessageBox/MessageBox.test.tsx +91 -0
- package/src/MessageBox/MessageBox.tsx +137 -40
- package/src/ResponseActions/ResponseActionButton.test.tsx +7 -7
- package/src/ResponseActions/ResponseActions.test.tsx +7 -8
- package/src/SourcesCard/SourcesCard.scss +0 -13
- package/src/SourcesCardBase/SourcesCardBase.tsx +7 -32
- package/dist/cjs/LoadingMessage/LoadingMessage.d.ts +0 -6
- package/dist/cjs/LoadingMessage/LoadingMessage.js +0 -12
- package/dist/cjs/LoadingMessage/LoadingMessage.test.d.ts +0 -1
- package/dist/cjs/LoadingMessage/LoadingMessage.test.js +0 -20
- package/dist/cjs/LoadingMessage/index.d.ts +0 -2
- package/dist/cjs/LoadingMessage/index.js +0 -23
- package/dist/dynamic/LoadingMessage/package.json +0 -1
- package/dist/esm/LoadingMessage/LoadingMessage.d.ts +0 -6
- package/dist/esm/LoadingMessage/LoadingMessage.js +0 -5
- package/dist/esm/LoadingMessage/LoadingMessage.test.d.ts +0 -1
- package/dist/esm/LoadingMessage/LoadingMessage.test.js +0 -15
- package/dist/esm/LoadingMessage/index.d.ts +0 -2
- package/dist/esm/LoadingMessage/index.js +0 -2
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/AttachMenu.tsx +0 -149
- package/patternfly-docs/content/extensions/chatbot/examples/Messages/PaperclipIcon.svg +0 -10
- package/src/LoadingMessage/LoadingMessage.test.tsx +0 -15
- package/src/LoadingMessage/LoadingMessage.tsx +0 -27
- package/src/LoadingMessage/__snapshots__/LoadingMessage.test.tsx.snap +0 -64
- package/src/LoadingMessage/index.ts +0 -3
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
import { useState, isValidElement, cloneElement, Children, FunctionComponent, ReactNode } from 'react';
|
|
2
|
-
import AttachMenu from '@patternfly/chatbot/dist/dynamic/AttachMenu';
|
|
3
|
-
import SourceDetailsMenuItem from '@patternfly/chatbot/dist/dynamic/SourceDetailsMenuItem';
|
|
4
|
-
import { Button, Divider, DropdownGroup, DropdownItem, DropdownList } from '@patternfly/react-core';
|
|
5
|
-
import { BellIcon, CodeIcon, ClipboardIcon, CalendarAltIcon, UploadIcon } from '@patternfly/react-icons';
|
|
6
|
-
import PaperclipIcon from './PaperclipIcon';
|
|
7
|
-
|
|
8
|
-
const initialMenuItems = [
|
|
9
|
-
<DropdownList key="list-1">
|
|
10
|
-
<DropdownItem className="pf-chatbot-source-details-dropdown-item" value="auth-operator Pod" id="0">
|
|
11
|
-
<SourceDetailsMenuItem
|
|
12
|
-
icon={
|
|
13
|
-
<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
14
|
-
<path
|
|
15
|
-
d="M0 12.5C0 5.87258 5.37258 0.5 12 0.5C18.6274 0.5 24 5.87258 24 12.5C24 19.1274 18.6274 24.5 12 24.5C5.37258 24.5 0 19.1274 0 12.5Z"
|
|
16
|
-
fill="currentColor"
|
|
17
|
-
/>
|
|
18
|
-
<g clipPath="url(#clip0_3280_27488)">
|
|
19
|
-
<path
|
|
20
|
-
d="M8.25 8.75C8.25 7.92266 8.92266 7.25 9.75 7.25H12C14.0719 7.25 15.75 8.92812 15.75 11C15.75 13.0719 14.0719 14.75 12 14.75H9.75V17C9.75 17.4148 9.41484 17.75 9 17.75C8.58516 17.75 8.25 17.4148 8.25 17V14V8.75ZM9.75 13.25H12C13.2422 13.25 14.25 12.2422 14.25 11C14.25 9.75781 13.2422 8.75 12 8.75H9.75V13.25Z"
|
|
21
|
-
fill="white"
|
|
22
|
-
/>
|
|
23
|
-
</g>
|
|
24
|
-
<defs>
|
|
25
|
-
<clipPath id="clip0_3280_27488">
|
|
26
|
-
<rect width="7.5" height="12" fill="white" transform="translate(8.25 6.5)" />
|
|
27
|
-
</clipPath>
|
|
28
|
-
</defs>
|
|
29
|
-
</svg>
|
|
30
|
-
}
|
|
31
|
-
name="auth-operator"
|
|
32
|
-
type="Pod"
|
|
33
|
-
/>
|
|
34
|
-
</DropdownItem>
|
|
35
|
-
</DropdownList>,
|
|
36
|
-
<DropdownGroup key="group2">
|
|
37
|
-
<DropdownList>
|
|
38
|
-
<DropdownItem value="Alerts" id="1" icon={<BellIcon />}>
|
|
39
|
-
Alerts
|
|
40
|
-
</DropdownItem>
|
|
41
|
-
<DropdownItem value="Events" id="2" icon={<CalendarAltIcon />}>
|
|
42
|
-
Events
|
|
43
|
-
</DropdownItem>
|
|
44
|
-
<DropdownItem value="Logs" id="3" icon={<ClipboardIcon />}>
|
|
45
|
-
Logs
|
|
46
|
-
</DropdownItem>
|
|
47
|
-
<DropdownItem value="YAML - Status" id="4" icon={<CodeIcon />}>
|
|
48
|
-
YAML - Status
|
|
49
|
-
</DropdownItem>
|
|
50
|
-
<DropdownItem value="YAML - All contents" id="5" icon={<CodeIcon />}>
|
|
51
|
-
YAML - All contents
|
|
52
|
-
</DropdownItem>
|
|
53
|
-
</DropdownList>
|
|
54
|
-
</DropdownGroup>
|
|
55
|
-
];
|
|
56
|
-
|
|
57
|
-
const uploadMenuItems = [
|
|
58
|
-
<Divider key="divider" />,
|
|
59
|
-
<DropdownList key="list-2">
|
|
60
|
-
<DropdownItem key="upload" value="upload" id="upload" icon={<UploadIcon />}>
|
|
61
|
-
Upload from computer
|
|
62
|
-
</DropdownItem>
|
|
63
|
-
</DropdownList>
|
|
64
|
-
];
|
|
65
|
-
|
|
66
|
-
export const AttachmentMenuExample: FunctionComponent = () => {
|
|
67
|
-
const [isOpen, setIsOpen] = useState<boolean>(false);
|
|
68
|
-
const [userFacingMenuItems, setUserFacingMenuItems] = useState<ReactNode>([]);
|
|
69
|
-
|
|
70
|
-
const onToggleClick = () => {
|
|
71
|
-
setIsOpen(!isOpen);
|
|
72
|
-
setUserFacingMenuItems(initialMenuItems.concat(uploadMenuItems));
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
const findMatchingElements = (elements: ReactNode[], targetValue: string) => {
|
|
76
|
-
let matchingElements = [] as ReactNode[];
|
|
77
|
-
|
|
78
|
-
elements.forEach((element) => {
|
|
79
|
-
if (isValidElement(element)) {
|
|
80
|
-
// Check if the element's value matches the targetValue
|
|
81
|
-
if (element.props.value && element.props.value.toLowerCase().includes(targetValue.toLowerCase())) {
|
|
82
|
-
matchingElements.push(cloneElement(element, { key: element.props.value }));
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
// Recursively check the element's children
|
|
86
|
-
const children = Children.toArray(element.props.children);
|
|
87
|
-
matchingElements = matchingElements.concat(findMatchingElements(children, targetValue));
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
return matchingElements;
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
const onTextChange = (textValue: string) => {
|
|
95
|
-
if (textValue === '') {
|
|
96
|
-
setUserFacingMenuItems(initialMenuItems.concat(uploadMenuItems));
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
const newMenuItems = findMatchingElements(initialMenuItems, textValue);
|
|
101
|
-
// this is necessary because the React nodes we find traversing the recursive search
|
|
102
|
-
// aren't correctly wrapped in a DropdownList. This leads to problems with the
|
|
103
|
-
// auth-operator item where it winds up floating in a bad place in the DOM and never
|
|
104
|
-
// gets removed
|
|
105
|
-
setUserFacingMenuItems(
|
|
106
|
-
<>
|
|
107
|
-
<DropdownList>
|
|
108
|
-
{newMenuItems.length === 0 ? (
|
|
109
|
-
<DropdownItem key="no-items">No results found</DropdownItem>
|
|
110
|
-
) : (
|
|
111
|
-
newMenuItems.map((item) => item)
|
|
112
|
-
)}
|
|
113
|
-
</DropdownList>
|
|
114
|
-
{uploadMenuItems.map((item) => item)}
|
|
115
|
-
</>
|
|
116
|
-
);
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
return (
|
|
120
|
-
<AttachMenu
|
|
121
|
-
filteredItems={userFacingMenuItems}
|
|
122
|
-
isOpen={isOpen}
|
|
123
|
-
onOpenChange={(isOpen) => setIsOpen(isOpen)}
|
|
124
|
-
onOpenChangeKeys={['Escape']}
|
|
125
|
-
// eslint-disable-next-line no-console
|
|
126
|
-
onSelect={(_ev, value) => console.log('selected', value)}
|
|
127
|
-
handleTextInputChange={onTextChange}
|
|
128
|
-
popperProps={{ direction: 'up', distance: 8 }}
|
|
129
|
-
searchInputPlaceholder="Search cluster resources..."
|
|
130
|
-
toggle={(toggleRef) => (
|
|
131
|
-
<Button
|
|
132
|
-
style={{
|
|
133
|
-
alignItems: 'center',
|
|
134
|
-
borderRadius: '50%',
|
|
135
|
-
display: 'flex',
|
|
136
|
-
height: '48px',
|
|
137
|
-
justifyContent: 'center',
|
|
138
|
-
padding: '0',
|
|
139
|
-
width: '48px',
|
|
140
|
-
lineHeight: '1rem'
|
|
141
|
-
}}
|
|
142
|
-
ref={toggleRef}
|
|
143
|
-
onClick={onToggleClick}
|
|
144
|
-
icon={<img src={PaperclipIcon} alt="Add an attachment" />}
|
|
145
|
-
/>
|
|
146
|
-
)}
|
|
147
|
-
/>
|
|
148
|
-
);
|
|
149
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
<svg width="18" height="20" viewBox="0 0 18 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<g clip-path="url(#clip0_3934_2737)">
|
|
3
|
-
<path d="M14.4766 3.27344C13.5234 2.32031 11.9766 2.32031 11.0234 3.27344L3.83594 10.4609C2.19141 12.1055 2.19141 14.7695 3.83594 16.4141C5.48047 18.0586 8.14453 18.0586 9.78906 16.4141L15.7266 10.4766C16.1523 10.0508 16.8477 10.0508 17.2734 10.4766C17.6992 10.9023 17.6992 11.5977 17.2734 12.0234L11.3359 17.9609C8.83594 20.4609 4.78906 20.4609 2.28906 17.9609C-0.210938 15.4609 -0.210938 11.4141 2.28906 8.91406L9.47656 1.72656C11.2852 -0.0820313 14.2148 -0.0820313 16.0234 1.72656C17.832 3.53516 17.832 6.46484 16.0234 8.27344L9.14844 15.1484C8.03125 16.2656 6.21875 16.2656 5.10156 15.1484C3.98438 14.0312 3.98438 12.2188 5.10156 11.1016L10.7266 5.47656C11.1523 5.05078 11.8477 5.05078 12.2734 5.47656C12.6992 5.90234 12.6992 6.59766 12.2734 7.02344L6.64844 12.6484C6.38672 12.9102 6.38672 13.3398 6.64844 13.6016C6.91016 13.8633 7.33984 13.8633 7.60156 13.6016L14.4766 6.72656C15.4297 5.77344 15.4297 4.22656 14.4766 3.27344Z" fill="white"/>
|
|
4
|
-
</g>
|
|
5
|
-
<defs>
|
|
6
|
-
<clipPath id="clip0_3934_2737">
|
|
7
|
-
<rect width="17.5" height="20" fill="white" transform="translate(0.25)"/>
|
|
8
|
-
</clipPath>
|
|
9
|
-
</defs>
|
|
10
|
-
</svg>
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { render, screen } from '@testing-library/react';
|
|
2
|
-
import '@testing-library/jest-dom';
|
|
3
|
-
import LoadingMessage from './LoadingMessage';
|
|
4
|
-
|
|
5
|
-
describe('LoadingMessage', () => {
|
|
6
|
-
it('should render loading message', () => {
|
|
7
|
-
const { container } = render(<LoadingMessage />);
|
|
8
|
-
expect(container).toMatchSnapshot();
|
|
9
|
-
});
|
|
10
|
-
it('should render loading message correctly', () => {
|
|
11
|
-
render(<LoadingMessage />);
|
|
12
|
-
expect(screen.getAllByText('.')).toBeTruthy();
|
|
13
|
-
expect(screen.getAllByText('.')).toHaveLength(3);
|
|
14
|
-
});
|
|
15
|
-
});
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { FunctionComponent } from 'react';
|
|
2
|
-
import { Icon, Split, SplitItem } from '@patternfly/react-core';
|
|
3
|
-
|
|
4
|
-
import RobotIcon from '@patternfly/react-icons/dist/js/icons/robot-icon';
|
|
5
|
-
|
|
6
|
-
export interface LoadingMessageProps {
|
|
7
|
-
icon?: React.ComponentType;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export const LoadingMessage: FunctionComponent<LoadingMessageProps> = ({ icon: IconComponent = RobotIcon }) => (
|
|
11
|
-
<Split>
|
|
12
|
-
<SplitItem>
|
|
13
|
-
<Icon size="lg" className="pf-v6-u-mr-sm pf-v6-u-pt-md">
|
|
14
|
-
<IconComponent />
|
|
15
|
-
</Icon>
|
|
16
|
-
</SplitItem>
|
|
17
|
-
<SplitItem className="pf-u-background-color-200">
|
|
18
|
-
<div className="pf-v6-u-display-flex pf-u-align-items-center">
|
|
19
|
-
<div>.</div>
|
|
20
|
-
<div>.</div>
|
|
21
|
-
<div>.</div>
|
|
22
|
-
</div>
|
|
23
|
-
</SplitItem>
|
|
24
|
-
</Split>
|
|
25
|
-
);
|
|
26
|
-
|
|
27
|
-
export default LoadingMessage;
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
-
|
|
3
|
-
exports[`LoadingMessage should render loading message 1`] = `
|
|
4
|
-
<div>
|
|
5
|
-
<div
|
|
6
|
-
class="pf-v6-l-split"
|
|
7
|
-
>
|
|
8
|
-
<div
|
|
9
|
-
class="pf-v6-l-split__item"
|
|
10
|
-
>
|
|
11
|
-
<span
|
|
12
|
-
class="pf-v6-c-icon pf-m-lg pf-v6-u-mr-sm pf-v6-u-pt-md"
|
|
13
|
-
>
|
|
14
|
-
<span
|
|
15
|
-
class="pf-v6-c-icon__content"
|
|
16
|
-
>
|
|
17
|
-
<svg
|
|
18
|
-
aria-hidden="true"
|
|
19
|
-
class="pf-v6-svg"
|
|
20
|
-
fill="currentColor"
|
|
21
|
-
height="1em"
|
|
22
|
-
role="img"
|
|
23
|
-
width="1em"
|
|
24
|
-
>
|
|
25
|
-
<svg
|
|
26
|
-
class="pf-v6-icon-default"
|
|
27
|
-
viewBox="0 0 640 512"
|
|
28
|
-
>
|
|
29
|
-
<path
|
|
30
|
-
d="M32,224H64V416H32A31.96166,31.96166,0,0,1,0,384V256A31.96166,31.96166,0,0,1,32,224Zm512-48V448a64.06328,64.06328,0,0,1-64,64H160a64.06328,64.06328,0,0,1-64-64V176a79.974,79.974,0,0,1,80-80H288V32a32,32,0,0,1,64,0V96H464A79.974,79.974,0,0,1,544,176ZM264,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,264,256Zm-8,128H192v32h64Zm96,0H288v32h64ZM456,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,456,256Zm-8,128H384v32h64ZM640,256V384a31.96166,31.96166,0,0,1-32,32H576V224h32A31.96166,31.96166,0,0,1,640,256Z"
|
|
31
|
-
/>
|
|
32
|
-
</svg>
|
|
33
|
-
<svg
|
|
34
|
-
class="pf-v6-icon-rh-ui"
|
|
35
|
-
viewBox="0 0 32 32"
|
|
36
|
-
>
|
|
37
|
-
<path
|
|
38
|
-
d="M29 22.5V29a1 1 0 1 1-2 0v-6H5v6a1 1 0 1 1-2 0v-6.5c0-.827.673-1.5 1.5-1.5h23c.827 0 1.5.673 1.5 1.5ZM3 11a1 1 0 0 1 1-1h2V5.5C6 4.673 6.673 4 7.5 4H12V2a1 1 0 1 1 2 0v2h4V2a1 1 0 1 1 2 0v2h4.5c.827 0 1.5.673 1.5 1.5V10h2a1 1 0 1 1 0 2h-2v4.5c0 .827-.673 1.5-1.5 1.5h-17c-.827 0-1.5-.673-1.5-1.5V12H4a1 1 0 0 1-1-1Zm5 5h16V6H8v10Zm5-6.612a1.626 1.626 0 1 0 .001 3.251A1.626 1.626 0 0 0 13 9.388Zm6-.01a1.626 1.626 0 1 0 .001 3.251A1.626 1.626 0 0 0 19 9.378Z"
|
|
39
|
-
/>
|
|
40
|
-
</svg>
|
|
41
|
-
</svg>
|
|
42
|
-
</span>
|
|
43
|
-
</span>
|
|
44
|
-
</div>
|
|
45
|
-
<div
|
|
46
|
-
class="pf-v6-l-split__item pf-u-background-color-200"
|
|
47
|
-
>
|
|
48
|
-
<div
|
|
49
|
-
class="pf-v6-u-display-flex pf-u-align-items-center"
|
|
50
|
-
>
|
|
51
|
-
<div>
|
|
52
|
-
.
|
|
53
|
-
</div>
|
|
54
|
-
<div>
|
|
55
|
-
.
|
|
56
|
-
</div>
|
|
57
|
-
<div>
|
|
58
|
-
.
|
|
59
|
-
</div>
|
|
60
|
-
</div>
|
|
61
|
-
</div>
|
|
62
|
-
</div>
|
|
63
|
-
</div>
|
|
64
|
-
`;
|