@patternfly/react-core 6.1.0-prerelease.9 → 6.1.0

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 (185) hide show
  1. package/CHANGELOG.md +48 -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/ClipboardCopy/package.json +1 -1
  21. package/dist/dynamic/components/CodeBlock/package.json +1 -1
  22. package/dist/dynamic/components/Content/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/Drawer/package.json +1 -1
  28. package/dist/dynamic/components/Dropdown/package.json +1 -1
  29. package/dist/dynamic/components/DualListSelector/package.json +1 -1
  30. package/dist/dynamic/components/EmptyState/package.json +1 -1
  31. package/dist/dynamic/components/ExpandableSection/package.json +1 -1
  32. package/dist/dynamic/components/FileUpload/package.json +1 -1
  33. package/dist/dynamic/components/Form/package.json +1 -1
  34. package/dist/dynamic/components/FormSelect/package.json +1 -1
  35. package/dist/dynamic/components/HelperText/package.json +1 -1
  36. package/dist/dynamic/components/Hint/package.json +1 -1
  37. package/dist/dynamic/components/Icon/package.json +1 -1
  38. package/dist/dynamic/components/InputGroup/package.json +1 -1
  39. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  40. package/dist/dynamic/components/Label/package.json +1 -1
  41. package/dist/dynamic/components/List/package.json +1 -1
  42. package/dist/dynamic/components/LoginPage/package.json +1 -1
  43. package/dist/dynamic/components/Masthead/package.json +1 -1
  44. package/dist/dynamic/components/Menu/package.json +1 -1
  45. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  46. package/dist/dynamic/components/Modal/package.json +1 -1
  47. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  48. package/dist/dynamic/components/Nav/package.json +1 -1
  49. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  50. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  51. package/dist/dynamic/components/NumberInput/package.json +1 -1
  52. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  53. package/dist/dynamic/components/Page/package.json +1 -1
  54. package/dist/dynamic/components/Pagination/package.json +1 -1
  55. package/dist/dynamic/components/Panel/package.json +1 -1
  56. package/dist/dynamic/components/Popover/package.json +1 -1
  57. package/dist/dynamic/components/Progress/package.json +1 -1
  58. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  59. package/dist/dynamic/components/Radio/package.json +1 -1
  60. package/dist/dynamic/components/SearchInput/package.json +1 -1
  61. package/dist/dynamic/components/Select/package.json +1 -1
  62. package/dist/dynamic/components/Sidebar/package.json +1 -1
  63. package/dist/dynamic/components/SimpleList/package.json +1 -1
  64. package/dist/dynamic/components/Skeleton/package.json +1 -1
  65. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  66. package/dist/dynamic/components/Slider/package.json +1 -1
  67. package/dist/dynamic/components/Spinner/package.json +1 -1
  68. package/dist/dynamic/components/Switch/package.json +1 -1
  69. package/dist/dynamic/components/Tabs/package.json +1 -1
  70. package/dist/dynamic/components/TextArea/package.json +1 -1
  71. package/dist/dynamic/components/TextInput/package.json +1 -1
  72. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  73. package/dist/dynamic/components/TimePicker/package.json +1 -1
  74. package/dist/dynamic/components/Timestamp/package.json +1 -1
  75. package/dist/dynamic/components/Title/package.json +1 -1
  76. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  77. package/dist/dynamic/components/Toolbar/package.json +1 -1
  78. package/dist/dynamic/components/Tooltip/package.json +1 -1
  79. package/dist/dynamic/components/TreeView/package.json +1 -1
  80. package/dist/dynamic/components/Truncate/package.json +1 -1
  81. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  82. package/dist/dynamic/components/Wizard/package.json +1 -1
  83. package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
  84. package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
  85. package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/Tile/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/package.json +1 -1
  90. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  91. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  92. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  93. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  94. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  95. package/dist/dynamic/helpers/constants/package.json +1 -1
  96. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  97. package/dist/dynamic/helpers/fileUtils/package.json +1 -1
  98. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  99. package/dist/dynamic/helpers/package.json +1 -1
  100. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  101. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  102. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  103. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  104. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  105. package/dist/dynamic/helpers/util/package.json +1 -1
  106. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  107. package/dist/dynamic/layouts/Flex/package.json +1 -1
  108. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  109. package/dist/dynamic/layouts/Grid/package.json +1 -1
  110. package/dist/dynamic/layouts/Level/package.json +1 -1
  111. package/dist/dynamic/layouts/Split/package.json +1 -1
  112. package/dist/dynamic/layouts/Stack/package.json +1 -1
  113. package/dist/dynamic/styles/package.json +1 -1
  114. package/dist/dynamic-modules.json +1 -0
  115. package/dist/esm/components/CalendarMonth/CalendarMonth.d.ts.map +1 -1
  116. package/dist/esm/components/CalendarMonth/CalendarMonth.js +7 -11
  117. package/dist/esm/components/CalendarMonth/CalendarMonth.js.map +1 -1
  118. package/dist/esm/components/FileUpload/FileUpload.d.ts +2 -1
  119. package/dist/esm/components/FileUpload/FileUpload.d.ts.map +1 -1
  120. package/dist/esm/components/FileUpload/FileUpload.js +2 -1
  121. package/dist/esm/components/FileUpload/FileUpload.js.map +1 -1
  122. package/dist/esm/components/Toolbar/ToolbarFilter.d.ts.map +1 -1
  123. package/dist/esm/components/Toolbar/ToolbarFilter.js +4 -2
  124. package/dist/esm/components/Toolbar/ToolbarFilter.js.map +1 -1
  125. package/dist/esm/demos/DashboardWrapper.d.ts.map +1 -1
  126. package/dist/esm/demos/DashboardWrapper.js +10 -2
  127. package/dist/esm/demos/DashboardWrapper.js.map +1 -1
  128. package/dist/js/components/CalendarMonth/CalendarMonth.d.ts.map +1 -1
  129. package/dist/js/components/CalendarMonth/CalendarMonth.js +7 -11
  130. package/dist/js/components/CalendarMonth/CalendarMonth.js.map +1 -1
  131. package/dist/js/components/FileUpload/FileUpload.d.ts +2 -1
  132. package/dist/js/components/FileUpload/FileUpload.d.ts.map +1 -1
  133. package/dist/js/components/FileUpload/FileUpload.js +2 -1
  134. package/dist/js/components/FileUpload/FileUpload.js.map +1 -1
  135. package/dist/js/components/Toolbar/ToolbarFilter.d.ts.map +1 -1
  136. package/dist/js/components/Toolbar/ToolbarFilter.js +4 -2
  137. package/dist/js/components/Toolbar/ToolbarFilter.js.map +1 -1
  138. package/dist/js/demos/DashboardWrapper.d.ts.map +1 -1
  139. package/dist/js/demos/DashboardWrapper.js +10 -2
  140. package/dist/js/demos/DashboardWrapper.js.map +1 -1
  141. package/dist/umd/assets/{output-B0G4u0sM.css → output-ByZdJvYx.css} +9561 -9514
  142. package/dist/umd/react-core.min.js +1 -1
  143. package/helpers/package.json +1 -1
  144. package/layouts/package.json +1 -1
  145. package/next/package.json +1 -1
  146. package/package.json +6 -6
  147. package/src/components/CalendarMonth/CalendarMonth.tsx +7 -10
  148. package/src/components/FileUpload/FileUpload.tsx +3 -1
  149. package/src/components/FileUpload/examples/FileUpload.md +1 -1
  150. package/src/components/FileUpload/examples/FileUploadTextWithRestrictions.tsx +24 -7
  151. package/src/components/LoginPage/examples/LoginPage.md +1 -1
  152. package/src/components/LoginPage/examples/LoginPageBasic.tsx +2 -2
  153. package/src/components/LoginPage/examples/LoginPageLanguageSelect.tsx +2 -2
  154. package/src/components/LoginPage/examples/LoginPageShowHidePassword.tsx +2 -2
  155. package/src/components/Modal/examples/Modal.md +1 -1
  156. package/src/components/SkipToContent/examples/SkipToContentBasic.tsx +144 -126
  157. package/src/components/Toolbar/ToolbarFilter.tsx +2 -1
  158. package/src/components/Wizard/examples/Wizard.md +2 -1
  159. package/src/components/Wizard/examples/WizardWithinModal.tsx +5 -8
  160. package/src/demos/CustomMenus/ApplicationLauncher.md +1 -1
  161. package/src/demos/CustomMenus/CustomMenus.md +1 -1
  162. package/src/demos/CustomMenus/examples/ApplicationLauncherDemo.tsx +2 -2
  163. package/src/demos/CustomMenus/examples/DrilldownMenuDemo.tsx +1 -1
  164. package/src/demos/DashboardWrapper.tsx +13 -2
  165. package/src/demos/ExpandableSection/examples/ExpandableTextDemo.tsx +1 -7
  166. package/src/demos/NotificationDrawer/examples/NotificationDrawerBasic.tsx +15 -1
  167. package/src/demos/NotificationDrawer/examples/NotificationDrawerGrouped.tsx +15 -1
  168. package/src/demos/assets/PF-IconLogo.svg +17 -0
  169. package/src/demos/examples/Masthead/MastheadWithHorizontalNav.tsx +14 -1
  170. package/src/demos/examples/Masthead/MastheadWithUtilitiesAndUserDropdownMenu.tsx +14 -1
  171. package/src/demos/examples/Nav/NavDefault.tsx +15 -1
  172. package/src/demos/examples/Nav/NavExpandable.tsx +15 -1
  173. package/src/demos/examples/Nav/NavFlyout.tsx +15 -1
  174. package/src/demos/examples/Nav/NavGrouped.tsx +15 -1
  175. package/src/demos/examples/Nav/NavHorizontal.tsx +15 -1
  176. package/src/demos/examples/Nav/NavHorizontalWithSubnav.tsx +15 -1
  177. package/src/demos/examples/Nav/NavManual.tsx +15 -1
  178. package/src/demos/examples/Nav/NavWithSubnav.tsx +15 -1
  179. package/src/demos/examples/Page/PageContextSelector.tsx +14 -1
  180. package/src/demos/examples/Page/PageStickySectionBreadcrumb.tsx +14 -1
  181. package/src/demos/examples/Page/PageStickySectionGroup.tsx +14 -1
  182. package/src/demos/examples/Page/PageStickySectionGroupAlternate.tsx +14 -1
  183. package/src/demos/examples/Wizard/InPageWithDrawer.tsx +15 -1
  184. package/src/demos/examples/Wizard/InPageWithDrawerInformationalStep.tsx +14 -1
  185. package/src/demos/examples/DashboardWrapper.js +0 -126
@@ -12,7 +12,7 @@ import {
12
12
  DropdownItem
13
13
  } from '@patternfly/react-core';
14
14
  import ThIcon from '@patternfly/react-icons/dist/js/icons/th-icon';
15
- import pfIcon from '@patternfly/react-core/src/demos/Card/pf-logo-small.svg';
15
+ import brandImg from '@patternfly/react-core/src/demos/assets/PF-IconLogo.svg';
16
16
 
17
17
  const MockLink: React.FunctionComponent = ({ to, ...props }: any) => <a href={to} {...props}></a>;
18
18
 
@@ -69,7 +69,7 @@ export const ApplicationLauncherDemo: React.FunctionComponent = () => {
69
69
  id="3"
70
70
  isFavorited={favorites.includes('3')}
71
71
  isExternalLink
72
- icon={<img src={pfIcon} />}
72
+ icon={<img src={brandImg} alt="" width={25} height={25} />}
73
73
  component={(props) => <MockLink {...props} to="#router-link2" />}
74
74
  >
75
75
  Custom component with icon
@@ -52,7 +52,7 @@ export const DrilldownMenuDemo: React.FunctionComponent = () => {
52
52
  };
53
53
 
54
54
  const setHeight = (menuId: string, height: number) => {
55
- if (!menuHeights[menuId] || (menuId !== 'rootMenu' && menuHeights[menuId] !== height)) {
55
+ if (menuHeights[menuId] === undefined || (menuId !== 'rootMenu' && menuHeights[menuId] !== height)) {
56
56
  setMenuHeights({
57
57
  ...menuHeights,
58
58
  [menuId]: height
@@ -98,8 +98,19 @@ export const DashboardWrapper: React.FC<DashboardWrapperProps> = ({
98
98
  </PageSidebar>
99
99
  );
100
100
 
101
+ const defaultContainerId = 'main-content-page-layout-default-nav';
102
+
103
+ const handleClick = (event: React.MouseEvent) => {
104
+ event.preventDefault();
105
+
106
+ const mainContentElement = document.getElementById(mainContainerId ?? defaultContainerId);
107
+ if (mainContentElement) {
108
+ mainContentElement.focus();
109
+ }
110
+ };
111
+
101
112
  const PageSkipToContent = (
102
- <SkipToContent href={`#${mainContainerId ?? 'main-content-page-layout-default-nav'}`}>
113
+ <SkipToContent onClick={handleClick} href={`#${mainContainerId ?? defaultContainerId}`}>
103
114
  Skip to content
104
115
  </SkipToContent>
105
116
  );
@@ -112,7 +123,7 @@ export const DashboardWrapper: React.FC<DashboardWrapperProps> = ({
112
123
  skipToContent={PageSkipToContent}
113
124
  banner={banner}
114
125
  breadcrumb={renderedBreadcrumb}
115
- mainContainerId={mainContainerId ?? 'main-content-page-layout-default-nav'}
126
+ mainContainerId={mainContainerId ?? defaultContainerId}
116
127
  notificationDrawer={notificationDrawer}
117
128
  isNotificationDrawerExpanded={isNotificationDrawerExpanded}
118
129
  {...(typeof onPageResize === 'function' && {
@@ -8,13 +8,7 @@ export const ExpandableTextDemo: React.FunctionComponent = () => {
8
8
  setIsExpanded(isExpanded);
9
9
  };
10
10
 
11
- const content = `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque nec dignissim turpis, et tristique purus.
12
- Phasellus efficitur ante quis dolor viverra imperdiet. Orci varius natoque penatibus et magnis dis parturient
13
- montes, nascetur ridiculus mus. Pellentesque laoreet, sem ac elementum semper, lectus mauris vestibulum nulla,
14
- eget volutpat massa neque vel turpis. Donec finibus enim eu leo accumsan consectetur. Praesent massa diam,
15
- tincidunt eu dui ac, ullamcorper elementum est. Phasellus metus felis, venenatis vitae semper nec, porta a metus.
16
- Vestibulum justo nisi, imperdiet id eleifend at, varius nec lorem. Fusce porttitor mollis nibh, ut elementum ante
17
- commodo tincidunt. Integer tincidunt at ipsum non aliquet.`;
11
+ const content = `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque nec dignissim turpis, et tristique purus. Phasellus efficitur ante quis dolor viverra imperdiet. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Pellentesque laoreet, sem ac elementum semper, lectus mauris vestibulum nulla, eget volutpat massa neque vel turpis. Donec finibus enim eu leo accumsan consectetur. Praesent massa diam, tincidunt eu dui ac, ullamcorper elementum est. Phasellus metus felis, venenatis vitae semper nec, porta a metus. Vestibulum justo nisi, imperdiet id eleifend at, varius nec lorem. Fusce porttitor mollis nibh, ut elementum ante commodo tincidunt. Integer tincidunt at ipsum non aliquet.`;
18
12
 
19
13
  return (
20
14
  <ExpandableSection
@@ -279,7 +279,21 @@ export const NotificationDrawerBasic: React.FunctionComponent = () => {
279
279
  </PageSidebar>
280
280
  );
281
281
  const pageId = 'main-content-page-layout-default-nav';
282
- const PageSkipToContent = <SkipToContent href={`#${pageId}`}>Skip to content</SkipToContent>;
282
+
283
+ const handleClick = (event) => {
284
+ event.preventDefault();
285
+
286
+ const mainContentElement = document.getElementById(pageId);
287
+ if (mainContentElement) {
288
+ mainContentElement.focus();
289
+ }
290
+ };
291
+
292
+ const PageSkipToContent = (
293
+ <SkipToContent onClick={handleClick} href={`#${pageId}`}>
294
+ Skip to content
295
+ </SkipToContent>
296
+ );
283
297
 
284
298
  const PageBreadcrumb = (
285
299
  <Breadcrumb>
@@ -329,7 +329,21 @@ export const NotificationDrawerGrouped: React.FunctionComponent = () => {
329
329
  </PageSidebar>
330
330
  );
331
331
  const pageId = 'main-content-page-layout-default-nav';
332
- const PageSkipToContent = <SkipToContent href={`#${pageId}`}>Skip to content</SkipToContent>;
332
+
333
+ const handleClick = (event) => {
334
+ event.preventDefault();
335
+
336
+ const mainContentElement = document.getElementById(pageId);
337
+ if (mainContentElement) {
338
+ mainContentElement.focus();
339
+ }
340
+ };
341
+
342
+ const PageSkipToContent = (
343
+ <SkipToContent onClick={handleClick} href={`#${pageId}`}>
344
+ Skip to content
345
+ </SkipToContent>
346
+ );
333
347
 
334
348
  const PageBreadcrumb = (
335
349
  <Breadcrumb>
@@ -0,0 +1,17 @@
1
+ <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g id="Logo">
3
+ <path id="Rectangle-Copy-17" fill-rule="evenodd" clip-rule="evenodd" d="M15.6522 0H40V24.3478H37.3913C25.3851 24.3478 15.6522 14.6149 15.6522 2.6087V0Z" fill="#0066CC"/>
4
+ <path id="Path-2" fill-rule="evenodd" clip-rule="evenodd" d="M40 0.869568L16.5217 40H34.9367C37.7331 40 40 37.7331 40 34.9367V0.869568Z" fill="url(#paint0_linear_6460_7774)"/>
5
+ <path id="Path-2_2" fill-rule="evenodd" clip-rule="evenodd" d="M39.1304 9.53674e-06L-3.8147e-06 23.4783V5.0633C-3.8147e-06 2.26692 2.26691 9.53674e-06 5.06329 9.53674e-06L39.1304 9.53674e-06Z" fill="url(#paint1_linear_6460_7774)"/>
6
+ </g>
7
+ <defs>
8
+ <linearGradient id="paint0_linear_6460_7774" x1="1613.04" y1="0.869504" x2="-337.034" y2="3251" gradientUnits="userSpaceOnUse">
9
+ <stop stop-color="#2B9AF3"/>
10
+ <stop offset="1" stop-color="#73BCF7" stop-opacity="0.502213"/>
11
+ </linearGradient>
12
+ <linearGradient id="paint1_linear_6460_7774" x1="39.1305" y1="-1573.04" x2="-3211" y2="377.033" gradientUnits="userSpaceOnUse">
13
+ <stop stop-color="#2B9AF3"/>
14
+ <stop offset="1" stop-color="#73BCF7" stop-opacity="0.502213"/>
15
+ </linearGradient>
16
+ </defs>
17
+ </svg>
@@ -282,7 +282,20 @@ export const MastheadWithHorizontalNav: React.FunctionComponent = () => {
282
282
 
283
283
  const mainContainerId = 'main-content-page-layout-tertiary-nav';
284
284
 
285
- const pageSkipToContent = <SkipToContent href={`#${mainContainerId}`}>Skip to content</SkipToContent>;
285
+ const handleClick = (event) => {
286
+ event.preventDefault();
287
+
288
+ const mainContentElement = document.getElementById(mainContainerId);
289
+ if (mainContentElement) {
290
+ mainContentElement.focus();
291
+ }
292
+ };
293
+
294
+ const pageSkipToContent = (
295
+ <SkipToContent onClick={handleClick} href={`#${mainContainerId}`}>
296
+ Skip to content
297
+ </SkipToContent>
298
+ );
286
299
 
287
300
  return (
288
301
  <Page
@@ -515,7 +515,20 @@ export const MastheadWithUtilitiesAndUserDropdownMenu: React.FunctionComponent =
515
515
 
516
516
  const mainContainerId = 'main-content-page-layout-tertiary-nav';
517
517
 
518
- const pageSkipToContent = <SkipToContent href={`#${mainContainerId}`}>Skip to content</SkipToContent>;
518
+ const handleClick = (event) => {
519
+ event.preventDefault();
520
+
521
+ const mainContentElement = document.getElementById(mainContainerId);
522
+ if (mainContentElement) {
523
+ mainContentElement.focus();
524
+ }
525
+ };
526
+
527
+ const pageSkipToContent = (
528
+ <SkipToContent onClick={handleClick} href={`#${mainContainerId}`}>
529
+ Skip to content
530
+ </SkipToContent>
531
+ );
519
532
 
520
533
  return (
521
534
  <Page
@@ -58,7 +58,21 @@ export const NavDefault: React.FunctionComponent = () => {
58
58
  </PageSidebar>
59
59
  );
60
60
  const pageId = 'main-content-page-layout-default-nav';
61
- const PageSkipToContent = <SkipToContent href={`#${pageId}`}>Skip to content</SkipToContent>;
61
+
62
+ const handleClick = (event) => {
63
+ event.preventDefault();
64
+
65
+ const mainContentElement = document.getElementById(pageId);
66
+ if (mainContentElement) {
67
+ mainContentElement.focus();
68
+ }
69
+ };
70
+
71
+ const PageSkipToContent = (
72
+ <SkipToContent onClick={handleClick} href={`#${pageId}`}>
73
+ Skip to content
74
+ </SkipToContent>
75
+ );
62
76
 
63
77
  return (
64
78
  <>
@@ -84,7 +84,21 @@ export const NavExpandableDemo: React.FunctionComponent = () => {
84
84
  </PageSidebar>
85
85
  );
86
86
  const pageId = 'main-content-page-layout-expandable-nav';
87
- const PageSkipToContent = <SkipToContent href={`#${pageId}`}>Skip to content</SkipToContent>;
87
+
88
+ const handleClick = (event) => {
89
+ event.preventDefault();
90
+
91
+ const mainContentElement = document.getElementById(pageId);
92
+ if (mainContentElement) {
93
+ mainContentElement.focus();
94
+ }
95
+ };
96
+
97
+ const PageSkipToContent = (
98
+ <SkipToContent onClick={handleClick} href={`#${pageId}`}>
99
+ Skip to content
100
+ </SkipToContent>
101
+ );
88
102
 
89
103
  return (
90
104
  <React.Fragment>
@@ -259,7 +259,21 @@ export const NavFlyout: React.FunctionComponent = () => {
259
259
  );
260
260
 
261
261
  const pageId = 'main-content-page-layout-flyout-nav';
262
- const PageSkipToContent = <SkipToContent href={`#${pageId}`}>Skip to Content</SkipToContent>;
262
+
263
+ const handleClick = (event) => {
264
+ event.preventDefault();
265
+
266
+ const mainContentElement = document.getElementById(pageId);
267
+ if (mainContentElement) {
268
+ mainContentElement.focus();
269
+ }
270
+ };
271
+
272
+ const PageSkipToContent = (
273
+ <SkipToContent onClick={handleClick} href={`#${pageId}`}>
274
+ Skip to content
275
+ </SkipToContent>
276
+ );
263
277
 
264
278
  return (
265
279
  <Page
@@ -67,7 +67,21 @@ export const NavGrouped: React.FunctionComponent = () => {
67
67
  </PageSidebar>
68
68
  );
69
69
  const pageId = 'main-content-page-layout-group-nav';
70
- const PageSkipToContent = <SkipToContent href={`#${pageId}`}>Skip to Content</SkipToContent>;
70
+
71
+ const handleClick = (event) => {
72
+ event.preventDefault();
73
+
74
+ const mainContentElement = document.getElementById(pageId);
75
+ if (mainContentElement) {
76
+ mainContentElement.focus();
77
+ }
78
+ };
79
+
80
+ const PageSkipToContent = (
81
+ <SkipToContent onClick={handleClick} href={`#${pageId}`}>
82
+ Skip to content
83
+ </SkipToContent>
84
+ );
71
85
 
72
86
  return (
73
87
  <>
@@ -204,7 +204,21 @@ export const NavHorizontal: React.FunctionComponent = () => {
204
204
  );
205
205
 
206
206
  const pageId = 'main-content-page-layout-horizontal-nav';
207
- const PageSkipToContent = <SkipToContent href={`#${pageId}`}>Skip to content</SkipToContent>;
207
+
208
+ const handleClick = (event) => {
209
+ event.preventDefault();
210
+
211
+ const mainContentElement = document.getElementById(pageId);
212
+ if (mainContentElement) {
213
+ mainContentElement.focus();
214
+ }
215
+ };
216
+
217
+ const PageSkipToContent = (
218
+ <SkipToContent onClick={handleClick} href={`#${pageId}`}>
219
+ Skip to content
220
+ </SkipToContent>
221
+ );
208
222
 
209
223
  return (
210
224
  <React.Fragment>
@@ -258,7 +258,21 @@ export const NavHorizontalWithSubnav: React.FunctionComponent = () => {
258
258
  );
259
259
 
260
260
  const pageId = 'main-content-page-layout-horizontal-nav';
261
- const PageSkipToContent = <SkipToContent href={`#${pageId}`}>Skip to content</SkipToContent>;
261
+
262
+ const handleClick = (event) => {
263
+ event.preventDefault();
264
+
265
+ const mainContentElement = document.getElementById(pageId);
266
+ if (mainContentElement) {
267
+ mainContentElement.focus();
268
+ }
269
+ };
270
+
271
+ const PageSkipToContent = (
272
+ <SkipToContent onClick={handleClick} href={`#${pageId}`}>
273
+ Skip to content
274
+ </SkipToContent>
275
+ );
262
276
 
263
277
  return (
264
278
  <React.Fragment>
@@ -234,7 +234,21 @@ export const NavManual: React.FunctionComponent = () => {
234
234
  </PageSidebar>
235
235
  );
236
236
  const pageId = 'main-content-page-layout-manual-nav';
237
- const PageSkipToContent = <SkipToContent href={`#${pageId}`}>Skip to Content</SkipToContent>;
237
+
238
+ const handleClick = (event) => {
239
+ event.preventDefault();
240
+
241
+ const mainContentElement = document.getElementById(pageId);
242
+ if (mainContentElement) {
243
+ mainContentElement.focus();
244
+ }
245
+ };
246
+
247
+ const PageSkipToContent = (
248
+ <SkipToContent onClick={handleClick} href={`#${pageId}`}>
249
+ Skip to content
250
+ </SkipToContent>
251
+ );
238
252
 
239
253
  return (
240
254
  <React.Fragment>
@@ -69,7 +69,21 @@ export const NavWithSubnav: React.FunctionComponent = () => {
69
69
  </PageSidebar>
70
70
  );
71
71
  const pageId = 'main-content-page-layout-default-nav';
72
- const PageSkipToContent = <SkipToContent href={`#${pageId}`}>Skip to content</SkipToContent>;
72
+
73
+ const handleClick = (event) => {
74
+ event.preventDefault();
75
+
76
+ const mainContentElement = document.getElementById(pageId);
77
+ if (mainContentElement) {
78
+ mainContentElement.focus();
79
+ }
80
+ };
81
+
82
+ const PageSkipToContent = (
83
+ <SkipToContent onClick={handleClick} href={`#${pageId}`}>
84
+ Skip to content
85
+ </SkipToContent>
86
+ );
73
87
 
74
88
  const SubNav = (
75
89
  <Nav onSelect={onSubNavSelect} aria-label="Subnav" variant="horizontal-subnav">
@@ -284,7 +284,20 @@ export const PageStickySectionBreadcrumb: React.FunctionComponent = () => {
284
284
 
285
285
  const mainContainerId = 'main-content';
286
286
 
287
- const pageSkipToContent = <SkipToContent href={`#${mainContainerId}`}>Skip to content</SkipToContent>;
287
+ const handleClick = (event) => {
288
+ event.preventDefault();
289
+
290
+ const mainContentElement = document.getElementById(mainContainerId);
291
+ if (mainContentElement) {
292
+ mainContentElement.focus();
293
+ }
294
+ };
295
+
296
+ const pageSkipToContent = (
297
+ <SkipToContent onClick={handleClick} href={`#${mainContainerId}`}>
298
+ Skip to content
299
+ </SkipToContent>
300
+ );
288
301
 
289
302
  return (
290
303
  <Page
@@ -251,7 +251,20 @@ export const PageStickySectionBreadcrumb: React.FunctionComponent = () => {
251
251
 
252
252
  const mainContainerId = 'main-content';
253
253
 
254
- const pageSkipToContent = <SkipToContent href={`#${mainContainerId}`}>Skip to content</SkipToContent>;
254
+ const handleClick = (event) => {
255
+ event.preventDefault();
256
+
257
+ const mainContentElement = document.getElementById(mainContainerId);
258
+ if (mainContentElement) {
259
+ mainContentElement.focus();
260
+ }
261
+ };
262
+
263
+ const pageSkipToContent = (
264
+ <SkipToContent onClick={handleClick} href={`#${mainContainerId}`}>
265
+ Skip to content
266
+ </SkipToContent>
267
+ );
255
268
 
256
269
  return (
257
270
  <Page
@@ -251,7 +251,20 @@ export const PageStickySectionGroup: React.FunctionComponent = () => {
251
251
 
252
252
  const mainContainerId = 'main-content';
253
253
 
254
- const pageSkipToContent = <SkipToContent href={`#${mainContainerId}`}>Skip to content</SkipToContent>;
254
+ const handleClick = (event) => {
255
+ event.preventDefault();
256
+
257
+ const mainContentElement = document.getElementById(mainContainerId);
258
+ if (mainContentElement) {
259
+ mainContentElement.focus();
260
+ }
261
+ };
262
+
263
+ const pageSkipToContent = (
264
+ <SkipToContent onClick={handleClick} href={`#${mainContainerId}`}>
265
+ Skip to content
266
+ </SkipToContent>
267
+ );
255
268
 
256
269
  return (
257
270
  <Page
@@ -243,7 +243,20 @@ export const PageStickySectionGroupAlternate: React.FunctionComponent = () => {
243
243
 
244
244
  const mainContainerId = 'main-content';
245
245
 
246
- const pageSkipToContent = <SkipToContent href={`#${mainContainerId}`}>Skip to content</SkipToContent>;
246
+ const handleClick = (event) => {
247
+ event.preventDefault();
248
+
249
+ const mainContentElement = document.getElementById(mainContainerId);
250
+ if (mainContentElement) {
251
+ mainContentElement.focus();
252
+ }
253
+ };
254
+
255
+ const pageSkipToContent = (
256
+ <SkipToContent onClick={handleClick} href={`#${mainContainerId}`}>
257
+ Skip to content
258
+ </SkipToContent>
259
+ );
247
260
 
248
261
  return (
249
262
  <Page
@@ -104,7 +104,21 @@ export const WizardFullPageWithDrawerDemo: React.FunctionComponent = () => {
104
104
  );
105
105
 
106
106
  const pageId = 'main-content-page-layout-default-nav';
107
- const PageSkipToContent = <SkipToContent href={`#${pageId}`}>Skip to content</SkipToContent>;
107
+
108
+ const handleClick = (event) => {
109
+ event.preventDefault();
110
+
111
+ const mainContentElement = document.getElementById(pageId);
112
+ if (mainContentElement) {
113
+ mainContentElement.focus();
114
+ }
115
+ };
116
+
117
+ const PageSkipToContent = (
118
+ <SkipToContent onClick={handleClick} href={`#${pageId}`}>
119
+ Skip to content
120
+ </SkipToContent>
121
+ );
108
122
 
109
123
  const PageBreadcrumb = (
110
124
  <Breadcrumb>
@@ -105,7 +105,20 @@ export const WizardFullPageWithDrawerInfoStepDemo: React.FunctionComponent = ()
105
105
 
106
106
  const pageId = 'main-content-page-layout-default-nav';
107
107
 
108
- const PageSkipToContent = <SkipToContent href={`#${pageId}`}>Skip to content</SkipToContent>;
108
+ const handleClick = (event) => {
109
+ event.preventDefault();
110
+
111
+ const mainContentElement = document.getElementById(pageId);
112
+ if (mainContentElement) {
113
+ mainContentElement.focus();
114
+ }
115
+ };
116
+
117
+ const PageSkipToContent = (
118
+ <SkipToContent onClick={handleClick} href={`#${pageId}`}>
119
+ Skip to content
120
+ </SkipToContent>
121
+ );
109
122
 
110
123
  const PageBreadcrumb = (
111
124
  <Breadcrumb>
@@ -1,126 +0,0 @@
1
- import React from 'react';
2
- import {
3
- Breadcrumb,
4
- BreadcrumbItem,
5
- Content,
6
- Nav,
7
- NavItem,
8
- NavList,
9
- Page,
10
- PageSection,
11
- PageSidebar,
12
- PageSidebarBody,
13
- SkipToContent
14
- } from '@patternfly/react-core';
15
- import DashboardHeader from '@patternfly/react-core/src/demos/examples/DashboardHeader';
16
-
17
- export const DashboardBreadcrumb = (
18
- <Breadcrumb>
19
- <BreadcrumbItem>Section home</BreadcrumbItem>
20
- <BreadcrumbItem to="#">Section title</BreadcrumbItem>
21
- <BreadcrumbItem to="#">Section title</BreadcrumbItem>
22
- <BreadcrumbItem to="#" isActive>
23
- Section landing
24
- </BreadcrumbItem>
25
- </Breadcrumb>
26
- );
27
-
28
- export const PageTemplateTitle = (
29
- <PageSection>
30
- <Content>
31
- <h1>Main title</h1>
32
- <p>This is a full page demo.</p>
33
- </Content>
34
- </PageSection>
35
- );
36
-
37
- export default class DashboardWrapper extends React.Component {
38
- constructor(props) {
39
- super(props);
40
- this.state = {
41
- activeItem: 1
42
- };
43
-
44
- this.onNavSelect = (_event, result) => {
45
- this.setState({
46
- activeItem: result.itemId
47
- });
48
- };
49
- }
50
-
51
- render() {
52
- const { activeItem } = this.state;
53
- const {
54
- children,
55
- mainContainerId,
56
- breadcrumb,
57
- masthead,
58
- sidebar,
59
- sidebarNavOpen,
60
- onPageResize = () => {},
61
- hasNoBreadcrumb,
62
- notificationDrawer,
63
- isNotificationDrawerExpanded,
64
- hasPageTemplateTitle,
65
- ...pageProps
66
- } = this.props;
67
-
68
- let renderedBreadcrumb;
69
- if (!hasNoBreadcrumb) {
70
- renderedBreadcrumb = breadcrumb !== undefined ? breadcrumb : DashboardBreadcrumb;
71
- }
72
-
73
- const PageNav = (
74
- <Nav onSelect={this.onNavSelect} aria-label="Nav">
75
- <NavList>
76
- <NavItem itemId={0} isActive={activeItem === 0} to="#system-panel">
77
- System panel
78
- </NavItem>
79
- <NavItem itemId={1} isActive={activeItem === 1} to="#policy">
80
- Policy
81
- </NavItem>
82
- <NavItem itemId={2} isActive={activeItem === 2} to="#auth">
83
- Authentication
84
- </NavItem>
85
- <NavItem itemId={3} isActive={activeItem === 3} to="#network">
86
- Network services
87
- </NavItem>
88
- <NavItem itemId={4} isActive={activeItem === 4} to="#server">
89
- Server
90
- </NavItem>
91
- </NavList>
92
- </Nav>
93
- );
94
-
95
- const _sidebar = (
96
- <PageSidebar isSidebarOpen={sidebarNavOpen || false}>
97
- <PageSidebarBody>{PageNav}</PageSidebarBody>
98
- </PageSidebar>
99
- );
100
- const PageSkipToContent = (
101
- <SkipToContent href={`#${mainContainerId ? mainContainerId : 'main-content-page-layout-default-nav'}`}>
102
- Skip to content
103
- </SkipToContent>
104
- );
105
-
106
- return (
107
- <Page
108
- masthead={masthead !== undefined ? masthead : <DashboardHeader />}
109
- sidebar={sidebar !== undefined ? sidebar : _sidebar}
110
- isManagedSidebar
111
- skipToContent={PageSkipToContent}
112
- breadcrumb={renderedBreadcrumb}
113
- mainContainerId={mainContainerId ? mainContainerId : 'main-content-page-layout-default-nav'}
114
- notificationDrawer={notificationDrawer}
115
- isNotificationDrawerExpanded={isNotificationDrawerExpanded}
116
- {...(typeof onPageResize === 'function' && {
117
- onPageResize: (event, resizeObject) => onPageResize(event, resizeObject)
118
- })}
119
- {...pageProps}
120
- >
121
- {hasPageTemplateTitle && PageTemplateTitle}
122
- {children}
123
- </Page>
124
- );
125
- }
126
- }