@patternfly/react-core 4.225.2 → 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 (89) hide show
  1. package/CHANGELOG.md +8 -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/Menu/MenuGroup.d.ts +3 -1
  6. package/dist/esm/components/Menu/MenuGroup.d.ts.map +1 -1
  7. package/dist/esm/components/Menu/MenuGroup.js +2 -2
  8. package/dist/esm/components/Menu/MenuGroup.js.map +1 -1
  9. package/dist/esm/components/Nav/Nav.d.ts +1 -1
  10. package/dist/esm/components/Nav/Nav.d.ts.map +1 -1
  11. package/dist/esm/components/OptionsMenu/OptionsMenuItemGroup.js +2 -2
  12. package/dist/esm/components/OptionsMenu/OptionsMenuItemGroup.js.map +1 -1
  13. package/dist/esm/components/OptionsMenu/OptionsMenuToggleWithText.d.ts.map +1 -1
  14. package/dist/esm/components/OptionsMenu/OptionsMenuToggleWithText.js +4 -3
  15. package/dist/esm/components/OptionsMenu/OptionsMenuToggleWithText.js.map +1 -1
  16. package/dist/esm/components/Page/PageHeader.d.ts +2 -0
  17. package/dist/esm/components/Page/PageHeader.d.ts.map +1 -1
  18. package/dist/esm/components/Page/PageHeader.js +2 -2
  19. package/dist/esm/components/Page/PageHeader.js.map +1 -1
  20. package/dist/esm/components/Page/PageSidebar.d.ts +2 -0
  21. package/dist/esm/components/Page/PageSidebar.d.ts.map +1 -1
  22. package/dist/esm/components/Page/PageSidebar.js +3 -3
  23. package/dist/esm/components/Page/PageSidebar.js.map +1 -1
  24. package/dist/esm/components/Page/PageToggleButton.d.ts +2 -0
  25. package/dist/esm/components/Page/PageToggleButton.d.ts.map +1 -1
  26. package/dist/esm/components/Page/PageToggleButton.js +2 -2
  27. package/dist/esm/components/Page/PageToggleButton.js.map +1 -1
  28. package/dist/esm/components/Tabs/TabContent.d.ts.map +1 -1
  29. package/dist/esm/components/Tabs/TabContent.js +4 -2
  30. package/dist/esm/components/Tabs/TabContent.js.map +1 -1
  31. package/dist/js/components/Alert/Alert.d.ts.map +1 -1
  32. package/dist/js/components/Alert/Alert.js +2 -2
  33. package/dist/js/components/Alert/Alert.js.map +1 -1
  34. package/dist/js/components/Menu/MenuGroup.d.ts +3 -1
  35. package/dist/js/components/Menu/MenuGroup.d.ts.map +1 -1
  36. package/dist/js/components/Menu/MenuGroup.js +2 -2
  37. package/dist/js/components/Menu/MenuGroup.js.map +1 -1
  38. package/dist/js/components/Nav/Nav.d.ts +1 -1
  39. package/dist/js/components/Nav/Nav.d.ts.map +1 -1
  40. package/dist/js/components/OptionsMenu/OptionsMenuItemGroup.js +2 -2
  41. package/dist/js/components/OptionsMenu/OptionsMenuItemGroup.js.map +1 -1
  42. package/dist/js/components/OptionsMenu/OptionsMenuToggleWithText.d.ts.map +1 -1
  43. package/dist/js/components/OptionsMenu/OptionsMenuToggleWithText.js +4 -3
  44. package/dist/js/components/OptionsMenu/OptionsMenuToggleWithText.js.map +1 -1
  45. package/dist/js/components/Page/PageHeader.d.ts +2 -0
  46. package/dist/js/components/Page/PageHeader.d.ts.map +1 -1
  47. package/dist/js/components/Page/PageHeader.js +2 -2
  48. package/dist/js/components/Page/PageHeader.js.map +1 -1
  49. package/dist/js/components/Page/PageSidebar.d.ts +2 -0
  50. package/dist/js/components/Page/PageSidebar.d.ts.map +1 -1
  51. package/dist/js/components/Page/PageSidebar.js +3 -3
  52. package/dist/js/components/Page/PageSidebar.js.map +1 -1
  53. package/dist/js/components/Page/PageToggleButton.d.ts +2 -0
  54. package/dist/js/components/Page/PageToggleButton.d.ts.map +1 -1
  55. package/dist/js/components/Page/PageToggleButton.js +2 -2
  56. package/dist/js/components/Page/PageToggleButton.js.map +1 -1
  57. package/dist/js/components/Tabs/TabContent.d.ts.map +1 -1
  58. package/dist/js/components/Tabs/TabContent.js +4 -2
  59. package/dist/js/components/Tabs/TabContent.js.map +1 -1
  60. package/dist/umd/react-core.js +20 -18
  61. package/dist/umd/react-core.min.js +2 -2
  62. package/package.json +5 -5
  63. package/src/components/Alert/Alert.tsx +0 -2
  64. package/src/components/Alert/__tests__/__snapshots__/Alert.test.tsx.snap +0 -35
  65. package/src/components/Masthead/examples/Masthead.md +3 -3
  66. package/src/components/Menu/MenuGroup.tsx +5 -2
  67. package/src/components/Menu/examples/Menu.md +25 -25
  68. package/src/components/Menu/examples/MenuDrilldown.tsx +9 -9
  69. package/src/components/Menu/examples/MenuDrilldownInitialState.tsx +15 -12
  70. package/src/components/Menu/examples/MenuDrilldownSubmenuFunctions.tsx +9 -9
  71. package/src/components/Nav/Nav.tsx +1 -1
  72. package/src/components/Nav/examples/Nav.md +57 -57
  73. package/src/components/Nav/examples/NavDrilldown.tsx +1 -1
  74. package/src/components/OptionsMenu/OptionsMenuItemGroup.tsx +2 -2
  75. package/src/components/OptionsMenu/OptionsMenuToggleWithText.tsx +29 -24
  76. package/src/components/OptionsMenu/__tests__/Generated/__snapshots__/OptionsMenuItemGroup.test.tsx.snap +2 -0
  77. package/src/components/OptionsMenu/__tests__/__snapshots__/OptionsMenu.test.tsx.snap +5 -1
  78. package/src/components/OptionsMenu/examples/OptionsMenu.md +11 -11
  79. package/src/components/Page/PageHeader.tsx +4 -1
  80. package/src/components/Page/PageSidebar.tsx +5 -2
  81. package/src/components/Page/PageToggleButton.tsx +4 -1
  82. package/src/components/Page/examples/Page.md +23 -17
  83. package/src/components/Page/examples/page.css +3 -0
  84. package/src/components/Select/examples/Select.md +10 -10
  85. package/src/components/Tabs/TabContent.tsx +2 -1
  86. package/src/components/Tabs/examples/Tabs.md +139 -143
  87. package/src/components/Tabs/examples/TabsDynamic.tsx +1 -0
  88. package/src/components/ToggleGroup/examples/ToggleGroup.md +16 -16
  89. package/src/components/TreeView/examples/TreeView.md +165 -165
@@ -6,10 +6,13 @@ import LayerGroupIcon from '@patternfly/react-icons/dist/esm/icons/layer-group-i
6
6
  import CubeIcon from '@patternfly/react-icons/dist/esm/icons/cube-icon';
7
7
 
8
8
  export const MenuDrilldownInitialState: React.FunctionComponent = () => {
9
- const [menuDrilledIn, setMenuDrilledIn] = React.useState<string[]>(['rootMenu', 'drilldownMenuStart']);
9
+ const [menuDrilledIn, setMenuDrilledIn] = React.useState<string[]>([
10
+ 'initial-state-rootMenu',
11
+ 'initial-state-drilldownMenuStart'
12
+ ]);
10
13
  const [drilldownPath, setDrilldownPath] = React.useState<string[]>(['group:start_rollout', 'group:app_grouping']);
11
- const [menuHeights, setMenuHeights] = React.useState<any>({ rootMenu: 216 }); // The root menu height must be defined when starting from a drilled in state
12
- const [activeMenu, setActiveMenu] = React.useState<string>('drilldownMenuStartGrouping');
14
+ const [menuHeights, setMenuHeights] = React.useState<any>({ 'initial-state-rootMenu': 216 }); // The root menu height must be defined when starting from a drilled in state
15
+ const [activeMenu, setActiveMenu] = React.useState<string>('initial-state-drilldownMenuStartGrouping');
13
16
 
14
17
  const drillIn = (fromMenuId: string, toMenuId: string, pathId: string) => {
15
18
  setMenuDrilledIn([...menuDrilledIn, fromMenuId]);
@@ -26,14 +29,14 @@ export const MenuDrilldownInitialState: React.FunctionComponent = () => {
26
29
  };
27
30
 
28
31
  const setHeight = (menuId: string, height: number) => {
29
- if (menuHeights[menuId] === undefined || (menuId !== 'rootMenu' && menuHeights[menuId] !== height)) {
32
+ if (menuHeights[menuId] === undefined || (menuId !== 'initial-state-rootMenu' && menuHeights[menuId] !== height)) {
30
33
  setMenuHeights({ ...menuHeights, [menuId]: height });
31
34
  }
32
35
  };
33
36
 
34
37
  return (
35
38
  <Menu
36
- id="rootMenu"
39
+ id="initial-state-rootMenu"
37
40
  containsDrilldown
38
41
  drilldownItemPath={drilldownPath}
39
42
  drilledInMenus={menuDrilledIn}
@@ -48,7 +51,7 @@ export const MenuDrilldownInitialState: React.FunctionComponent = () => {
48
51
  itemId="group:start_rollout"
49
52
  direction="down"
50
53
  drilldownMenu={
51
- <DrilldownMenu id="drilldownMenuStart">
54
+ <DrilldownMenu id="initial-state-drilldownMenuStart">
52
55
  <MenuItem itemId="group:start_rollout_breadcrumb" direction="up">
53
56
  Start rollout
54
57
  </MenuItem>
@@ -58,7 +61,7 @@ export const MenuDrilldownInitialState: React.FunctionComponent = () => {
58
61
  description="Groups A-C"
59
62
  direction="down"
60
63
  drilldownMenu={
61
- <DrilldownMenu id="drilldownMenuStartGrouping">
64
+ <DrilldownMenu id="initial-state-drilldownMenuStartGrouping">
62
65
  <MenuItem itemId="group:app_grouping_breadcrumb" direction="up">
63
66
  Application grouping
64
67
  </MenuItem>
@@ -76,7 +79,7 @@ export const MenuDrilldownInitialState: React.FunctionComponent = () => {
76
79
  itemId="group:labels"
77
80
  direction="down"
78
81
  drilldownMenu={
79
- <DrilldownMenu id="drilldownMenuStartLabels">
82
+ <DrilldownMenu id="initial-state-drilldownMenuStartLabels">
80
83
  <MenuItem itemId="group:labels_breadcrumb" direction="up">
81
84
  Labels
82
85
  </MenuItem>
@@ -99,7 +102,7 @@ export const MenuDrilldownInitialState: React.FunctionComponent = () => {
99
102
  itemId="group:pause_rollout"
100
103
  direction="down"
101
104
  drilldownMenu={
102
- <DrilldownMenu id="drilldownMenuPause">
105
+ <DrilldownMenu id="initial-state-drilldownMenuPause">
103
106
  <MenuItem itemId="group:pause_rollout_breadcrumb" direction="up">
104
107
  Pause rollouts
105
108
  </MenuItem>
@@ -109,7 +112,7 @@ export const MenuDrilldownInitialState: React.FunctionComponent = () => {
109
112
  description="Groups A-C"
110
113
  direction="down"
111
114
  drilldownMenu={
112
- <DrilldownMenu id="drilldownMenuGrouping">
115
+ <DrilldownMenu id="initial-state-drilldownMenuGrouping">
113
116
  <MenuItem itemId="group:app_grouping_breadcrumb" direction="up">
114
117
  Application grouping
115
118
  </MenuItem>
@@ -127,7 +130,7 @@ export const MenuDrilldownInitialState: React.FunctionComponent = () => {
127
130
  itemId="group:labels"
128
131
  direction="down"
129
132
  drilldownMenu={
130
- <DrilldownMenu id="drilldownMenuLabels">
133
+ <DrilldownMenu id="initial-state-drilldownMenuLabels">
131
134
  <MenuItem itemId="group:labels_breadcrumb" direction="up">
132
135
  Labels
133
136
  </MenuItem>
@@ -151,7 +154,7 @@ export const MenuDrilldownInitialState: React.FunctionComponent = () => {
151
154
  icon={<StorageDomainIcon aria-hidden />}
152
155
  direction="down"
153
156
  drilldownMenu={
154
- <DrilldownMenu id="drilldownMenuStorage">
157
+ <DrilldownMenu id="initial-state-drilldownMenuStorage">
155
158
  <MenuItem itemId="group:storage_breadcrumb" icon={<StorageDomainIcon aria-hidden />} direction="up">
156
159
  Add storage
157
160
  </MenuItem>
@@ -9,7 +9,7 @@ export const MenuDrilldownSubmenuFunctions: React.FunctionComponent = () => {
9
9
  const [menuDrilledIn, setMenuDrilledIn] = React.useState<string[]>([]);
10
10
  const [drilldownPath, setDrilldownPath] = React.useState<string[]>([]);
11
11
  const [menuHeights, setMenuHeights] = React.useState<any>({});
12
- const [activeMenu, setActiveMenu] = React.useState<string>('rootMenu');
12
+ const [activeMenu, setActiveMenu] = React.useState<string>('functions-rootMenu');
13
13
 
14
14
  const drillIn = (fromMenuId: string, toMenuId: string, pathId: string) => {
15
15
  setMenuDrilledIn([...menuDrilledIn, fromMenuId]);
@@ -33,7 +33,7 @@ export const MenuDrilldownSubmenuFunctions: React.FunctionComponent = () => {
33
33
 
34
34
  return (
35
35
  <Menu
36
- id="rootMenu"
36
+ id="functions-rootMenu"
37
37
  containsDrilldown
38
38
  drilldownItemPath={drilldownPath}
39
39
  drilledInMenus={menuDrilledIn}
@@ -48,7 +48,7 @@ export const MenuDrilldownSubmenuFunctions: React.FunctionComponent = () => {
48
48
  itemId="group:start_rollout"
49
49
  direction="down"
50
50
  drilldownMenu={() => (
51
- <DrilldownMenu id="drilldownMenuStart">
51
+ <DrilldownMenu id="functions-drilldownMenuStart">
52
52
  <MenuItem itemId="group:start_rollout_breadcrumb" direction="up">
53
53
  Start rollout
54
54
  </MenuItem>
@@ -58,7 +58,7 @@ export const MenuDrilldownSubmenuFunctions: React.FunctionComponent = () => {
58
58
  description="Groups A-C"
59
59
  direction="down"
60
60
  drilldownMenu={() => (
61
- <DrilldownMenu id="drilldownMenuStartGrouping">
61
+ <DrilldownMenu id="functions-drilldownMenuStartGrouping">
62
62
  <MenuItem itemId="group:app_grouping_breadcrumb" direction="up">
63
63
  Application grouping
64
64
  </MenuItem>
@@ -76,7 +76,7 @@ export const MenuDrilldownSubmenuFunctions: React.FunctionComponent = () => {
76
76
  itemId="group:labels"
77
77
  direction="down"
78
78
  drilldownMenu={() => (
79
- <DrilldownMenu id="drilldownMenuStartLabels">
79
+ <DrilldownMenu id="functions-drilldownMenuStartLabels">
80
80
  <MenuItem itemId="group:labels_breadcrumb" direction="up">
81
81
  Labels
82
82
  </MenuItem>
@@ -99,7 +99,7 @@ export const MenuDrilldownSubmenuFunctions: React.FunctionComponent = () => {
99
99
  itemId="group:pause_rollout"
100
100
  direction="down"
101
101
  drilldownMenu={() => (
102
- <DrilldownMenu id="drilldownMenuPause">
102
+ <DrilldownMenu id="functions-drilldownMenuPause">
103
103
  <MenuItem itemId="group:pause_rollout_breadcrumb" direction="up">
104
104
  Pause rollouts
105
105
  </MenuItem>
@@ -109,7 +109,7 @@ export const MenuDrilldownSubmenuFunctions: React.FunctionComponent = () => {
109
109
  description="Groups A-C"
110
110
  direction="down"
111
111
  drilldownMenu={() => (
112
- <DrilldownMenu id="drilldownMenuGrouping">
112
+ <DrilldownMenu id="functions-drilldownMenuGrouping">
113
113
  <MenuItem itemId="group:app_grouping_breadcrumb" direction="up">
114
114
  Application grouping
115
115
  </MenuItem>
@@ -127,7 +127,7 @@ export const MenuDrilldownSubmenuFunctions: React.FunctionComponent = () => {
127
127
  itemId="group:labels"
128
128
  direction="down"
129
129
  drilldownMenu={() => (
130
- <DrilldownMenu id="drilldownMenuLabels">
130
+ <DrilldownMenu id="functions-drilldownMenuLabels">
131
131
  <MenuItem itemId="group:labels_breadcrumb" direction="up">
132
132
  Labels
133
133
  </MenuItem>
@@ -151,7 +151,7 @@ export const MenuDrilldownSubmenuFunctions: React.FunctionComponent = () => {
151
151
  icon={<StorageDomainIcon aria-hidden />}
152
152
  direction="down"
153
153
  drilldownMenu={() => (
154
- <DrilldownMenu id="drilldownMenuStorage">
154
+ <DrilldownMenu id="functions-drilldownMenuStorage">
155
155
  <MenuItem itemId="group:storage_breadcrumb" icon={<StorageDomainIcon aria-hidden />} direction="up">
156
156
  Add storage
157
157
  </MenuItem>
@@ -30,7 +30,7 @@ export interface NavProps
30
30
  isExpanded: boolean;
31
31
  event: React.MouseEvent<HTMLButtonElement>;
32
32
  }) => void;
33
- /** Accessibility label */
33
+ /** Accessible label for the nav when there are multiple navs on the page */
34
34
  'aria-label'?: string;
35
35
  /** Indicates which theme color to use */
36
36
  theme?: 'dark' | 'light';
@@ -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>