@patternfly/react-core 5.2.0-prerelease.6 → 5.2.0-prerelease.8

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 (145) hide show
  1. package/CHANGELOG.md +8 -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/Chip/package.json +1 -1
  21. package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
  22. package/dist/dynamic/components/CodeBlock/package.json +1 -1
  23. package/dist/dynamic/components/DataList/package.json +1 -1
  24. package/dist/dynamic/components/DatePicker/package.json +1 -1
  25. package/dist/dynamic/components/DescriptionList/package.json +1 -1
  26. package/dist/dynamic/components/Divider/package.json +1 -1
  27. package/dist/dynamic/components/DragDrop/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/Hint/package.json +1 -1
  38. package/dist/dynamic/components/Icon/package.json +1 -1
  39. package/dist/dynamic/components/InputGroup/package.json +1 -1
  40. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  41. package/dist/dynamic/components/Label/package.json +1 -1
  42. package/dist/dynamic/components/List/package.json +1 -1
  43. package/dist/dynamic/components/LoginPage/package.json +1 -1
  44. package/dist/dynamic/components/Masthead/package.json +1 -1
  45. package/dist/dynamic/components/Menu/package.json +1 -1
  46. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  47. package/dist/dynamic/components/Modal/package.json +1 -1
  48. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  49. package/dist/dynamic/components/Nav/package.json +1 -1
  50. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  51. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  52. package/dist/dynamic/components/NumberInput/package.json +1 -1
  53. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  54. package/dist/dynamic/components/Page/package.json +1 -1
  55. package/dist/dynamic/components/Pagination/package.json +1 -1
  56. package/dist/dynamic/components/Panel/package.json +1 -1
  57. package/dist/dynamic/components/Popover/package.json +1 -1
  58. package/dist/dynamic/components/Progress/package.json +1 -1
  59. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  60. package/dist/dynamic/components/Radio/package.json +1 -1
  61. package/dist/dynamic/components/SearchInput/package.json +1 -1
  62. package/dist/dynamic/components/Select/package.json +1 -1
  63. package/dist/dynamic/components/Sidebar/package.json +1 -1
  64. package/dist/dynamic/components/SimpleList/package.json +1 -1
  65. package/dist/dynamic/components/Skeleton/package.json +1 -1
  66. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  67. package/dist/dynamic/components/Slider/package.json +1 -1
  68. package/dist/dynamic/components/Spinner/package.json +1 -1
  69. package/dist/dynamic/components/Switch/package.json +1 -1
  70. package/dist/dynamic/components/Tabs/package.json +1 -1
  71. package/dist/dynamic/components/Text/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/Tile/package.json +1 -1
  76. package/dist/dynamic/components/TimePicker/package.json +1 -1
  77. package/dist/dynamic/components/Timestamp/package.json +1 -1
  78. package/dist/dynamic/components/Title/package.json +1 -1
  79. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  80. package/dist/dynamic/components/Toolbar/package.json +1 -1
  81. package/dist/dynamic/components/Tooltip/package.json +1 -1
  82. package/dist/dynamic/components/TreeView/package.json +1 -1
  83. package/dist/dynamic/components/Truncate/package.json +1 -1
  84. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  85. package/dist/dynamic/components/Wizard/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/ApplicationLauncher/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/ContextSelector/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Dropdown/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/OptionsMenu/package.json +1 -1
  90. package/dist/dynamic/deprecated/components/PageHeader/package.json +1 -1
  91. package/dist/dynamic/deprecated/components/Select/package.json +1 -1
  92. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  93. package/dist/dynamic/deprecated/components/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/constants/package.json +1 -1
  100. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  101. package/dist/dynamic/helpers/favorites/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/package.json +1 -1
  105. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  106. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  107. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  108. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  109. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  110. package/dist/dynamic/helpers/util/package.json +1 -1
  111. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  112. package/dist/dynamic/layouts/Flex/package.json +1 -1
  113. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  114. package/dist/dynamic/layouts/Grid/package.json +1 -1
  115. package/dist/dynamic/layouts/Level/package.json +1 -1
  116. package/dist/dynamic/layouts/Split/package.json +1 -1
  117. package/dist/dynamic/layouts/Stack/package.json +1 -1
  118. package/dist/dynamic/next/components/package.json +1 -1
  119. package/helpers/package.json +1 -1
  120. package/layouts/package.json +1 -1
  121. package/next/package.json +1 -1
  122. package/package.json +2 -2
  123. package/src/components/Alert/examples/Alert.md +142 -103
  124. package/src/components/Button/examples/Button.md +1 -1
  125. package/src/demos/CardDemos.md +16 -2933
  126. package/src/demos/{Card/Card.md → CardView/CardView.md} +1 -1
  127. package/src/demos/{Card → CardView}/examples/CardView.tsx +1 -1
  128. package/src/demos/PrimaryDetail.md +2 -2
  129. package/src/demos/examples/Card/CardAggregateStatus.tsx +249 -0
  130. package/src/demos/examples/Card/CardDetails.tsx +95 -0
  131. package/src/demos/examples/Card/CardEventsView.tsx +154 -0
  132. package/src/demos/examples/Card/CardHorizontalGrid.tsx +240 -0
  133. package/src/demos/examples/Card/CardHorizontalSplit.tsx +30 -0
  134. package/src/demos/examples/Card/CardLogView.tsx +118 -0
  135. package/src/demos/examples/Card/CardNested.tsx +532 -0
  136. package/src/demos/examples/Card/CardStatus.tsx +262 -0
  137. package/src/demos/examples/Card/CardStatusTabbed.tsx +113 -0
  138. package/src/demos/examples/Card/CardTrendDemo1.tsx +106 -0
  139. package/src/demos/examples/Card/CardTrendDemo2.tsx +76 -0
  140. package/src/demos/examples/Card/CardUtilizationDemo1.tsx +109 -0
  141. package/src/demos/examples/Card/CardUtilizationDemo2.tsx +103 -0
  142. package/src/demos/examples/Card/CardUtilizationDemo3.tsx +174 -0
  143. package/src/demos/examples/Card/CardUtilizationDemo4.tsx +50 -0
  144. package/src/demos/examples/Card/CardWithAccordion.tsx +514 -0
  145. /package/src/demos/{Card/examples/CardData.jsx → CardView/examples/CardViewData.jsx} +0 -0
@@ -0,0 +1,532 @@
1
+ import React from 'react';
2
+ import {
3
+ Card,
4
+ CardHeader,
5
+ CardTitle,
6
+ CardBody,
7
+ CardExpandableContent,
8
+ Checkbox,
9
+ Title,
10
+ Divider,
11
+ Grid,
12
+ GridItem,
13
+ Flex,
14
+ FlexItem
15
+ } from '@patternfly/react-core';
16
+ import { ChartArea, ChartGroup, ChartVoronoiContainer } from '@patternfly/react-charts';
17
+ import sizing from '@patternfly/react-styles/css/utilities/Sizing/sizing';
18
+ import accessibility from '@patternfly/react-styles/css/utilities/Accessibility/accessibility';
19
+
20
+ export const CardNested: React.FunctionComponent = () => {
21
+ const [isCardExpanded1, onCardExpand1] = React.useState(true);
22
+ const [isCardExpanded2, onCardExpand2] = React.useState(false);
23
+ const [isCardExpanded3, onCardExpand3] = React.useState(false);
24
+ const [isToggleOnRight, onCheckClick] = React.useState(false);
25
+
26
+ return (
27
+ <>
28
+ <div style={{ marginBottom: '12px' }}>
29
+ <Checkbox
30
+ id="isToggleRightAligned"
31
+ key="isToggleRightAligned"
32
+ label="Align expand toggle on right"
33
+ isChecked={isToggleOnRight}
34
+ onChange={(_event) => onCheckClick(!isToggleOnRight)}
35
+ />
36
+ </div>
37
+ <Card id="nested-cards-card">
38
+ <CardHeader>
39
+ <CardTitle id="nested-cards-toggle-title">
40
+ <Title headingLevel="h4" size="lg">
41
+ {' '}
42
+ Hardware Monitor{' '}
43
+ </Title>
44
+ </CardTitle>
45
+ </CardHeader>
46
+ <Card id="nested-cards-toggle-group-1" isPlain isExpanded={isCardExpanded1}>
47
+ <CardHeader
48
+ onExpand={() => onCardExpand1(!isCardExpanded1)}
49
+ isToggleRightAligned={isToggleOnRight}
50
+ toggleButtonProps={{
51
+ id: 'toggle-button-1',
52
+ 'aria-label': 'Details',
53
+ 'aria-labelledby': 'nested-cards-toggle-group-1-title toggle-button-1',
54
+ 'aria-expanded': isCardExpanded1
55
+ }}
56
+ >
57
+ <CardTitle id="nested-cards-toggle-group-1-title">
58
+ <span className="pf-v5-u-font-weight-light">CPU 1</span>
59
+ </CardTitle>
60
+ </CardHeader>
61
+ <CardExpandableContent>
62
+ <CardBody>
63
+ <Grid hasGutter>
64
+ <Grid hasGutter>
65
+ <GridItem md={4}>
66
+ <Flex
67
+ className={sizing.h_100OnMd}
68
+ direction={{ md: 'column' }}
69
+ spaceItems={{ md: 'spaceItemsNone' }}
70
+ justifyContent={{ md: 'justifyContentCenter' }}
71
+ >
72
+ <FlexItem>
73
+ <b>Temperature</b>
74
+ </FlexItem>
75
+ <Divider
76
+ className={accessibility.hiddenOnMd}
77
+ orientation={{
78
+ default: 'vertical'
79
+ }}
80
+ inset={{ default: 'insetSm' }}
81
+ />
82
+ <FlexItem>
83
+ <span>64C</span>
84
+ </FlexItem>
85
+ </Flex>
86
+ </GridItem>
87
+ <GridItem md={8}>
88
+ <Grid hasGutter>
89
+ <GridItem span={2}>
90
+ <Flex
91
+ direction={{ default: 'column' }}
92
+ spaceItems={{ default: 'spaceItemsNone' }}
93
+ alignItems={{ md: 'alignItemsFlexEnd' }}
94
+ >
95
+ <FlexItem>100C</FlexItem>
96
+ <FlexItem>50C</FlexItem>
97
+ <FlexItem>0C</FlexItem>
98
+ </Flex>
99
+ </GridItem>
100
+ <GridItem span={10}>
101
+ <ChartGroup
102
+ ariaDesc="Mock CPU temperature"
103
+ ariaTitle="Mock CPU temperature sparkline chart"
104
+ containerComponent={
105
+ <ChartVoronoiContainer
106
+ labels={({ datum }) => `${datum.name}: ${datum.y}`}
107
+ constrainToVisibleArea
108
+ />
109
+ }
110
+ height={60}
111
+ maxDomain={{ y: 100 }}
112
+ padding={0}
113
+ width={400}
114
+ >
115
+ <ChartArea
116
+ data={[
117
+ { name: 'Temp', x: '1', y: 25 },
118
+ { name: 'Temp', x: '2', y: 40 },
119
+ { name: 'Temp', x: '3', y: 20 },
120
+ { name: 'Temp', x: '4', y: 60 },
121
+ { name: 'Temp', x: '5', y: 20 },
122
+ { name: 'Temp', x: '6', y: 41 },
123
+ { name: 'Temp', x: '7', y: 45 },
124
+ { name: 'Temp', x: '8', y: 41 },
125
+ { name: 'Temp', x: '9', y: 62 }
126
+ ]}
127
+ />
128
+ </ChartGroup>
129
+ </GridItem>
130
+ </Grid>
131
+ </GridItem>
132
+ </Grid>
133
+ <Divider className={accessibility.hiddenOnMd} />
134
+ <Grid hasGutter>
135
+ <GridItem md={4}>
136
+ <Flex
137
+ className={sizing.h_100OnMd}
138
+ direction={{ md: 'column' }}
139
+ spaceItems={{ md: 'spaceItemsNone' }}
140
+ justifyContent={{ md: 'justifyContentCenter' }}
141
+ >
142
+ <FlexItem>
143
+ <b>Speed</b>
144
+ </FlexItem>
145
+ <Divider
146
+ className={accessibility.hiddenOnMd}
147
+ orientation={{
148
+ default: 'vertical'
149
+ }}
150
+ inset={{ default: 'insetSm' }}
151
+ />
152
+ <FlexItem>
153
+ <span>2.3Ghz</span>
154
+ </FlexItem>
155
+ </Flex>
156
+ </GridItem>
157
+ <GridItem md={8}>
158
+ <Grid hasGutter>
159
+ <GridItem span={2}>
160
+ <Flex
161
+ direction={{ default: 'column' }}
162
+ spaceItems={{ default: 'spaceItemsNone' }}
163
+ alignItems={{ md: 'alignItemsFlexEnd' }}
164
+ >
165
+ <FlexItem>3.6Ghz</FlexItem>
166
+ <FlexItem>1.5Ghz</FlexItem>
167
+ <FlexItem>0GHZ</FlexItem>
168
+ </Flex>
169
+ </GridItem>
170
+ <GridItem span={10}>
171
+ <ChartGroup
172
+ ariaDesc="Mock CPU speed"
173
+ ariaTitle="Mock CPU speed sparkline chart"
174
+ containerComponent={
175
+ <ChartVoronoiContainer
176
+ labels={({ datum }) => `${datum.name}: ${datum.y}`}
177
+ constrainToVisibleArea
178
+ />
179
+ }
180
+ height={60}
181
+ maxDomain={{ y: 3.6 }}
182
+ padding={0}
183
+ width={400}
184
+ >
185
+ <ChartArea
186
+ data={[
187
+ { name: 'Temp', x: '1', y: 0.9 },
188
+ { name: 'Temp', x: '2', y: 1.44 },
189
+ { name: 'Temp', x: '3', y: 0.72 },
190
+ { name: 'Temp', x: '4', y: 2.16 },
191
+ { name: 'Temp', x: '5', y: 0.72 },
192
+ { name: 'Temp', x: '6', y: 1.48 },
193
+ { name: 'Temp', x: '7', y: 1.62 },
194
+ { name: 'Temp', x: '8', y: 1.48 },
195
+ { name: 'Temp', x: '9', y: 2.23 }
196
+ ]}
197
+ />
198
+ </ChartGroup>
199
+ </GridItem>
200
+ </Grid>
201
+ </GridItem>
202
+ </Grid>
203
+ </Grid>
204
+ </CardBody>
205
+ </CardExpandableContent>
206
+ </Card>
207
+ <Card id="nested-cards-toggle-group-2" isPlain isExpanded={isCardExpanded3}>
208
+ <CardHeader
209
+ onExpand={() => onCardExpand3(!isCardExpanded3)}
210
+ isToggleRightAligned={isToggleOnRight}
211
+ toggleButtonProps={{
212
+ id: 'toggle-button-2',
213
+ 'aria-label': 'Details',
214
+ 'aria-labelledby': 'nested-cards-toggle-group-2-title toggle-button-2',
215
+ 'aria-expanded': isCardExpanded3
216
+ }}
217
+ >
218
+ <CardTitle id="nested-cards-toggle-group-2-title">
219
+ <span className="pf-v5-u-font-weight-light">CPU 2</span>
220
+ </CardTitle>
221
+ </CardHeader>
222
+ <CardExpandableContent>
223
+ <CardBody>
224
+ <Grid hasGutter>
225
+ <Grid hasGutter>
226
+ <GridItem md={4}>
227
+ <Flex
228
+ className={sizing.h_100OnMd}
229
+ direction={{ md: 'column' }}
230
+ spaceItems={{ md: 'spaceItemsNone' }}
231
+ justifyContent={{ md: 'justifyContentCenter' }}
232
+ >
233
+ <FlexItem>
234
+ <b>Temperature</b>
235
+ </FlexItem>
236
+ <Divider
237
+ className={accessibility.hiddenOnMd}
238
+ orientation={{
239
+ default: 'vertical'
240
+ }}
241
+ inset={{ default: 'insetSm' }}
242
+ />
243
+ <FlexItem>
244
+ <span>64C</span>
245
+ </FlexItem>
246
+ </Flex>
247
+ </GridItem>
248
+ <GridItem md={8}>
249
+ <Grid hasGutter>
250
+ <GridItem span={2}>
251
+ <Flex
252
+ direction={{ default: 'column' }}
253
+ spaceItems={{ default: 'spaceItemsNone' }}
254
+ alignItems={{ md: 'alignItemsFlexEnd' }}
255
+ >
256
+ <FlexItem>100C</FlexItem>
257
+ <FlexItem>50C</FlexItem>
258
+ <FlexItem>0C</FlexItem>
259
+ </Flex>
260
+ </GridItem>
261
+ <GridItem span={10}>
262
+ <ChartGroup
263
+ ariaDesc="Mock CPU temperature"
264
+ ariaTitle="Mock CPU temperature sparkline chart"
265
+ containerComponent={
266
+ <ChartVoronoiContainer
267
+ labels={({ datum }) => `${datum.name}: ${datum.y}`}
268
+ constrainToVisibleArea
269
+ />
270
+ }
271
+ height={60}
272
+ maxDomain={{ y: 100 }}
273
+ padding={0}
274
+ width={400}
275
+ >
276
+ <ChartArea
277
+ data={[
278
+ { name: 'Temp', x: '1', y: 25 },
279
+ { name: 'Temp', x: '2', y: 40 },
280
+ { name: 'Temp', x: '3', y: 20 },
281
+ { name: 'Temp', x: '4', y: 60 },
282
+ { name: 'Temp', x: '5', y: 20 },
283
+ { name: 'Temp', x: '6', y: 41 },
284
+ { name: 'Temp', x: '7', y: 45 },
285
+ { name: 'Temp', x: '8', y: 41 },
286
+ { name: 'Temp', x: '9', y: 62 }
287
+ ]}
288
+ />
289
+ </ChartGroup>
290
+ </GridItem>
291
+ </Grid>
292
+ </GridItem>
293
+ </Grid>
294
+ <Divider className={accessibility.hiddenOnMd} />
295
+ <Grid hasGutter>
296
+ <GridItem md={4}>
297
+ <Flex
298
+ className={sizing.h_100OnMd}
299
+ direction={{ md: 'column' }}
300
+ spaceItems={{ md: 'spaceItemsNone' }}
301
+ justifyContent={{ md: 'justifyContentCenter' }}
302
+ >
303
+ <FlexItem>
304
+ <b>Speed</b>
305
+ </FlexItem>
306
+ <Divider
307
+ className={accessibility.hiddenOnMd}
308
+ orientation={{
309
+ default: 'vertical'
310
+ }}
311
+ inset={{ default: 'insetSm' }}
312
+ />
313
+ <FlexItem>
314
+ <span>2.3Ghz</span>
315
+ </FlexItem>
316
+ </Flex>
317
+ </GridItem>
318
+ <GridItem md={8}>
319
+ <Grid hasGutter>
320
+ <GridItem span={2}>
321
+ <Flex
322
+ direction={{ default: 'column' }}
323
+ spaceItems={{ default: 'spaceItemsNone' }}
324
+ alignItems={{ md: 'alignItemsFlexEnd' }}
325
+ >
326
+ <FlexItem>3.6Ghz</FlexItem>
327
+ <FlexItem>1.5Ghz</FlexItem>
328
+ <FlexItem>0GHZ</FlexItem>
329
+ </Flex>
330
+ </GridItem>
331
+ <GridItem span={10}>
332
+ <ChartGroup
333
+ ariaDesc="Mock CPU speed"
334
+ ariaTitle="Mock CPU speed sparkline chart"
335
+ containerComponent={
336
+ <ChartVoronoiContainer
337
+ labels={({ datum }) => `${datum.name}: ${datum.y}`}
338
+ constrainToVisibleArea
339
+ />
340
+ }
341
+ height={60}
342
+ maxDomain={{ y: 3.6 }}
343
+ padding={0}
344
+ width={400}
345
+ >
346
+ <ChartArea
347
+ data={[
348
+ { name: 'Temp', x: '1', y: 0.9 },
349
+ { name: 'Temp', x: '2', y: 1.44 },
350
+ { name: 'Temp', x: '3', y: 0.72 },
351
+ { name: 'Temp', x: '4', y: 2.16 },
352
+ { name: 'Temp', x: '5', y: 0.72 },
353
+ { name: 'Temp', x: '6', y: 1.48 },
354
+ { name: 'Temp', x: '7', y: 1.62 },
355
+ { name: 'Temp', x: '8', y: 1.48 },
356
+ { name: 'Temp', x: '9', y: 2.23 }
357
+ ]}
358
+ />
359
+ </ChartGroup>
360
+ </GridItem>
361
+ </Grid>
362
+ </GridItem>
363
+ </Grid>
364
+ </Grid>
365
+ </CardBody>
366
+ </CardExpandableContent>
367
+ </Card>
368
+ <Card id="nested-cards-toggle-group-3" isPlain isExpanded={isCardExpanded2}>
369
+ <CardHeader
370
+ onExpand={() => onCardExpand2(!isCardExpanded2)}
371
+ isToggleRightAligned={isToggleOnRight}
372
+ toggleButtonProps={{
373
+ id: 'toggle-button-3',
374
+ 'aria-label': 'Details',
375
+ 'aria-labelledby': 'nested-cards-toggle-group-3-title toggle-button-3',
376
+ 'aria-expanded': isCardExpanded2
377
+ }}
378
+ >
379
+ <CardTitle id="nested-cards-toggle-group-3-title">
380
+ <span className="pf-v5-u-font-weight-light">CPU 3</span>
381
+ </CardTitle>
382
+ </CardHeader>
383
+ <CardExpandableContent>
384
+ <CardBody>
385
+ <Grid hasGutter>
386
+ <Grid hasGutter>
387
+ <GridItem md={4}>
388
+ <Flex
389
+ className={sizing.h_100OnMd}
390
+ direction={{ md: 'column' }}
391
+ spaceItems={{ md: 'spaceItemsNone' }}
392
+ justifyContent={{ md: 'justifyContentCenter' }}
393
+ >
394
+ <FlexItem>
395
+ <b>Temperature</b>
396
+ </FlexItem>
397
+ <Divider
398
+ className={accessibility.hiddenOnMd}
399
+ orientation={{
400
+ default: 'vertical'
401
+ }}
402
+ inset={{ default: 'insetSm' }}
403
+ />
404
+ <FlexItem>
405
+ <span>64C</span>
406
+ </FlexItem>
407
+ </Flex>
408
+ </GridItem>
409
+ <GridItem md={8}>
410
+ <Grid hasGutter>
411
+ <GridItem span={2}>
412
+ <Flex
413
+ direction={{ default: 'column' }}
414
+ spaceItems={{ default: 'spaceItemsNone' }}
415
+ alignItems={{ md: 'alignItemsFlexEnd' }}
416
+ >
417
+ <FlexItem>100C</FlexItem>
418
+ <FlexItem>50C</FlexItem>
419
+ <FlexItem>0C</FlexItem>
420
+ </Flex>
421
+ </GridItem>
422
+ <GridItem span={10}>
423
+ <ChartGroup
424
+ ariaDesc="Mock CPU temperature"
425
+ ariaTitle="Mock CPU temperature sparkline chart"
426
+ containerComponent={
427
+ <ChartVoronoiContainer
428
+ labels={({ datum }) => `${datum.name}: ${datum.y}`}
429
+ constrainToVisibleArea
430
+ />
431
+ }
432
+ height={60}
433
+ maxDomain={{ y: 100 }}
434
+ padding={0}
435
+ width={400}
436
+ >
437
+ <ChartArea
438
+ data={[
439
+ { name: 'Temp', x: '1', y: 25 },
440
+ { name: 'Temp', x: '2', y: 40 },
441
+ { name: 'Temp', x: '3', y: 20 },
442
+ { name: 'Temp', x: '4', y: 60 },
443
+ { name: 'Temp', x: '5', y: 20 },
444
+ { name: 'Temp', x: '6', y: 41 },
445
+ { name: 'Temp', x: '7', y: 45 },
446
+ { name: 'Temp', x: '8', y: 41 },
447
+ { name: 'Temp', x: '9', y: 62 }
448
+ ]}
449
+ />
450
+ </ChartGroup>
451
+ </GridItem>
452
+ </Grid>
453
+ </GridItem>
454
+ </Grid>
455
+ <Divider className={accessibility.hiddenOnMd} />
456
+ <Grid hasGutter>
457
+ <GridItem md={4}>
458
+ <Flex
459
+ className={sizing.h_100OnMd}
460
+ direction={{ md: 'column' }}
461
+ spaceItems={{ md: 'spaceItemsNone' }}
462
+ justifyContent={{ md: 'justifyContentCenter' }}
463
+ >
464
+ <FlexItem>
465
+ <b>Speed</b>
466
+ </FlexItem>
467
+ <Divider
468
+ className={accessibility.hiddenOnMd}
469
+ orientation={{
470
+ default: 'vertical'
471
+ }}
472
+ inset={{ default: 'insetSm' }}
473
+ />
474
+ <FlexItem>
475
+ <span>2.3Ghz</span>
476
+ </FlexItem>
477
+ </Flex>
478
+ </GridItem>
479
+ <GridItem md={8}>
480
+ <Grid hasGutter>
481
+ <GridItem span={2}>
482
+ <Flex
483
+ direction={{ default: 'column' }}
484
+ spaceItems={{ default: 'spaceItemsNone' }}
485
+ alignItems={{ md: 'alignItemsFlexEnd' }}
486
+ >
487
+ <FlexItem>3.6Ghz</FlexItem>
488
+ <FlexItem>1.5Ghz</FlexItem>
489
+ <FlexItem>0GHZ</FlexItem>
490
+ </Flex>
491
+ </GridItem>
492
+ <GridItem span={10}>
493
+ <ChartGroup
494
+ ariaDesc="Mock CPU speed"
495
+ ariaTitle="Mock CPU speed sparkline chart"
496
+ containerComponent={
497
+ <ChartVoronoiContainer
498
+ labels={({ datum }) => `${datum.name}: ${datum.y}`}
499
+ constrainToVisibleArea
500
+ />
501
+ }
502
+ height={60}
503
+ maxDomain={{ y: 3.6 }}
504
+ padding={0}
505
+ width={400}
506
+ >
507
+ <ChartArea
508
+ data={[
509
+ { name: 'Temp', x: '1', y: 0.9 },
510
+ { name: 'Temp', x: '2', y: 1.44 },
511
+ { name: 'Temp', x: '3', y: 0.72 },
512
+ { name: 'Temp', x: '4', y: 2.16 },
513
+ { name: 'Temp', x: '5', y: 0.72 },
514
+ { name: 'Temp', x: '6', y: 1.48 },
515
+ { name: 'Temp', x: '7', y: 1.62 },
516
+ { name: 'Temp', x: '8', y: 1.48 },
517
+ { name: 'Temp', x: '9', y: 2.23 }
518
+ ]}
519
+ />
520
+ </ChartGroup>
521
+ </GridItem>
522
+ </Grid>
523
+ </GridItem>
524
+ </Grid>
525
+ </Grid>
526
+ </CardBody>
527
+ </CardExpandableContent>
528
+ </Card>
529
+ </Card>
530
+ </>
531
+ );
532
+ };