@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.
- package/CHANGELOG.md +8 -0
- package/dist/esm/components/Alert/Alert.d.ts.map +1 -1
- package/dist/esm/components/Alert/Alert.js +2 -2
- package/dist/esm/components/Alert/Alert.js.map +1 -1
- package/dist/esm/components/Menu/MenuGroup.d.ts +3 -1
- package/dist/esm/components/Menu/MenuGroup.d.ts.map +1 -1
- package/dist/esm/components/Menu/MenuGroup.js +2 -2
- package/dist/esm/components/Menu/MenuGroup.js.map +1 -1
- package/dist/esm/components/Nav/Nav.d.ts +1 -1
- package/dist/esm/components/Nav/Nav.d.ts.map +1 -1
- package/dist/esm/components/OptionsMenu/OptionsMenuItemGroup.js +2 -2
- package/dist/esm/components/OptionsMenu/OptionsMenuItemGroup.js.map +1 -1
- package/dist/esm/components/OptionsMenu/OptionsMenuToggleWithText.d.ts.map +1 -1
- package/dist/esm/components/OptionsMenu/OptionsMenuToggleWithText.js +4 -3
- package/dist/esm/components/OptionsMenu/OptionsMenuToggleWithText.js.map +1 -1
- package/dist/esm/components/Page/PageHeader.d.ts +2 -0
- package/dist/esm/components/Page/PageHeader.d.ts.map +1 -1
- package/dist/esm/components/Page/PageHeader.js +2 -2
- package/dist/esm/components/Page/PageHeader.js.map +1 -1
- package/dist/esm/components/Page/PageSidebar.d.ts +2 -0
- package/dist/esm/components/Page/PageSidebar.d.ts.map +1 -1
- package/dist/esm/components/Page/PageSidebar.js +3 -3
- package/dist/esm/components/Page/PageSidebar.js.map +1 -1
- package/dist/esm/components/Page/PageToggleButton.d.ts +2 -0
- package/dist/esm/components/Page/PageToggleButton.d.ts.map +1 -1
- package/dist/esm/components/Page/PageToggleButton.js +2 -2
- package/dist/esm/components/Page/PageToggleButton.js.map +1 -1
- package/dist/esm/components/Tabs/TabContent.d.ts.map +1 -1
- package/dist/esm/components/Tabs/TabContent.js +4 -2
- package/dist/esm/components/Tabs/TabContent.js.map +1 -1
- package/dist/js/components/Alert/Alert.d.ts.map +1 -1
- package/dist/js/components/Alert/Alert.js +2 -2
- package/dist/js/components/Alert/Alert.js.map +1 -1
- package/dist/js/components/Menu/MenuGroup.d.ts +3 -1
- package/dist/js/components/Menu/MenuGroup.d.ts.map +1 -1
- package/dist/js/components/Menu/MenuGroup.js +2 -2
- package/dist/js/components/Menu/MenuGroup.js.map +1 -1
- package/dist/js/components/Nav/Nav.d.ts +1 -1
- package/dist/js/components/Nav/Nav.d.ts.map +1 -1
- package/dist/js/components/OptionsMenu/OptionsMenuItemGroup.js +2 -2
- package/dist/js/components/OptionsMenu/OptionsMenuItemGroup.js.map +1 -1
- package/dist/js/components/OptionsMenu/OptionsMenuToggleWithText.d.ts.map +1 -1
- package/dist/js/components/OptionsMenu/OptionsMenuToggleWithText.js +4 -3
- package/dist/js/components/OptionsMenu/OptionsMenuToggleWithText.js.map +1 -1
- package/dist/js/components/Page/PageHeader.d.ts +2 -0
- package/dist/js/components/Page/PageHeader.d.ts.map +1 -1
- package/dist/js/components/Page/PageHeader.js +2 -2
- package/dist/js/components/Page/PageHeader.js.map +1 -1
- package/dist/js/components/Page/PageSidebar.d.ts +2 -0
- package/dist/js/components/Page/PageSidebar.d.ts.map +1 -1
- package/dist/js/components/Page/PageSidebar.js +3 -3
- package/dist/js/components/Page/PageSidebar.js.map +1 -1
- package/dist/js/components/Page/PageToggleButton.d.ts +2 -0
- package/dist/js/components/Page/PageToggleButton.d.ts.map +1 -1
- package/dist/js/components/Page/PageToggleButton.js +2 -2
- package/dist/js/components/Page/PageToggleButton.js.map +1 -1
- package/dist/js/components/Tabs/TabContent.d.ts.map +1 -1
- package/dist/js/components/Tabs/TabContent.js +4 -2
- package/dist/js/components/Tabs/TabContent.js.map +1 -1
- package/dist/umd/react-core.js +20 -18
- package/dist/umd/react-core.min.js +2 -2
- package/package.json +5 -5
- package/src/components/Alert/Alert.tsx +0 -2
- package/src/components/Alert/__tests__/__snapshots__/Alert.test.tsx.snap +0 -35
- package/src/components/Masthead/examples/Masthead.md +3 -3
- package/src/components/Menu/MenuGroup.tsx +5 -2
- package/src/components/Menu/examples/Menu.md +25 -25
- package/src/components/Menu/examples/MenuDrilldown.tsx +9 -9
- package/src/components/Menu/examples/MenuDrilldownInitialState.tsx +15 -12
- package/src/components/Menu/examples/MenuDrilldownSubmenuFunctions.tsx +9 -9
- package/src/components/Nav/Nav.tsx +1 -1
- package/src/components/Nav/examples/Nav.md +57 -57
- package/src/components/Nav/examples/NavDrilldown.tsx +1 -1
- package/src/components/OptionsMenu/OptionsMenuItemGroup.tsx +2 -2
- package/src/components/OptionsMenu/OptionsMenuToggleWithText.tsx +29 -24
- package/src/components/OptionsMenu/__tests__/Generated/__snapshots__/OptionsMenuItemGroup.test.tsx.snap +2 -0
- package/src/components/OptionsMenu/__tests__/__snapshots__/OptionsMenu.test.tsx.snap +5 -1
- package/src/components/OptionsMenu/examples/OptionsMenu.md +11 -11
- package/src/components/Page/PageHeader.tsx +4 -1
- package/src/components/Page/PageSidebar.tsx +5 -2
- package/src/components/Page/PageToggleButton.tsx +4 -1
- package/src/components/Page/examples/Page.md +23 -17
- package/src/components/Page/examples/page.css +3 -0
- package/src/components/Select/examples/Select.md +10 -10
- package/src/components/Tabs/TabContent.tsx +2 -1
- package/src/components/Tabs/examples/Tabs.md +139 -143
- package/src/components/Tabs/examples/TabsDynamic.tsx +1 -0
- package/src/components/ToggleGroup/examples/ToggleGroup.md +16 -16
- 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[]>([
|
|
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
|
-
/**
|
|
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="
|
|
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="
|
|
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="
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
258
|
+
Expandable 1 link 3
|
|
259
259
|
</NavItem>
|
|
260
260
|
</NavExpandable>
|
|
261
|
-
<NavExpandable title="
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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="
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
346
|
+
With 3rd 1 Link 3
|
|
347
347
|
</NavItem>
|
|
348
348
|
</NavExpandable>
|
|
349
|
-
<NavExpandable title="
|
|
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
|
-
|
|
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
|
-
|
|
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="
|
|
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="
|
|
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="
|
|
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="
|
|
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>
|
|
@@ -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
|
-
<
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
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
|
-
|
|
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';
|