@patternfly/react-core 5.2.0-prerelease.13 → 5.2.0-prerelease.14
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/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/Nav/NavExpandable.d.ts +3 -3
- package/dist/esm/components/Nav/NavExpandable.d.ts.map +1 -1
- package/dist/esm/components/Nav/NavExpandable.js +2 -2
- package/dist/esm/components/Nav/NavExpandable.js.map +1 -1
- package/dist/esm/components/Nav/NavItem.d.ts +2 -0
- package/dist/esm/components/Nav/NavItem.d.ts.map +1 -1
- package/dist/esm/components/Nav/NavItem.js +2 -2
- package/dist/esm/components/Nav/NavItem.js.map +1 -1
- package/dist/js/components/Nav/NavExpandable.d.ts +3 -3
- package/dist/js/components/Nav/NavExpandable.d.ts.map +1 -1
- package/dist/js/components/Nav/NavExpandable.js +2 -2
- package/dist/js/components/Nav/NavExpandable.js.map +1 -1
- package/dist/js/components/Nav/NavItem.d.ts +2 -0
- package/dist/js/components/Nav/NavItem.d.ts.map +1 -1
- package/dist/js/components/Nav/NavItem.js +2 -2
- package/dist/js/components/Nav/NavItem.js.map +1 -1
- package/dist/umd/react-core.min.js +2 -2
- package/helpers/package.json +1 -1
- package/layouts/package.json +1 -1
- package/next/package.json +1 -1
- package/package.json +2 -2
- package/src/components/Nav/NavExpandable.tsx +5 -5
- package/src/components/Nav/NavItem.tsx +4 -1
- package/src/components/Nav/examples/Nav.md +8 -0
- package/src/components/Nav/examples/NavExpandableThirdLevel.tsx +1 -1
- package/src/components/Nav/examples/NavLinkText.tsx +109 -0
- package/src/components/Nav/examples/nav.css +1 -0
package/helpers/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"5.2.0-prerelease.
|
|
1
|
+
{"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"5.2.0-prerelease.13","private":true}
|
package/layouts/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"5.2.0-prerelease.
|
|
1
|
+
{"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"5.2.0-prerelease.13","private":true}
|
package/next/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"5.2.0-prerelease.
|
|
1
|
+
{"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"5.2.0-prerelease.13","private":true}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patternfly/react-core",
|
|
3
|
-
"version": "5.2.0-prerelease.
|
|
3
|
+
"version": "5.2.0-prerelease.14",
|
|
4
4
|
"description": "This library provides a set of common React components for use with the PatternFly reference implementation.",
|
|
5
5
|
"main": "dist/js/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -71,5 +71,5 @@
|
|
|
71
71
|
"react": "^17 || ^18",
|
|
72
72
|
"react-dom": "^17 || ^18"
|
|
73
73
|
},
|
|
74
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "7d28e1d3fd8219525537a122a54ab939b6e55647"
|
|
75
75
|
}
|
|
@@ -9,10 +9,10 @@ import { PickOptional } from '../../helpers/typeUtils';
|
|
|
9
9
|
import { getOUIAProps, OUIAProps, getDefaultOUIAId } from '../../helpers';
|
|
10
10
|
|
|
11
11
|
export interface NavExpandableProps
|
|
12
|
-
extends React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>,
|
|
12
|
+
extends Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, 'title'>,
|
|
13
13
|
OUIAProps {
|
|
14
|
-
/** Title shown for the expandable list */
|
|
15
|
-
title:
|
|
14
|
+
/** Title content shown for the expandable list */
|
|
15
|
+
title: React.ReactNode;
|
|
16
16
|
/** If defined, screen readers will read this text instead of the list title */
|
|
17
17
|
srText?: string;
|
|
18
18
|
/** Boolean to programatically expand or collapse section */
|
|
@@ -126,14 +126,14 @@ class NavExpandable extends React.Component<NavExpandableProps, NavExpandableSta
|
|
|
126
126
|
<PageSidebarContext.Consumer>
|
|
127
127
|
{({ isSidebarOpen }) => (
|
|
128
128
|
<button
|
|
129
|
-
className={styles.navLink}
|
|
129
|
+
className={css(styles.navLink)}
|
|
130
130
|
id={srText ? null : this.id}
|
|
131
131
|
onClick={(event) => this.onExpand(event, context.onToggle)}
|
|
132
132
|
aria-expanded={expandedState}
|
|
133
133
|
tabIndex={isSidebarOpen ? null : -1}
|
|
134
134
|
{...buttonProps}
|
|
135
135
|
>
|
|
136
|
-
{title}
|
|
136
|
+
{typeof title !== 'string' ? <span className={css(`${styles.nav}__link-text`)}>{title}</span> : title}
|
|
137
137
|
<span className={css(styles.navToggle)}>
|
|
138
138
|
<span className={css(styles.navToggleIcon)}>
|
|
139
139
|
<AngleRightIcon aria-hidden="true" />
|
|
@@ -38,6 +38,8 @@ export interface NavItemProps extends Omit<React.HTMLProps<HTMLAnchorElement>, '
|
|
|
38
38
|
ouiaId?: number | string;
|
|
39
39
|
/** 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. */
|
|
40
40
|
ouiaSafe?: boolean;
|
|
41
|
+
/** @beta Adds a wrapper around the nav link text. Improves the layout when the text is a react node. */
|
|
42
|
+
hasNavLinkWrapper?: boolean;
|
|
41
43
|
}
|
|
42
44
|
|
|
43
45
|
export const NavItem: React.FunctionComponent<NavItemProps> = ({
|
|
@@ -56,6 +58,7 @@ export const NavItem: React.FunctionComponent<NavItemProps> = ({
|
|
|
56
58
|
ouiaId,
|
|
57
59
|
ouiaSafe,
|
|
58
60
|
zIndex = 9999,
|
|
61
|
+
hasNavLinkWrapper,
|
|
59
62
|
...props
|
|
60
63
|
}: NavItemProps) => {
|
|
61
64
|
const { flyoutRef, setFlyoutRef, navRef } = React.useContext(NavContext);
|
|
@@ -188,7 +191,7 @@ export const NavItem: React.FunctionComponent<NavItemProps> = ({
|
|
|
188
191
|
{...(hasFlyout && { ...ariaFlyoutProps })}
|
|
189
192
|
{...props}
|
|
190
193
|
>
|
|
191
|
-
{children}
|
|
194
|
+
{hasNavLinkWrapper ? <span className={css(`${styles.nav}__link-text`)}>{children}</span> : children}
|
|
192
195
|
{flyout && flyoutButton}
|
|
193
196
|
</Component>
|
|
194
197
|
);
|
|
@@ -7,6 +7,8 @@ ouia: true
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
import './nav.css';
|
|
10
|
+
import ArrowRightIcon from '@patternfly/react-icons/dist/esm/icons/arrow-right-icon';
|
|
11
|
+
import UserIcon from '@patternfly/react-icons/dist/esm/icons/user-icon';
|
|
10
12
|
|
|
11
13
|
## Examples
|
|
12
14
|
|
|
@@ -68,6 +70,12 @@ A flyout should be a `Menu` component. Press `space` or `right arrow` to open a
|
|
|
68
70
|
|
|
69
71
|
```
|
|
70
72
|
|
|
73
|
+
### Link text
|
|
74
|
+
|
|
75
|
+
```ts isBeta file="./NavLinkText.tsx"
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
|
|
71
79
|
## Types
|
|
72
80
|
|
|
73
81
|
### NavSelectClickHandler
|
|
@@ -62,7 +62,7 @@ export const NavExpandableThirdLevel: React.FunctionComponent = () => {
|
|
|
62
62
|
</NavItem>
|
|
63
63
|
</NavExpandable>
|
|
64
64
|
<NavExpandable
|
|
65
|
-
title=
|
|
65
|
+
title={'Expandable section title 2'}
|
|
66
66
|
groupId="nav-expand3rd-group-2"
|
|
67
67
|
isActive={activeGroup === 'nav-expand3rd-group-2'}
|
|
68
68
|
isExpanded
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Nav, NavExpandable, NavItem, NavList } from '@patternfly/react-core';
|
|
3
|
+
import ArrowRightIcon from '@patternfly/react-icons/dist/esm/icons/arrow-right-icon';
|
|
4
|
+
import UserIcon from '@patternfly/react-icons/dist/esm/icons/user-icon';
|
|
5
|
+
|
|
6
|
+
export const NavLinkText: React.FunctionComponent = () => {
|
|
7
|
+
const [activeGroup, setActiveGroup] = React.useState('nav-expand3rd-group-1');
|
|
8
|
+
const [activeItem, setActiveItem] = React.useState('nav-expand3rd-group-1_item-1');
|
|
9
|
+
|
|
10
|
+
const onSelect = (
|
|
11
|
+
_event: React.FormEvent<HTMLInputElement>,
|
|
12
|
+
result: { itemId: number | string; groupId: number | string }
|
|
13
|
+
) => {
|
|
14
|
+
setActiveGroup(result.groupId as string);
|
|
15
|
+
setActiveItem(result.itemId as string);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const onToggle = (
|
|
19
|
+
_event: React.MouseEvent<HTMLButtonElement>,
|
|
20
|
+
result: { groupId: number | string; isExpanded: boolean }
|
|
21
|
+
) => {
|
|
22
|
+
// eslint-disable-next-line no-console
|
|
23
|
+
console.log(`Group ${result.groupId} expanded? ${result.isExpanded}`);
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
return (
|
|
27
|
+
<Nav onSelect={onSelect} onToggle={onToggle} aria-label="Nav link text">
|
|
28
|
+
<NavList>
|
|
29
|
+
<NavItem
|
|
30
|
+
preventDefault
|
|
31
|
+
id="link-text-link-1"
|
|
32
|
+
to="#link-text-link-1"
|
|
33
|
+
itemId="link-text-1-item-1"
|
|
34
|
+
isActive={activeItem === 'link-text-1-item-1'}
|
|
35
|
+
hasNavLinkWrapper
|
|
36
|
+
>
|
|
37
|
+
Link 1
|
|
38
|
+
<ArrowRightIcon />
|
|
39
|
+
</NavItem>
|
|
40
|
+
<NavExpandable
|
|
41
|
+
title={
|
|
42
|
+
<>
|
|
43
|
+
Link 2 <small>(small text)</small>
|
|
44
|
+
</>
|
|
45
|
+
}
|
|
46
|
+
groupId="link-text-group-1"
|
|
47
|
+
isActive={activeGroup === 'link-text-group-1'}
|
|
48
|
+
isExpanded
|
|
49
|
+
>
|
|
50
|
+
<NavItem
|
|
51
|
+
preventDefault
|
|
52
|
+
id="link-text-link-2"
|
|
53
|
+
to="#link-text-link-2"
|
|
54
|
+
groupId="link-text-group-1"
|
|
55
|
+
itemId="link-text-group-1_item-1"
|
|
56
|
+
isActive={activeItem === 'link-text-group-1_item-1'}
|
|
57
|
+
hasNavLinkWrapper
|
|
58
|
+
>
|
|
59
|
+
<UserIcon />
|
|
60
|
+
Subnav link 1
|
|
61
|
+
</NavItem>
|
|
62
|
+
<NavItem
|
|
63
|
+
preventDefault
|
|
64
|
+
id="link-text-link-3"
|
|
65
|
+
to="#link-text-link-3"
|
|
66
|
+
groupId="link-text-group-1"
|
|
67
|
+
itemId="link-text-group-1_item-2"
|
|
68
|
+
isActive={activeItem === 'link-text-group-1_item-2'}
|
|
69
|
+
hasNavLinkWrapper
|
|
70
|
+
>
|
|
71
|
+
<UserIcon />
|
|
72
|
+
Subnav link 2
|
|
73
|
+
</NavItem>
|
|
74
|
+
</NavExpandable>
|
|
75
|
+
<NavExpandable
|
|
76
|
+
title={
|
|
77
|
+
<>
|
|
78
|
+
Link 3 <strong>(strong text)</strong>
|
|
79
|
+
</>
|
|
80
|
+
}
|
|
81
|
+
groupId="link-text-group-2"
|
|
82
|
+
isActive={activeGroup === 'nav-expand3rd-group-2'}
|
|
83
|
+
isExpanded
|
|
84
|
+
>
|
|
85
|
+
<NavItem
|
|
86
|
+
preventDefault
|
|
87
|
+
id="link-text-link-4"
|
|
88
|
+
to="link-text-link-4"
|
|
89
|
+
groupId="link-text-group-2"
|
|
90
|
+
itemId="link-text-group-2_item-1"
|
|
91
|
+
isActive={activeItem === 'link-text-group-2_item-1'}
|
|
92
|
+
>
|
|
93
|
+
Subnav link 1
|
|
94
|
+
</NavItem>
|
|
95
|
+
<NavItem
|
|
96
|
+
preventDefault
|
|
97
|
+
id="link-text-link-5"
|
|
98
|
+
to="link-text-link-5"
|
|
99
|
+
groupId="link-text-group-2"
|
|
100
|
+
itemId="link-text-group-2_item-2"
|
|
101
|
+
isActive={activeItem === 'link-text-group-2_item-2'}
|
|
102
|
+
>
|
|
103
|
+
Subnav link 2
|
|
104
|
+
</NavItem>
|
|
105
|
+
</NavExpandable>
|
|
106
|
+
</NavList>
|
|
107
|
+
</Nav>
|
|
108
|
+
);
|
|
109
|
+
};
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
#ws-react-c-navigation-expandable-wsubnavigation-titles,
|
|
6
6
|
#ws-react-c-navigation-mixed,
|
|
7
7
|
#ws-react-c-navigation-expandable-third-level,
|
|
8
|
+
#ws-react-c-navigation-link-text,
|
|
8
9
|
#ws-react-c-navigation-horizontal-subnav,
|
|
9
10
|
#ws-react-c-navigation-flyout,
|
|
10
11
|
#ws-react-c-navigation-drilldown {
|