@patternfly/react-core 5.2.0-prerelease.13 → 5.2.0-prerelease.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/components/package.json +1 -1
  3. package/deprecated/package.json +1 -1
  4. package/dist/dynamic/components/AboutModal/package.json +1 -1
  5. package/dist/dynamic/components/Accordion/package.json +1 -1
  6. package/dist/dynamic/components/ActionList/package.json +1 -1
  7. package/dist/dynamic/components/Alert/package.json +1 -1
  8. package/dist/dynamic/components/Avatar/package.json +1 -1
  9. package/dist/dynamic/components/BackToTop/package.json +1 -1
  10. package/dist/dynamic/components/Backdrop/package.json +1 -1
  11. package/dist/dynamic/components/BackgroundImage/package.json +1 -1
  12. package/dist/dynamic/components/Badge/package.json +1 -1
  13. package/dist/dynamic/components/Banner/package.json +1 -1
  14. package/dist/dynamic/components/Brand/package.json +1 -1
  15. package/dist/dynamic/components/Breadcrumb/package.json +1 -1
  16. package/dist/dynamic/components/Button/package.json +1 -1
  17. package/dist/dynamic/components/CalendarMonth/package.json +1 -1
  18. package/dist/dynamic/components/Card/package.json +1 -1
  19. package/dist/dynamic/components/Checkbox/package.json +1 -1
  20. package/dist/dynamic/components/Chip/package.json +1 -1
  21. package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
  22. package/dist/dynamic/components/CodeBlock/package.json +1 -1
  23. package/dist/dynamic/components/DataList/package.json +1 -1
  24. package/dist/dynamic/components/DatePicker/package.json +1 -1
  25. package/dist/dynamic/components/DescriptionList/package.json +1 -1
  26. package/dist/dynamic/components/Divider/package.json +1 -1
  27. package/dist/dynamic/components/DragDrop/package.json +1 -1
  28. package/dist/dynamic/components/Drawer/package.json +1 -1
  29. package/dist/dynamic/components/Dropdown/package.json +1 -1
  30. package/dist/dynamic/components/DualListSelector/package.json +1 -1
  31. package/dist/dynamic/components/EmptyState/package.json +1 -1
  32. package/dist/dynamic/components/ExpandableSection/package.json +1 -1
  33. package/dist/dynamic/components/FileUpload/package.json +1 -1
  34. package/dist/dynamic/components/Form/package.json +1 -1
  35. package/dist/dynamic/components/FormSelect/package.json +1 -1
  36. package/dist/dynamic/components/HelperText/package.json +1 -1
  37. package/dist/dynamic/components/Hint/package.json +1 -1
  38. package/dist/dynamic/components/Icon/package.json +1 -1
  39. package/dist/dynamic/components/InputGroup/package.json +1 -1
  40. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  41. package/dist/dynamic/components/Label/package.json +1 -1
  42. package/dist/dynamic/components/List/package.json +1 -1
  43. package/dist/dynamic/components/LoginPage/package.json +1 -1
  44. package/dist/dynamic/components/Masthead/package.json +1 -1
  45. package/dist/dynamic/components/Menu/package.json +1 -1
  46. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  47. package/dist/dynamic/components/Modal/package.json +1 -1
  48. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  49. package/dist/dynamic/components/Nav/package.json +1 -1
  50. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  51. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  52. package/dist/dynamic/components/NumberInput/package.json +1 -1
  53. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  54. package/dist/dynamic/components/Page/package.json +1 -1
  55. package/dist/dynamic/components/Pagination/package.json +1 -1
  56. package/dist/dynamic/components/Panel/package.json +1 -1
  57. package/dist/dynamic/components/Popover/package.json +1 -1
  58. package/dist/dynamic/components/Progress/package.json +1 -1
  59. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  60. package/dist/dynamic/components/Radio/package.json +1 -1
  61. package/dist/dynamic/components/SearchInput/package.json +1 -1
  62. package/dist/dynamic/components/Select/package.json +1 -1
  63. package/dist/dynamic/components/Sidebar/package.json +1 -1
  64. package/dist/dynamic/components/SimpleList/package.json +1 -1
  65. package/dist/dynamic/components/Skeleton/package.json +1 -1
  66. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  67. package/dist/dynamic/components/Slider/package.json +1 -1
  68. package/dist/dynamic/components/Spinner/package.json +1 -1
  69. package/dist/dynamic/components/Switch/package.json +1 -1
  70. package/dist/dynamic/components/Tabs/package.json +1 -1
  71. package/dist/dynamic/components/Text/package.json +1 -1
  72. package/dist/dynamic/components/TextArea/package.json +1 -1
  73. package/dist/dynamic/components/TextInput/package.json +1 -1
  74. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  75. package/dist/dynamic/components/Tile/package.json +1 -1
  76. package/dist/dynamic/components/TimePicker/package.json +1 -1
  77. package/dist/dynamic/components/Timestamp/package.json +1 -1
  78. package/dist/dynamic/components/Title/package.json +1 -1
  79. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  80. package/dist/dynamic/components/Toolbar/package.json +1 -1
  81. package/dist/dynamic/components/Tooltip/package.json +1 -1
  82. package/dist/dynamic/components/TreeView/package.json +1 -1
  83. package/dist/dynamic/components/Truncate/package.json +1 -1
  84. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  85. package/dist/dynamic/components/Wizard/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/ApplicationLauncher/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/ContextSelector/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Dropdown/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/OptionsMenu/package.json +1 -1
  90. package/dist/dynamic/deprecated/components/PageHeader/package.json +1 -1
  91. package/dist/dynamic/deprecated/components/Select/package.json +1 -1
  92. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  93. package/dist/dynamic/deprecated/components/package.json +1 -1
  94. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  95. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  96. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  97. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  98. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  99. package/dist/dynamic/helpers/constants/package.json +1 -1
  100. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  101. package/dist/dynamic/helpers/favorites/package.json +1 -1
  102. package/dist/dynamic/helpers/fileUtils/package.json +1 -1
  103. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  104. package/dist/dynamic/helpers/package.json +1 -1
  105. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  106. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  107. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  108. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  109. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  110. package/dist/dynamic/helpers/util/package.json +1 -1
  111. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  112. package/dist/dynamic/layouts/Flex/package.json +1 -1
  113. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  114. package/dist/dynamic/layouts/Grid/package.json +1 -1
  115. package/dist/dynamic/layouts/Level/package.json +1 -1
  116. package/dist/dynamic/layouts/Split/package.json +1 -1
  117. package/dist/dynamic/layouts/Stack/package.json +1 -1
  118. package/dist/dynamic/next/components/package.json +1 -1
  119. package/dist/esm/components/Nav/NavExpandable.d.ts +3 -3
  120. package/dist/esm/components/Nav/NavExpandable.d.ts.map +1 -1
  121. package/dist/esm/components/Nav/NavExpandable.js +2 -2
  122. package/dist/esm/components/Nav/NavExpandable.js.map +1 -1
  123. package/dist/esm/components/Nav/NavItem.d.ts +2 -0
  124. package/dist/esm/components/Nav/NavItem.d.ts.map +1 -1
  125. package/dist/esm/components/Nav/NavItem.js +2 -2
  126. package/dist/esm/components/Nav/NavItem.js.map +1 -1
  127. package/dist/js/components/Nav/NavExpandable.d.ts +3 -3
  128. package/dist/js/components/Nav/NavExpandable.d.ts.map +1 -1
  129. package/dist/js/components/Nav/NavExpandable.js +2 -2
  130. package/dist/js/components/Nav/NavExpandable.js.map +1 -1
  131. package/dist/js/components/Nav/NavItem.d.ts +2 -0
  132. package/dist/js/components/Nav/NavItem.d.ts.map +1 -1
  133. package/dist/js/components/Nav/NavItem.js +2 -2
  134. package/dist/js/components/Nav/NavItem.js.map +1 -1
  135. package/dist/umd/react-core.min.js +2 -2
  136. package/helpers/package.json +1 -1
  137. package/layouts/package.json +1 -1
  138. package/next/package.json +1 -1
  139. package/package.json +6 -6
  140. package/src/components/Nav/NavExpandable.tsx +5 -5
  141. package/src/components/Nav/NavItem.tsx +4 -1
  142. package/src/components/Nav/examples/Nav.md +8 -0
  143. package/src/components/Nav/examples/NavExpandableThirdLevel.tsx +1 -1
  144. package/src/components/Nav/examples/NavLinkText.tsx +109 -0
  145. package/src/components/Nav/examples/nav.css +1 -0
@@ -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.12","private":true}
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.14","private":true}
@@ -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.12","private":true}
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.14","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.12","private":true}
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.14","private":true}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-core",
3
- "version": "5.2.0-prerelease.13",
3
+ "version": "5.2.0-prerelease.15",
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",
@@ -45,15 +45,15 @@
45
45
  "subpaths": "node ../../scripts/exportSubpaths.js --config subpaths.config.json"
46
46
  },
47
47
  "dependencies": {
48
- "@patternfly/react-icons": "^5.2.0-prerelease.3",
49
- "@patternfly/react-styles": "^5.2.0-prerelease.2",
50
- "@patternfly/react-tokens": "^5.2.0-prerelease.3",
48
+ "@patternfly/react-icons": "^5.2.0-prerelease.4",
49
+ "@patternfly/react-styles": "^5.2.0-prerelease.3",
50
+ "@patternfly/react-tokens": "^5.2.0-prerelease.4",
51
51
  "focus-trap": "7.5.2",
52
52
  "react-dropzone": "^14.2.3",
53
53
  "tslib": "^2.5.0"
54
54
  },
55
55
  "devDependencies": {
56
- "@patternfly/patternfly": "5.2.0-prerelease.2",
56
+ "@patternfly/patternfly": "5.2.0-prerelease.3",
57
57
  "@rollup/plugin-commonjs": "^25.0.0",
58
58
  "@rollup/plugin-node-resolve": "^15.0.2",
59
59
  "@rollup/plugin-replace": "^5.0.2",
@@ -71,5 +71,5 @@
71
71
  "react": "^17 || ^18",
72
72
  "react-dom": "^17 || ^18"
73
73
  },
74
- "gitHead": "c1f452f956668d771994e5584dc24d251d913aa7"
74
+ "gitHead": "eb921ccf06a5b0ebe7ddcebd162f2e295260d8d4"
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: string;
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="Expandable section title 2"
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 {