@patternfly/react-docs 7.6.0-prerelease.8 → 7.6.0-prerelease.9
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 +6 -0
- package/LICENSE +21 -0
- package/package.json +12 -11
- package/patternfly-docs/generated/components/about-modal/react.js +0 -149
- package/patternfly-docs/generated/components/accordion/react.js +0 -262
- package/patternfly-docs/generated/components/action-list/react.js +0 -144
- package/patternfly-docs/generated/components/alert/react-demos.js +0 -56
- package/patternfly-docs/generated/components/alert/react.js +0 -1433
- package/patternfly-docs/generated/components/avatar/react.js +0 -166
- package/patternfly-docs/generated/components/back-to-top/react-demos.js +0 -60
- package/patternfly-docs/generated/components/back-to-top/react.js +0 -77
- package/patternfly-docs/generated/components/backdrop/react.js +0 -64
- package/patternfly-docs/generated/components/background-image/react.js +0 -62
- package/patternfly-docs/generated/components/badge/react.js +0 -97
- package/patternfly-docs/generated/components/banner/react-demos.js +0 -57
- package/patternfly-docs/generated/components/banner/react.js +0 -148
- package/patternfly-docs/generated/components/brand/react.js +0 -142
- package/patternfly-docs/generated/components/breadcrumb/react.js +0 -206
- package/patternfly-docs/generated/components/button/react-demos.js +0 -57
- package/patternfly-docs/generated/components/button/react.js +0 -826
- package/patternfly-docs/generated/components/card/react-demos.js +0 -201
- package/patternfly-docs/generated/components/card/react.js +0 -1015
- package/patternfly-docs/generated/components/charts/area-chart/-Victory.js +0 -1350
- package/patternfly-docs/generated/components/charts/bar-chart/-Victory.js +0 -1334
- package/patternfly-docs/generated/components/charts/box-plot-chart/-Victory.js +0 -1282
- package/patternfly-docs/generated/components/charts/bullet-chart/-Victory.js +0 -848
- package/patternfly-docs/generated/components/charts/colors-for-charts/-Victory.js +0 -192
- package/patternfly-docs/generated/components/charts/donut-chart/-Victory.js +0 -426
- package/patternfly-docs/generated/components/charts/donut-utilization-chart/-Victory.js +0 -804
- package/patternfly-docs/generated/components/charts/legends/-Victory.js +0 -3230
- package/patternfly-docs/generated/components/charts/line-chart/-Victory.js +0 -1178
- package/patternfly-docs/generated/components/charts/line-chart/ECharts.js +0 -525
- package/patternfly-docs/generated/components/charts/patterns/-Victory.js +0 -3382
- package/patternfly-docs/generated/components/charts/pie-chart/-Victory.js +0 -377
- package/patternfly-docs/generated/components/charts/resize-observer/-Victory.js +0 -2475
- package/patternfly-docs/generated/components/charts/sankey-chart/ECharts.js +0 -538
- package/patternfly-docs/generated/components/charts/scatter-chart/-Victory.js +0 -1551
- package/patternfly-docs/generated/components/charts/skeletons/-Victory.js +0 -4115
- package/patternfly-docs/generated/components/charts/sparkline-chart/-Victory.js +0 -955
- package/patternfly-docs/generated/components/charts/stack-chart/-Victory.js +0 -1173
- package/patternfly-docs/generated/components/charts/threshold-chart/-Victory.js +0 -1166
- package/patternfly-docs/generated/components/charts/tooltips/-Victory.js +0 -413
- package/patternfly-docs/generated/components/chip/react-deprecated.js +0 -323
- package/patternfly-docs/generated/components/clipboard-copy/react.js +0 -373
- package/patternfly-docs/generated/components/code-block/react.js +0 -148
- package/patternfly-docs/generated/components/code-editor/react.js +0 -659
- package/patternfly-docs/generated/components/compass/react-demos.js +0 -147
- package/patternfly-docs/generated/components/compass/react.js +0 -440
- package/patternfly-docs/generated/components/content/react.js +0 -248
- package/patternfly-docs/generated/components/data-list/react-demos.js +0 -90
- package/patternfly-docs/generated/components/data-list/react.js +0 -709
- package/patternfly-docs/generated/components/date-and-time/calendar-month/react.js +0 -283
- package/patternfly-docs/generated/components/date-and-time/date-and-time-picker/react-demos.js +0 -64
- package/patternfly-docs/generated/components/date-and-time/date-picker/react-demos.js +0 -83
- package/patternfly-docs/generated/components/date-and-time/date-picker/react.js +0 -395
- package/patternfly-docs/generated/components/date-and-time/time-picker/react.js +0 -241
- package/patternfly-docs/generated/components/description-list/react-demos.js +0 -58
- package/patternfly-docs/generated/components/description-list/react.js +0 -743
- package/patternfly-docs/generated/components/divider/react.js +0 -126
- package/patternfly-docs/generated/components/drag-and-drop/react-demos.js +0 -351
- package/patternfly-docs/generated/components/drag-and-drop/react-deprecated.js +0 -184
- package/patternfly-docs/generated/components/drag-and-drop/react.js +0 -137
- package/patternfly-docs/generated/components/drawer/react.js +0 -598
- package/patternfly-docs/generated/components/dual-list-selector/react-deprecated.js +0 -772
- package/patternfly-docs/generated/components/dual-list-selector/react.js +0 -594
- package/patternfly-docs/generated/components/empty-state/react.js +0 -199
- package/patternfly-docs/generated/components/expandable-section/react-demos.js +0 -65
- package/patternfly-docs/generated/components/expandable-section/react.js +0 -408
- package/patternfly-docs/generated/components/file-upload/multiple-file-upload/react-demos.js +0 -52
- package/patternfly-docs/generated/components/file-upload/multiple-file-upload/react.js +0 -398
- package/patternfly-docs/generated/components/file-upload/simple-file-upload/react.js +0 -749
- package/patternfly-docs/generated/components/forms/checkbox/react.js +0 -222
- package/patternfly-docs/generated/components/forms/form/react.js +0 -1106
- package/patternfly-docs/generated/components/forms/form-select/react.js +0 -208
- package/patternfly-docs/generated/components/forms/radio/react.js +0 -212
- package/patternfly-docs/generated/components/forms/text-area/react.js +0 -160
- package/patternfly-docs/generated/components/forms/text-input/react.js +0 -216
- package/patternfly-docs/generated/components/helper-text/react-demos.js +0 -180
- package/patternfly-docs/generated/components/helper-text/react.js +0 -164
- package/patternfly-docs/generated/components/hero/react.js +0 -88
- package/patternfly-docs/generated/components/hint/react.js +0 -169
- package/patternfly-docs/generated/components/icon/react.js +0 -215
- package/patternfly-docs/generated/components/input-group/react.js +0 -182
- package/patternfly-docs/generated/components/jump-links/react-demos.js +0 -154
- package/patternfly-docs/generated/components/jump-links/react.js +0 -212
- package/patternfly-docs/generated/components/label/react-demos.js +0 -57
- package/patternfly-docs/generated/components/label/react.js +0 -417
- package/patternfly-docs/generated/components/list/react.js +0 -175
- package/patternfly-docs/generated/components/login-page/react.js +0 -587
- package/patternfly-docs/generated/components/masthead/react-demos.js +0 -79
- package/patternfly-docs/generated/components/masthead/react.js +0 -291
- package/patternfly-docs/generated/components/menus/application-launcher/react-demos.js +0 -769
- package/patternfly-docs/generated/components/menus/context-selector/react-demos.js +0 -665
- package/patternfly-docs/generated/components/menus/custom-menus/react-demos.js +0 -187
- package/patternfly-docs/generated/components/menus/dropdown/react-templates.js +0 -163
- package/patternfly-docs/generated/components/menus/dropdown/react.js +0 -998
- package/patternfly-docs/generated/components/menus/menu/react.js +0 -1540
- package/patternfly-docs/generated/components/menus/menu-toggle/react.js +0 -747
- package/patternfly-docs/generated/components/menus/options-menu/react-demos.js +0 -508
- package/patternfly-docs/generated/components/menus/select/react-templates.js +0 -257
- package/patternfly-docs/generated/components/menus/select/react.js +0 -998
- package/patternfly-docs/generated/components/modal/react-deprecated.js +0 -554
- package/patternfly-docs/generated/components/modal/react.js +0 -597
- package/patternfly-docs/generated/components/navigation/react-demos.js +0 -356
- package/patternfly-docs/generated/components/navigation/react.js +0 -409
- package/patternfly-docs/generated/components/notification-badge/react.js +0 -196
- package/patternfly-docs/generated/components/notification-drawer/react-demos.js +0 -107
- package/patternfly-docs/generated/components/notification-drawer/react.js +0 -394
- package/patternfly-docs/generated/components/number-input/react.js +0 -210
- package/patternfly-docs/generated/components/overflow-menu/react.js +0 -274
- package/patternfly-docs/generated/components/page/react-demos.js +0 -149
- package/patternfly-docs/generated/components/page/react.js +0 -1352
- package/patternfly-docs/generated/components/pagination/react.js +0 -492
- package/patternfly-docs/generated/components/panel/react.js +0 -236
- package/patternfly-docs/generated/components/popover/react.js +0 -390
- package/patternfly-docs/generated/components/progress/react-demos.js +0 -59
- package/patternfly-docs/generated/components/progress/react.js +0 -283
- package/patternfly-docs/generated/components/progress-stepper/react-demos.js +0 -45
- package/patternfly-docs/generated/components/progress-stepper/react.js +0 -219
- package/patternfly-docs/generated/components/search-input/react-demos.js +0 -113
- package/patternfly-docs/generated/components/search-input/react.js +0 -263
- package/patternfly-docs/generated/components/sidebar/react.js +0 -236
- package/patternfly-docs/generated/components/simple-list/react.js +0 -200
- package/patternfly-docs/generated/components/skeleton/react-demos.js +0 -44
- package/patternfly-docs/generated/components/skeleton/react.js +0 -122
- package/patternfly-docs/generated/components/skip-to-content/react.js +0 -73
- package/patternfly-docs/generated/components/slider/react.js +0 -309
- package/patternfly-docs/generated/components/spinner/react.js +0 -111
- package/patternfly-docs/generated/components/switch/react.js +0 -163
- package/patternfly-docs/generated/components/table/react-demos.js +0 -355
- package/patternfly-docs/generated/components/table/react-deprecated.js +0 -1350
- package/patternfly-docs/generated/components/table/react.js +0 -3241
- package/patternfly-docs/generated/components/tabs/react-demos.js +0 -108
- package/patternfly-docs/generated/components/tabs/react.js +0 -1359
- package/patternfly-docs/generated/components/text-input-group/react-demos.js +0 -152
- package/patternfly-docs/generated/components/text-input-group/react.js +0 -278
- package/patternfly-docs/generated/components/tile/react-deprecated.js +0 -242
- package/patternfly-docs/generated/components/timestamp/react.js +0 -283
- package/patternfly-docs/generated/components/title/react.js +0 -94
- package/patternfly-docs/generated/components/toggle-group/react.js +0 -299
- package/patternfly-docs/generated/components/toolbar/react-demos.js +0 -66
- package/patternfly-docs/generated/components/toolbar/react.js +0 -932
- package/patternfly-docs/generated/components/tooltip/react.js +0 -241
- package/patternfly-docs/generated/components/tree-view/react.js +0 -429
- package/patternfly-docs/generated/components/truncate/react.js +0 -211
- package/patternfly-docs/generated/components/wizard/react-demos.js +0 -87
- package/patternfly-docs/generated/components/wizard/react-deprecated.js +0 -788
- package/patternfly-docs/generated/components/wizard/react.js +0 -986
- package/patternfly-docs/generated/developer-guides/open-ui-automation/react.js +0 -285
- package/patternfly-docs/generated/foundations-and-styles/layouts/bullseye/react.js +0 -70
- package/patternfly-docs/generated/foundations-and-styles/layouts/flex/react.js +0 -506
- package/patternfly-docs/generated/foundations-and-styles/layouts/gallery/react.js +0 -94
- package/patternfly-docs/generated/foundations-and-styles/layouts/grid/react.js +0 -272
- package/patternfly-docs/generated/foundations-and-styles/layouts/level/react.js +0 -87
- package/patternfly-docs/generated/foundations-and-styles/layouts/split/react.js +0 -124
- package/patternfly-docs/generated/foundations-and-styles/layouts/stack/react.js +0 -112
- package/patternfly-docs/generated/index.js +0 -1769
- package/patternfly-docs/generated/patterns/card-view/react-demos.js +0 -78
- package/patternfly-docs/generated/patterns/filters/react-demos.js +0 -141
- package/patternfly-docs/generated/patterns/password-generator/react-demos.js +0 -51
- package/patternfly-docs/generated/patterns/password-strength/react-demos.js +0 -61
- package/patternfly-docs/generated/patterns/primary-detail/react-demos.js +0 -124
- package/patternfly-docs/generated/patterns/right-to-left/react-demos.js +0 -81
|
@@ -1,409 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { AutoLinkHeader, Example, Link as PatternflyThemeLink } from '@patternfly/documentation-framework/components';
|
|
3
|
-
import { useState } from 'react';
|
|
4
|
-
import '../../../../../react-core/src/components/Nav/examples/./nav.css';
|
|
5
|
-
import RhMicronsCaretRightIcon from '@patternfly/react-icons/dist/esm/icons/rh-microns-caret-right-icon';
|
|
6
|
-
import CubeIcon from '@patternfly/react-icons/dist/esm/icons/cube-icon';
|
|
7
|
-
import FolderIcon from '@patternfly/react-icons/dist/esm/icons/folder-icon';
|
|
8
|
-
import FolderOpenIcon from '@patternfly/react-icons/dist/esm/icons/folder-open-icon';
|
|
9
|
-
import CloudIcon from '@patternfly/react-icons/dist/esm/icons/cloud-icon';
|
|
10
|
-
import RhUiLinkIcon from '@patternfly/react-icons/dist/esm/icons/rh-ui-link-icon';
|
|
11
|
-
const pageData = {
|
|
12
|
-
"id": "Navigation",
|
|
13
|
-
"section": "components",
|
|
14
|
-
"subsection": "",
|
|
15
|
-
"deprecated": false,
|
|
16
|
-
"template": false,
|
|
17
|
-
"beta": false,
|
|
18
|
-
"demo": false,
|
|
19
|
-
"newImplementationLink": false,
|
|
20
|
-
"source": "react",
|
|
21
|
-
"tabName": null,
|
|
22
|
-
"slug": "/components/navigation/react",
|
|
23
|
-
"sourceLink": "https://github.com/patternfly/patternfly-react/blob/main/packages/react-core/src/components/Nav/examples/Nav.md",
|
|
24
|
-
"relPath": "packages/react-core/src/components/Nav/examples/Nav.md",
|
|
25
|
-
"propComponents": [
|
|
26
|
-
{
|
|
27
|
-
"name": "Nav",
|
|
28
|
-
"description": "",
|
|
29
|
-
"props": [
|
|
30
|
-
{
|
|
31
|
-
"name": "aria-label",
|
|
32
|
-
"type": "string",
|
|
33
|
-
"description": "Accessible label for the nav when there are multiple navs on the page"
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
"name": "children",
|
|
37
|
-
"type": "React.ReactNode",
|
|
38
|
-
"description": "Anything that can be rendered inside of the nav"
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
"name": "className",
|
|
42
|
-
"type": "string",
|
|
43
|
-
"description": "Additional classes added to the container"
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
"name": "isTextExpanded",
|
|
47
|
-
"type": "boolean",
|
|
48
|
-
"description": "Flag indicating the docked nav should display text. Only applies when variant is docked.",
|
|
49
|
-
"beta": true
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
"name": "onSelect",
|
|
53
|
-
"type": "(\n event: React.FormEvent<HTMLInputElement>,\n selectedItem: {\n groupId: number | string;\n itemId: number | string;\n to: string;\n }\n) => void",
|
|
54
|
-
"description": "Callback for updating when item selection changes",
|
|
55
|
-
"defaultValue": "() => undefined"
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
"name": "onToggle",
|
|
59
|
-
"type": "(\n event: React.MouseEvent<HTMLButtonElement>,\n toggledItem: {\n groupId: number | string;\n isExpanded: boolean;\n }\n) => void",
|
|
60
|
-
"description": "Callback for when a list is expanded or collapsed",
|
|
61
|
-
"defaultValue": "() => undefined"
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
"name": "ouiaId",
|
|
65
|
-
"type": "number | string",
|
|
66
|
-
"description": "Value to overwrite the randomly generated data-ouia-component-id."
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
"name": "ouiaSafe",
|
|
70
|
-
"type": "boolean",
|
|
71
|
-
"description": "Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false.",
|
|
72
|
-
"defaultValue": "true"
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
"name": "variant",
|
|
76
|
-
"type": "'default' | 'horizontal' | 'horizontal-subnav' | 'docked'",
|
|
77
|
-
"description": "The nav variant to use. Docked is in beta."
|
|
78
|
-
}
|
|
79
|
-
]
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
"name": "NavList",
|
|
83
|
-
"description": "",
|
|
84
|
-
"props": [
|
|
85
|
-
{
|
|
86
|
-
"name": "backScrollAriaLabel",
|
|
87
|
-
"type": "string",
|
|
88
|
-
"description": "Aria-label for the back scroll button",
|
|
89
|
-
"defaultValue": "'Scroll back'"
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
"name": "children",
|
|
93
|
-
"type": "React.ReactNode",
|
|
94
|
-
"description": "Children nodes"
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
"name": "className",
|
|
98
|
-
"type": "string",
|
|
99
|
-
"description": "Additional classes added to the list"
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
"name": "forwardScrollAriaLabel",
|
|
103
|
-
"type": "string",
|
|
104
|
-
"description": "Aria-label for the forward scroll button",
|
|
105
|
-
"defaultValue": "'Scroll foward'"
|
|
106
|
-
}
|
|
107
|
-
]
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
"name": "NavGroup",
|
|
111
|
-
"description": "",
|
|
112
|
-
"props": [
|
|
113
|
-
{
|
|
114
|
-
"name": "children",
|
|
115
|
-
"type": "React.ReactNode",
|
|
116
|
-
"description": "Anything that can be rendered inside of the group",
|
|
117
|
-
"defaultValue": "null"
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
"name": "className",
|
|
121
|
-
"type": "string",
|
|
122
|
-
"description": "Additional classes added to the container",
|
|
123
|
-
"defaultValue": "''"
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
"name": "id",
|
|
127
|
-
"type": "string",
|
|
128
|
-
"description": "Identifier to use for the section aria label"
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
"name": "title",
|
|
132
|
-
"type": "string",
|
|
133
|
-
"description": "Title shown for the group"
|
|
134
|
-
}
|
|
135
|
-
]
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
"name": "NavItem",
|
|
139
|
-
"description": "",
|
|
140
|
-
"props": []
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
"name": "NavItemSeparator",
|
|
144
|
-
"description": "",
|
|
145
|
-
"props": [
|
|
146
|
-
{
|
|
147
|
-
"name": "className",
|
|
148
|
-
"type": "string",
|
|
149
|
-
"description": "Additional classes added to the divider"
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
"name": "component",
|
|
153
|
-
"type": "'hr' | 'li' | 'div'",
|
|
154
|
-
"description": "The component type to use",
|
|
155
|
-
"defaultValue": "'li'"
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
"name": "inset",
|
|
159
|
-
"type": "{\n default?: 'insetNone' | 'insetXs' | 'insetSm' | 'insetMd' | 'insetLg' | 'insetXl' | 'inset2xl' | 'inset3xl';\n sm?: 'insetNone' | 'insetXs' | 'insetSm' | 'insetMd' | 'insetLg' | 'insetXl' | 'inset2xl' | 'inset3xl';\n md?: 'insetNone' | 'insetXs' | 'insetSm' | 'insetMd' | 'insetLg' | 'insetXl' | 'inset2xl' | 'inset3xl';\n lg?: 'insetNone' | 'insetXs' | 'insetSm' | 'insetMd' | 'insetLg' | 'insetXl' | 'inset2xl' | 'inset3xl';\n xl?: 'insetNone' | 'insetXs' | 'insetSm' | 'insetMd' | 'insetLg' | 'insetXl' | 'inset2xl' | 'inset3xl';\n '2xl'?: 'insetNone' | 'insetXs' | 'insetSm' | 'insetMd' | 'insetLg' | 'insetXl' | 'inset2xl' | 'inset3xl';\n}",
|
|
160
|
-
"description": "Insets at various breakpoints."
|
|
161
|
-
},
|
|
162
|
-
{
|
|
163
|
-
"name": "orientation",
|
|
164
|
-
"type": "{\n default?: 'vertical' | 'horizontal';\n sm?: 'vertical' | 'horizontal';\n md?: 'vertical' | 'horizontal';\n lg?: 'vertical' | 'horizontal';\n xl?: 'vertical' | 'horizontal';\n '2xl'?: 'vertical' | 'horizontal';\n}",
|
|
165
|
-
"description": "Indicates how the divider will display at various breakpoints. Vertical divider must be in a flex layout."
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
"name": "role",
|
|
169
|
-
"type": "'separator' | 'presentation'",
|
|
170
|
-
"description": "The ARIA role of the divider when the component property has a value other than \"hr\".",
|
|
171
|
-
"defaultValue": "'presentation'"
|
|
172
|
-
}
|
|
173
|
-
]
|
|
174
|
-
},
|
|
175
|
-
{
|
|
176
|
-
"name": "NavExpandable",
|
|
177
|
-
"description": "",
|
|
178
|
-
"props": [
|
|
179
|
-
{
|
|
180
|
-
"name": "buttonProps",
|
|
181
|
-
"type": "any",
|
|
182
|
-
"description": "Additional props added to the NavExpandable <button>"
|
|
183
|
-
},
|
|
184
|
-
{
|
|
185
|
-
"name": "children",
|
|
186
|
-
"type": "React.ReactNode",
|
|
187
|
-
"description": "Anything that can be rendered inside of the expandable list",
|
|
188
|
-
"defaultValue": "''"
|
|
189
|
-
},
|
|
190
|
-
{
|
|
191
|
-
"name": "className",
|
|
192
|
-
"type": "string",
|
|
193
|
-
"description": "Additional classes added to the container",
|
|
194
|
-
"defaultValue": "''"
|
|
195
|
-
},
|
|
196
|
-
{
|
|
197
|
-
"name": "groupId",
|
|
198
|
-
"type": "string | number",
|
|
199
|
-
"description": "Group identifier, will be returned with the onToggle and onSelect callback passed to the Nav component",
|
|
200
|
-
"defaultValue": "null"
|
|
201
|
-
},
|
|
202
|
-
{
|
|
203
|
-
"name": "icon",
|
|
204
|
-
"type": "React.ReactNode",
|
|
205
|
-
"description": "Icon added before the nav item children."
|
|
206
|
-
},
|
|
207
|
-
{
|
|
208
|
-
"name": "id",
|
|
209
|
-
"type": "string",
|
|
210
|
-
"description": "Identifier to use for the section aria label",
|
|
211
|
-
"defaultValue": "''"
|
|
212
|
-
},
|
|
213
|
-
{
|
|
214
|
-
"name": "isActive",
|
|
215
|
-
"type": "boolean",
|
|
216
|
-
"description": "If true makes the expandable list title active",
|
|
217
|
-
"defaultValue": "false"
|
|
218
|
-
},
|
|
219
|
-
{
|
|
220
|
-
"name": "isExpanded",
|
|
221
|
-
"type": "boolean",
|
|
222
|
-
"description": "Boolean to pragmatically expand or collapse section",
|
|
223
|
-
"defaultValue": "false"
|
|
224
|
-
},
|
|
225
|
-
{
|
|
226
|
-
"name": "onExpand",
|
|
227
|
-
"type": "(event: React.MouseEvent<HTMLButtonElement, MouseEvent>, val: boolean) => void",
|
|
228
|
-
"description": "allow consumer to optionally override this callback and manage expand state externally. if passed will not call Nav's onToggle."
|
|
229
|
-
},
|
|
230
|
-
{
|
|
231
|
-
"name": "ouiaId",
|
|
232
|
-
"type": "number | string",
|
|
233
|
-
"description": "Value to overwrite the randomly generated data-ouia-component-id."
|
|
234
|
-
},
|
|
235
|
-
{
|
|
236
|
-
"name": "ouiaSafe",
|
|
237
|
-
"type": "boolean",
|
|
238
|
-
"description": ""
|
|
239
|
-
},
|
|
240
|
-
{
|
|
241
|
-
"name": "srText",
|
|
242
|
-
"type": "string",
|
|
243
|
-
"description": "If defined, screen readers will read this text instead of the list title",
|
|
244
|
-
"defaultValue": "''"
|
|
245
|
-
},
|
|
246
|
-
{
|
|
247
|
-
"name": "title",
|
|
248
|
-
"type": "React.ReactNode",
|
|
249
|
-
"description": "Title content shown for the expandable list",
|
|
250
|
-
"required": true
|
|
251
|
-
}
|
|
252
|
-
]
|
|
253
|
-
}
|
|
254
|
-
],
|
|
255
|
-
"cssPrefix": [
|
|
256
|
-
"pf-v6-c-nav"
|
|
257
|
-
],
|
|
258
|
-
"examples": [
|
|
259
|
-
"Default",
|
|
260
|
-
"Grouped",
|
|
261
|
-
"Expandable",
|
|
262
|
-
"Expandable third level",
|
|
263
|
-
"Mixed",
|
|
264
|
-
"Horizontal navigation",
|
|
265
|
-
"Horizontal subnav",
|
|
266
|
-
"Flyout",
|
|
267
|
-
"Drilldown",
|
|
268
|
-
"With icons"
|
|
269
|
-
]
|
|
270
|
-
};
|
|
271
|
-
pageData.liveContext = {
|
|
272
|
-
useState,
|
|
273
|
-
RhMicronsCaretRightIcon,
|
|
274
|
-
CubeIcon,
|
|
275
|
-
FolderIcon,
|
|
276
|
-
FolderOpenIcon,
|
|
277
|
-
CloudIcon,
|
|
278
|
-
RhUiLinkIcon
|
|
279
|
-
};
|
|
280
|
-
pageData.relativeImports = "import 'react-core/src/components/Nav/examples/./nav.css';"
|
|
281
|
-
pageData.examples = {
|
|
282
|
-
'Default': props =>
|
|
283
|
-
<Example {...pageData} {...props} {...{"code":"import { useState } from 'react';\nimport { Nav, NavItem, NavList } from '@patternfly/react-core';\n\nexport const NavDefault: React.FunctionComponent = () => {\n const [activeItem, setActiveItem] = useState(0);\n\n const onSelect = (_event: React.FormEvent<HTMLInputElement>, result: { itemId: number | string }) => {\n setActiveItem(result.itemId as number);\n };\n\n return (\n <Nav onSelect={onSelect} aria-label=\"Default global\" ouiaId=\"DefaultNav\">\n <NavList>\n <NavItem preventDefault id=\"nav-default-link1\" to=\"#nav-default-link1\" itemId={0} isActive={activeItem === 0}>\n Default Link 1\n </NavItem>\n <NavItem preventDefault id=\"nav-default-link2\" to=\"#nav-default-link2\" itemId={1} isActive={activeItem === 1}>\n Default Link 2\n </NavItem>\n <NavItem preventDefault id=\"nav-default-link3\" to=\"#nav-default-link3\" itemId={2} isActive={activeItem === 2}>\n Default Link 3\n </NavItem>\n <NavItem preventDefault id=\"nav-default-link4\" to=\"#nav-default-link4\" itemId={3} isActive={activeItem === 3}>\n Default Link 4\n </NavItem>\n </NavList>\n </Nav>\n );\n};\n","title":"Default","lang":"ts","className":""}}>
|
|
284
|
-
|
|
285
|
-
</Example>,
|
|
286
|
-
'Grouped': props =>
|
|
287
|
-
<Example {...pageData} {...props} {...{"code":"import { useState } from 'react';\nimport { Nav, NavItem, NavGroup } from '@patternfly/react-core';\n\nexport const NavGrouped: React.FunctionComponent = () => {\n const [activeItem, setActiveItem] = useState('group-1_item-1');\n\n const onSelect = (_event: React.FormEvent<HTMLInputElement>, result: { itemId: number | string }) => {\n setActiveItem(result.itemId as string);\n };\n\n return (\n <Nav onSelect={onSelect} aria-label=\"Grouped global\">\n <NavGroup title=\"Section title 1\">\n <NavItem\n preventDefault\n to=\"#nav-group1-item1\"\n itemId=\"group-1_item-1\"\n isActive={activeItem === 'group-1_item-1'}\n >\n Group 1 Link 1\n </NavItem>\n <NavItem\n preventDefault\n to=\"#nav-group1-item2\"\n itemId=\"group-1_item-2\"\n isActive={activeItem === 'group-1_item-2'}\n >\n Group 1 Link 2\n </NavItem>\n <NavItem\n preventDefault\n to=\"#nav-group1-item3\"\n itemId=\"group-1_item-3\"\n isActive={activeItem === 'group-1_item-3'}\n >\n Group 1 Link 3\n </NavItem>\n </NavGroup>\n <NavGroup title=\"Section title 2\">\n <NavItem\n preventDefault\n to=\"#nav-group2-item1\"\n itemId=\"group-2_item-1\"\n isActive={activeItem === 'group-2_item-1'}\n >\n Group 2 Link 1\n </NavItem>\n <NavItem\n preventDefault\n to=\"#nav-group2-item2\"\n itemId=\"group-2_item-2\"\n isActive={activeItem === 'group-2_item-2'}\n >\n Group 2 Link 2\n </NavItem>\n <NavItem\n preventDefault\n to=\"#nav-group2-item3\"\n itemId=\"group-2_item-3\"\n isActive={activeItem === 'group-2_item-3'}\n >\n Group 2 Link 3\n </NavItem>\n </NavGroup>\n </Nav>\n );\n};\n","title":"Grouped","lang":"ts","className":""}}>
|
|
288
|
-
|
|
289
|
-
<p {...{"className":"pf-v6-c-content--p pf-m-editorial ws-p "}}>
|
|
290
|
-
{`The following example shows two navigation groups, each with a `}
|
|
291
|
-
|
|
292
|
-
<code {...{"className":"ws-code "}}>
|
|
293
|
-
{`title`}
|
|
294
|
-
</code>
|
|
295
|
-
{` prop passed into the nav group component. To keep nav groups accessible an `}
|
|
296
|
-
|
|
297
|
-
<code {...{"className":"ws-code "}}>
|
|
298
|
-
{`aria-label`}
|
|
299
|
-
</code>
|
|
300
|
-
{` must be passed in if the `}
|
|
301
|
-
|
|
302
|
-
<code {...{"className":"ws-code "}}>
|
|
303
|
-
{`title`}
|
|
304
|
-
</code>
|
|
305
|
-
{` prop is not passed in.`}
|
|
306
|
-
</p>
|
|
307
|
-
</Example>,
|
|
308
|
-
'Expandable': props =>
|
|
309
|
-
<Example {...pageData} {...props} {...{"code":"import { useState } from 'react';\nimport { Nav, NavExpandable, NavItem, NavList } from '@patternfly/react-core';\n\nexport const NavExpandableExample: React.FunctionComponent = () => {\n const [activeGroup, setActiveGroup] = useState('nav-expandable-group-1');\n const [activeItem, setActiveItem] = useState('nav-expandable-group-1_item-1');\n\n const onSelect = (\n _event: React.FormEvent<HTMLInputElement>,\n result: { itemId: number | string; groupId: number | string }\n ) => {\n setActiveGroup(result.groupId as string);\n setActiveItem(result.itemId as string);\n };\n\n const onToggle = (\n _event: React.MouseEvent<HTMLButtonElement>,\n result: { groupId: number | string; isExpanded: boolean }\n ) => {\n // eslint-disable-next-line no-console\n console.log(`Group ${result.groupId} expanded? ${result.isExpanded}`);\n };\n\n const onItemClick = (\n _event: React.FormEvent<HTMLInputElement>,\n itemId: number | string,\n _groupId: number | string\n ) => {\n // eslint-disable-next-line no-console\n console.log(`Custom click handler on ${itemId}`);\n };\n\n return (\n <Nav onSelect={onSelect} onToggle={onToggle} aria-label=\"Expandable global\">\n <NavList>\n <NavExpandable\n title=\"Expandable Group 1\"\n groupId=\"nav-expandable-group-1\"\n isActive={activeGroup === 'nav-expandable-group-1'}\n isExpanded\n >\n <NavItem\n preventDefault\n id=\"expandable-1\"\n to=\"#expandable-1\"\n groupId=\"nav-expandable-group-1\"\n itemId=\"nav-expandable-group-1_item-1\"\n isActive={activeItem === 'nav-expandable-group-1_item-1'}\n >\n Subnav 1 Link 1\n </NavItem>\n <NavItem\n preventDefault\n id=\"expandable-2\"\n to=\"#expandable-2\"\n groupId=\"nav-expandable-group-1\"\n itemId=\"nav-expandable-group-1_item-2\"\n isActive={activeItem === 'nav-expandable-group-1_item-2'}\n >\n Subnav 1 Link 2\n </NavItem>\n <NavItem\n preventDefault\n id=\"expandable-3\"\n to=\"#expandable-3\"\n groupId=\"nav-expandable-group-1\"\n itemId=\"nav-expandable-group-1_item-3\"\n isActive={activeItem === 'nav-expandable-group-1_item-3'}\n >\n Subnav 1 Link 3\n </NavItem>\n </NavExpandable>\n <NavExpandable\n title=\"Expandable Group 2\"\n groupId=\"nav-expandable-group-2\"\n isActive={activeGroup === 'nav-expandable-group-2'}\n isExpanded\n >\n <NavItem\n preventDefault\n onClick={onItemClick}\n id=\"expandable-custom-click\"\n to=\"#expandable-custom-click\"\n groupId=\"nav-expandable-group-2\"\n itemId=\"nav-expandable-group-2_custom-click\"\n isActive={activeItem === 'nav-expandable-group-2_custom-click'}\n >\n Custom onClick Link\n </NavItem>\n <NavItem\n preventDefault\n id=\"expandable-4\"\n to=\"#expandable-4\"\n groupId=\"nav-expandable-group-2\"\n itemId=\"nav-expandable-group-2_item-1\"\n isActive={activeItem === 'nav-expandable-group-2_item-1'}\n >\n Subnav 2 Link 1\n </NavItem>\n <NavItem\n preventDefault\n id=\"expandable-5\"\n to=\"#expandable-5\"\n groupId=\"nav-expandable-group-2\"\n itemId=\"nav-expandable-group-2_item-2\"\n isActive={activeItem === 'nav-expandable-group-2_item-2'}\n >\n Subnav 2 Link 2\n </NavItem>\n <NavItem\n preventDefault\n id=\"expandable-6\"\n to=\"#expandable-6\"\n groupId=\"nav-expandable-group-2\"\n itemId=\"nav-expandable-group-2_item-3\"\n isActive={activeItem === 'nav-expandable-group-2_item-3'}\n >\n Subnav 2 Link 3\n </NavItem>\n </NavExpandable>\n </NavList>\n </Nav>\n );\n};\n","title":"Expandable","lang":"ts","className":""}}>
|
|
310
|
-
|
|
311
|
-
</Example>,
|
|
312
|
-
'Expandable third level': props =>
|
|
313
|
-
<Example {...pageData} {...props} {...{"code":"import { useState } from 'react';\nimport { Nav, NavExpandable, NavItem, NavList } from '@patternfly/react-core';\n\nexport const NavExpandableThirdLevel: React.FunctionComponent = () => {\n const [activeGroup, setActiveGroup] = useState('nav-expand3rd-group-1');\n const [activeItem, setActiveItem] = useState('nav-expand3rd-group-1_item-1');\n\n const onSelect = (\n _event: React.FormEvent<HTMLInputElement>,\n result: { itemId: number | string; groupId: number | string }\n ) => {\n setActiveGroup(result.groupId as string);\n setActiveItem(result.itemId as string);\n };\n\n const onToggle = (\n _event: React.MouseEvent<HTMLButtonElement>,\n result: { groupId: number | string; isExpanded: boolean }\n ) => {\n // eslint-disable-next-line no-console\n console.log(`Group ${result.groupId} expanded? ${result.isExpanded}`);\n };\n\n return (\n <Nav onSelect={onSelect} onToggle={onToggle} aria-label=\"Expandable third level global\">\n <NavList>\n <NavExpandable\n title=\"Expandable section title 1\"\n groupId=\"nav-expand3rd-group-1\"\n isActive={activeGroup === 'nav-expand3rd-group-1'}\n isExpanded\n >\n <NavItem\n preventDefault\n id=\"expandable3rd-1\"\n to=\"#expandable3rd-1\"\n groupId=\"nav-expand3rd-group-1\"\n itemId=\"nav-expand3rd-group-1_item-1\"\n isActive={activeItem === 'nav-expand3rd-group-1_item-1'}\n >\n With 3rd 1 Link 1\n </NavItem>\n <NavItem\n preventDefault\n id=\"expandable3rd-2\"\n to=\"#expandable3rd-2\"\n groupId=\"nav-expand3rd-group-1\"\n itemId=\"nav-expand3rd-group-1_item-2\"\n isActive={activeItem === 'nav-expand3rd-group-1_item-2'}\n >\n With 3rd 1 Link 2\n </NavItem>\n <NavItem\n preventDefault\n id=\"expandable3rd-3\"\n to=\"#expandable3rd-3\"\n groupId=\"nav-expand3rd-group-1\"\n itemId=\"nav-expand3rd-group-1_item-3\"\n isActive={activeItem === 'nav-expand3rd-group-1_item-3'}\n >\n With 3rd 1 Link 3\n </NavItem>\n </NavExpandable>\n <NavExpandable\n title={'Expandable section title 2'}\n groupId=\"nav-expand3rd-group-2\"\n isActive={activeGroup === 'nav-expand3rd-group-2'}\n isExpanded\n >\n <NavItem\n preventDefault\n id=\"expandable3rd-4\"\n to=\"#expandable3rd-4\"\n groupId=\"nav-expand3rd-group-2\"\n itemId=\"nav-expand3rd-group-2_item-1\"\n isActive={activeItem === 'nav-expand3rd-group-2_item-1'}\n >\n With 3rd 2 Link 1\n </NavItem>\n <NavExpandable\n title=\"Expandable third level\"\n groupId=\"nav-expand3rd-group-3\"\n isActive={activeGroup === 'nav-expand3rd-group-3'}\n isExpanded\n >\n <NavItem\n preventDefault\n id=\"expandable3rd-5\"\n to=\"#expandable3rd-5\"\n groupId=\"nav-expand3rd-group-3\"\n itemId=\"nav-expand3rd-group-3_item-1\"\n isActive={activeItem === 'nav-expand3rd-group-3_item-1'}\n >\n Third Level Link 1\n </NavItem>\n <NavItem\n preventDefault\n id=\"expandable3rd-6\"\n to=\"#expandable3rd-6\"\n groupId=\"nav-expand3rd-group-3\"\n itemId=\"nav-expand3rd-group-3_item-3\"\n isActive={activeItem === 'nav-expand3rd-group-3_item-2'}\n >\n Third Level Link 2\n </NavItem>\n </NavExpandable>\n <NavItem\n preventDefault\n id=\"expandable3rd-7\"\n to=\"#expandable3rd-7\"\n groupId=\"nav-expand3rd-group-2\"\n itemId=\"nav-expand3rd-group-2_item-2\"\n isActive={activeItem === 'nav-expand3rd-group-2_item-2'}\n >\n With 3rd 2 Link 2\n </NavItem>\n </NavExpandable>\n </NavList>\n </Nav>\n );\n};\n","title":"Expandable third level","lang":"ts","className":""}}>
|
|
314
|
-
|
|
315
|
-
</Example>,
|
|
316
|
-
'Mixed': props =>
|
|
317
|
-
<Example {...pageData} {...props} {...{"code":"import { useState } from 'react';\nimport { Nav, NavExpandable, NavItem, NavItemSeparator, NavList } from '@patternfly/react-core';\n\nexport const NavMixed: React.FunctionComponent = () => {\n const [activeGroup, setActiveGroup] = useState('');\n const [activeItem, setActiveItem] = useState('ungrouped_item-1');\n\n const onSelect = (\n _event: React.FormEvent<HTMLInputElement>,\n result: { itemId: number | string; groupId: number | string | null }\n ) => {\n setActiveGroup(result.groupId as string);\n setActiveItem(result.itemId as string);\n };\n\n return (\n <Nav onSelect={onSelect} aria-label=\"Mixed global\">\n <NavList>\n <NavItem\n preventDefault\n id=\"mixed-1\"\n to=\"#mixed-1\"\n itemId=\"ungrouped_item-1\"\n isActive={activeItem === 'ungrouped_item-1'}\n >\n Link 1 (not expandable)\n </NavItem>\n <NavExpandable\n title=\"Expandable section title 1\"\n groupId=\"nav-mixed-group-1\"\n isActive={activeGroup === 'nav-mixed-group-1'}\n >\n <NavItem\n preventDefault\n id=\"mixed-2\"\n to=\"#mixed-2\"\n groupId=\"nav-mixed-group-1\"\n itemId=\"nav-mixed-group-1_item-1\"\n isActive={activeItem === 'nav-mixed-group-1_item-1'}\n >\n Mixed Link 1\n </NavItem>\n <NavItemSeparator />\n <NavItem\n preventDefault\n id=\"mixed-3\"\n to=\"#mixed-3\"\n groupId=\"nav-mixed-group-1\"\n itemId=\"nav-mixed-group-1_item-2\"\n isActive={activeItem === 'nav-mixed-group-1_item-2'}\n >\n Mixed Link 2\n </NavItem>\n <NavItem\n preventDefault\n id=\"mixed-4\"\n to=\"#mixed-4\"\n groupId=\"nav-mixed-group-1\"\n itemId=\"nav-mixed-group-1_item-3\"\n isActive={activeItem === 'nav-mixed-group-1_item-3'}\n >\n Mixed Link 3\n </NavItem>\n </NavExpandable>\n <NavExpandable\n title=\"Expandable section title 2\"\n groupId=\"nav-mixed-group-2\"\n isActive={activeGroup === 'nav-mixed-group-2'}\n >\n <NavItem\n preventDefault\n id=\"mixed-5\"\n to=\"#mixed-5\"\n groupId=\"nav-mixed-group-2\"\n itemId=\"nav-mixed-group-2_item-1\"\n isActive={activeItem === 'nav-mixed-group-2_item-1'}\n >\n Mixed 2 Link 1\n </NavItem>\n <NavItem\n preventDefault\n id=\"mixed-6\"\n to=\"#mixed-6\"\n groupId=\"nav-mixed-group-2\"\n itemId=\"nav-mixed-group-2_item-2\"\n isActive={activeItem === 'nav-mixed-group-2_item-2'}\n >\n Mixed 2 Link 2\n </NavItem>\n <NavItem\n preventDefault\n id=\"mixed-7\"\n to=\"#mixed-7\"\n groupId=\"nav-mixed-group-2\"\n itemId=\"nav-mixed-group-2_item-3\"\n isActive={activeItem === 'nav-mixed-group-2_item-3'}\n >\n Mixed 2 Link 3\n </NavItem>\n </NavExpandable>\n </NavList>\n </Nav>\n );\n};\n","title":"Mixed","lang":"ts","className":""}}>
|
|
318
|
-
|
|
319
|
-
</Example>,
|
|
320
|
-
'Horizontal navigation': props =>
|
|
321
|
-
<Example {...pageData} {...props} {...{"code":"import { useState } from 'react';\nimport { Nav, NavItem, NavList } from '@patternfly/react-core';\n\nexport const NavHorizontalNav: React.FunctionComponent = () => {\n const [activeItem, setActiveItem] = useState(0);\n\n const onSelect = (_event: React.FormEvent<HTMLInputElement>, result: { itemId: number | string }) => {\n setActiveItem(result.itemId as number);\n };\n\n return (\n <Nav onSelect={onSelect} variant=\"horizontal\" aria-label=\"Horizontal nav local\">\n <NavList>\n {Array.from({ length: 10 }).map((_value, index) => {\n const num = index + 1;\n return (\n <NavItem\n preventDefault\n key={num}\n itemId={num}\n isActive={activeItem === num}\n id={`horizontal-nav-${num}`}\n to={`#horizontal-nav-${num}`}\n >\n Horizontal navigation item {num}\n </NavItem>\n );\n })}\n </NavList>\n </Nav>\n );\n};\n","title":"Horizontal navigation","lang":"ts","className":""}}>
|
|
322
|
-
|
|
323
|
-
</Example>,
|
|
324
|
-
'Horizontal subnav': props =>
|
|
325
|
-
<Example {...pageData} {...props} {...{"code":"import { useState } from 'react';\nimport { Nav, NavItem, NavList } from '@patternfly/react-core';\n\nexport const NavHorizontalSubNav: React.FunctionComponent = () => {\n const [activeItem, setActiveItem] = useState(0);\n\n const onSelect = (_event: React.FormEvent<HTMLInputElement>, result: { itemId: number | string }) => {\n setActiveItem(result.itemId as number);\n };\n\n return (\n <Nav onSelect={onSelect} variant=\"horizontal-subnav\" aria-label=\"Horizontal subnav local\">\n <NavList>\n {Array.from({ length: 10 }).map((_value, index) => {\n const num = index + 1;\n return (\n <NavItem\n preventDefault\n key={num}\n itemId={num}\n isActive={activeItem === num}\n id={`horizontal-subnav-${num}`}\n to={`#horizontal-subnav-${num}`}\n >\n Horizontal subnav item {num}\n </NavItem>\n );\n })}\n </NavList>\n </Nav>\n );\n};\n","title":"Horizontal subnav","lang":"ts","className":""}}>
|
|
326
|
-
|
|
327
|
-
</Example>,
|
|
328
|
-
'Flyout': props =>
|
|
329
|
-
<Example {...pageData} {...props} {...{"code":"import { useState } from 'react';\nimport { Nav, NavItem, NavList, Menu, MenuContent, MenuList, MenuItem } from '@patternfly/react-core';\n\nexport const NavFlyout: React.FunctionComponent = () => {\n const [activeItem, setActiveItem] = useState('nav-flyout-default-link-1');\n\n const onSelect = (event: React.FormEvent<HTMLInputElement>, result: { itemId: number | string }) => {\n setActiveItem(result.itemId as string);\n };\n\n const onMenuSelect = (_event: any, itemId: string | number | undefined) => setActiveItem(itemId as string);\n\n const onMenuItemClick = (event: any) => {\n event.preventDefault();\n };\n\n const numFlyouts = 5;\n const FlyoutMenu = ({ depth, children }) => (\n <Menu key={depth} containsFlyout isNavFlyout id={`nav-flyout-menu-${depth}`} onSelect={onMenuSelect}>\n <MenuContent>\n <MenuList>\n <MenuItem onClick={onMenuItemClick} flyoutMenu={children} itemId={`nav-flyout-next-menu-${depth}`}>\n Next menu\n </MenuItem>\n {Array.from({ length: numFlyouts - depth }).map((_value, index) => (\n <MenuItem\n onClick={onMenuItemClick}\n key={`${depth}-${index}`}\n itemId={`nav-flyout-${depth}-${index}`}\n to={`#menu-link-${depth}-${index}`}\n isActive={activeItem === `nav-flyout-${depth}-${index}`}\n >\n Menu {depth} item {index}\n </MenuItem>\n ))}\n <MenuItem onClick={onMenuItemClick} flyoutMenu={children} itemId={`nav-flyout-next-menu-2-${depth}`}>\n Next menu\n </MenuItem>\n </MenuList>\n </MenuContent>\n </Menu>\n );\n\n let curFlyout = <FlyoutMenu depth={1}>{null}</FlyoutMenu>;\n for (let i = 2; i < numFlyouts - 1; i++) {\n curFlyout = <FlyoutMenu depth={i}>{curFlyout}</FlyoutMenu>;\n }\n\n return (\n <Nav onSelect={onSelect} aria-label=\"Flyout global\">\n <NavList>\n <NavItem\n preventDefault\n id=\"nav-flyout-default-link-1\"\n to=\"#nav-flyout-default-link-1\"\n itemId=\"nav-flyout-default-link-1\"\n isActive={activeItem === 'nav-flyout-default-link-1'}\n >\n Flyout Link 1\n </NavItem>\n <NavItem\n preventDefault\n id=\"nav-flyout-default-link-2\"\n to=\"#nav-flyout-default-link-2\"\n itemId=\"nav-flyout-default-link-2\"\n isActive={activeItem === 'nav-flyout-default-link-2'}\n >\n Flyout Link 2\n </NavItem>\n <NavItem\n preventDefault\n flyout={curFlyout}\n id=\"nav-flyout-default-link-3\"\n itemId=\"nav-flyout-default-link-3\"\n isActive={activeItem === 'nav-flyout-default-link-3'}\n >\n Flyout Link 3\n </NavItem>\n <NavItem\n preventDefault\n id=\"nav-flyout-default-link4\"\n to=\"#nav-flyout-default-link4\"\n itemId=\"nav-flyout-default-link-4\"\n isActive={activeItem === 'nav-flyout-default-link-4'}\n >\n Flyout Link 4\n </NavItem>\n </NavList>\n </Nav>\n );\n};\n","title":"Flyout","lang":"ts","className":""}}>
|
|
330
|
-
|
|
331
|
-
<p {...{"className":"pf-v6-c-content--p pf-m-editorial ws-p "}}>
|
|
332
|
-
{`A flyout should be a `}
|
|
333
|
-
|
|
334
|
-
<code {...{"className":"ws-code "}}>
|
|
335
|
-
{`Menu`}
|
|
336
|
-
</code>
|
|
337
|
-
{` component. Press `}
|
|
338
|
-
|
|
339
|
-
<code {...{"className":"ws-code "}}>
|
|
340
|
-
{`space`}
|
|
341
|
-
</code>
|
|
342
|
-
{` or `}
|
|
343
|
-
|
|
344
|
-
<code {...{"className":"ws-code "}}>
|
|
345
|
-
{`right arrow`}
|
|
346
|
-
</code>
|
|
347
|
-
{` to open a flyout using the keyboard, use the arrow keys to navigate between flyout items, and press `}
|
|
348
|
-
|
|
349
|
-
<code {...{"className":"ws-code "}}>
|
|
350
|
-
{`escape`}
|
|
351
|
-
</code>
|
|
352
|
-
{` or `}
|
|
353
|
-
|
|
354
|
-
<code {...{"className":"ws-code "}}>
|
|
355
|
-
{`left arrow`}
|
|
356
|
-
</code>
|
|
357
|
-
{` to close a flyout.`}
|
|
358
|
-
</p>
|
|
359
|
-
</Example>,
|
|
360
|
-
'Drilldown': props =>
|
|
361
|
-
<Example {...pageData} {...props} {...{"code":"import { Nav, MenuContent, MenuItem, MenuList, DrilldownMenu, Menu } from '@patternfly/react-core';\n\ninterface MenuHeights {\n [menuId: string]: number;\n}\n\nconst subMenuTwo: React.JSX.Element = (\n <DrilldownMenu id=\"nav-drilldown-subMenu-2\">\n <MenuItem itemId=\"nav-drilldown-subMenu-2-breadcrumb\" direction=\"up\">\n SubMenu 1 - Item 1\n </MenuItem>\n <MenuItem itemId=\"nav-drilldown-subMenu-2_item-1\" to=\"#subMenu-2_item-1\">\n SubMenu 2 - Item 1\n </MenuItem>\n <MenuItem itemId=\"nav-drilldown-subMenu-2_item-2\" to=\"#subMenu-2_item-2\">\n SubMenu 2 - Item 2\n </MenuItem>\n <MenuItem itemId=\"nav-drilldown-subMenu-2_item-3\" to=\"#subMenu-2_item-3\">\n SubMenu 2 - Item 3\n </MenuItem>\n </DrilldownMenu>\n);\n\nconst subMenuOne: React.JSX.Element = (\n <DrilldownMenu id=\"nav-drilldown-subMenu-1\">\n <MenuItem itemId=\"nav-drilldown-subMenu-1-breadcrumb\" direction=\"up\">\n Item 1\n </MenuItem>\n <MenuItem\n itemId=\"nav-drilldown-subMenu-1_item-1\"\n description=\"SubMenu 2\"\n direction=\"down\"\n drilldownMenu={subMenuTwo}\n >\n SubMenu 1 - Item 1\n </MenuItem>\n <MenuItem itemId=\"nav-drilldown-subMenu-1_item-2\" to=\"#subMenu-1_item-2\">\n SubMenu 1 - Item 2\n </MenuItem>\n <MenuItem itemId=\"nav-drilldown-subMenu-1_item-3\" to=\"#subMenu-1_item-3\">\n SubMenu 1 - Item 3\n </MenuItem>\n </DrilldownMenu>\n);\n\nexport const NavigationDrilldown: React.FunctionComponent = () => {\n const [menuDrilledIn, setMenuDrilledIn] = useState<string[]>([]);\n const [drilldownPath, setDrilldownPath] = useState<string[]>([]);\n const [menuHeights, setMenuHeights] = useState<MenuHeights>({});\n const [activeMenu, setActiveMenu] = useState('nav-drilldown-rootMenu');\n\n const onDrillIn = (\n _event: React.KeyboardEvent | React.MouseEvent,\n fromItemId: string,\n toItemId: string,\n itemId: string\n ) => {\n setMenuDrilledIn((prevMenuDrilledIn) => [...prevMenuDrilledIn, fromItemId]);\n setDrilldownPath((prevDrilldownPath) => [...prevDrilldownPath, itemId]);\n setActiveMenu(toItemId);\n };\n\n const onDrillOut = (_event: React.KeyboardEvent | React.MouseEvent, toItemId: string, _itemId: string) => {\n setMenuDrilledIn((prevMenuDrilledIn) => prevMenuDrilledIn.slice(0, prevMenuDrilledIn.length - 1));\n setDrilldownPath((prevDrilldownPath) => prevDrilldownPath.slice(0, prevDrilldownPath.length - 1));\n setActiveMenu(toItemId);\n };\n\n const onGetMenuHeight = (menuId: string, height: number) => {\n if (\n (menuHeights[menuId] !== height && menuId !== 'nav-drilldown-rootMenu') ||\n (!menuHeights[menuId] && menuId === 'nav-drilldown-rootMenu')\n ) {\n setMenuHeights((prevMenuHeights) => ({ ...prevMenuHeights, [menuId]: height }));\n }\n };\n\n return (\n <Nav aria-label=\"Drilldown global\">\n <Menu\n id=\"nav-drilldown-rootMenu\"\n containsDrilldown\n drilldownItemPath={drilldownPath}\n drilledInMenus={menuDrilledIn}\n activeMenu={activeMenu}\n onDrillIn={onDrillIn}\n onDrillOut={onDrillOut}\n onGetMenuHeight={onGetMenuHeight}\n >\n <MenuContent menuHeight={menuHeights[activeMenu] ? `${menuHeights[activeMenu]}px` : undefined}>\n <MenuList>\n <MenuItem itemId=\"nav-drilldown-item-1\" direction=\"down\" description=\"SubMenu 1\" drilldownMenu={subMenuOne}>\n Item 1\n </MenuItem>\n <MenuItem itemId=\"nav-drilldown-item-2\" to=\"#item-2\">\n Item 2\n </MenuItem>\n <MenuItem itemId=\"nav-drilldown-item-3\" to=\"#item-3\">\n Item 3\n </MenuItem>\n </MenuList>\n </MenuContent>\n </Menu>\n </Nav>\n );\n};\n","title":"Drilldown","lang":"ts","className":""}}>
|
|
362
|
-
|
|
363
|
-
</Example>,
|
|
364
|
-
'With icons': props =>
|
|
365
|
-
<Example {...pageData} {...props} {...{"code":"import { useState } from 'react';\nimport { Nav, NavExpandable, NavItem, NavList } from '@patternfly/react-core';\nimport CubeIcon from '@patternfly/react-icons/dist/esm/icons/cube-icon';\nimport FolderIcon from '@patternfly/react-icons/dist/esm/icons/folder-icon';\nimport CloudIcon from '@patternfly/react-icons/dist/esm/icons/cloud-icon';\nimport FolderOpenIcon from '@patternfly/react-icons/dist/esm/icons/folder-open-icon';\nimport RhUiLinkIcon from '@patternfly/react-icons/dist/esm/icons/rh-ui-link-icon';\n\nexport const NavIcons: React.FunctionComponent = () => {\n const [activeItem, setActiveItem] = useState(0);\n\n const onSelect = (_event: React.FormEvent<HTMLInputElement>, result: { itemId: number | string }) => {\n setActiveItem(result.itemId as number);\n };\n\n return (\n <Nav onSelect={onSelect} aria-label=\"Icon global\" ouiaId=\"IconNav\">\n <NavList>\n <NavItem\n preventDefault\n id=\"nav-icon-link1\"\n to=\"#nav-icon-link1\"\n itemId={0}\n isActive={activeItem === 0}\n icon={<CubeIcon />}\n >\n Link 1\n </NavItem>\n <NavItem\n preventDefault\n id=\"nav-icon-link2\"\n to=\"#nav-icon-link2\"\n itemId={1}\n isActive={activeItem === 1}\n icon={<FolderIcon />}\n >\n Link 2\n </NavItem>\n <NavItem\n preventDefault\n id=\"nav-icon-link3\"\n to=\"#nav-icon-link3\"\n itemId={2}\n isActive={activeItem === 2}\n icon={<CloudIcon />}\n >\n Link 3\n </NavItem>\n <NavItem\n preventDefault\n id=\"nav-icon-link4\"\n to=\"#nav-icon-link4\"\n itemId={3}\n isActive={activeItem === 3}\n icon={<RhUiLinkIcon />}\n >\n Link 4\n </NavItem>\n <NavExpandable title=\"Expandable\" icon={<FolderOpenIcon />} groupId=\"nav-icon-expandable\">\n <NavItem\n preventDefault\n id=\"nav-icon-expandable-link1\"\n to=\"#nav-icon-expandable-link1\"\n itemId={4}\n isActive={activeItem === 4}\n >\n Subnav link 1\n </NavItem>\n <NavItem\n preventDefault\n id=\"nav-icon-expandable-link2\"\n to=\"#nav-icon-expandable-link2\"\n itemId={5}\n isActive={activeItem === 5}\n >\n Subnav link 2\n </NavItem>\n </NavExpandable>\n </NavList>\n </Nav>\n );\n};\n","title":"With icons","lang":"ts","className":""}}>
|
|
366
|
-
|
|
367
|
-
</Example>
|
|
368
|
-
};
|
|
369
|
-
|
|
370
|
-
const Component = () => (
|
|
371
|
-
<React.Fragment>
|
|
372
|
-
<AutoLinkHeader {...{"id":"examples","headingLevel":"h2","className":"ws-title ws-h2"}}>
|
|
373
|
-
{`Examples`}
|
|
374
|
-
</AutoLinkHeader>
|
|
375
|
-
{React.createElement(pageData.examples["Default"])}
|
|
376
|
-
{React.createElement(pageData.examples["Grouped"])}
|
|
377
|
-
{React.createElement(pageData.examples["Expandable"])}
|
|
378
|
-
{React.createElement(pageData.examples["Expandable third level"])}
|
|
379
|
-
{React.createElement(pageData.examples["Mixed"])}
|
|
380
|
-
{React.createElement(pageData.examples["Horizontal navigation"])}
|
|
381
|
-
{React.createElement(pageData.examples["Horizontal subnav"])}
|
|
382
|
-
{React.createElement(pageData.examples["Flyout"])}
|
|
383
|
-
{React.createElement(pageData.examples["Drilldown"])}
|
|
384
|
-
{React.createElement(pageData.examples["With icons"])}
|
|
385
|
-
<AutoLinkHeader {...{"id":"types","headingLevel":"h2","className":"ws-title ws-h2"}}>
|
|
386
|
-
{`Types`}
|
|
387
|
-
</AutoLinkHeader>
|
|
388
|
-
<AutoLinkHeader {...{"id":"navselectclickhandler","headingLevel":"h3","className":"ws-title ws-h3"}}>
|
|
389
|
-
{`NavSelectClickHandler`}
|
|
390
|
-
</AutoLinkHeader>
|
|
391
|
-
<p {...{"className":"pf-v6-c-content--p pf-m-editorial ws-p "}}>
|
|
392
|
-
{`The NavItem `}
|
|
393
|
-
<code {...{"className":"ws-code "}}>
|
|
394
|
-
{`onClick`}
|
|
395
|
-
</code>
|
|
396
|
-
{` prop accepts the `}
|
|
397
|
-
<code {...{"className":"ws-code "}}>
|
|
398
|
-
{`NavSelectClickHandler`}
|
|
399
|
-
</code>
|
|
400
|
-
{` type, which is made up of the following argument and return types:`}
|
|
401
|
-
</p>
|
|
402
|
-
<Example {...{"code":"(\n event: React.FormEvent<HTMLInputElement>,\n itemId: number | string,\n groupId: number | string,\n to: string\n) => void;","lang":"noLive","className":""}}>
|
|
403
|
-
</Example>
|
|
404
|
-
</React.Fragment>
|
|
405
|
-
);
|
|
406
|
-
Component.displayName = 'ComponentsNavigationReactDocs';
|
|
407
|
-
Component.pageData = pageData;
|
|
408
|
-
|
|
409
|
-
export default Component;
|