@patternfly/react-core 5.2.0-prerelease.25 → 5.2.0-prerelease.27

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 (132) hide show
  1. package/CHANGELOG.md +10 -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/dist/esm/components/DatePicker/DatePicker.js +2 -2
  120. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  121. package/dist/js/components/DatePicker/DatePicker.js +2 -2
  122. package/dist/js/components/DatePicker/DatePicker.js.map +1 -1
  123. package/dist/umd/react-core.min.js +1 -1
  124. package/helpers/package.json +1 -1
  125. package/layouts/package.json +1 -1
  126. package/next/package.json +1 -1
  127. package/package.json +2 -2
  128. package/src/components/DatePicker/DatePicker.tsx +2 -2
  129. package/src/demos/PrimaryDetail.md +3 -975
  130. package/src/demos/examples/PrimaryDetail/PrimaryDetailCardView.tsx +659 -0
  131. package/src/demos/examples/PrimaryDetail/PrimaryDetailDataListInCard.tsx +207 -0
  132. package/src/demos/examples/PrimaryDetail/PrimaryDetailSimpleListInCard.tsx +116 -0
@@ -0,0 +1,207 @@
1
+ import React from 'react';
2
+ import {
3
+ Card,
4
+ DataList,
5
+ DataListCell,
6
+ DataListItem,
7
+ DataListItemCells,
8
+ DataListItemRow,
9
+ Toolbar,
10
+ ToolbarContent,
11
+ ToolbarItem,
12
+ Divider,
13
+ Drawer,
14
+ DrawerActions,
15
+ DrawerCloseButton,
16
+ DrawerContent,
17
+ DrawerContentBody,
18
+ DrawerHead,
19
+ DrawerPanelBody,
20
+ DrawerPanelContent,
21
+ Dropdown,
22
+ DropdownItem,
23
+ DropdownList,
24
+ Flex,
25
+ FlexItem,
26
+ MenuToggle,
27
+ PageSection,
28
+ PageSectionVariants,
29
+ Progress,
30
+ Text,
31
+ TextContent,
32
+ Title
33
+ } from '@patternfly/react-core';
34
+ import { DashboardWrapper } from '@patternfly/react-core/src/demos/DashboardWrapper';
35
+
36
+ export const PrimaryDetailDataListInCard: React.FunctionComponent = () => {
37
+ const [drawerPanelBodyContent, setDrawerPanelBodyContent] = React.useState(1);
38
+ const [isDropdownOpen, setIsDropdownOpen] = React.useState(false);
39
+ const [selectedDataListItemId, setSelectedDataListItemId] = React.useState('dataListItem1');
40
+ const [isExpanded, setIsExpanded] = React.useState(false);
41
+
42
+ const onDropdownToggle = () => {
43
+ setIsDropdownOpen(!isDropdownOpen);
44
+ };
45
+ const onDropdownSelect = () => {
46
+ setIsDropdownOpen(false);
47
+ onDropdownFocus();
48
+ };
49
+ const onDropdownFocus = () => {
50
+ const element = document.getElementById('toggle-id');
51
+ element?.focus();
52
+ };
53
+ const onSelectDataListItem = (_event, id) => {
54
+ setSelectedDataListItemId(id);
55
+ setDrawerPanelBodyContent(id.charAt(id.length - 1));
56
+ setIsExpanded(true);
57
+ };
58
+ const onClose = () => {
59
+ setIsExpanded(false);
60
+ };
61
+
62
+ const panelContent = (
63
+ <DrawerPanelContent widths={{ '2xl': 'width_75' }}>
64
+ <DrawerHead>
65
+ <Title size="lg" headingLevel="h2">
66
+ Patternfly-elements
67
+ </Title>
68
+ <DrawerActions>
69
+ <DrawerCloseButton onClick={onClose} />
70
+ </DrawerActions>
71
+ </DrawerHead>
72
+ <DrawerPanelBody>
73
+ <Flex spaceItems={{ default: 'spaceItemsLg' }} direction={{ default: 'column' }}>
74
+ <FlexItem>
75
+ <p>
76
+ The content of the drawer really is up to you. It could have form fields, definition lists, text lists,
77
+ labels, charts, progress bars, etc. Spacing recommendation is 24px margins. You can put tabs in here, and
78
+ can also make the drawer scrollable.
79
+ </p>
80
+ </FlexItem>
81
+ <FlexItem>
82
+ <Progress value={drawerPanelBodyContent * 10} title="Title" />
83
+ </FlexItem>
84
+ <FlexItem>
85
+ <Progress value={drawerPanelBodyContent * 5} title="Title" />
86
+ </FlexItem>
87
+ </Flex>
88
+ </DrawerPanelBody>
89
+ </DrawerPanelContent>
90
+ );
91
+
92
+ const drawerContent = (
93
+ <React.Fragment>
94
+ <Toolbar id="data-list-data-toolbar" usePageInsets>
95
+ <ToolbarContent>
96
+ <ToolbarItem>
97
+ <Dropdown
98
+ onSelect={onDropdownSelect}
99
+ isOpen={isDropdownOpen}
100
+ onOpenChange={(isOpen) => setIsDropdownOpen(isOpen)}
101
+ toggle={(toggleRef) => (
102
+ <MenuToggle ref={toggleRef} isExpanded={isDropdownOpen} onClick={onDropdownToggle}>
103
+ Dropdown
104
+ </MenuToggle>
105
+ )}
106
+ >
107
+ <DropdownList>
108
+ <DropdownItem key="option1">Option 1</DropdownItem>
109
+ <DropdownItem key="option2">Option 2</DropdownItem>
110
+ </DropdownList>
111
+ </Dropdown>
112
+ </ToolbarItem>
113
+ </ToolbarContent>
114
+ </Toolbar>
115
+ <DataList
116
+ aria-label="selectable data list example"
117
+ selectedDataListItemId={selectedDataListItemId}
118
+ onSelectDataListItem={onSelectDataListItem}
119
+ >
120
+ <DataListItem aria-label="data-list-item1-in-card" id="data-list-item1">
121
+ <DataListItemRow>
122
+ <DataListItemCells
123
+ dataListCells={[
124
+ <DataListCell key="node 1">
125
+ <div>Node 1</div>
126
+ <a href="#">siemur/test-space</a>
127
+ </DataListCell>
128
+ ]}
129
+ />
130
+ </DataListItemRow>
131
+ </DataListItem>
132
+ <DataListItem aria-label="data-list-item2-in-card" id="data-list-item2">
133
+ <DataListItemRow>
134
+ <DataListItemCells
135
+ dataListCells={[
136
+ <DataListCell key="node 2">
137
+ <div>Node 2</div>
138
+ <a href="#">siemur/test-space</a>
139
+ </DataListCell>
140
+ ]}
141
+ />
142
+ </DataListItemRow>
143
+ </DataListItem>
144
+ <DataListItem aria-label="data-list-item3-in-card" id="data-list-item3">
145
+ <DataListItemRow>
146
+ <DataListItemCells
147
+ dataListCells={[
148
+ <DataListCell key="node 3">
149
+ <div>Node 3</div>
150
+ <a href="#">siemur/test-space</a>
151
+ </DataListCell>
152
+ ]}
153
+ />
154
+ </DataListItemRow>
155
+ </DataListItem>
156
+ <DataListItem aria-label="data-list-item4-in-card" id="data-list-item4">
157
+ <DataListItemRow>
158
+ <DataListItemCells
159
+ dataListCells={[
160
+ <DataListCell key="node 4">
161
+ <div>Node 4</div>
162
+ <a href="#">siemur/test-space</a>
163
+ </DataListCell>
164
+ ]}
165
+ />
166
+ </DataListItemRow>
167
+ </DataListItem>
168
+ <DataListItem aria-label="data-list-item5-in-card" id="data-list-item5">
169
+ <DataListItemRow>
170
+ <DataListItemCells
171
+ dataListCells={[
172
+ <DataListCell key="node 5">
173
+ <div>Node 5</div>
174
+ <a href="#">siemur/test-space</a>
175
+ </DataListCell>
176
+ ]}
177
+ />
178
+ </DataListItemRow>
179
+ </DataListItem>
180
+ </DataList>
181
+ </React.Fragment>
182
+ );
183
+
184
+ return (
185
+ <DashboardWrapper>
186
+ <PageSection variant={PageSectionVariants.light}>
187
+ <TextContent>
188
+ <Text component="h1">Main title</Text>
189
+ <Text component="p">
190
+ Body text should be Overpass Regular at 16px. It should have leading of 24px because <br />
191
+ of it’s relative line height of 1.5.
192
+ </Text>
193
+ </TextContent>
194
+ </PageSection>
195
+ <Divider component="div" />
196
+ <PageSection>
197
+ <Card>
198
+ <Drawer isStatic isExpanded={isExpanded}>
199
+ <DrawerContent panelContent={panelContent}>
200
+ <DrawerContentBody>{drawerContent}</DrawerContentBody>
201
+ </DrawerContent>
202
+ </Drawer>
203
+ </Card>
204
+ </PageSection>
205
+ </DashboardWrapper>
206
+ );
207
+ };
@@ -0,0 +1,116 @@
1
+ import React from 'react';
2
+ import {
3
+ Card,
4
+ Divider,
5
+ Drawer,
6
+ DrawerActions,
7
+ DrawerCloseButton,
8
+ DrawerContent,
9
+ DrawerContentBody,
10
+ DrawerHead,
11
+ DrawerPanelBody,
12
+ DrawerPanelContent,
13
+ Flex,
14
+ FlexItem,
15
+ PageSection,
16
+ PageSectionVariants,
17
+ Progress,
18
+ SimpleList,
19
+ SimpleListGroup,
20
+ SimpleListItem,
21
+ Text,
22
+ TextContent,
23
+ Title
24
+ } from '@patternfly/react-core';
25
+ import { DashboardWrapper } from '@patternfly/react-core/src/demos/DashboardWrapper';
26
+
27
+ export const PrimaryDetailSimpleListInCard: React.FunctionComponent = () => {
28
+ const [drawerPanelBodyContent, setDrawerPanelBodyContent] = React.useState(1);
29
+ const [isExpanded, setIsExpanded] = React.useState(false);
30
+
31
+ const onSelectListItem = (_listItem, listItemProps) => {
32
+ const id = listItemProps.children;
33
+ setDrawerPanelBodyContent(id.charAt(id.length - 1));
34
+ setIsExpanded(true);
35
+ };
36
+
37
+ const onClose = () => {
38
+ setIsExpanded(false);
39
+ };
40
+
41
+ const panelContent = (
42
+ <DrawerPanelContent widths={{ xl: 'width_75' }}>
43
+ <DrawerHead>
44
+ <Title headingLevel="h2" size="xl">
45
+ {`List item ${drawerPanelBodyContent} details`}
46
+ </Title>
47
+ <DrawerActions>
48
+ <DrawerCloseButton onClick={onClose} />
49
+ </DrawerActions>
50
+ </DrawerHead>
51
+ <DrawerPanelBody>
52
+ <Flex spaceItems={{ default: 'spaceItemsLg' }} direction={{ default: 'column' }}>
53
+ <FlexItem>
54
+ <p>
55
+ The content of the drawer really is up to you. It could have form fields, definition lists, text lists,
56
+ labels, charts, progress bars, etc. Spacing recommendation is 24px margins. You can put tabs in here, and
57
+ can also make the drawer scrollable.
58
+ </p>
59
+ </FlexItem>
60
+ <FlexItem>
61
+ <Progress value={drawerPanelBodyContent * 10} title="Title" />
62
+ </FlexItem>
63
+ <FlexItem>
64
+ <Progress value={drawerPanelBodyContent * 5} title="Title" />
65
+ </FlexItem>
66
+ </Flex>
67
+ </DrawerPanelBody>
68
+ </DrawerPanelContent>
69
+ );
70
+
71
+ const drawerContent = (
72
+ <React.Fragment>
73
+ <SimpleList onSelect={onSelectListItem}>
74
+ <SimpleListGroup title="Section 1" id="simple-list-section-1">
75
+ <SimpleListItem key="item1" isActive>
76
+ List item 1
77
+ </SimpleListItem>
78
+ <SimpleListItem key="item2">List item 2</SimpleListItem>
79
+ <SimpleListItem key="item3">List item 3</SimpleListItem>
80
+ <SimpleListItem key="item4">List item 4</SimpleListItem>
81
+ </SimpleListGroup>
82
+ <SimpleListGroup title="Section 2" id="section-2">
83
+ <SimpleListItem key="item5">List item 5</SimpleListItem>
84
+ <SimpleListItem key="item6">List item 6</SimpleListItem>
85
+ <SimpleListItem key="item7">List item 7</SimpleListItem>
86
+ <SimpleListItem key="item8">List item 8</SimpleListItem>
87
+ <SimpleListItem key="item9">List item 9</SimpleListItem>
88
+ </SimpleListGroup>
89
+ </SimpleList>
90
+ </React.Fragment>
91
+ );
92
+
93
+ return (
94
+ <DashboardWrapper>
95
+ <PageSection variant={PageSectionVariants.light}>
96
+ <TextContent>
97
+ <Text component="h1">Main title</Text>
98
+ <Text component="p">
99
+ Body text should be Overpass Regular at 16px. It should have leading of 24px because <br />
100
+ of it’s relative line height of 1.5.
101
+ </Text>
102
+ </TextContent>
103
+ </PageSection>
104
+ <Divider component="div" />
105
+ <PageSection>
106
+ <Card>
107
+ <Drawer isStatic isExpanded={isExpanded}>
108
+ <DrawerContent panelContent={panelContent}>
109
+ <DrawerContentBody>{drawerContent}</DrawerContentBody>
110
+ </DrawerContent>
111
+ </Drawer>
112
+ </Card>
113
+ </PageSection>
114
+ </DashboardWrapper>
115
+ );
116
+ };