@patternfly/react-core 6.6.1-prerelease.8 → 6.6.1-prerelease.9

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.
Files changed (159) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/components/package.json +1 -1
  3. package/deprecated/package.json +1 -1
  4. package/dist/dynamic/components/AboutModal/package.json +1 -1
  5. package/dist/dynamic/components/Accordion/package.json +1 -1
  6. package/dist/dynamic/components/ActionList/package.json +1 -1
  7. package/dist/dynamic/components/Alert/package.json +1 -1
  8. package/dist/dynamic/components/Avatar/package.json +1 -1
  9. package/dist/dynamic/components/BackToTop/package.json +1 -1
  10. package/dist/dynamic/components/Backdrop/package.json +1 -1
  11. package/dist/dynamic/components/BackgroundImage/package.json +1 -1
  12. package/dist/dynamic/components/Badge/package.json +1 -1
  13. package/dist/dynamic/components/Banner/package.json +1 -1
  14. package/dist/dynamic/components/Brand/package.json +1 -1
  15. package/dist/dynamic/components/Breadcrumb/package.json +1 -1
  16. package/dist/dynamic/components/Button/package.json +1 -1
  17. package/dist/dynamic/components/CalendarMonth/package.json +1 -1
  18. package/dist/dynamic/components/Card/package.json +1 -1
  19. package/dist/dynamic/components/Checkbox/package.json +1 -1
  20. package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
  21. package/dist/dynamic/components/CodeBlock/package.json +1 -1
  22. package/dist/dynamic/components/Compass/package.json +1 -1
  23. package/dist/dynamic/components/Content/package.json +1 -1
  24. package/dist/dynamic/components/DataList/package.json +1 -1
  25. package/dist/dynamic/components/DatePicker/package.json +1 -1
  26. package/dist/dynamic/components/DescriptionList/package.json +1 -1
  27. package/dist/dynamic/components/Divider/package.json +1 -1
  28. package/dist/dynamic/components/Drawer/package.json +1 -1
  29. package/dist/dynamic/components/Dropdown/package.json +1 -1
  30. package/dist/dynamic/components/DualListSelector/package.json +1 -1
  31. package/dist/dynamic/components/EmptyState/package.json +1 -1
  32. package/dist/dynamic/components/ExpandableSection/package.json +1 -1
  33. package/dist/dynamic/components/FileUpload/package.json +1 -1
  34. package/dist/dynamic/components/Form/package.json +1 -1
  35. package/dist/dynamic/components/FormSelect/package.json +1 -1
  36. package/dist/dynamic/components/HelperText/package.json +1 -1
  37. package/dist/dynamic/components/Hero/package.json +1 -1
  38. package/dist/dynamic/components/Hint/package.json +1 -1
  39. package/dist/dynamic/components/Icon/package.json +1 -1
  40. package/dist/dynamic/components/InputGroup/package.json +1 -1
  41. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  42. package/dist/dynamic/components/Label/package.json +1 -1
  43. package/dist/dynamic/components/List/package.json +1 -1
  44. package/dist/dynamic/components/LoginPage/package.json +1 -1
  45. package/dist/dynamic/components/Masthead/package.json +1 -1
  46. package/dist/dynamic/components/Menu/package.json +1 -1
  47. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  48. package/dist/dynamic/components/Modal/package.json +1 -1
  49. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  50. package/dist/dynamic/components/Nav/package.json +1 -1
  51. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  52. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  53. package/dist/dynamic/components/NumberInput/package.json +1 -1
  54. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  55. package/dist/dynamic/components/Page/package.json +1 -1
  56. package/dist/dynamic/components/Pagination/package.json +1 -1
  57. package/dist/dynamic/components/Panel/package.json +1 -1
  58. package/dist/dynamic/components/Popover/package.json +1 -1
  59. package/dist/dynamic/components/Progress/package.json +1 -1
  60. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  61. package/dist/dynamic/components/Radio/package.json +1 -1
  62. package/dist/dynamic/components/SearchInput/package.json +1 -1
  63. package/dist/dynamic/components/Select/package.json +1 -1
  64. package/dist/dynamic/components/Sidebar/package.json +1 -1
  65. package/dist/dynamic/components/SimpleList/package.json +1 -1
  66. package/dist/dynamic/components/Skeleton/package.json +1 -1
  67. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  68. package/dist/dynamic/components/Slider/package.json +1 -1
  69. package/dist/dynamic/components/Spinner/package.json +1 -1
  70. package/dist/dynamic/components/Switch/package.json +1 -1
  71. package/dist/dynamic/components/Tabs/package.json +1 -1
  72. package/dist/dynamic/components/TextArea/package.json +1 -1
  73. package/dist/dynamic/components/TextInput/package.json +1 -1
  74. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  75. package/dist/dynamic/components/TimePicker/package.json +1 -1
  76. package/dist/dynamic/components/Timestamp/package.json +1 -1
  77. package/dist/dynamic/components/Title/package.json +1 -1
  78. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  79. package/dist/dynamic/components/Toolbar/package.json +1 -1
  80. package/dist/dynamic/components/Tooltip/package.json +1 -1
  81. package/dist/dynamic/components/TreeView/package.json +1 -1
  82. package/dist/dynamic/components/Truncate/package.json +1 -1
  83. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  84. package/dist/dynamic/components/Wizard/package.json +1 -1
  85. package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/Tile/package.json +1 -1
  90. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  91. package/dist/dynamic/deprecated/components/package.json +1 -1
  92. package/dist/dynamic/helpers/AnimationsProvider/AnimationsProvider/package.json +1 -1
  93. package/dist/dynamic/helpers/AnimationsProvider/package.json +1 -1
  94. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  95. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  96. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  97. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  98. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  99. package/dist/dynamic/helpers/SSRSafeIds/SSRSafeIds/package.json +1 -1
  100. package/dist/dynamic/helpers/constants/package.json +1 -1
  101. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  102. package/dist/dynamic/helpers/fileUtils/package.json +1 -1
  103. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  104. package/dist/dynamic/helpers/inert/package.json +1 -1
  105. package/dist/dynamic/helpers/package.json +1 -1
  106. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  107. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  108. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  109. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  110. package/dist/dynamic/helpers/useSSRSafeId/package.json +1 -1
  111. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  112. package/dist/dynamic/helpers/util/package.json +1 -1
  113. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  114. package/dist/dynamic/layouts/Flex/package.json +1 -1
  115. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  116. package/dist/dynamic/layouts/Grid/package.json +1 -1
  117. package/dist/dynamic/layouts/Level/package.json +1 -1
  118. package/dist/dynamic/layouts/Split/package.json +1 -1
  119. package/dist/dynamic/layouts/Stack/package.json +1 -1
  120. package/dist/dynamic/styles/package.json +1 -1
  121. package/dist/esm/components/Drawer/Drawer.d.ts +3 -0
  122. package/dist/esm/components/Drawer/Drawer.d.ts.map +1 -1
  123. package/dist/esm/components/Drawer/Drawer.js +4 -3
  124. package/dist/esm/components/Drawer/Drawer.js.map +1 -1
  125. package/dist/esm/components/Drawer/DrawerContent.d.ts +1 -1
  126. package/dist/esm/components/Drawer/DrawerContent.d.ts.map +1 -1
  127. package/dist/esm/components/Drawer/DrawerPanelContent.js +22 -25
  128. package/dist/esm/components/Drawer/DrawerPanelContent.js.map +1 -1
  129. package/dist/js/components/Drawer/Drawer.d.ts +3 -0
  130. package/dist/js/components/Drawer/Drawer.d.ts.map +1 -1
  131. package/dist/js/components/Drawer/Drawer.js +4 -3
  132. package/dist/js/components/Drawer/Drawer.js.map +1 -1
  133. package/dist/js/components/Drawer/DrawerContent.d.ts +1 -1
  134. package/dist/js/components/Drawer/DrawerContent.d.ts.map +1 -1
  135. package/dist/js/components/Drawer/DrawerPanelContent.js +22 -25
  136. package/dist/js/components/Drawer/DrawerPanelContent.js.map +1 -1
  137. package/dist/umd/assets/{output-DfsTC8Iz.css → output-B35Oc6dG.css} +20268 -20257
  138. package/dist/umd/react-core.min.js +1 -1
  139. package/helpers/package.json +1 -1
  140. package/layouts/package.json +1 -1
  141. package/next/package.json +1 -1
  142. package/package.json +6 -6
  143. package/src/components/Drawer/Drawer.tsx +10 -2
  144. package/src/components/Drawer/DrawerContent.tsx +1 -1
  145. package/src/components/Drawer/DrawerPanelContent.tsx +25 -25
  146. package/src/components/Drawer/__tests__/Drawer.test.tsx +53 -0
  147. package/src/components/Drawer/examples/Drawer.md +1 -1
  148. package/src/components/Page/examples/Page.md +24 -12
  149. package/src/components/Page/examples/PageCustomFooter.tsx +59 -0
  150. package/src/components/Page/examples/PageCustomHeader.tsx +17 -0
  151. package/src/components/Page/examples/PagePlain.tsx +9 -0
  152. package/src/demos/CardView/CardView.md +1 -1
  153. package/src/demos/CardView/examples/CardView.tsx +1 -1
  154. package/src/demos/Drawer/Drawer.md +16 -0
  155. package/src/demos/Drawer/examples/DrawerViewport.tsx +112 -0
  156. package/src/demos/Page.md +24 -11
  157. package/src/demos/examples/Page/PagePlain.tsx +342 -0
  158. package/src/components/Page/examples/PageHeaderAndFooterContent.tsx +0 -20
  159. package/src/demos/examples/Page/PageStickySectionGroupUsingPageHeader.tsx +0 -0
@@ -0,0 +1,342 @@
1
+ import { useState } from 'react';
2
+ import {
3
+ Bullseye,
4
+ Button,
5
+ ButtonVariant,
6
+ Card,
7
+ CardBody,
8
+ CardExpandableContent,
9
+ CardFooter,
10
+ CardHeader,
11
+ CardTitle,
12
+ Content,
13
+ Divider,
14
+ Dropdown,
15
+ DropdownItem,
16
+ DropdownList,
17
+ EmptyState,
18
+ EmptyStateActions,
19
+ EmptyStateFooter,
20
+ EmptyStateVariant,
21
+ Flex,
22
+ FlexItem,
23
+ Gallery,
24
+ GalleryItem,
25
+ Icon,
26
+ Label,
27
+ LabelColor,
28
+ LabelGroup,
29
+ LabelStatus,
30
+ MenuToggle,
31
+ MenuToggleElement,
32
+ Page,
33
+ PageBody,
34
+ PageFooter,
35
+ PageHeader,
36
+ PageSection,
37
+ Panel,
38
+ PanelMain,
39
+ PanelMainBody,
40
+ SkipToContent,
41
+ Title
42
+ } from '@patternfly/react-core';
43
+ import RhUiEllipsisVerticalFillIcon from '@patternfly/react-icons/dist/esm/icons/rh-ui-ellipsis-vertical-fill-icon';
44
+ import RhUiAddCircleFillIcon from '@patternfly/react-icons/dist/esm/icons/rh-ui-add-circle-fill-icon';
45
+ import RhUiTrashFillIcon from '@patternfly/react-icons/dist/esm/icons/rh-ui-trash-fill-icon';
46
+ import RhUiPortIcon from '@patternfly/react-icons/dist/esm/icons/rh-ui-port-icon';
47
+ import RhUiContainerIcon from '@patternfly/react-icons/dist/esm/icons/rh-ui-container-icon';
48
+ import RhUiAutomationIcon from '@patternfly/react-icons/dist/esm/icons/rh-ui-automation-icon';
49
+ import RhUiConnectedIcon from '@patternfly/react-icons/dist/esm/icons/rh-ui-connected-icon';
50
+ import RhUiArrowRightIcon from '@patternfly/react-icons/dist/esm/icons/rh-ui-arrow-right-icon';
51
+ import pfIcon from '@patternfly/react-core/src/demos/assets/PF-IconLogo.svg';
52
+ import activeMQIcon from '@patternfly/react-core/src/demos/assets/activemq-core_200x150.png';
53
+ import avroIcon from '@patternfly/react-core/src/demos/assets/camel-avro_200x150.png';
54
+ import dropBoxIcon from '@patternfly/react-core/src/demos/assets/camel-dropbox_200x150.png';
55
+ import infinispanIcon from '@patternfly/react-core/src/demos/assets/camel-infinispan_200x150.png';
56
+ import saxonIcon from '@patternfly/react-core/src/demos/assets/camel-saxon_200x150.png';
57
+ import sparkIcon from '@patternfly/react-core/src/demos/assets/camel-spark_200x150.png';
58
+ import swaggerIcon from '@patternfly/react-core/src/demos/assets/camel-swagger-java_200x150.png';
59
+ import azureIcon from '@patternfly/react-core/src/demos/assets/FuseConnector_Icons_AzureServices.png';
60
+ import restIcon from '@patternfly/react-core/src/demos/assets/FuseConnector_Icons_REST.png';
61
+ import { data } from '@patternfly/react-core/src/demos/CardView/examples/CardViewData.jsx';
62
+
63
+ export const PagePlain: React.FunctionComponent = () => {
64
+ const [isPathwayExpanded, setIsPathwayExpanded] = useState(true);
65
+ const [isPathwayKebabOpen, setIsPathwayKebabOpen] = useState(false);
66
+ const [selectedItems, setSelectedItems] = useState<number[]>([]);
67
+ const [openCardMenu, setOpenCardMenu] = useState<number | null>(null);
68
+ const mainContainerId = 'main-content-page-demo-plain';
69
+
70
+ const icons = {
71
+ pfIcon,
72
+ activeMQIcon,
73
+ avroIcon,
74
+ dropBoxIcon,
75
+ infinispanIcon,
76
+ saxonIcon,
77
+ sparkIcon,
78
+ swaggerIcon,
79
+ azureIcon,
80
+ restIcon
81
+ };
82
+
83
+ const cards = data.map((product) => (
84
+ <GalleryItem key={product.name} component="li">
85
+ <Card isCompact isGlass isClickable isSelectable isFullHeight id={product.name.replace(/ /g, '-')}>
86
+ <CardHeader
87
+ selectableActions={{
88
+ isChecked: selectedItems.includes(product.id),
89
+ selectableActionId: `page-demo-plain-selectable-${product.id}`,
90
+ selectableActionAriaLabelledby: `${product.name.replace(/ /g, '-')}-title`,
91
+ selectableActionProps: { isLabelWrapped: true },
92
+ name: `page-demo-plain-check-${product.id}`,
93
+ onChange: (_event, checked) => {
94
+ setSelectedItems((items) =>
95
+ checked ? [...items, product.id] : items.filter((item) => item !== product.id)
96
+ );
97
+ }
98
+ }}
99
+ actions={{
100
+ actions: (
101
+ <Dropdown
102
+ isOpen={openCardMenu === product.id}
103
+ onOpenChange={(isOpen) => setOpenCardMenu(isOpen ? product.id : null)}
104
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
105
+ <MenuToggle
106
+ ref={toggleRef}
107
+ aria-label={`${product.name} actions`}
108
+ variant="plain"
109
+ onClick={() => setOpenCardMenu(openCardMenu === product.id ? null : product.id)}
110
+ isExpanded={openCardMenu === product.id}
111
+ icon={<RhUiEllipsisVerticalFillIcon />}
112
+ />
113
+ )}
114
+ >
115
+ <DropdownList>
116
+ <DropdownItem onClick={() => setOpenCardMenu(null)}>
117
+ <RhUiTrashFillIcon /> Delete
118
+ </DropdownItem>
119
+ </DropdownList>
120
+ </Dropdown>
121
+ )
122
+ }}
123
+ >
124
+ <img src={icons[product.icon]} alt="" style={{ maxWidth: '60px' }} />
125
+ </CardHeader>
126
+ <CardTitle>{product.name}</CardTitle>
127
+ <CardBody>{product.description}</CardBody>
128
+ </Card>
129
+ </GalleryItem>
130
+ ));
131
+
132
+ const renderPathwayCard = (
133
+ category: React.ReactNode,
134
+ systems: number,
135
+ description: string,
136
+ rebootRequired: boolean,
137
+ hasIncident: boolean
138
+ ) => (
139
+ <FlexItem flex={{ default: 'flex_1' }} alignSelf={{ default: 'alignSelfStretch' }}>
140
+ <Card isPlain isFullHeight>
141
+ <CardBody>
142
+ <Flex direction={{ default: 'column' }} spaceItems={{ default: 'spaceItemsSm' }} className="pf-v6-u-h-100">
143
+ <Flex
144
+ spaceItems={{ default: 'spaceItemsSm' }}
145
+ direction={{ md: 'column', lg: 'row' }}
146
+ spacer={{ md: 'spacerMd', lg: 'spacerSm' }}
147
+ >
148
+ {category}
149
+ <Button variant={ButtonVariant.link} isInline component="a" href="#">
150
+ {systems} systems
151
+ </Button>
152
+ </Flex>
153
+ <FlexItem spacer={{ default: 'spacerMd' }}>
154
+ <p>{description}</p>
155
+ </FlexItem>
156
+ <Flex
157
+ grow={{ default: 'grow' }}
158
+ direction={{ default: 'column', lg: 'row' }}
159
+ justifyContent={{ default: 'justifyContentFlexEnd', lg: 'justifyContentFlexStart' }}
160
+ alignContent={{ lg: 'alignContentFlexEnd' }}
161
+ rowGap={{ default: 'rowGapMd' }}
162
+ >
163
+ {hasIncident && (
164
+ <FlexItem style={{ marginBlockEnd: '-.25em' }}>
165
+ <Label status={LabelStatus.danger}>Incident</Label>
166
+ </FlexItem>
167
+ )}
168
+ <Flex
169
+ spaceItems={{ default: 'spaceItemsSm' }}
170
+ alignItems={{ default: 'alignItemsCenter' }}
171
+ flexWrap={{ default: 'nowrap' }}
172
+ rowGap={{ default: 'rowGapMd' }}
173
+ >
174
+ <Icon status={rebootRequired ? 'danger' : 'success'}>
175
+ <RhUiConnectedIcon />
176
+ </Icon>
177
+ <p className="pf-v6-u-color-200">
178
+ System reboot <b className="pf-v6-u-color-100">{rebootRequired ? 'is' : 'is not'}</b> required
179
+ </p>
180
+ </Flex>
181
+ </Flex>
182
+ </Flex>
183
+ </CardBody>
184
+ <CardFooter>
185
+ <Button
186
+ variant={ButtonVariant.link}
187
+ isInline
188
+ component="a"
189
+ href="#"
190
+ icon={<RhUiArrowRightIcon />}
191
+ iconPosition="end"
192
+ >
193
+ View pathway
194
+ </Button>
195
+ </CardFooter>
196
+ </Card>
197
+ </FlexItem>
198
+ );
199
+
200
+ const recommendedPathwaysCard = (
201
+ <Card isExpanded={isPathwayExpanded} isGlass>
202
+ <CardHeader
203
+ onExpand={() => setIsPathwayExpanded(!isPathwayExpanded)}
204
+ toggleButtonProps={{
205
+ id: 'page-demo-plain-expandable-status-card-1-toggle',
206
+ 'aria-label': 'Details',
207
+ 'aria-labelledby':
208
+ 'page-demo-plain-expandable-status-card-1-title page-demo-plain-expandable-status-card-1-toggle',
209
+ 'aria-expanded': isPathwayExpanded
210
+ }}
211
+ actions={{
212
+ actions: (
213
+ <Dropdown
214
+ isOpen={isPathwayKebabOpen}
215
+ onOpenChange={(isOpen) => setIsPathwayKebabOpen(isOpen)}
216
+ toggle={(toggleRef: React.Ref<MenuToggleElement>) => (
217
+ <MenuToggle
218
+ ref={toggleRef}
219
+ id="page-demo-plain-expandable-status-card-1-action-kebab"
220
+ aria-label="Menu toggle"
221
+ variant="plain"
222
+ onClick={() => setIsPathwayKebabOpen(!isPathwayKebabOpen)}
223
+ isExpanded={isPathwayKebabOpen}
224
+ icon={<RhUiEllipsisVerticalFillIcon />}
225
+ />
226
+ )}
227
+ >
228
+ <DropdownList>
229
+ <DropdownItem onClick={() => setIsPathwayKebabOpen(false)}>Action</DropdownItem>
230
+ </DropdownList>
231
+ </Dropdown>
232
+ )
233
+ }}
234
+ >
235
+ <CardTitle id="page-demo-plain-expandable-status-card-1-title">
236
+ <Title headingLevel="h2" size="xl">
237
+ Improve recommended pathways
238
+ </Title>
239
+ </CardTitle>
240
+ </CardHeader>
241
+ <CardExpandableContent>
242
+ <Flex direction={{ default: 'column', md: 'row' }} alignItems={{ default: 'alignItemsStretch' }}>
243
+ {renderPathwayCard(
244
+ <LabelGroup aria-label="Group of labels">
245
+ <Label variant="outline" color={LabelColor.blue} icon={<RhUiPortIcon />}>
246
+ Performance
247
+ </Label>
248
+ </LabelGroup>,
249
+ 378,
250
+ 'Upgrade your kernel version to remediate ntpd time sync issues, kernel panics, network instabilities and issues with system performance',
251
+ true,
252
+ true
253
+ )}
254
+ <Divider orientation={{ md: 'vertical' }} inset={{ default: 'inset3xl' }} />
255
+ {renderPathwayCard(
256
+ <LabelGroup numLabels={1} aria-label="Group of labels">
257
+ <Label variant="outline" color={LabelColor.blue} icon={<RhUiContainerIcon />}>
258
+ Stability
259
+ </Label>
260
+ <Label variant="outline" color={LabelColor.blue}>
261
+ Availability
262
+ </Label>
263
+ </LabelGroup>,
264
+ 211,
265
+ 'Adjust your networking configuration to get ahead of network performance degradations and packet losses',
266
+ false,
267
+ false
268
+ )}
269
+ <Divider orientation={{ md: 'vertical' }} inset={{ default: 'inset3xl' }} />
270
+ {renderPathwayCard(
271
+ <LabelGroup aria-label="Group of labels">
272
+ <Label variant="outline" color={LabelColor.blue} icon={<RhUiAutomationIcon />}>
273
+ Availability
274
+ </Label>
275
+ </LabelGroup>,
276
+ 166,
277
+ 'Fine tune your Oracle DB configuration to improve database performance and avoid process failure',
278
+ true,
279
+ true
280
+ )}
281
+ </Flex>
282
+ </CardExpandableContent>
283
+ </Card>
284
+ );
285
+
286
+ const footer = (
287
+ <PageFooter>
288
+ <PageBody>custom footer</PageBody>
289
+ </PageFooter>
290
+ );
291
+
292
+ return (
293
+ <Page
294
+ id="page-demo-plain"
295
+ isPlain
296
+ masthead={<PageHeader>Custom header</PageHeader>}
297
+ skipToContent={<SkipToContent href={`#${mainContainerId}`}>Skip to content</SkipToContent>}
298
+ mainContainerId={mainContainerId}
299
+ footer={footer}
300
+ sidebar={null}
301
+ >
302
+ <PageSection isPlain padding={{ default: 'noPadding' }}>
303
+ <Panel isGlass variant="bordered">
304
+ <PanelMain>
305
+ <PanelMainBody>
306
+ <Content>
307
+ <h1>Page title</h1>
308
+ <p>This is a full page demo.</p>
309
+ </Content>
310
+ </PanelMainBody>
311
+ </PanelMain>
312
+ </Panel>
313
+ </PageSection>
314
+ <PageSection isPlain padding={{ default: 'noPadding' }}>
315
+ {recommendedPathwaysCard}
316
+ </PageSection>
317
+ <PageSection isPlain padding={{ default: 'noPadding' }} isFilled>
318
+ <Gallery component="ul" hasGutter aria-label="Selectable card container">
319
+ <GalleryItem component="li">
320
+ <Card isCompact isGlass isFullHeight>
321
+ <Bullseye>
322
+ <EmptyState
323
+ headingLevel="h2"
324
+ titleText="Add a new card to your page"
325
+ icon={RhUiAddCircleFillIcon}
326
+ variant={EmptyStateVariant.xs}
327
+ >
328
+ <EmptyStateFooter>
329
+ <EmptyStateActions>
330
+ <Button variant={ButtonVariant.link}>Add card</Button>
331
+ </EmptyStateActions>
332
+ </EmptyStateFooter>
333
+ </EmptyState>
334
+ </Bullseye>
335
+ </Card>
336
+ </GalleryItem>
337
+ {cards}
338
+ </Gallery>
339
+ </PageSection>
340
+ </Page>
341
+ );
342
+ };
@@ -1,20 +0,0 @@
1
- import { Page, PageHeader, PageFooter, PageSection } from '@patternfly/react-core';
2
-
3
- export const PageHeaderAndFooterContent: React.FunctionComponent = () => {
4
- const pageHeader = <PageHeader>Page header</PageHeader>;
5
- const pageFooter = <PageFooter>Page footer</PageFooter>;
6
-
7
- return (
8
- <Page isPlain masthead={pageHeader} footer={pageFooter}>
9
- <PageSection aria-labelledby="header-example-section-1">
10
- <h2 id="header-example-section-1">Page header example section 1</h2>
11
- </PageSection>
12
- <PageSection variant="secondary" aria-labelledby="header-example-section-2">
13
- <h2 id="header-example-section-2">Page header example section 2 with secondary variant styling</h2>
14
- </PageSection>
15
- <PageSection aria-labelledby="header-example-section-3">
16
- <h2 id="header-example-section-3">Page header example section 3</h2>
17
- </PageSection>
18
- </Page>
19
- );
20
- };