@patternfly/react-core 4.225.0 → 4.225.3

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 (168) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/esm/components/Alert/Alert.d.ts.map +1 -1
  3. package/dist/esm/components/Alert/Alert.js +2 -2
  4. package/dist/esm/components/Alert/Alert.js.map +1 -1
  5. package/dist/esm/components/DualListSelector/DualListSelector.d.ts +3 -0
  6. package/dist/esm/components/DualListSelector/DualListSelector.d.ts.map +1 -1
  7. package/dist/esm/components/DualListSelector/DualListSelector.js.map +1 -1
  8. package/dist/esm/components/DualListSelector/DualListSelectorControl.d.ts +3 -0
  9. package/dist/esm/components/DualListSelector/DualListSelectorControl.d.ts.map +1 -1
  10. package/dist/esm/components/DualListSelector/DualListSelectorControl.js.map +1 -1
  11. package/dist/esm/components/DualListSelector/DualListSelectorControlsWrapper.d.ts +1 -0
  12. package/dist/esm/components/DualListSelector/DualListSelectorControlsWrapper.d.ts.map +1 -1
  13. package/dist/esm/components/DualListSelector/DualListSelectorControlsWrapper.js.map +1 -1
  14. package/dist/esm/components/DualListSelector/DualListSelectorList.d.ts +1 -0
  15. package/dist/esm/components/DualListSelector/DualListSelectorList.d.ts.map +1 -1
  16. package/dist/esm/components/DualListSelector/DualListSelectorList.js.map +1 -1
  17. package/dist/esm/components/DualListSelector/DualListSelectorListItem.d.ts +3 -0
  18. package/dist/esm/components/DualListSelector/DualListSelectorListItem.d.ts.map +1 -1
  19. package/dist/esm/components/DualListSelector/DualListSelectorListItem.js.map +1 -1
  20. package/dist/esm/components/DualListSelector/DualListSelectorPane.d.ts +4 -0
  21. package/dist/esm/components/DualListSelector/DualListSelectorPane.d.ts.map +1 -1
  22. package/dist/esm/components/DualListSelector/DualListSelectorPane.js.map +1 -1
  23. package/dist/esm/components/DualListSelector/DualListSelectorTree.d.ts +3 -0
  24. package/dist/esm/components/DualListSelector/DualListSelectorTree.d.ts.map +1 -1
  25. package/dist/esm/components/DualListSelector/DualListSelectorTree.js.map +1 -1
  26. package/dist/esm/components/Menu/MenuGroup.d.ts +3 -1
  27. package/dist/esm/components/Menu/MenuGroup.d.ts.map +1 -1
  28. package/dist/esm/components/Menu/MenuGroup.js +2 -2
  29. package/dist/esm/components/Menu/MenuGroup.js.map +1 -1
  30. package/dist/esm/components/MultipleFileUpload/MultipleFileUpload.d.ts +4 -0
  31. package/dist/esm/components/MultipleFileUpload/MultipleFileUpload.d.ts.map +1 -1
  32. package/dist/esm/components/MultipleFileUpload/MultipleFileUpload.js.map +1 -1
  33. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadMain.d.ts +3 -0
  34. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadMain.d.ts.map +1 -1
  35. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadMain.js.map +1 -1
  36. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatus.d.ts +5 -0
  37. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatus.d.ts.map +1 -1
  38. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatus.js.map +1 -1
  39. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatusItem.d.ts +4 -0
  40. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatusItem.d.ts.map +1 -1
  41. package/dist/esm/components/MultipleFileUpload/MultipleFileUploadStatusItem.js.map +1 -1
  42. package/dist/esm/components/Nav/Nav.d.ts +1 -1
  43. package/dist/esm/components/Nav/Nav.d.ts.map +1 -1
  44. package/dist/esm/components/OptionsMenu/OptionsMenuItemGroup.js +2 -2
  45. package/dist/esm/components/OptionsMenu/OptionsMenuItemGroup.js.map +1 -1
  46. package/dist/esm/components/OptionsMenu/OptionsMenuToggleWithText.d.ts.map +1 -1
  47. package/dist/esm/components/OptionsMenu/OptionsMenuToggleWithText.js +4 -3
  48. package/dist/esm/components/OptionsMenu/OptionsMenuToggleWithText.js.map +1 -1
  49. package/dist/esm/components/Page/PageHeader.d.ts +2 -0
  50. package/dist/esm/components/Page/PageHeader.d.ts.map +1 -1
  51. package/dist/esm/components/Page/PageHeader.js +2 -2
  52. package/dist/esm/components/Page/PageHeader.js.map +1 -1
  53. package/dist/esm/components/Page/PageSidebar.d.ts +2 -0
  54. package/dist/esm/components/Page/PageSidebar.d.ts.map +1 -1
  55. package/dist/esm/components/Page/PageSidebar.js +3 -3
  56. package/dist/esm/components/Page/PageSidebar.js.map +1 -1
  57. package/dist/esm/components/Page/PageToggleButton.d.ts +2 -0
  58. package/dist/esm/components/Page/PageToggleButton.d.ts.map +1 -1
  59. package/dist/esm/components/Page/PageToggleButton.js +2 -2
  60. package/dist/esm/components/Page/PageToggleButton.js.map +1 -1
  61. package/dist/esm/components/Tabs/TabContent.d.ts.map +1 -1
  62. package/dist/esm/components/Tabs/TabContent.js +4 -2
  63. package/dist/esm/components/Tabs/TabContent.js.map +1 -1
  64. package/dist/js/components/Alert/Alert.d.ts.map +1 -1
  65. package/dist/js/components/Alert/Alert.js +2 -2
  66. package/dist/js/components/Alert/Alert.js.map +1 -1
  67. package/dist/js/components/DualListSelector/DualListSelector.d.ts +3 -0
  68. package/dist/js/components/DualListSelector/DualListSelector.d.ts.map +1 -1
  69. package/dist/js/components/DualListSelector/DualListSelector.js.map +1 -1
  70. package/dist/js/components/DualListSelector/DualListSelectorControl.d.ts +3 -0
  71. package/dist/js/components/DualListSelector/DualListSelectorControl.d.ts.map +1 -1
  72. package/dist/js/components/DualListSelector/DualListSelectorControl.js.map +1 -1
  73. package/dist/js/components/DualListSelector/DualListSelectorControlsWrapper.d.ts +1 -0
  74. package/dist/js/components/DualListSelector/DualListSelectorControlsWrapper.d.ts.map +1 -1
  75. package/dist/js/components/DualListSelector/DualListSelectorControlsWrapper.js.map +1 -1
  76. package/dist/js/components/DualListSelector/DualListSelectorList.d.ts +1 -0
  77. package/dist/js/components/DualListSelector/DualListSelectorList.d.ts.map +1 -1
  78. package/dist/js/components/DualListSelector/DualListSelectorList.js.map +1 -1
  79. package/dist/js/components/DualListSelector/DualListSelectorListItem.d.ts +3 -0
  80. package/dist/js/components/DualListSelector/DualListSelectorListItem.d.ts.map +1 -1
  81. package/dist/js/components/DualListSelector/DualListSelectorListItem.js.map +1 -1
  82. package/dist/js/components/DualListSelector/DualListSelectorPane.d.ts +4 -0
  83. package/dist/js/components/DualListSelector/DualListSelectorPane.d.ts.map +1 -1
  84. package/dist/js/components/DualListSelector/DualListSelectorPane.js.map +1 -1
  85. package/dist/js/components/DualListSelector/DualListSelectorTree.d.ts +3 -0
  86. package/dist/js/components/DualListSelector/DualListSelectorTree.d.ts.map +1 -1
  87. package/dist/js/components/DualListSelector/DualListSelectorTree.js.map +1 -1
  88. package/dist/js/components/Menu/MenuGroup.d.ts +3 -1
  89. package/dist/js/components/Menu/MenuGroup.d.ts.map +1 -1
  90. package/dist/js/components/Menu/MenuGroup.js +2 -2
  91. package/dist/js/components/Menu/MenuGroup.js.map +1 -1
  92. package/dist/js/components/MultipleFileUpload/MultipleFileUpload.d.ts +4 -0
  93. package/dist/js/components/MultipleFileUpload/MultipleFileUpload.d.ts.map +1 -1
  94. package/dist/js/components/MultipleFileUpload/MultipleFileUpload.js.map +1 -1
  95. package/dist/js/components/MultipleFileUpload/MultipleFileUploadMain.d.ts +3 -0
  96. package/dist/js/components/MultipleFileUpload/MultipleFileUploadMain.d.ts.map +1 -1
  97. package/dist/js/components/MultipleFileUpload/MultipleFileUploadMain.js.map +1 -1
  98. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatus.d.ts +5 -0
  99. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatus.d.ts.map +1 -1
  100. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatus.js.map +1 -1
  101. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatusItem.d.ts +4 -0
  102. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatusItem.d.ts.map +1 -1
  103. package/dist/js/components/MultipleFileUpload/MultipleFileUploadStatusItem.js.map +1 -1
  104. package/dist/js/components/Nav/Nav.d.ts +1 -1
  105. package/dist/js/components/Nav/Nav.d.ts.map +1 -1
  106. package/dist/js/components/OptionsMenu/OptionsMenuItemGroup.js +2 -2
  107. package/dist/js/components/OptionsMenu/OptionsMenuItemGroup.js.map +1 -1
  108. package/dist/js/components/OptionsMenu/OptionsMenuToggleWithText.d.ts.map +1 -1
  109. package/dist/js/components/OptionsMenu/OptionsMenuToggleWithText.js +4 -3
  110. package/dist/js/components/OptionsMenu/OptionsMenuToggleWithText.js.map +1 -1
  111. package/dist/js/components/Page/PageHeader.d.ts +2 -0
  112. package/dist/js/components/Page/PageHeader.d.ts.map +1 -1
  113. package/dist/js/components/Page/PageHeader.js +2 -2
  114. package/dist/js/components/Page/PageHeader.js.map +1 -1
  115. package/dist/js/components/Page/PageSidebar.d.ts +2 -0
  116. package/dist/js/components/Page/PageSidebar.d.ts.map +1 -1
  117. package/dist/js/components/Page/PageSidebar.js +3 -3
  118. package/dist/js/components/Page/PageSidebar.js.map +1 -1
  119. package/dist/js/components/Page/PageToggleButton.d.ts +2 -0
  120. package/dist/js/components/Page/PageToggleButton.d.ts.map +1 -1
  121. package/dist/js/components/Page/PageToggleButton.js +2 -2
  122. package/dist/js/components/Page/PageToggleButton.js.map +1 -1
  123. package/dist/js/components/Tabs/TabContent.d.ts.map +1 -1
  124. package/dist/js/components/Tabs/TabContent.js +4 -2
  125. package/dist/js/components/Tabs/TabContent.js.map +1 -1
  126. package/dist/umd/react-core.js +20 -18
  127. package/dist/umd/react-core.min.js +2 -2
  128. package/package.json +5 -5
  129. package/src/components/Alert/Alert.tsx +0 -2
  130. package/src/components/Alert/__tests__/__snapshots__/Alert.test.tsx.snap +0 -35
  131. package/src/components/DualListSelector/DualListSelector.tsx +4 -0
  132. package/src/components/DualListSelector/DualListSelectorControl.tsx +4 -0
  133. package/src/components/DualListSelector/DualListSelectorControlsWrapper.tsx +2 -0
  134. package/src/components/DualListSelector/DualListSelectorList.tsx +2 -0
  135. package/src/components/DualListSelector/DualListSelectorListItem.tsx +4 -0
  136. package/src/components/DualListSelector/DualListSelectorPane.tsx +5 -0
  137. package/src/components/DualListSelector/DualListSelectorTree.tsx +4 -0
  138. package/src/components/DualListSelector/examples/DualListSelector.md +9 -7
  139. package/src/components/Masthead/examples/Masthead.md +3 -3
  140. package/src/components/Menu/MenuGroup.tsx +5 -2
  141. package/src/components/Menu/examples/Menu.md +25 -25
  142. package/src/components/Menu/examples/MenuDrilldown.tsx +9 -9
  143. package/src/components/Menu/examples/MenuDrilldownInitialState.tsx +15 -12
  144. package/src/components/Menu/examples/MenuDrilldownSubmenuFunctions.tsx +9 -9
  145. package/src/components/MultipleFileUpload/MultipleFileUpload.tsx +5 -0
  146. package/src/components/MultipleFileUpload/MultipleFileUploadMain.tsx +3 -0
  147. package/src/components/MultipleFileUpload/MultipleFileUploadStatus.tsx +6 -0
  148. package/src/components/MultipleFileUpload/MultipleFileUploadStatusItem.tsx +5 -0
  149. package/src/components/MultipleFileUpload/examples/MultipleFileUpload.md +14 -6
  150. package/src/components/Nav/Nav.tsx +1 -1
  151. package/src/components/Nav/examples/Nav.md +57 -57
  152. package/src/components/Nav/examples/NavDrilldown.tsx +1 -1
  153. package/src/components/OptionsMenu/OptionsMenuItemGroup.tsx +2 -2
  154. package/src/components/OptionsMenu/OptionsMenuToggleWithText.tsx +29 -24
  155. package/src/components/OptionsMenu/__tests__/Generated/__snapshots__/OptionsMenuItemGroup.test.tsx.snap +2 -0
  156. package/src/components/OptionsMenu/__tests__/__snapshots__/OptionsMenu.test.tsx.snap +5 -1
  157. package/src/components/OptionsMenu/examples/OptionsMenu.md +11 -11
  158. package/src/components/Page/PageHeader.tsx +4 -1
  159. package/src/components/Page/PageSidebar.tsx +5 -2
  160. package/src/components/Page/PageToggleButton.tsx +4 -1
  161. package/src/components/Page/examples/Page.md +23 -17
  162. package/src/components/Page/examples/page.css +3 -0
  163. package/src/components/Select/examples/Select.md +10 -10
  164. package/src/components/Tabs/TabContent.tsx +2 -1
  165. package/src/components/Tabs/examples/Tabs.md +139 -143
  166. package/src/components/Tabs/examples/TabsDynamic.tsx +1 -0
  167. package/src/components/ToggleGroup/examples/ToggleGroup.md +16 -16
  168. package/src/components/TreeView/examples/TreeView.md +165 -165
@@ -32,19 +32,19 @@ class NavDefaultList extends React.Component {
32
32
  render() {
33
33
  const { activeItem } = this.state;
34
34
  return (
35
- <Nav onSelect={this.onSelect}>
35
+ <Nav onSelect={this.onSelect} aria-label="Default global nav">
36
36
  <NavList>
37
37
  <NavItem id="default-link1" to="#default-link1" itemId={0} isActive={activeItem === 0}>
38
- Link 1
38
+ Default Link 1
39
39
  </NavItem>
40
40
  <NavItem id="default-link2" to="#default-link2" itemId={1} isActive={activeItem === 1}>
41
- Link 2
41
+ Default Link 2
42
42
  </NavItem>
43
43
  <NavItem id="default-link3" to="#default-link3" itemId={2} isActive={activeItem === 2}>
44
- Link 3
44
+ Default Link 3
45
45
  </NavItem>
46
46
  <NavItem id="default-link4" to="#default-link4" itemId={3} isActive={activeItem === 3}>
47
- Link 4
47
+ Default Link 4
48
48
  </NavItem>
49
49
  </NavList>
50
50
  </Nav>
@@ -77,27 +77,27 @@ class NavGroupedList extends React.Component {
77
77
  render() {
78
78
  const { activeItem } = this.state;
79
79
  return (
80
- <Nav onSelect={this.onSelect}>
80
+ <Nav onSelect={this.onSelect} aria-label="Grouped global nav">
81
81
  <NavGroup title="Section title 1">
82
82
  <NavItem preventDefault to="#grouped-1" itemId="grp-1_itm-1" isActive={activeItem === 'grp-1_itm-1'}>
83
- Link 1
83
+ Group 1 Link 1
84
84
  </NavItem>
85
85
  <NavItem preventDefault to="#grouped-2" itemId="grp-1_itm-2" isActive={activeItem === 'grp-1_itm-2'}>
86
- Link 2
86
+ Group 1 Link 2
87
87
  </NavItem>
88
88
  <NavItem preventDefault to="#grouped-3" itemId="grp-1_itm-3" isActive={activeItem === 'grp-1_itm-3'}>
89
- Link 3
89
+ Group 1 Link 3
90
90
  </NavItem>
91
91
  </NavGroup>
92
92
  <NavGroup title="Section title 2">
93
93
  <NavItem preventDefault to="#grouped-4" itemId="grp-2_itm-1" isActive={activeItem === 'grp-2_itm-1'}>
94
- Link 1
94
+ Group 2 Link 1
95
95
  </NavItem>
96
96
  <NavItem preventDefault to="#grouped-5" itemId="grp-2_itm-2" isActive={activeItem === 'grp-2_itm-2'}>
97
- Link 2
97
+ Group 2 Link 2
98
98
  </NavItem>
99
99
  <NavItem preventDefault to="#grouped-6" itemId="grp-2_itm-3" isActive={activeItem === 'grp-2_itm-3'}>
100
- Link 3
100
+ Group 2 Link 3
101
101
  </NavItem>
102
102
  </NavGroup>
103
103
  </Nav>
@@ -138,9 +138,9 @@ class NavExpandableList extends React.Component {
138
138
  render() {
139
139
  const { activeGroup, activeItem } = this.state;
140
140
  return (
141
- <Nav onSelect={this.onSelect} onToggle={this.onToggle}>
141
+ <Nav onSelect={this.onSelect} onToggle={this.onToggle} aria-label="Expandable global nav">
142
142
  <NavList>
143
- <NavExpandable title="Link 1" groupId="grp-1" isActive={activeGroup === 'grp-1'} isExpanded>
143
+ <NavExpandable title="Expandable Group 1" groupId="grp-1" isActive={activeGroup === 'grp-1'} isExpanded>
144
144
  <NavItem
145
145
  preventDefault
146
146
  to="#expandable-1"
@@ -148,17 +148,17 @@ class NavExpandableList extends React.Component {
148
148
  itemId="grp-1_itm-1"
149
149
  isActive={activeItem === 'grp-1_itm-1'}
150
150
  >
151
- Subnav Link 1
151
+ Subnav 1 Link 1
152
152
  </NavItem>
153
153
  <NavItemSeparator />
154
154
  <NavItem preventDefault groupId="grp-1" itemId="grp-1_itm-2" isActive={activeItem === 'grp-1_itm-2'}>
155
- Subnav Link 2
155
+ Subnav 1 Link 2
156
156
  </NavItem>
157
157
  <NavItem to="#expandable-3" groupId="grp-1" itemId="grp-1_itm-3" isActive={activeItem === 'grp-1_itm-3'}>
158
- Subnav Link 3
158
+ Subnav 1 Link 3
159
159
  </NavItem>
160
160
  </NavExpandable>
161
- <NavExpandable title="Link 2" groupId="grp-2" isActive={activeGroup === 'grp-2'} isExpanded>
161
+ <NavExpandable title="Expandable Group 2" groupId="grp-2" isActive={activeGroup === 'grp-2'} isExpanded>
162
162
  <NavItem
163
163
  preventDefault
164
164
  onClick={this.handleItemOnclick}
@@ -175,7 +175,7 @@ class NavExpandableList extends React.Component {
175
175
  itemId="grp-2_itm-1"
176
176
  isActive={activeItem === 'grp-2_itm-1'}
177
177
  >
178
- Subnav Link 1
178
+ Subnav 2 Link 1
179
179
  </NavItem>
180
180
  <NavItem
181
181
  preventDefault
@@ -184,7 +184,7 @@ class NavExpandableList extends React.Component {
184
184
  itemId="grp-2_itm-2"
185
185
  isActive={activeItem === 'grp-2_itm-2'}
186
186
  >
187
- Subnav Link 2
187
+ Subnav 2 Link 2
188
188
  </NavItem>
189
189
  <NavItem
190
190
  preventDefault
@@ -193,7 +193,7 @@ class NavExpandableList extends React.Component {
193
193
  itemId="grp-2_itm-3"
194
194
  isActive={activeItem === 'grp-2_itm-3'}
195
195
  >
196
- Subnav Link 3
196
+ Subnav 2 Link 3
197
197
  </NavItem>
198
198
  </NavExpandable>
199
199
  </NavList>
@@ -227,9 +227,9 @@ class NavExpandableTitlesList extends React.Component {
227
227
  render() {
228
228
  const { activeGroup, activeItem } = this.state;
229
229
  return (
230
- <Nav onSelect={this.onSelect}>
230
+ <Nav onSelect={this.onSelect} aria-label="Expandable with subnav global nav">
231
231
  <NavList>
232
- <NavExpandable title="Link 1" srText="SR Link" groupId="grp-1" isActive={activeGroup === 'grp-1'} isExpanded>
232
+ <NavExpandable title="Expandable with subnav group 1" srText="SR Link" groupId="grp-1" isActive={activeGroup === 'grp-1'} isExpanded>
233
233
  <NavItem
234
234
  preventDefault
235
235
  to="#sr-expandable-1"
@@ -237,7 +237,7 @@ class NavExpandableTitlesList extends React.Component {
237
237
  itemId="grp-1_itm-1"
238
238
  isActive={activeItem === 'grp-1_itm-1'}
239
239
  >
240
- Subnav Link 1
240
+ Expandable 1 link 1
241
241
  </NavItem>
242
242
  <NavItem
243
243
  preventDefault
@@ -246,7 +246,7 @@ class NavExpandableTitlesList extends React.Component {
246
246
  itemId="grp-1_itm-2"
247
247
  isActive={activeItem === 'grp-1_itm-2'}
248
248
  >
249
- Subnav Link 2
249
+ Expandable 1 link 2
250
250
  </NavItem>
251
251
  <NavItem
252
252
  preventDefault
@@ -255,10 +255,10 @@ class NavExpandableTitlesList extends React.Component {
255
255
  itemId="grp-1_itm-3"
256
256
  isActive={activeItem === 'grp-1_itm-3'}
257
257
  >
258
- Subnav Link 3
258
+ Expandable 1 link 3
259
259
  </NavItem>
260
260
  </NavExpandable>
261
- <NavExpandable title="Link 2" srText="SR Link 2" groupId="grp-2" isActive={activeGroup === 'grp-2'}>
261
+ <NavExpandable title="Expandable with subnav group 2" srText="SR Link 2" groupId="grp-2" isActive={activeGroup === 'grp-2'}>
262
262
  <NavItem
263
263
  preventDefault
264
264
  to="#sr-expandable-4"
@@ -266,7 +266,7 @@ class NavExpandableTitlesList extends React.Component {
266
266
  itemId="grp-2_itm-1"
267
267
  isActive={activeItem === 'grp-2_itm-1'}
268
268
  >
269
- Subnav Link 1
269
+ Expandable 2 Link 1
270
270
  </NavItem>
271
271
  <NavItem
272
272
  preventDefault
@@ -275,7 +275,7 @@ class NavExpandableTitlesList extends React.Component {
275
275
  itemId="grp-2_itm-2"
276
276
  isActive={activeItem === 'grp-2_itm-2'}
277
277
  >
278
- Subnav Link 2
278
+ Expandable 2 Link 2
279
279
  </NavItem>
280
280
  <NavItem
281
281
  preventDefault
@@ -284,7 +284,7 @@ class NavExpandableTitlesList extends React.Component {
284
284
  itemId="grp-2_itm-3"
285
285
  isActive={activeItem === 'grp-2_itm-3'}
286
286
  >
287
- Subnav Link 3
287
+ Expandable 2 Link 3
288
288
  </NavItem>
289
289
  </NavExpandable>
290
290
  </NavList>
@@ -315,9 +315,9 @@ NavExpandableThirdLevelList = () => {
315
315
  };
316
316
 
317
317
  return (
318
- <Nav onSelect={onSelect} onToggle={onToggle}>
318
+ <Nav onSelect={onSelect} onToggle={onToggle} aria-label="Expandable third level global nav">
319
319
  <NavList>
320
- <NavExpandable title="Link 1" groupId="grp-1" isActive={activeGroup === 'grp-1'} isExpanded>
320
+ <NavExpandable title="Third level group 1" groupId="grp-1" isActive={activeGroup === 'grp-1'} isExpanded>
321
321
  <NavItem
322
322
  preventDefault
323
323
  to="#expandable-1"
@@ -325,7 +325,7 @@ NavExpandableThirdLevelList = () => {
325
325
  itemId="grp-1_itm-1"
326
326
  isActive={activeItem === 'grp-1_itm-1'}
327
327
  >
328
- Subnav Link 1
328
+ With 3rd 1 Link 1
329
329
  </NavItem>
330
330
  <NavItem
331
331
  preventDefault
@@ -334,7 +334,7 @@ NavExpandableThirdLevelList = () => {
334
334
  itemId="grp-1_itm-2"
335
335
  isActive={activeItem === 'grp-1_itm-2'}
336
336
  >
337
- Subnav Link 2
337
+ With 3rd 1 Link 2
338
338
  </NavItem>
339
339
  <NavItem
340
340
  preventDefault
@@ -343,10 +343,10 @@ NavExpandableThirdLevelList = () => {
343
343
  itemId="grp-1_itm-3"
344
344
  isActive={activeItem === 'grp-1_itm-3'}
345
345
  >
346
- Subnav Link 3
346
+ With 3rd 1 Link 3
347
347
  </NavItem>
348
348
  </NavExpandable>
349
- <NavExpandable title="Link 2" groupId="grp-2" isActive={activeGroup === 'grp-2'} isExpanded>
349
+ <NavExpandable title="Third level group 2" groupId="grp-2" isActive={activeGroup === 'grp-2'} isExpanded>
350
350
  <NavItem
351
351
  preventDefault
352
352
  to="#expandable-4"
@@ -354,7 +354,7 @@ NavExpandableThirdLevelList = () => {
354
354
  itemId="grp-2_itm-1"
355
355
  isActive={activeItem === 'grp-2_itm-1'}
356
356
  >
357
- Subnav Link 1
357
+ With 3rd 2 Link 1
358
358
  </NavItem>
359
359
  <NavExpandable title="Third Level" groupId="grp-3" isActive={activeGroup === 'grp-3'} isExpanded>
360
360
  <NavItem
@@ -383,7 +383,7 @@ NavExpandableThirdLevelList = () => {
383
383
  itemId="grp-2_itm-2"
384
384
  isActive={activeItem === 'grp-2_itm-3'}
385
385
  >
386
- Subnav Link 3
386
+ With 3rd 2 Link 3
387
387
  </NavItem>
388
388
  </NavExpandable>
389
389
  </NavList>
@@ -416,7 +416,7 @@ class NavMixedList extends React.Component {
416
416
  render() {
417
417
  const { activeGroup, activeItem } = this.state;
418
418
  return (
419
- <Nav onSelect={this.onSelect}>
419
+ <Nav onSelect={this.onSelect} aria-label="Mixed global nav">
420
420
  <NavList>
421
421
  <NavItem preventDefault to="#mixed-1" itemId="itm-1" isActive={activeItem === 'itm-1'}>
422
422
  Link 1 (not expandable)
@@ -429,7 +429,7 @@ class NavMixedList extends React.Component {
429
429
  itemId="grp-1_itm-1"
430
430
  isActive={activeItem === 'grp-1_itm-1'}
431
431
  >
432
- Link 1
432
+ Mixed Link 1
433
433
  </NavItem>
434
434
  <NavItem
435
435
  preventDefault
@@ -438,7 +438,7 @@ class NavMixedList extends React.Component {
438
438
  itemId="grp-1_itm-2"
439
439
  isActive={activeItem === 'grp-1_itm-2'}
440
440
  >
441
- Link 2
441
+ Mixed Link 2
442
442
  </NavItem>
443
443
  <NavItem
444
444
  preventDefault
@@ -447,7 +447,7 @@ class NavMixedList extends React.Component {
447
447
  itemId="grp-1_itm-3"
448
448
  isActive={activeItem === 'grp-1_itm-3'}
449
449
  >
450
- Link 3
450
+ Mixed Link 3
451
451
  </NavItem>
452
452
  </NavExpandable>
453
453
  <NavExpandable title="Link 3 - expandable" groupId="grp-2" isActive={activeGroup === 'grp-2'}>
@@ -458,7 +458,7 @@ class NavMixedList extends React.Component {
458
458
  itemId="grp-2_itm-1"
459
459
  isActive={activeItem === 'grp-2_itm-1'}
460
460
  >
461
- Link 1
461
+ Mixed 2 Link 1
462
462
  </NavItem>
463
463
  <NavItem
464
464
  preventDefault
@@ -467,7 +467,7 @@ class NavMixedList extends React.Component {
467
467
  itemId="grp-2_itm-2"
468
468
  isActive={activeItem === 'grp-2_itm-2'}
469
469
  >
470
- Link 2
470
+ Mixed 2 Link 2
471
471
  </NavItem>
472
472
  <NavItem
473
473
  preventDefault
@@ -476,7 +476,7 @@ class NavMixedList extends React.Component {
476
476
  itemId="grp-2_itm-3"
477
477
  isActive={activeItem === 'grp-2_itm-3'}
478
478
  >
479
- Link 3
479
+ Mixed 2 Link 3
480
480
  </NavItem>
481
481
  </NavExpandable>
482
482
  </NavList>
@@ -508,7 +508,7 @@ class NavHorizontalList extends React.Component {
508
508
  render() {
509
509
  const { activeItem } = this.state;
510
510
  const nav = (
511
- <Nav onSelect={this.onSelect} variant="horizontal">
511
+ <Nav onSelect={this.onSelect} variant="horizontal" aria-label="Horizontal global nav">
512
512
  <NavList>
513
513
  {Array.apply(0, Array(10)).map(function(x, i) {
514
514
  const num = i + 1;
@@ -548,7 +548,7 @@ class HorizontalSubNav extends React.Component {
548
548
  render() {
549
549
  const { activeItem } = this.state;
550
550
  return (
551
- <Nav onSelect={this.onSelect} variant="horizontal-subnav">
551
+ <Nav onSelect={this.onSelect} variant="horizontal-subnav" aria-label="Horizontal subnav global nav">
552
552
  <NavList>
553
553
  {Array.apply(0, Array(10)).map(function(x, i) {
554
554
  const num = i + 1;
@@ -587,7 +587,7 @@ class NavTertiaryList extends React.Component {
587
587
  render() {
588
588
  const { activeItem } = this.state;
589
589
  return (
590
- <Nav onSelect={this.onSelect} variant="tertiary">
590
+ <Nav onSelect={this.onSelect} variant="tertiary" aria-label="Tertiary global nav">
591
591
  <NavList>
592
592
  {Array.apply(0, Array(10)).map(function(x, i) {
593
593
  const num = i + 1;
@@ -655,19 +655,19 @@ NavWithFlyout = () => {
655
655
  }
656
656
 
657
657
  return (
658
- <Nav onSelect={onSelect}>
658
+ <Nav onSelect={onSelect} aria-label="Flyout global nav">
659
659
  <NavList>
660
- <NavItem id="default-link1" to="#default-link1" itemId={0} isActive={activeItem === 0}>
661
- Link 1
660
+ <NavItem id="flyout-link1" to="#flyout-link1" itemId={0} isActive={activeItem === 0}>
661
+ Flyout Link 1
662
662
  </NavItem>
663
- <NavItem id="default-link2" to="#default-link2" itemId={1} isActive={activeItem === 1}>
664
- Link 2
663
+ <NavItem id="flyout-link2" to="#flyout-link2" itemId={1} isActive={activeItem === 1}>
664
+ Flyout Link 2
665
665
  </NavItem>
666
- <NavItem flyout={curFlyout} id="default-link3" to="#default-link3" itemId={2} isActive={activeItem === 2}>
667
- Link 3
666
+ <NavItem flyout={curFlyout} id="flyout-link3" to="#flyout-link3" itemId={2} isActive={activeItem === 2}>
667
+ Flyout Link 3
668
668
  </NavItem>
669
- <NavItem id="default-link4" to="#default-link4" itemId={3} isActive={activeItem === 3}>
670
- Link 4
669
+ <NavItem id="flyout-link4" to="#flyout-link4" itemId={3} isActive={activeItem === 3}>
670
+ Flyout Link 4
671
671
  </NavItem>
672
672
  </NavList>
673
673
  </Nav>
@@ -65,7 +65,7 @@ export const NavLevelThreeDrill: React.FunctionComponent = () => {
65
65
  };
66
66
 
67
67
  return (
68
- <Nav>
68
+ <Nav aria-label="Drilldown global nav">
69
69
  <Menu
70
70
  id="rootMenu"
71
71
  containsDrilldown
@@ -24,9 +24,9 @@ export const OptionsMenuItemGroup: React.FunctionComponent<OptionsMenuItemGroupP
24
24
  hasSeparator = false,
25
25
  ...props
26
26
  }: OptionsMenuItemGroupProps) => (
27
- <section {...props} className={css(styles.optionsMenuGroup)}>
27
+ <section {...props} className={css(styles.optionsMenuGroup)} role="none">
28
28
  {groupTitle && <h1 className={css(styles.optionsMenuGroupTitle)}>{groupTitle}</h1>}
29
- <ul className={className} aria-label={ariaLabel}>
29
+ <ul className={className} aria-label={ariaLabel} role="group">
30
30
  {children}
31
31
  {hasSeparator && <Divider component="li" role="separator" />}
32
32
  </ul>
@@ -2,6 +2,7 @@ import * as React from 'react';
2
2
  import { css } from '@patternfly/react-styles';
3
3
  import { KEY_CODES } from '../../helpers/constants';
4
4
  import styles from '@patternfly/react-styles/css/components/OptionsMenu/options-menu';
5
+ import { DropdownContext } from '../Dropdown';
5
6
 
6
7
  export interface OptionsMenuToggleWithTextProps extends React.HTMLProps<HTMLDivElement> {
7
8
  /** Id of the parent options menu component */
@@ -109,31 +110,35 @@ export const OptionsMenuToggleWithText: React.FunctionComponent<OptionsMenuToggl
109
110
  };
110
111
 
111
112
  return (
112
- <div
113
- className={css(
114
- styles.optionsMenuToggle,
115
- styles.modifiers.text,
116
- isPlain && styles.modifiers.plain,
117
- isDisabled && styles.modifiers.disabled,
118
- isActive && styles.modifiers.active
113
+ <DropdownContext.Consumer>
114
+ {({ id: contextId }) => (
115
+ <div
116
+ className={css(
117
+ styles.optionsMenuToggle,
118
+ styles.modifiers.text,
119
+ isPlain && styles.modifiers.plain,
120
+ isDisabled && styles.modifiers.disabled,
121
+ isActive && styles.modifiers.active
122
+ )}
123
+ {...props}
124
+ >
125
+ <span className={css(styles.optionsMenuToggleText, toggleTextClassName)}>{toggleText}</span>
126
+ <button
127
+ className={css(styles.optionsMenuToggleButton, toggleButtonContentsClassName)}
128
+ id={parentId ? `${parentId}-toggle` : `${contextId}-toggle`}
129
+ aria-haspopup="listbox"
130
+ aria-label={ariaLabel}
131
+ aria-expanded={isOpen}
132
+ ref={buttonRef}
133
+ disabled={isDisabled}
134
+ onClick={() => onToggle(!isOpen)}
135
+ onKeyDown={onKeyDown}
136
+ >
137
+ <span className={css(styles.optionsMenuToggleButtonIcon)}>{toggleButtonContents}</span>
138
+ </button>
139
+ </div>
119
140
  )}
120
- {...props}
121
- >
122
- <span className={css(styles.optionsMenuToggleText, toggleTextClassName)}>{toggleText}</span>
123
- <button
124
- className={css(styles.optionsMenuToggleButton, toggleButtonContentsClassName)}
125
- id={`${parentId}-toggle`}
126
- aria-haspopup="listbox"
127
- aria-label={ariaLabel}
128
- aria-expanded={isOpen}
129
- ref={buttonRef}
130
- disabled={isDisabled}
131
- onClick={() => onToggle(!isOpen)}
132
- onKeyDown={onKeyDown}
133
- >
134
- <span className={css(styles.optionsMenuToggleButtonIcon)}>{toggleButtonContents}</span>
135
- </button>
136
- </div>
141
+ </DropdownContext.Consumer>
137
142
  );
138
143
  };
139
144
  OptionsMenuToggleWithText.displayName = 'OptionsMenuToggleWithText';
@@ -4,10 +4,12 @@ exports[`OptionsMenuItemGroup should match snapshot (auto-generated) 1`] = `
4
4
  <DocumentFragment>
5
5
  <section
6
6
  class="pf-c-options-menu__group"
7
+ role="none"
7
8
  >
8
9
  <ul
9
10
  aria-label="''"
10
11
  class="''"
12
+ role="group"
11
13
  >
12
14
  ReactNode
13
15
  </ul>
@@ -49,6 +49,7 @@ exports[`optionsMenu expanded 1`] = `
49
49
  <section
50
50
  class="pf-c-options-menu__group"
51
51
  index="0"
52
+ role="none"
52
53
  >
53
54
  <h1
54
55
  class="pf-c-options-menu__group-title"
@@ -58,6 +59,7 @@ exports[`optionsMenu expanded 1`] = `
58
59
  <ul
59
60
  aria-label=""
60
61
  class=""
62
+ role="group"
61
63
  >
62
64
  <li
63
65
  id=""
@@ -137,6 +139,7 @@ exports[`optionsMenu expanded 1`] = `
137
139
  <section
138
140
  class="pf-c-options-menu__group"
139
141
  index="2"
142
+ role="none"
140
143
  >
141
144
  <h1
142
145
  class="pf-c-options-menu__group-title"
@@ -146,6 +149,7 @@ exports[`optionsMenu expanded 1`] = `
146
149
  <ul
147
150
  aria-label=""
148
151
  class=""
152
+ role="group"
149
153
  >
150
154
  <li
151
155
  id=""
@@ -467,7 +471,7 @@ exports[`optionsMenu text 1`] = `
467
471
  aria-haspopup="listbox"
468
472
  aria-label="Options menu"
469
473
  class="pf-c-options-menu__toggle-button"
470
- id="-toggle"
474
+ id="text-toggle"
471
475
  >
472
476
  <span
473
477
  class="pf-c-options-menu__toggle-button-icon"
@@ -49,7 +49,7 @@ class SingleOption extends React.Component {
49
49
 
50
50
  return (
51
51
  <OptionsMenu
52
- id="options-menu-single-option-example"
52
+ id="single-option-example"
53
53
  menuItems={menuItems}
54
54
  isOpen={isOpen}
55
55
  toggle={toggle}/>
@@ -85,7 +85,7 @@ class DisabledOptionsMenu extends React.Component {
85
85
 
86
86
  return (
87
87
  <OptionsMenu
88
- id="options-menu-single-disabled-example-toggle"
88
+ id="single-disabled-example"
89
89
  isOpen={isOpen}
90
90
  menuItems={menuItems}
91
91
  toggle={toggle}/>
@@ -149,7 +149,7 @@ class MultipleOptions extends React.Component {
149
149
 
150
150
  return (
151
151
  <OptionsMenu
152
- id="options-menu-multiple-options-example"
152
+ id="multiple-options-example"
153
153
  menuItems={menuItems}
154
154
  isOpen={isOpen}
155
155
  toggle={toggle}
@@ -220,12 +220,12 @@ class Plain extends React.Component {
220
220
 
221
221
  return (
222
222
  <React.Fragment>
223
- <OptionsMenu id="options-menu-plain-disabled-example"
223
+ <OptionsMenu id="plain-disabled-example"
224
224
  isPlain
225
225
  menuItems={disabledMenuItems}
226
226
  isOpen={isDisabledOpen}
227
227
  toggle={disabledToggle}/>
228
- <OptionsMenu id="options-menu-plain-example"
228
+ <OptionsMenu id="plain-example"
229
229
  isPlain
230
230
  menuItems={menuItems}
231
231
  isOpen={isOpen}
@@ -277,7 +277,7 @@ class Top extends React.Component {
277
277
 
278
278
  return (
279
279
  <OptionsMenu
280
- id="options-menu-top-example"
280
+ id="top-example"
281
281
  direction={OptionsMenuDirection.up}
282
282
  menuItems={menuItems}
283
283
  toggle={toggle}
@@ -328,7 +328,7 @@ class AlignRight extends React.Component {
328
328
 
329
329
  return (
330
330
  <OptionsMenu
331
- id="options-menu-align-right-example"
331
+ id="align-right-example"
332
332
  position={OptionsMenuPosition.right}
333
333
  menuItems={menuItems}
334
334
  toggle={toggle}
@@ -387,7 +387,7 @@ class PlainWithText extends React.Component {
387
387
 
388
388
  return (
389
389
  <OptionsMenu
390
- id="options-menu-plain-with-text-example"
390
+ id="plain-with-text-example"
391
391
  menuItems={menuItems}
392
392
  isOpen={isOpen}
393
393
  isPlain
@@ -447,7 +447,7 @@ class PlainWithText extends React.Component {
447
447
 
448
448
  return (
449
449
  <OptionsMenu
450
- id="options-menu-plain-with-text-example"
450
+ id="plain-with-text-disabled-example"
451
451
  menuItems={menuItems}
452
452
  isOpen={isOpen}
453
453
  isPlain
@@ -507,7 +507,7 @@ class GroupedItems extends React.Component {
507
507
 
508
508
  return (
509
509
  <OptionsMenu
510
- id="options-menu-align-right-example"
510
+ id="grouped-items-example"
511
511
  position={OptionsMenuPosition.right}
512
512
  menuItems={menuGroups}
513
513
  toggle={toggle}
@@ -559,7 +559,7 @@ class SingleOption extends React.Component {
559
559
 
560
560
  return (
561
561
  <OptionsMenu
562
- id="options-menu-single-option-example"
562
+ id="document-body-example"
563
563
  menuItems={menuItems}
564
564
  isOpen={isOpen}
565
565
  toggle={toggle}
@@ -21,6 +21,8 @@ export interface PageHeaderProps extends React.HTMLProps<HTMLDivElement> {
21
21
  topNav?: React.ReactNode;
22
22
  /** True to show the nav toggle button (toggles side nav) */
23
23
  showNavToggle?: boolean;
24
+ /** Id for the nav toggle button */
25
+ navToggleId?: string;
24
26
  /** True if the side nav is shown */
25
27
  isNavOpen?: boolean;
26
28
  /** This prop is no longer managed through PageHeader but in the Page component. */
@@ -44,6 +46,7 @@ export const PageHeader: React.FunctionComponent<PageHeaderProps> = ({
44
46
  isManagedSidebar: deprecatedIsManagedSidebar = undefined,
45
47
  role = undefined as string,
46
48
  showNavToggle = false,
49
+ navToggleId = 'nav-toggle',
47
50
  onNavToggle = () => undefined as any,
48
51
  'aria-label': ariaLabel = 'Global navigation',
49
52
  'aria-controls': ariaControls = null,
@@ -68,7 +71,7 @@ export const PageHeader: React.FunctionComponent<PageHeaderProps> = ({
68
71
  {showNavToggle && (
69
72
  <div className={css(styles.pageHeaderBrandToggle)}>
70
73
  <Button
71
- id="nav-toggle"
74
+ id={navToggleId}
72
75
  onClick={navToggle}
73
76
  aria-label={ariaLabel}
74
77
  aria-controls={ariaControls}
@@ -17,6 +17,8 @@ export interface PageSidebarProps extends React.HTMLProps<HTMLDivElement> {
17
17
  isNavOpen?: boolean;
18
18
  /** Indicates the color scheme of the sidebar */
19
19
  theme?: 'dark' | 'light';
20
+ /** Sidebar id */
21
+ id?: string;
20
22
  }
21
23
 
22
24
  export interface PageSidebarContextProps {
@@ -32,6 +34,7 @@ export const PageSidebar: React.FunctionComponent<PageSidebarProps> = ({
32
34
  nav,
33
35
  isNavOpen = true,
34
36
  theme = 'dark',
37
+ id = 'page-sidebar',
35
38
  ...props
36
39
  }: PageSidebarProps) => (
37
40
  <PageContextConsumer>
@@ -40,7 +43,7 @@ export const PageSidebar: React.FunctionComponent<PageSidebarProps> = ({
40
43
 
41
44
  return (
42
45
  <div
43
- id="page-sidebar"
46
+ id={id}
44
47
  className={css(
45
48
  styles.pageSidebar,
46
49
  theme === 'light' && styles.modifiers.light,
@@ -51,7 +54,7 @@ export const PageSidebar: React.FunctionComponent<PageSidebarProps> = ({
51
54
  aria-hidden={!navOpen}
52
55
  {...props}
53
56
  >
54
- <div className={styles.pageSidebarBody}>
57
+ <div className={css(styles.pageSidebarBody)}>
55
58
  <PageSidebarContext.Provider value={{ isNavOpen: navOpen }}>{nav}</PageSidebarContext.Provider>
56
59
  </div>
57
60
  </div>