@patternfly/react-core 6.0.0-alpha.10 → 6.0.0-alpha.11
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 +7 -0
- package/components/package.json +1 -1
- package/deprecated/package.json +1 -1
- package/dist/dynamic/components/AboutModal/package.json +1 -1
- package/dist/dynamic/components/Accordion/package.json +1 -1
- package/dist/dynamic/components/ActionList/package.json +1 -1
- package/dist/dynamic/components/Alert/package.json +1 -1
- package/dist/dynamic/components/Avatar/package.json +1 -1
- package/dist/dynamic/components/BackToTop/package.json +1 -1
- package/dist/dynamic/components/Backdrop/package.json +1 -1
- package/dist/dynamic/components/BackgroundImage/package.json +1 -1
- package/dist/dynamic/components/Badge/package.json +1 -1
- package/dist/dynamic/components/Banner/package.json +1 -1
- package/dist/dynamic/components/Brand/package.json +1 -1
- package/dist/dynamic/components/Breadcrumb/package.json +1 -1
- package/dist/dynamic/components/Button/package.json +1 -1
- package/dist/dynamic/components/CalendarMonth/package.json +1 -1
- package/dist/dynamic/components/Card/package.json +1 -1
- package/dist/dynamic/components/Checkbox/package.json +1 -1
- package/dist/dynamic/components/Chip/package.json +1 -1
- package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
- package/dist/dynamic/components/CodeBlock/package.json +1 -1
- package/dist/dynamic/components/DataList/package.json +1 -1
- package/dist/dynamic/components/DatePicker/package.json +1 -1
- package/dist/dynamic/components/DescriptionList/package.json +1 -1
- package/dist/dynamic/components/Divider/package.json +1 -1
- package/dist/dynamic/components/DragDrop/package.json +1 -1
- package/dist/dynamic/components/Drawer/package.json +1 -1
- package/dist/dynamic/components/Dropdown/package.json +1 -1
- package/dist/dynamic/components/DualListSelector/package.json +1 -1
- package/dist/dynamic/components/EmptyState/package.json +1 -1
- package/dist/dynamic/components/ExpandableSection/package.json +1 -1
- package/dist/dynamic/components/FileUpload/package.json +1 -1
- package/dist/dynamic/components/Form/package.json +1 -1
- package/dist/dynamic/components/FormSelect/package.json +1 -1
- package/dist/dynamic/components/HelperText/package.json +1 -1
- package/dist/dynamic/components/Hint/package.json +1 -1
- package/dist/dynamic/components/Icon/package.json +1 -1
- package/dist/dynamic/components/InputGroup/package.json +1 -1
- package/dist/dynamic/components/JumpLinks/package.json +1 -1
- package/dist/dynamic/components/Label/package.json +1 -1
- package/dist/dynamic/components/List/package.json +1 -1
- package/dist/dynamic/components/LoginPage/package.json +1 -1
- package/dist/dynamic/components/Masthead/package.json +1 -1
- package/dist/dynamic/components/Menu/package.json +1 -1
- package/dist/dynamic/components/MenuToggle/package.json +1 -1
- package/dist/dynamic/components/Modal/package.json +1 -1
- package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
- package/dist/dynamic/components/Nav/package.json +1 -1
- package/dist/dynamic/components/NotificationBadge/package.json +1 -1
- package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
- package/dist/dynamic/components/NumberInput/package.json +1 -1
- package/dist/dynamic/components/OverflowMenu/package.json +1 -1
- package/dist/dynamic/components/Page/package.json +1 -1
- package/dist/dynamic/components/Pagination/package.json +1 -1
- package/dist/dynamic/components/Panel/package.json +1 -1
- package/dist/dynamic/components/Popover/package.json +1 -1
- package/dist/dynamic/components/Progress/package.json +1 -1
- package/dist/dynamic/components/ProgressStepper/package.json +1 -1
- package/dist/dynamic/components/Radio/package.json +1 -1
- package/dist/dynamic/components/SearchInput/package.json +1 -1
- package/dist/dynamic/components/Select/package.json +1 -1
- package/dist/dynamic/components/Sidebar/package.json +1 -1
- package/dist/dynamic/components/SimpleList/package.json +1 -1
- package/dist/dynamic/components/Skeleton/package.json +1 -1
- package/dist/dynamic/components/SkipToContent/package.json +1 -1
- package/dist/dynamic/components/Slider/package.json +1 -1
- package/dist/dynamic/components/Spinner/package.json +1 -1
- package/dist/dynamic/components/Switch/package.json +1 -1
- package/dist/dynamic/components/Tabs/package.json +1 -1
- package/dist/dynamic/components/Text/package.json +1 -1
- package/dist/dynamic/components/TextArea/package.json +1 -1
- package/dist/dynamic/components/TextInput/package.json +1 -1
- package/dist/dynamic/components/TextInputGroup/package.json +1 -1
- package/dist/dynamic/components/Tile/package.json +1 -1
- package/dist/dynamic/components/TimePicker/package.json +1 -1
- package/dist/dynamic/components/Timestamp/package.json +1 -1
- package/dist/dynamic/components/Title/package.json +1 -1
- package/dist/dynamic/components/ToggleGroup/package.json +1 -1
- package/dist/dynamic/components/Toolbar/package.json +1 -1
- package/dist/dynamic/components/Tooltip/package.json +1 -1
- package/dist/dynamic/components/TreeView/package.json +1 -1
- package/dist/dynamic/components/Truncate/package.json +1 -1
- package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
- package/dist/dynamic/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/ApplicationLauncher/package.json +1 -1
- package/dist/dynamic/deprecated/components/ContextSelector/package.json +1 -1
- package/dist/dynamic/deprecated/components/Dropdown/package.json +1 -1
- package/dist/dynamic/deprecated/components/OptionsMenu/package.json +1 -1
- package/dist/dynamic/deprecated/components/PageHeader/package.json +1 -1
- package/dist/dynamic/deprecated/components/Select/package.json +1 -1
- package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/package.json +1 -1
- package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
- package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
- package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
- package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
- package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
- package/dist/dynamic/helpers/constants/package.json +1 -1
- package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
- package/dist/dynamic/helpers/favorites/package.json +1 -1
- package/dist/dynamic/helpers/fileUtils/package.json +1 -1
- package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
- package/dist/dynamic/helpers/package.json +1 -1
- package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
- package/dist/dynamic/helpers/typeUtils/package.json +1 -1
- package/dist/dynamic/helpers/useInterval/package.json +1 -1
- package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
- package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
- package/dist/dynamic/helpers/util/package.json +1 -1
- package/dist/dynamic/layouts/Bullseye/package.json +1 -1
- package/dist/dynamic/layouts/Flex/package.json +1 -1
- package/dist/dynamic/layouts/Gallery/package.json +1 -1
- package/dist/dynamic/layouts/Grid/package.json +1 -1
- package/dist/dynamic/layouts/Level/package.json +1 -1
- package/dist/dynamic/layouts/Split/package.json +1 -1
- package/dist/dynamic/layouts/Stack/package.json +1 -1
- package/dist/dynamic/next/components/package.json +1 -1
- package/dist/esm/components/Button/Button.d.ts +14 -4
- package/dist/esm/components/Button/Button.d.ts.map +1 -1
- package/dist/esm/components/Button/Button.js +9 -8
- package/dist/esm/components/Button/Button.js.map +1 -1
- package/dist/esm/components/Nav/Nav.d.ts +1 -3
- package/dist/esm/components/Nav/Nav.d.ts.map +1 -1
- package/dist/esm/components/Nav/Nav.js +4 -5
- package/dist/esm/components/Nav/Nav.js.map +1 -1
- package/dist/esm/components/Nav/NavExpandable.d.ts.map +1 -1
- package/dist/esm/components/Nav/NavExpandable.js +1 -1
- package/dist/esm/components/Nav/NavExpandable.js.map +1 -1
- package/dist/esm/components/Nav/NavItem.d.ts.map +1 -1
- package/dist/esm/components/Nav/NavItem.js +4 -2
- package/dist/esm/components/Nav/NavItem.js.map +1 -1
- package/dist/esm/components/Nav/NavList.d.ts.map +1 -1
- package/dist/esm/components/Nav/NavList.js +9 -4
- package/dist/esm/components/Nav/NavList.js.map +1 -1
- package/dist/esm/components/Page/Page.d.ts +6 -6
- package/dist/esm/components/Page/Page.d.ts.map +1 -1
- package/dist/esm/components/Page/Page.js +9 -9
- package/dist/esm/components/Page/Page.js.map +1 -1
- package/dist/js/components/Button/Button.d.ts +14 -4
- package/dist/js/components/Button/Button.d.ts.map +1 -1
- package/dist/js/components/Button/Button.js +10 -9
- package/dist/js/components/Button/Button.js.map +1 -1
- package/dist/js/components/Nav/Nav.d.ts +1 -3
- package/dist/js/components/Nav/Nav.d.ts.map +1 -1
- package/dist/js/components/Nav/Nav.js +4 -5
- package/dist/js/components/Nav/Nav.js.map +1 -1
- package/dist/js/components/Nav/NavExpandable.d.ts.map +1 -1
- package/dist/js/components/Nav/NavExpandable.js +1 -1
- package/dist/js/components/Nav/NavExpandable.js.map +1 -1
- package/dist/js/components/Nav/NavItem.d.ts.map +1 -1
- package/dist/js/components/Nav/NavItem.js +4 -2
- package/dist/js/components/Nav/NavItem.js.map +1 -1
- package/dist/js/components/Nav/NavList.d.ts.map +1 -1
- package/dist/js/components/Nav/NavList.js +9 -4
- package/dist/js/components/Nav/NavList.js.map +1 -1
- package/dist/js/components/Page/Page.d.ts +6 -6
- package/dist/js/components/Page/Page.d.ts.map +1 -1
- package/dist/js/components/Page/Page.js +9 -9
- package/dist/js/components/Page/Page.js.map +1 -1
- package/dist/umd/react-core.min.js +1 -1
- package/helpers/package.json +1 -1
- package/layouts/package.json +1 -1
- package/next/package.json +1 -1
- package/package.json +6 -6
- package/src/components/Button/Button.tsx +21 -9
- package/src/components/Button/__tests__/Button.test.tsx +20 -5
- package/src/components/Button/__tests__/__snapshots__/Button.test.tsx.snap +1 -1
- package/src/components/Button/examples/Button.md +17 -0
- package/src/components/Button/examples/ButtonAriaDisabled.tsx +21 -45
- package/src/components/Button/examples/ButtonCallToAction.tsx +8 -10
- package/src/components/Button/examples/ButtonDisabled.tsx +44 -31
- package/src/components/Button/examples/ButtonLinks.tsx +14 -14
- package/src/components/Button/examples/ButtonPlainHasNoPadding.tsx +13 -0
- package/src/components/Button/examples/ButtonProgress.tsx +22 -17
- package/src/components/Button/examples/ButtonSmall.tsx +7 -9
- package/src/components/Button/examples/ButtonStateful.tsx +32 -0
- package/src/components/Button/examples/ButtonTypes.tsx +6 -4
- package/src/components/Button/examples/ButtonVariations.tsx +58 -43
- package/src/components/Button/examples/ButtonWithCount.tsx +75 -68
- package/src/components/Nav/Nav.tsx +5 -11
- package/src/components/Nav/NavExpandable.tsx +0 -1
- package/src/components/Nav/NavItem.tsx +4 -2
- package/src/components/Nav/NavList.tsx +27 -18
- package/src/components/Nav/__tests__/Generated/__snapshots__/NavExpandable.test.tsx.snap +1 -1
- package/src/components/Nav/__tests__/Nav.test.tsx +2 -32
- package/src/components/Nav/__tests__/__snapshots__/Nav.test.tsx.snap +156 -362
- package/src/components/Nav/examples/Nav.md +0 -6
- package/src/components/Nav/examples/NavExpandable.tsx +1 -2
- package/src/components/Nav/examples/nav.css +0 -14
- package/src/components/Page/Page.tsx +16 -16
- package/src/components/Page/__tests__/Page.test.tsx +5 -5
- package/src/components/Page/__tests__/__snapshots__/Page.test.tsx.snap +178 -106
- package/src/components/Page/examples/Page.md +1 -11
- package/src/components/Page/examples/PageGroupSection.tsx +1 -1
- package/src/demos/Nav.md +0 -10
- package/src/demos/examples/Masthead/MastheadWithUtilitiesAndUserDropdownMenu.tsx +1 -2
- package/src/components/Nav/examples/NavLegacyTertiary.tsx +0 -32
- package/src/components/Page/examples/PageTertiaryNav.tsx +0 -41
- package/src/demos/examples/Nav/deprecated/NavLight.tsx +0 -95
- package/src/demos/examples/Nav/deprecated/NavTertiary.tsx +0 -91
|
@@ -50,12 +50,6 @@ The following example shows two navigation groups, each with a `title` prop pass
|
|
|
50
50
|
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
### Tertiary (deprecated)
|
|
54
|
-
|
|
55
|
-
```ts file="./NavLegacyTertiary.tsx" isDeprecated
|
|
56
|
-
|
|
57
|
-
```
|
|
58
|
-
|
|
59
53
|
### Flyout
|
|
60
54
|
|
|
61
55
|
A flyout should be a `Menu` component. Press `space` or `right arrow` to open a flyout using the keyboard, use the arrow keys to navigate between flyout items, and press `escape` or `left arrow` to close a flyout.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Nav, NavExpandable, NavItem,
|
|
2
|
+
import { Nav, NavExpandable, NavItem, NavList } from '@patternfly/react-core';
|
|
3
3
|
|
|
4
4
|
export const NavExpandableExample: React.FunctionComponent = () => {
|
|
5
5
|
const [activeGroup, setActiveGroup] = React.useState('nav-expandable-group-1');
|
|
@@ -49,7 +49,6 @@ export const NavExpandableExample: React.FunctionComponent = () => {
|
|
|
49
49
|
>
|
|
50
50
|
Subnav 1 Link 1
|
|
51
51
|
</NavItem>
|
|
52
|
-
<NavItemSeparator />
|
|
53
52
|
<NavItem
|
|
54
53
|
preventDefault
|
|
55
54
|
id="expandable-2"
|
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
#ws-react-c-navigation-basic,
|
|
2
|
-
#ws-react-c-navigation-grouped,
|
|
3
|
-
#ws-react-c-navigation-default,
|
|
4
|
-
#ws-react-c-navigation-expandable,
|
|
5
|
-
#ws-react-c-navigation-expandable-wsubnavigation-titles,
|
|
6
|
-
#ws-react-c-navigation-mixed,
|
|
7
|
-
#ws-react-c-navigation-expandable-third-level,
|
|
8
|
-
#ws-react-c-navigation-link-text,
|
|
9
|
-
#ws-react-c-navigation-horizontal-subnav,
|
|
10
|
-
#ws-react-c-navigation-flyout,
|
|
11
|
-
#ws-react-c-navigation-drilldown {
|
|
12
|
-
background-color: var(--pf-v5-global--BackgroundColor--dark-300);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
1
|
#ws-react-c-navigation-flyout,
|
|
16
2
|
#ws-react-c-navigation-drilldown {
|
|
17
3
|
width: 300px;
|
|
@@ -44,8 +44,8 @@ export interface PageProps extends React.HTMLProps<HTMLDivElement> {
|
|
|
44
44
|
* the sidebar component or add a callback onSidebarToggle function into the Masthead component
|
|
45
45
|
*/
|
|
46
46
|
isManagedSidebar?: boolean;
|
|
47
|
-
/** Flag indicating if
|
|
48
|
-
|
|
47
|
+
/** Flag indicating if horizontal sub navigation width should be limited */
|
|
48
|
+
isHorizontalSubnavWidthLimited?: boolean;
|
|
49
49
|
/**
|
|
50
50
|
* If true, the managed sidebar is initially open for desktop view
|
|
51
51
|
*/
|
|
@@ -71,12 +71,12 @@ export interface PageProps extends React.HTMLProps<HTMLDivElement> {
|
|
|
71
71
|
getVerticalBreakpoint?: (height: number | null) => 'default' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
72
72
|
/** Breadcrumb component for the page */
|
|
73
73
|
breadcrumb?: React.ReactNode;
|
|
74
|
-
/**
|
|
75
|
-
|
|
74
|
+
/** Horizontal sub navigation component for the page */
|
|
75
|
+
horizontalSubnav?: React.ReactNode;
|
|
76
76
|
/** Accessible label, can be used to name main section */
|
|
77
77
|
mainAriaLabel?: string;
|
|
78
|
-
/** Flag indicating if the
|
|
79
|
-
|
|
78
|
+
/** Flag indicating if the horizontal sub navigation should be in a group */
|
|
79
|
+
isHorizontalSubnavGrouped?: boolean;
|
|
80
80
|
/** Flag indicating if the breadcrumb should be in a group */
|
|
81
81
|
isBreadcrumbGrouped?: boolean;
|
|
82
82
|
/** Additional content of the group */
|
|
@@ -219,7 +219,7 @@ class Page extends React.Component<PageProps, PageState> {
|
|
|
219
219
|
notificationDrawer,
|
|
220
220
|
isNotificationDrawerExpanded,
|
|
221
221
|
onNotificationDrawerExpand,
|
|
222
|
-
|
|
222
|
+
isHorizontalSubnavWidthLimited,
|
|
223
223
|
skipToContent,
|
|
224
224
|
role,
|
|
225
225
|
mainContainerId,
|
|
@@ -233,8 +233,8 @@ class Page extends React.Component<PageProps, PageState> {
|
|
|
233
233
|
mainAriaLabel,
|
|
234
234
|
mainTabIndex,
|
|
235
235
|
mainComponent,
|
|
236
|
-
|
|
237
|
-
|
|
236
|
+
horizontalSubnav,
|
|
237
|
+
isHorizontalSubnavGrouped,
|
|
238
238
|
isBreadcrumbGrouped,
|
|
239
239
|
additionalGroupedContent,
|
|
240
240
|
groupProps,
|
|
@@ -254,14 +254,14 @@ class Page extends React.Component<PageProps, PageState> {
|
|
|
254
254
|
};
|
|
255
255
|
|
|
256
256
|
let nav = null;
|
|
257
|
-
if (
|
|
257
|
+
if (horizontalSubnav && isHorizontalSubnavWidthLimited) {
|
|
258
258
|
nav = (
|
|
259
259
|
<div className={css(styles.pageMainNav, styles.modifiers.limitWidth)}>
|
|
260
|
-
<div className={css(styles.pageMainBody)}>{
|
|
260
|
+
<div className={css(styles.pageMainBody)}>{horizontalSubnav}</div>
|
|
261
261
|
</div>
|
|
262
262
|
);
|
|
263
|
-
} else if (
|
|
264
|
-
nav = <div className={css(styles.pageMainNav)}>{
|
|
263
|
+
} else if (horizontalSubnav) {
|
|
264
|
+
nav = <div className={css(styles.pageMainNav)}>{horizontalSubnav}</div>;
|
|
265
265
|
}
|
|
266
266
|
|
|
267
267
|
const crumb = breadcrumb ? (
|
|
@@ -282,11 +282,11 @@ class Page extends React.Component<PageProps, PageState> {
|
|
|
282
282
|
</section>
|
|
283
283
|
) : null;
|
|
284
284
|
|
|
285
|
-
const isGrouped =
|
|
285
|
+
const isGrouped = isHorizontalSubnavGrouped || isBreadcrumbGrouped || additionalGroupedContent;
|
|
286
286
|
|
|
287
287
|
const group = isGrouped ? (
|
|
288
288
|
<PageGroup {...groupProps}>
|
|
289
|
-
{
|
|
289
|
+
{isHorizontalSubnavGrouped && nav}
|
|
290
290
|
{isBreadcrumbGrouped && crumb}
|
|
291
291
|
{additionalGroupedContent}
|
|
292
292
|
</PageGroup>
|
|
@@ -304,7 +304,7 @@ class Page extends React.Component<PageProps, PageState> {
|
|
|
304
304
|
aria-label={mainAriaLabel}
|
|
305
305
|
>
|
|
306
306
|
{group}
|
|
307
|
-
{!
|
|
307
|
+
{!isHorizontalSubnavGrouped && nav}
|
|
308
308
|
{!isBreadcrumbGrouped && crumb}
|
|
309
309
|
{children}
|
|
310
310
|
</Component>
|
|
@@ -235,7 +235,7 @@ describe('Page', () => {
|
|
|
235
235
|
const { asFragment } = render(
|
|
236
236
|
<Page {...props} header={Header} sidebar={Sidebar}>
|
|
237
237
|
<PageNavigation>
|
|
238
|
-
<Nav aria-label="Nav" variant="
|
|
238
|
+
<Nav aria-label="Nav" variant="horizontal-subnav">
|
|
239
239
|
<NavList>
|
|
240
240
|
<NavItem itemId={0} isActive>
|
|
241
241
|
System Panel
|
|
@@ -273,7 +273,7 @@ describe('Page', () => {
|
|
|
273
273
|
</Breadcrumb>
|
|
274
274
|
</PageBreadcrumb>
|
|
275
275
|
<PageNavigation>
|
|
276
|
-
<Nav aria-label="Nav" variant="
|
|
276
|
+
<Nav aria-label="Nav" variant="horizontal-subnav">
|
|
277
277
|
<NavList>
|
|
278
278
|
<NavItem itemId={0} isActive>
|
|
279
279
|
System Panel
|
|
@@ -310,7 +310,7 @@ describe('Page', () => {
|
|
|
310
310
|
</PageBreadcrumb>
|
|
311
311
|
);
|
|
312
312
|
const nav = (
|
|
313
|
-
<Nav aria-label="Nav" variant="
|
|
313
|
+
<Nav aria-label="Nav" variant="horizontal-subnav">
|
|
314
314
|
<NavList>
|
|
315
315
|
<NavItem itemId={0} isActive>
|
|
316
316
|
System Panel
|
|
@@ -329,9 +329,9 @@ describe('Page', () => {
|
|
|
329
329
|
header={Header}
|
|
330
330
|
sidebar={Sidebar}
|
|
331
331
|
breadcrumb={crumb}
|
|
332
|
-
|
|
332
|
+
horizontalSubnav={nav}
|
|
333
333
|
isBreadcrumbGrouped
|
|
334
|
-
|
|
334
|
+
isHorizontalSubnavGrouped
|
|
335
335
|
groupProps={{
|
|
336
336
|
stickyOnBreakpoint: { default: 'bottom' },
|
|
337
337
|
hasShadowTop: true,
|
|
@@ -536,30 +536,42 @@ exports[`Page Check page to verify grouped nav and breadcrumb - new components s
|
|
|
536
536
|
>
|
|
537
537
|
<nav
|
|
538
538
|
aria-label="Nav"
|
|
539
|
-
class="pf-v5-c-nav pf-m-horizontal pf-m-
|
|
540
|
-
data-ouia-component-id="OUIA-Generated-Nav-
|
|
539
|
+
class="pf-v5-c-nav pf-m-horizontal pf-m-subnav"
|
|
540
|
+
data-ouia-component-id="OUIA-Generated-Nav-horizontal-subnav-2"
|
|
541
541
|
data-ouia-component-type="PF5/Nav"
|
|
542
542
|
data-ouia-safe="true"
|
|
543
543
|
>
|
|
544
|
-
<
|
|
545
|
-
aria-label="Scroll back"
|
|
544
|
+
<div
|
|
546
545
|
class="pf-v5-c-nav__scroll-button"
|
|
547
|
-
disabled=""
|
|
548
546
|
>
|
|
549
|
-
<
|
|
550
|
-
aria-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
>
|
|
558
|
-
<
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
547
|
+
<button
|
|
548
|
+
aria-disabled="false"
|
|
549
|
+
aria-label="Scroll back"
|
|
550
|
+
class="pf-v5-c-button pf-m-plain"
|
|
551
|
+
data-ouia-component-id="OUIA-Generated-Button-plain-3"
|
|
552
|
+
data-ouia-component-type="PF5/Button"
|
|
553
|
+
data-ouia-safe="true"
|
|
554
|
+
type="button"
|
|
555
|
+
>
|
|
556
|
+
<span
|
|
557
|
+
class="pf-v5-c-button__icon"
|
|
558
|
+
>
|
|
559
|
+
<svg
|
|
560
|
+
aria-hidden="true"
|
|
561
|
+
class="pf-v5-svg"
|
|
562
|
+
fill="currentColor"
|
|
563
|
+
height="1em"
|
|
564
|
+
role="img"
|
|
565
|
+
viewBox="0 0 256 512"
|
|
566
|
+
width="1em"
|
|
567
|
+
>
|
|
568
|
+
<path
|
|
569
|
+
d="M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z"
|
|
570
|
+
/>
|
|
571
|
+
</svg>
|
|
572
|
+
</span>
|
|
573
|
+
</button>
|
|
574
|
+
</div>
|
|
563
575
|
<ul
|
|
564
576
|
class="pf-v5-c-nav__list"
|
|
565
577
|
role="list"
|
|
@@ -626,25 +638,37 @@ exports[`Page Check page to verify grouped nav and breadcrumb - new components s
|
|
|
626
638
|
</a>
|
|
627
639
|
</li>
|
|
628
640
|
</ul>
|
|
629
|
-
<
|
|
630
|
-
aria-label="Scroll foward"
|
|
641
|
+
<div
|
|
631
642
|
class="pf-v5-c-nav__scroll-button"
|
|
632
|
-
disabled=""
|
|
633
643
|
>
|
|
634
|
-
<
|
|
635
|
-
aria-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
>
|
|
643
|
-
<
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
644
|
+
<button
|
|
645
|
+
aria-disabled="false"
|
|
646
|
+
aria-label="Scroll foward"
|
|
647
|
+
class="pf-v5-c-button pf-m-plain"
|
|
648
|
+
data-ouia-component-id="OUIA-Generated-Button-plain-4"
|
|
649
|
+
data-ouia-component-type="PF5/Button"
|
|
650
|
+
data-ouia-safe="true"
|
|
651
|
+
type="button"
|
|
652
|
+
>
|
|
653
|
+
<span
|
|
654
|
+
class="pf-v5-c-button__icon"
|
|
655
|
+
>
|
|
656
|
+
<svg
|
|
657
|
+
aria-hidden="true"
|
|
658
|
+
class="pf-v5-svg"
|
|
659
|
+
fill="currentColor"
|
|
660
|
+
height="1em"
|
|
661
|
+
role="img"
|
|
662
|
+
viewBox="0 0 256 512"
|
|
663
|
+
width="1em"
|
|
664
|
+
>
|
|
665
|
+
<path
|
|
666
|
+
d="M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"
|
|
667
|
+
/>
|
|
668
|
+
</svg>
|
|
669
|
+
</span>
|
|
670
|
+
</button>
|
|
671
|
+
</div>
|
|
648
672
|
</nav>
|
|
649
673
|
</div>
|
|
650
674
|
</div>
|
|
@@ -704,30 +728,42 @@ exports[`Page Check page to verify grouped nav and breadcrumb - old / props synt
|
|
|
704
728
|
>
|
|
705
729
|
<nav
|
|
706
730
|
aria-label="Nav"
|
|
707
|
-
class="pf-v5-c-nav pf-m-horizontal pf-m-
|
|
708
|
-
data-ouia-component-id="OUIA-Generated-Nav-
|
|
731
|
+
class="pf-v5-c-nav pf-m-horizontal pf-m-subnav"
|
|
732
|
+
data-ouia-component-id="OUIA-Generated-Nav-horizontal-subnav-3"
|
|
709
733
|
data-ouia-component-type="PF5/Nav"
|
|
710
734
|
data-ouia-safe="true"
|
|
711
735
|
>
|
|
712
|
-
<
|
|
713
|
-
aria-label="Scroll back"
|
|
736
|
+
<div
|
|
714
737
|
class="pf-v5-c-nav__scroll-button"
|
|
715
|
-
disabled=""
|
|
716
738
|
>
|
|
717
|
-
<
|
|
718
|
-
aria-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
>
|
|
726
|
-
<
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
739
|
+
<button
|
|
740
|
+
aria-disabled="false"
|
|
741
|
+
aria-label="Scroll back"
|
|
742
|
+
class="pf-v5-c-button pf-m-plain"
|
|
743
|
+
data-ouia-component-id="OUIA-Generated-Button-plain-5"
|
|
744
|
+
data-ouia-component-type="PF5/Button"
|
|
745
|
+
data-ouia-safe="true"
|
|
746
|
+
type="button"
|
|
747
|
+
>
|
|
748
|
+
<span
|
|
749
|
+
class="pf-v5-c-button__icon"
|
|
750
|
+
>
|
|
751
|
+
<svg
|
|
752
|
+
aria-hidden="true"
|
|
753
|
+
class="pf-v5-svg"
|
|
754
|
+
fill="currentColor"
|
|
755
|
+
height="1em"
|
|
756
|
+
role="img"
|
|
757
|
+
viewBox="0 0 256 512"
|
|
758
|
+
width="1em"
|
|
759
|
+
>
|
|
760
|
+
<path
|
|
761
|
+
d="M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z"
|
|
762
|
+
/>
|
|
763
|
+
</svg>
|
|
764
|
+
</span>
|
|
765
|
+
</button>
|
|
766
|
+
</div>
|
|
731
767
|
<ul
|
|
732
768
|
class="pf-v5-c-nav__list"
|
|
733
769
|
role="list"
|
|
@@ -794,25 +830,37 @@ exports[`Page Check page to verify grouped nav and breadcrumb - old / props synt
|
|
|
794
830
|
</a>
|
|
795
831
|
</li>
|
|
796
832
|
</ul>
|
|
797
|
-
<
|
|
798
|
-
aria-label="Scroll foward"
|
|
833
|
+
<div
|
|
799
834
|
class="pf-v5-c-nav__scroll-button"
|
|
800
|
-
disabled=""
|
|
801
835
|
>
|
|
802
|
-
<
|
|
803
|
-
aria-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
>
|
|
811
|
-
<
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
836
|
+
<button
|
|
837
|
+
aria-disabled="false"
|
|
838
|
+
aria-label="Scroll foward"
|
|
839
|
+
class="pf-v5-c-button pf-m-plain"
|
|
840
|
+
data-ouia-component-id="OUIA-Generated-Button-plain-6"
|
|
841
|
+
data-ouia-component-type="PF5/Button"
|
|
842
|
+
data-ouia-safe="true"
|
|
843
|
+
type="button"
|
|
844
|
+
>
|
|
845
|
+
<span
|
|
846
|
+
class="pf-v5-c-button__icon"
|
|
847
|
+
>
|
|
848
|
+
<svg
|
|
849
|
+
aria-hidden="true"
|
|
850
|
+
class="pf-v5-svg"
|
|
851
|
+
fill="currentColor"
|
|
852
|
+
height="1em"
|
|
853
|
+
role="img"
|
|
854
|
+
viewBox="0 0 256 512"
|
|
855
|
+
width="1em"
|
|
856
|
+
>
|
|
857
|
+
<path
|
|
858
|
+
d="M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"
|
|
859
|
+
/>
|
|
860
|
+
</svg>
|
|
861
|
+
</span>
|
|
862
|
+
</button>
|
|
863
|
+
</div>
|
|
816
864
|
</nav>
|
|
817
865
|
</div>
|
|
818
866
|
<section
|
|
@@ -974,30 +1022,42 @@ exports[`Page Check page to verify nav is created - PageNavigation syntax 1`] =
|
|
|
974
1022
|
>
|
|
975
1023
|
<nav
|
|
976
1024
|
aria-label="Nav"
|
|
977
|
-
class="pf-v5-c-nav pf-m-horizontal pf-m-
|
|
978
|
-
data-ouia-component-id="OUIA-Generated-Nav-
|
|
1025
|
+
class="pf-v5-c-nav pf-m-horizontal pf-m-subnav"
|
|
1026
|
+
data-ouia-component-id="OUIA-Generated-Nav-horizontal-subnav-1"
|
|
979
1027
|
data-ouia-component-type="PF5/Nav"
|
|
980
1028
|
data-ouia-safe="true"
|
|
981
1029
|
>
|
|
982
|
-
<
|
|
983
|
-
aria-label="Scroll back"
|
|
1030
|
+
<div
|
|
984
1031
|
class="pf-v5-c-nav__scroll-button"
|
|
985
|
-
disabled=""
|
|
986
1032
|
>
|
|
987
|
-
<
|
|
988
|
-
aria-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
1033
|
+
<button
|
|
1034
|
+
aria-disabled="false"
|
|
1035
|
+
aria-label="Scroll back"
|
|
1036
|
+
class="pf-v5-c-button pf-m-plain"
|
|
1037
|
+
data-ouia-component-id="OUIA-Generated-Button-plain-1"
|
|
1038
|
+
data-ouia-component-type="PF5/Button"
|
|
1039
|
+
data-ouia-safe="true"
|
|
1040
|
+
type="button"
|
|
995
1041
|
>
|
|
996
|
-
<
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1042
|
+
<span
|
|
1043
|
+
class="pf-v5-c-button__icon"
|
|
1044
|
+
>
|
|
1045
|
+
<svg
|
|
1046
|
+
aria-hidden="true"
|
|
1047
|
+
class="pf-v5-svg"
|
|
1048
|
+
fill="currentColor"
|
|
1049
|
+
height="1em"
|
|
1050
|
+
role="img"
|
|
1051
|
+
viewBox="0 0 256 512"
|
|
1052
|
+
width="1em"
|
|
1053
|
+
>
|
|
1054
|
+
<path
|
|
1055
|
+
d="M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z"
|
|
1056
|
+
/>
|
|
1057
|
+
</svg>
|
|
1058
|
+
</span>
|
|
1059
|
+
</button>
|
|
1060
|
+
</div>
|
|
1001
1061
|
<ul
|
|
1002
1062
|
class="pf-v5-c-nav__list"
|
|
1003
1063
|
role="list"
|
|
@@ -1064,25 +1124,37 @@ exports[`Page Check page to verify nav is created - PageNavigation syntax 1`] =
|
|
|
1064
1124
|
</a>
|
|
1065
1125
|
</li>
|
|
1066
1126
|
</ul>
|
|
1067
|
-
<
|
|
1068
|
-
aria-label="Scroll foward"
|
|
1127
|
+
<div
|
|
1069
1128
|
class="pf-v5-c-nav__scroll-button"
|
|
1070
|
-
disabled=""
|
|
1071
1129
|
>
|
|
1072
|
-
<
|
|
1073
|
-
aria-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1130
|
+
<button
|
|
1131
|
+
aria-disabled="false"
|
|
1132
|
+
aria-label="Scroll foward"
|
|
1133
|
+
class="pf-v5-c-button pf-m-plain"
|
|
1134
|
+
data-ouia-component-id="OUIA-Generated-Button-plain-2"
|
|
1135
|
+
data-ouia-component-type="PF5/Button"
|
|
1136
|
+
data-ouia-safe="true"
|
|
1137
|
+
type="button"
|
|
1080
1138
|
>
|
|
1081
|
-
<
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1139
|
+
<span
|
|
1140
|
+
class="pf-v5-c-button__icon"
|
|
1141
|
+
>
|
|
1142
|
+
<svg
|
|
1143
|
+
aria-hidden="true"
|
|
1144
|
+
class="pf-v5-svg"
|
|
1145
|
+
fill="currentColor"
|
|
1146
|
+
height="1em"
|
|
1147
|
+
role="img"
|
|
1148
|
+
viewBox="0 0 256 512"
|
|
1149
|
+
width="1em"
|
|
1150
|
+
>
|
|
1151
|
+
<path
|
|
1152
|
+
d="M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"
|
|
1153
|
+
/>
|
|
1154
|
+
</svg>
|
|
1155
|
+
</span>
|
|
1156
|
+
</button>
|
|
1157
|
+
</div>
|
|
1086
1158
|
</nav>
|
|
1087
1159
|
</div>
|
|
1088
1160
|
<section
|
|
@@ -61,16 +61,6 @@ To add horizontal navigation to the top of a `<Page>`, add the navigation inside
|
|
|
61
61
|
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
### Tertiary navigation (deprecated)
|
|
65
|
-
|
|
66
|
-
[Horizontal sub-navigation](/components/navigation#horizontal-subnav) is now recommended instead of tertiary-level navigation.
|
|
67
|
-
|
|
68
|
-
Tertiary navigation allows you to add an additional navigation menu alongside vertical or horizontal navigation. To create tertiary navigation, use the `tertiaryNav` property. The following example passes `tertiaryNav="Navigation"` into a `<Page>` component.
|
|
69
|
-
|
|
70
|
-
```ts file="./PageTertiaryNav.tsx" isDeprecated
|
|
71
|
-
|
|
72
|
-
```
|
|
73
|
-
|
|
74
64
|
### Uncontrolled navigation
|
|
75
65
|
|
|
76
66
|
When the `isManagedSidebar` property is true, it manages the sidebar open/close state, removing the need to pass both `isSidebarOpen` into the `<PageSidebar>` and `onSidebarToggle` into the `<PageToggleButton>`.
|
|
@@ -114,7 +104,7 @@ The following example adds a group containing `<PageNavigation>`, `<PageBreadcru
|
|
|
114
104
|
To add additional components and information to a group, you may use the following properties:
|
|
115
105
|
|
|
116
106
|
- To indicate that a breadcrumb should be in a group, use `isBreadcrumbGrouped`.
|
|
117
|
-
- To indicate that
|
|
107
|
+
- To indicate that horizontal sub navigation should be in a group, use `isHorizontalSubnavGrouped`.
|
|
118
108
|
- To specify additional group content, use `additionalGroupedContent`.
|
|
119
109
|
|
|
120
110
|
```ts file="./PageGroupSection.tsx"
|
|
@@ -71,7 +71,7 @@ export const PageGroupSection: React.FunctionComponent = () => {
|
|
|
71
71
|
<Page header={header} sidebar={sidebar}>
|
|
72
72
|
<PageGroup>
|
|
73
73
|
<PageNavigation>
|
|
74
|
-
<Nav aria-label="Group section navigation" variant="
|
|
74
|
+
<Nav aria-label="Group section navigation" variant="horizontal-subnav">
|
|
75
75
|
<NavList>
|
|
76
76
|
<NavItem href="#" itemId={0} isActive>
|
|
77
77
|
System panel
|
package/src/demos/Nav.md
CHANGED
|
@@ -44,16 +44,6 @@ import pfLogo from '@patternfly/react-core/src/demos/assets/PF-HorizontalLogo-Co
|
|
|
44
44
|
```js file='./examples/Nav/NavHorizontalWithSubnav.tsx' isFullscreen
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
### Tertiary nav (deprecated)
|
|
48
|
-
|
|
49
|
-
```js file='./examples/Nav/deprecated/NavTertiary.tsx' isFullscreen
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### Light nav (deprecated)
|
|
53
|
-
|
|
54
|
-
```js file='./examples/Nav/deprecated/NavLight.tsx' isFullscreen
|
|
55
|
-
```
|
|
56
|
-
|
|
57
47
|
### Manual nav
|
|
58
48
|
|
|
59
49
|
```js file='./examples/Nav/NavManual.tsx' isFullscreen
|
|
@@ -527,9 +527,8 @@ export const MastheadWithUtilitiesAndUserDropdownMenu: React.FunctionComponent =
|
|
|
527
527
|
skipToContent={pageSkipToContent}
|
|
528
528
|
breadcrumb={dashboardBreadcrumb}
|
|
529
529
|
mainContainerId={mainContainerId}
|
|
530
|
-
|
|
530
|
+
isHorizontalSubnavWidthLimited
|
|
531
531
|
isBreadcrumbWidthLimited
|
|
532
|
-
isTertiaryNavGrouped
|
|
533
532
|
isBreadcrumbGrouped
|
|
534
533
|
additionalGroupedContent={
|
|
535
534
|
<PageSection>
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Nav, NavItem, NavList } from '@patternfly/react-core';
|
|
3
|
-
|
|
4
|
-
export const NavLegacyTertiary: React.FunctionComponent = () => {
|
|
5
|
-
const [activeItem, setActiveItem] = React.useState(0);
|
|
6
|
-
|
|
7
|
-
const onSelect = (_event: React.FormEvent<HTMLInputElement>, result: { itemId: number | string }) => {
|
|
8
|
-
setActiveItem(result.itemId as number);
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
return (
|
|
12
|
-
<Nav onSelect={onSelect} variant="tertiary" aria-label="Tertiary local">
|
|
13
|
-
<NavList>
|
|
14
|
-
{Array.from({ length: 10 }).map(function (_value, index) {
|
|
15
|
-
const num = index + 1;
|
|
16
|
-
return (
|
|
17
|
-
<NavItem
|
|
18
|
-
preventDefault
|
|
19
|
-
key={num}
|
|
20
|
-
itemId={num}
|
|
21
|
-
isActive={activeItem === num}
|
|
22
|
-
id={`legacy-tertiary-${num}`}
|
|
23
|
-
to={`#legacy-tertiary-${num}`}
|
|
24
|
-
>
|
|
25
|
-
Tertiary nav item {num}
|
|
26
|
-
</NavItem>
|
|
27
|
-
);
|
|
28
|
-
})}
|
|
29
|
-
</NavList>
|
|
30
|
-
</Nav>
|
|
31
|
-
);
|
|
32
|
-
};
|