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

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 (144) hide show
  1. package/CHANGELOG.md +4 -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/demos/CardDemos.md +16 -2933
  125. package/src/demos/{Card/Card.md → CardView/CardView.md} +1 -1
  126. package/src/demos/{Card → CardView}/examples/CardView.tsx +1 -1
  127. package/src/demos/PrimaryDetail.md +2 -2
  128. package/src/demos/examples/Card/CardAggregateStatus.tsx +249 -0
  129. package/src/demos/examples/Card/CardDetails.tsx +95 -0
  130. package/src/demos/examples/Card/CardEventsView.tsx +154 -0
  131. package/src/demos/examples/Card/CardHorizontalGrid.tsx +240 -0
  132. package/src/demos/examples/Card/CardHorizontalSplit.tsx +30 -0
  133. package/src/demos/examples/Card/CardLogView.tsx +118 -0
  134. package/src/demos/examples/Card/CardNested.tsx +532 -0
  135. package/src/demos/examples/Card/CardStatus.tsx +262 -0
  136. package/src/demos/examples/Card/CardStatusTabbed.tsx +113 -0
  137. package/src/demos/examples/Card/CardTrendDemo1.tsx +106 -0
  138. package/src/demos/examples/Card/CardTrendDemo2.tsx +76 -0
  139. package/src/demos/examples/Card/CardUtilizationDemo1.tsx +109 -0
  140. package/src/demos/examples/Card/CardUtilizationDemo2.tsx +103 -0
  141. package/src/demos/examples/Card/CardUtilizationDemo3.tsx +174 -0
  142. package/src/demos/examples/Card/CardUtilizationDemo4.tsx +50 -0
  143. package/src/demos/examples/Card/CardWithAccordion.tsx +514 -0
  144. /package/src/demos/{Card/examples/CardData.jsx → CardView/examples/CardViewData.jsx} +0 -0
@@ -0,0 +1,103 @@
1
+ import React from 'react';
2
+ import {
3
+ Card,
4
+ CardTitle,
5
+ CardBody,
6
+ CardFooter,
7
+ Title,
8
+ Gallery,
9
+ GalleryItem,
10
+ Flex,
11
+ FlexItem,
12
+ Stack,
13
+ Divider
14
+ } from '@patternfly/react-core';
15
+ import { ChartArea, ChartGroup, ChartVoronoiContainer } from '@patternfly/react-charts';
16
+
17
+ export const CardUtilizationDemo2: React.FunctionComponent = () => (
18
+ <Gallery hasGutter minWidths={{ default: '360px' }}>
19
+ <GalleryItem>
20
+ <Card id="utilization-card-2-card" component="div">
21
+ <CardTitle>
22
+ <Title headingLevel="h4" size="lg">
23
+ Top Utilized Clusters
24
+ </Title>
25
+ </CardTitle>
26
+ <CardBody>
27
+ <Flex direction={{ default: 'column' }}>
28
+ <FlexItem>
29
+ <Stack>
30
+ <a href="#">Cluster-1204</a>
31
+ <span>27.3 cores available</span>
32
+ </Stack>
33
+ </FlexItem>
34
+ <FlexItem>
35
+ <ChartGroup
36
+ ariaDesc="Mock average cluster utilization"
37
+ ariaTitle="Mock cluster sparkline chart"
38
+ containerComponent={
39
+ <ChartVoronoiContainer labels={({ datum }) => `${datum.name}: ${datum.y}`} constrainToVisibleArea />
40
+ }
41
+ height={100}
42
+ maxDomain={{ y: 9 }}
43
+ padding={0}
44
+ width={400}
45
+ >
46
+ <ChartArea
47
+ data={[
48
+ { name: 'Cluster', x: '2015', y: 7 },
49
+ { name: 'Cluster', x: '2016', y: 6 },
50
+ { name: 'Cluster', x: '2017', y: 8 },
51
+ { name: 'Cluster', x: '2018', y: 3 },
52
+ { name: 'Cluster', x: '2019', y: 4 },
53
+ { name: 'Cluster', x: '2020', y: 1 },
54
+ { name: 'Cluster', x: '2021', y: 0 }
55
+ ]}
56
+ />
57
+ </ChartGroup>
58
+ </FlexItem>
59
+ </Flex>
60
+ </CardBody>
61
+ <CardBody>
62
+ <Flex direction={{ default: 'column' }}>
63
+ <FlexItem>
64
+ <Stack>
65
+ <a href="#">Abcdef-1204</a>
66
+ <span>50.6 cores available</span>
67
+ </Stack>
68
+ </FlexItem>
69
+ <FlexItem>
70
+ <ChartGroup
71
+ ariaDesc="Mock average cluster utilization"
72
+ ariaTitle="Mock cluster sparkline chart"
73
+ containerComponent={
74
+ <ChartVoronoiContainer labels={({ datum }) => `${datum.name}: ${datum.y}`} constrainToVisibleArea />
75
+ }
76
+ height={100}
77
+ maxDomain={{ y: 9 }}
78
+ padding={0}
79
+ width={400}
80
+ >
81
+ <ChartArea
82
+ data={[
83
+ { name: 'Cluster', x: '2015', y: 7 },
84
+ { name: 'Cluster', x: '2016', y: 6 },
85
+ { name: 'Cluster', x: '2017', y: 8 },
86
+ { name: 'Cluster', x: '2018', y: 3 },
87
+ { name: 'Cluster', x: '2019', y: 4 },
88
+ { name: 'Cluster', x: '2020', y: 1 },
89
+ { name: 'Cluster', x: '2021', y: 0 }
90
+ ]}
91
+ />
92
+ </ChartGroup>
93
+ </FlexItem>
94
+ </Flex>
95
+ </CardBody>
96
+ <Divider />
97
+ <CardFooter>
98
+ <a href="#">View all clusters</a>
99
+ </CardFooter>
100
+ </Card>
101
+ </GalleryItem>
102
+ </Gallery>
103
+ );
@@ -0,0 +1,174 @@
1
+ /* eslint-disable camelcase */
2
+ import React from 'react';
3
+ import {
4
+ Card,
5
+ CardTitle,
6
+ CardHeader,
7
+ CardBody,
8
+ CardFooter,
9
+ Title,
10
+ Gallery,
11
+ GalleryItem,
12
+ Flex,
13
+ FlexItem,
14
+ Select,
15
+ SelectList,
16
+ SelectOption,
17
+ MenuToggle,
18
+ MenuToggleElement
19
+ } from '@patternfly/react-core';
20
+ import ExclamationCircleIcon from '@patternfly/react-icons/dist/esm/icons/exclamation-circle-icon';
21
+ import { Chart, ChartStack, ChartBar, ChartTooltip } from '@patternfly/react-charts';
22
+ import chart_color_gold_100 from '@patternfly/react-tokens/dist/esm/chart_color_gold_100';
23
+ import chart_color_gold_300 from '@patternfly/react-tokens/dist/esm/chart_color_gold_300';
24
+ import chart_color_orange_300 from '@patternfly/react-tokens/dist/esm/chart_color_orange_300';
25
+ import chart_color_red_100 from '@patternfly/react-tokens/dist/esm/chart_color_red_100';
26
+ import flex from '@patternfly/react-styles/css/utilities/Flex/flex';
27
+ import text from '@patternfly/react-styles/css/utilities/Text/text';
28
+
29
+ export const CardUtilizationDemo3: React.FunctionComponent = () => {
30
+ const [isOpen, setIsOpen] = React.useState(false);
31
+
32
+ const selectItems = (
33
+ <SelectList>
34
+ <SelectOption key="option1" value="Last hour">
35
+ Last hour
36
+ </SelectOption>
37
+ <SelectOption key="option2" value="Last 6 hours">
38
+ Last 6 hours
39
+ </SelectOption>
40
+ <SelectOption key="option3" value="Last 24 hours">
41
+ Last 24 hours
42
+ </SelectOption>
43
+ <SelectOption key="option4" value="Last 7 days">
44
+ Last 7 days
45
+ </SelectOption>
46
+ </SelectList>
47
+ );
48
+
49
+ const toggle = (toggleRef: React.Ref<MenuToggleElement>) => (
50
+ <MenuToggle ref={toggleRef} onClick={() => setIsOpen(!isOpen)} isExpanded={isOpen} variant="plainText">
51
+ Filter
52
+ </MenuToggle>
53
+ );
54
+
55
+ const headerActions = (
56
+ <Select onSelect={() => setIsOpen(!isOpen)} onOpenChange={setIsOpen} isOpen={isOpen} toggle={toggle}>
57
+ {selectItems}
58
+ </Select>
59
+ );
60
+
61
+ return (
62
+ <React.Fragment>
63
+ <b>Note:</b> Custom CSS is used in this demo to align the card title and select toggle text to{' '}
64
+ <code>baseline</code> alignment.
65
+ <br />
66
+ <br />
67
+ <Gallery hasGutter minWidths={{ default: '360px' }}>
68
+ <GalleryItem>
69
+ <Card id="utilization-card-3-card" component="div">
70
+ <CardHeader className={flex.alignItemsFlexStart} actions={{ actions: headerActions, hasNoOffset: true }}>
71
+ <CardTitle>
72
+ <Title headingLevel="h4" size="lg" style={{ paddingTop: '3px' }}>
73
+ Recommendations
74
+ </Title>
75
+ </CardTitle>
76
+ </CardHeader>
77
+ <CardBody>
78
+ <Flex direction={{ default: 'column' }}>
79
+ <FlexItem>
80
+ <span>System</span>
81
+ </FlexItem>
82
+ <Flex>
83
+ <ExclamationCircleIcon className={text.dangerColor_100} aria-hidden />
84
+ <a href="#">25 incidents detected</a>
85
+ </Flex>
86
+ <FlexItem>
87
+ <Chart
88
+ ariaDesc="Mock incidents chart"
89
+ ariaTitle="Mock stack chart"
90
+ domainPadding={{ x: [30, 25] }}
91
+ legendData={[
92
+ { name: 'Low', symbol: { fill: chart_color_gold_100.value } },
93
+ { name: 'Important', symbol: { fill: chart_color_gold_300.value } },
94
+ { name: 'Moderate', symbol: { fill: chart_color_orange_300.value } },
95
+ { name: 'Critical', symbol: { fill: chart_color_red_100.value } }
96
+ ]}
97
+ legendPosition="bottom-left"
98
+ height={50}
99
+ padding={{
100
+ bottom: 40,
101
+ left: 0,
102
+ right: 0,
103
+ top: 0
104
+ }}
105
+ width={350}
106
+ showAxis={false}
107
+ >
108
+ <ChartStack
109
+ horizontal
110
+ colorScale={[
111
+ chart_color_gold_100.value,
112
+ chart_color_gold_300.value,
113
+ chart_color_orange_300.value,
114
+ chart_color_red_100.value
115
+ ]}
116
+ >
117
+ <ChartBar
118
+ data={[
119
+ {
120
+ name: 'Low',
121
+ x: 'Cluster A',
122
+ y: 6,
123
+ label: 'Low: 6'
124
+ }
125
+ ]}
126
+ labelComponent={<ChartTooltip constrainToVisibleArea />}
127
+ />
128
+ <ChartBar
129
+ data={[
130
+ {
131
+ name: 'Important',
132
+ x: 'Cluster A',
133
+ y: 2,
134
+ label: 'Important: 2'
135
+ }
136
+ ]}
137
+ labelComponent={<ChartTooltip constrainToVisibleArea />}
138
+ />
139
+ <ChartBar
140
+ data={[
141
+ {
142
+ name: 'Moderate',
143
+ x: 'Cluster A',
144
+ y: 4,
145
+ label: 'Moderate: 4'
146
+ }
147
+ ]}
148
+ labelComponent={<ChartTooltip constrainToVisibleArea />}
149
+ />
150
+ <ChartBar
151
+ data={[
152
+ {
153
+ name: 'Critical',
154
+ x: 'Cluster A',
155
+ y: 2,
156
+ label: 'Critical: 2'
157
+ }
158
+ ]}
159
+ labelComponent={<ChartTooltip constrainToVisibleArea />}
160
+ />
161
+ </ChartStack>
162
+ </Chart>
163
+ </FlexItem>
164
+ </Flex>
165
+ </CardBody>
166
+ <CardFooter>
167
+ <a href="#">See details</a>
168
+ </CardFooter>
169
+ </Card>
170
+ </GalleryItem>
171
+ </Gallery>
172
+ </React.Fragment>
173
+ );
174
+ };
@@ -0,0 +1,50 @@
1
+ import React from 'react';
2
+ import { Card, CardTitle, CardBody, CardFooter, Title, Gallery, GalleryItem } from '@patternfly/react-core';
3
+ import { ChartDonutThreshold, ChartDonutUtilization } from '@patternfly/react-charts';
4
+
5
+ export const CardUtilizationDemo4: React.FunctionComponent = () => (
6
+ <Gallery hasGutter minWidths={{ default: '360px' }}>
7
+ <GalleryItem>
8
+ <Card id="utilization-card-4-card" component="div">
9
+ <CardTitle>
10
+ <Title headingLevel="h4" size="lg">
11
+ CPU Usage
12
+ </Title>
13
+ </CardTitle>
14
+ <CardBody>
15
+ <ChartDonutThreshold
16
+ ariaDesc="Mock storage capacity"
17
+ ariaTitle="Mock donut utilization chart"
18
+ constrainToVisibleArea={true}
19
+ data={[
20
+ { x: 'Warning at 60%', y: 60 },
21
+ { x: 'Danger at 90%', y: 90 }
22
+ ]}
23
+ height={200}
24
+ labels={({ datum }) => (datum.x ? datum.x : null)}
25
+ padding={{
26
+ bottom: 0,
27
+ left: 10,
28
+ right: 150,
29
+ top: 0
30
+ }}
31
+ width={350}
32
+ >
33
+ <ChartDonutUtilization
34
+ data={{ x: 'Storage capacity', y: 80 }}
35
+ labels={({ datum }) => (datum.x ? `${datum.x}: ${datum.y}%` : null)}
36
+ legendData={[{ name: `Capacity: 80%` }, { name: 'Warning at 60%' }, { name: 'Danger at 90%' }]}
37
+ legendOrientation="vertical"
38
+ title="80%"
39
+ subTitle="of 100 GBps"
40
+ thresholds={[{ value: 60 }, { value: 90 }]}
41
+ />
42
+ </ChartDonutThreshold>{' '}
43
+ </CardBody>
44
+ <CardFooter>
45
+ <a href="#">See details</a>
46
+ </CardFooter>
47
+ </Card>
48
+ </GalleryItem>
49
+ </Gallery>
50
+ );