@patternfly/react-core 6.5.0-prerelease.21 → 6.5.0-prerelease.25

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 (276) hide show
  1. package/CHANGELOG.md +23 -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/Compass/package.json +1 -1
  23. package/dist/dynamic/components/Content/package.json +1 -1
  24. package/dist/dynamic/components/DataList/package.json +1 -1
  25. package/dist/dynamic/components/DatePicker/package.json +1 -1
  26. package/dist/dynamic/components/DescriptionList/package.json +1 -1
  27. package/dist/dynamic/components/Divider/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/Hero/package.json +1 -1
  38. package/dist/dynamic/components/Hint/package.json +1 -1
  39. package/dist/dynamic/components/Icon/package.json +1 -1
  40. package/dist/dynamic/components/InputGroup/package.json +1 -1
  41. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  42. package/dist/dynamic/components/Label/package.json +1 -1
  43. package/dist/dynamic/components/List/package.json +1 -1
  44. package/dist/dynamic/components/LoginPage/package.json +1 -1
  45. package/dist/dynamic/components/Masthead/package.json +1 -1
  46. package/dist/dynamic/components/Menu/package.json +1 -1
  47. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  48. package/dist/dynamic/components/Modal/package.json +1 -1
  49. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  50. package/dist/dynamic/components/Nav/package.json +1 -1
  51. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  52. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  53. package/dist/dynamic/components/NumberInput/package.json +1 -1
  54. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  55. package/dist/dynamic/components/Page/package.json +1 -1
  56. package/dist/dynamic/components/Pagination/package.json +1 -1
  57. package/dist/dynamic/components/Panel/package.json +1 -1
  58. package/dist/dynamic/components/Popover/package.json +1 -1
  59. package/dist/dynamic/components/Progress/package.json +1 -1
  60. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  61. package/dist/dynamic/components/Radio/package.json +1 -1
  62. package/dist/dynamic/components/SearchInput/package.json +1 -1
  63. package/dist/dynamic/components/Select/package.json +1 -1
  64. package/dist/dynamic/components/Sidebar/package.json +1 -1
  65. package/dist/dynamic/components/SimpleList/package.json +1 -1
  66. package/dist/dynamic/components/Skeleton/package.json +1 -1
  67. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  68. package/dist/dynamic/components/Slider/package.json +1 -1
  69. package/dist/dynamic/components/Spinner/package.json +1 -1
  70. package/dist/dynamic/components/Switch/package.json +1 -1
  71. package/dist/dynamic/components/Tabs/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/TimePicker/package.json +1 -1
  76. package/dist/dynamic/components/Timestamp/package.json +1 -1
  77. package/dist/dynamic/components/Title/package.json +1 -1
  78. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  79. package/dist/dynamic/components/Toolbar/package.json +1 -1
  80. package/dist/dynamic/components/Tooltip/package.json +1 -1
  81. package/dist/dynamic/components/TreeView/package.json +1 -1
  82. package/dist/dynamic/components/Truncate/package.json +1 -1
  83. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  84. package/dist/dynamic/components/Wizard/package.json +1 -1
  85. package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/Tile/package.json +1 -1
  90. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  91. package/dist/dynamic/deprecated/components/package.json +1 -1
  92. package/dist/dynamic/helpers/AnimationsProvider/AnimationsProvider/package.json +1 -1
  93. package/dist/dynamic/helpers/AnimationsProvider/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/fileUtils/package.json +1 -1
  102. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  103. package/dist/dynamic/helpers/package.json +1 -1
  104. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  105. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  106. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  107. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  108. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  109. package/dist/dynamic/helpers/util/package.json +1 -1
  110. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  111. package/dist/dynamic/layouts/Flex/package.json +1 -1
  112. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  113. package/dist/dynamic/layouts/Grid/package.json +1 -1
  114. package/dist/dynamic/layouts/Level/package.json +1 -1
  115. package/dist/dynamic/layouts/Split/package.json +1 -1
  116. package/dist/dynamic/layouts/Stack/package.json +1 -1
  117. package/dist/dynamic/styles/package.json +1 -1
  118. package/dist/esm/components/ClipboardCopy/ClipboardCopy.d.ts +8 -0
  119. package/dist/esm/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
  120. package/dist/esm/components/ClipboardCopy/ClipboardCopy.js +4 -2
  121. package/dist/esm/components/ClipboardCopy/ClipboardCopy.js.map +1 -1
  122. package/dist/esm/components/Compass/Compass.d.ts +5 -3
  123. package/dist/esm/components/Compass/Compass.d.ts.map +1 -1
  124. package/dist/esm/components/Compass/Compass.js +3 -3
  125. package/dist/esm/components/Compass/Compass.js.map +1 -1
  126. package/dist/esm/components/Compass/CompassContent.d.ts +1 -1
  127. package/dist/esm/components/Compass/CompassContent.js +1 -1
  128. package/dist/esm/components/Compass/CompassContent.js.map +1 -1
  129. package/dist/esm/components/Compass/CompassMainHeader.d.ts +4 -4
  130. package/dist/esm/components/Compass/CompassMainHeaderContent.d.ts +2 -2
  131. package/dist/esm/components/Compass/CompassMainHeaderTitle.d.ts +2 -2
  132. package/dist/esm/components/Compass/CompassMainHeaderToolbar.d.ts +2 -2
  133. package/dist/esm/components/Drawer/DrawerPanelContent.d.ts.map +1 -1
  134. package/dist/esm/components/Drawer/DrawerPanelContent.js +7 -1
  135. package/dist/esm/components/Drawer/DrawerPanelContent.js.map +1 -1
  136. package/dist/esm/components/Form/FormGroup.d.ts.map +1 -1
  137. package/dist/esm/components/Form/FormGroup.js +1 -1
  138. package/dist/esm/components/Form/FormGroup.js.map +1 -1
  139. package/dist/esm/components/Masthead/Masthead.d.ts +2 -0
  140. package/dist/esm/components/Masthead/Masthead.d.ts.map +1 -1
  141. package/dist/esm/components/Masthead/Masthead.js +2 -2
  142. package/dist/esm/components/Masthead/Masthead.js.map +1 -1
  143. package/dist/esm/components/Nav/Nav.d.ts +2 -2
  144. package/dist/esm/components/Nav/Nav.d.ts.map +1 -1
  145. package/dist/esm/components/Nav/Nav.js +1 -1
  146. package/dist/esm/components/Nav/Nav.js.map +1 -1
  147. package/dist/esm/components/Nav/NavItem.d.ts +5 -1
  148. package/dist/esm/components/Nav/NavItem.d.ts.map +1 -1
  149. package/dist/esm/components/Nav/NavItem.js +8 -6
  150. package/dist/esm/components/Nav/NavItem.js.map +1 -1
  151. package/dist/esm/components/Page/Page.d.ts +2 -0
  152. package/dist/esm/components/Page/Page.d.ts.map +1 -1
  153. package/dist/esm/components/Page/Page.js +3 -3
  154. package/dist/esm/components/Page/Page.js.map +1 -1
  155. package/dist/esm/components/Toolbar/Toolbar.d.ts +2 -0
  156. package/dist/esm/components/Toolbar/Toolbar.d.ts.map +1 -1
  157. package/dist/esm/components/Toolbar/Toolbar.js +2 -2
  158. package/dist/esm/components/Toolbar/Toolbar.js.map +1 -1
  159. package/dist/esm/components/Wizard/WizardNavInternal.js +3 -3
  160. package/dist/esm/components/Wizard/WizardNavInternal.js.map +1 -1
  161. package/dist/js/components/ClipboardCopy/ClipboardCopy.d.ts +8 -0
  162. package/dist/js/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
  163. package/dist/js/components/ClipboardCopy/ClipboardCopy.js +4 -2
  164. package/dist/js/components/ClipboardCopy/ClipboardCopy.js.map +1 -1
  165. package/dist/js/components/Compass/Compass.d.ts +5 -3
  166. package/dist/js/components/Compass/Compass.d.ts.map +1 -1
  167. package/dist/js/components/Compass/Compass.js +3 -3
  168. package/dist/js/components/Compass/Compass.js.map +1 -1
  169. package/dist/js/components/Compass/CompassContent.d.ts +1 -1
  170. package/dist/js/components/Compass/CompassContent.js +1 -1
  171. package/dist/js/components/Compass/CompassContent.js.map +1 -1
  172. package/dist/js/components/Compass/CompassMainHeader.d.ts +4 -4
  173. package/dist/js/components/Compass/CompassMainHeaderContent.d.ts +2 -2
  174. package/dist/js/components/Compass/CompassMainHeaderTitle.d.ts +2 -2
  175. package/dist/js/components/Compass/CompassMainHeaderToolbar.d.ts +2 -2
  176. package/dist/js/components/Drawer/DrawerPanelContent.d.ts.map +1 -1
  177. package/dist/js/components/Drawer/DrawerPanelContent.js +7 -1
  178. package/dist/js/components/Drawer/DrawerPanelContent.js.map +1 -1
  179. package/dist/js/components/Form/FormGroup.d.ts.map +1 -1
  180. package/dist/js/components/Form/FormGroup.js +1 -1
  181. package/dist/js/components/Form/FormGroup.js.map +1 -1
  182. package/dist/js/components/Masthead/Masthead.d.ts +2 -0
  183. package/dist/js/components/Masthead/Masthead.d.ts.map +1 -1
  184. package/dist/js/components/Masthead/Masthead.js +2 -2
  185. package/dist/js/components/Masthead/Masthead.js.map +1 -1
  186. package/dist/js/components/Nav/Nav.d.ts +2 -2
  187. package/dist/js/components/Nav/Nav.d.ts.map +1 -1
  188. package/dist/js/components/Nav/Nav.js +1 -1
  189. package/dist/js/components/Nav/Nav.js.map +1 -1
  190. package/dist/js/components/Nav/NavItem.d.ts +5 -1
  191. package/dist/js/components/Nav/NavItem.d.ts.map +1 -1
  192. package/dist/js/components/Nav/NavItem.js +7 -6
  193. package/dist/js/components/Nav/NavItem.js.map +1 -1
  194. package/dist/js/components/Page/Page.d.ts +2 -0
  195. package/dist/js/components/Page/Page.d.ts.map +1 -1
  196. package/dist/js/components/Page/Page.js +3 -3
  197. package/dist/js/components/Page/Page.js.map +1 -1
  198. package/dist/js/components/Toolbar/Toolbar.d.ts +2 -0
  199. package/dist/js/components/Toolbar/Toolbar.d.ts.map +1 -1
  200. package/dist/js/components/Toolbar/Toolbar.js +2 -2
  201. package/dist/js/components/Toolbar/Toolbar.js.map +1 -1
  202. package/dist/js/components/Wizard/WizardNavInternal.js +3 -3
  203. package/dist/js/components/Wizard/WizardNavInternal.js.map +1 -1
  204. package/dist/umd/assets/{output-Bhl00hr4.css → output-ClqppqYH.css} +16187 -15964
  205. package/dist/umd/react-core.min.js +5 -5
  206. package/helpers/package.json +1 -1
  207. package/layouts/package.json +1 -1
  208. package/next/package.json +1 -1
  209. package/package.json +7 -7
  210. package/src/components/ClipboardCopy/ClipboardCopy.tsx +16 -1
  211. package/src/components/ClipboardCopy/__tests__/ClipboardCopy.test.tsx +72 -0
  212. package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopy.test.tsx.snap +1 -1
  213. package/src/components/Compass/Compass.tsx +46 -30
  214. package/src/components/Compass/CompassContent.tsx +2 -2
  215. package/src/components/Compass/CompassMainHeader.tsx +4 -4
  216. package/src/components/Compass/CompassMainHeaderContent.tsx +2 -2
  217. package/src/components/Compass/CompassMainHeaderTitle.tsx +2 -2
  218. package/src/components/Compass/CompassMainHeaderToolbar.tsx +2 -2
  219. package/src/components/Compass/__tests__/Compass.test.tsx +10 -0
  220. package/src/components/Compass/__tests__/__snapshots__/Compass.test.tsx.snap +1 -1
  221. package/src/components/Compass/__tests__/__snapshots__/CompassContent.test.tsx.snap +1 -1
  222. package/src/components/Compass/examples/Compass.md +16 -15
  223. package/src/components/Compass/examples/CompassDockLayout.tsx +25 -0
  224. package/src/components/Compass/examples/compass.css +16 -4
  225. package/src/components/Drawer/DrawerPanelContent.tsx +7 -0
  226. package/src/components/Drawer/__tests__/DrawerPanelContent.test.tsx +20 -0
  227. package/src/components/Drawer/__tests__/Generated/__snapshots__/DrawerPanelContent.test.tsx.snap +1 -0
  228. package/src/components/Drawer/__tests__/__snapshots__/Drawer.test.tsx.snap +2 -0
  229. package/src/components/Drawer/examples/Drawer.md +1 -1
  230. package/src/components/Drawer/examples/DrawerAdditionalSectionAboveContent.tsx +1 -1
  231. package/src/components/Drawer/examples/DrawerBasic.tsx +1 -1
  232. package/src/components/Drawer/examples/DrawerBasicInline.tsx +1 -1
  233. package/src/components/Drawer/examples/DrawerBasicPill.tsx +1 -1
  234. package/src/components/Drawer/examples/DrawerBreakpoint.tsx +1 -1
  235. package/src/components/Drawer/examples/DrawerInlinePanelEnd.tsx +1 -1
  236. package/src/components/Drawer/examples/DrawerInlinePanelStart.tsx +1 -1
  237. package/src/components/Drawer/examples/DrawerModifiedContentPadding.tsx +1 -1
  238. package/src/components/Drawer/examples/DrawerModifiedPanelPadding.tsx +1 -1
  239. package/src/components/Drawer/examples/DrawerPanelBottom.tsx +1 -1
  240. package/src/components/Drawer/examples/DrawerPanelEnd.tsx +1 -1
  241. package/src/components/Drawer/examples/DrawerPanelStart.tsx +1 -1
  242. package/src/components/Drawer/examples/DrawerPillInline.tsx +1 -1
  243. package/src/components/Drawer/examples/DrawerResizableAtEnd.tsx +1 -1
  244. package/src/components/Drawer/examples/DrawerResizableAtStart.tsx +1 -1
  245. package/src/components/Drawer/examples/DrawerResizableOnBottom.tsx +1 -1
  246. package/src/components/Drawer/examples/DrawerResizableOnInline.tsx +1 -1
  247. package/src/components/Drawer/examples/DrawerStatic.tsx +1 -1
  248. package/src/components/Dropdown/examples/Dropdown.md +13 -1
  249. package/src/components/Dropdown/examples/DropdownWithSplit.tsx +97 -0
  250. package/src/components/Form/FormGroup.tsx +1 -2
  251. package/src/components/Form/__tests__/__snapshots__/FormGroup.test.tsx.snap +1 -1
  252. package/src/components/LoginPage/__tests__/__snapshots__/LoginForm.test.tsx.snap +6 -6
  253. package/src/components/Masthead/Masthead.tsx +4 -0
  254. package/src/components/Masthead/__tests__/Masthead.test.tsx +25 -1
  255. package/src/components/Nav/Nav.tsx +3 -2
  256. package/src/components/Nav/NavItem.tsx +27 -3
  257. package/src/components/Nav/__tests__/Nav.test.tsx +15 -0
  258. package/src/components/Page/Page.tsx +5 -1
  259. package/src/components/Page/__tests__/Page.test.tsx +17 -0
  260. package/src/components/Toolbar/Toolbar.tsx +4 -0
  261. package/src/components/Toolbar/__tests__/Toolbar.test.tsx +34 -1
  262. package/src/components/Wizard/WizardNavInternal.tsx +3 -3
  263. package/src/components/Wizard/__tests__/Wizard.test.tsx +39 -0
  264. package/src/demos/Compass/Compass.md +40 -0
  265. package/src/demos/Compass/examples/CompassDockDemo.tsx +215 -0
  266. package/src/demos/Page.md +12 -1
  267. package/src/demos/assets/PF-IconLogo-color.svg +17 -0
  268. package/src/demos/examples/Page/PageDockedNav.tsx +259 -0
  269. package/src/layouts/Bullseye/examples/bullseye.css +2 -2
  270. package/src/layouts/Flex/examples/flex.css +3 -3
  271. package/src/layouts/Gallery/examples/gallery.css +2 -2
  272. package/src/layouts/Grid/examples/grid.css +2 -2
  273. package/src/layouts/Level/examples/level.css +4 -4
  274. package/src/layouts/Split/examples/split.css +2 -2
  275. package/src/layouts/Stack/examples/stack.css +4 -4
  276. /package/src/{components → demos}/Compass/examples/CompassDemo.tsx +0 -0
@@ -0,0 +1,259 @@
1
+ import { useRef, useState } from 'react';
2
+ import {
3
+ Avatar,
4
+ Brand,
5
+ Breadcrumb,
6
+ BreadcrumbItem,
7
+ Button,
8
+ ButtonVariant,
9
+ Card,
10
+ CardBody,
11
+ Content,
12
+ Divider,
13
+ Dropdown,
14
+ DropdownItem,
15
+ DropdownList,
16
+ Gallery,
17
+ GalleryItem,
18
+ Masthead,
19
+ MastheadMain,
20
+ MastheadLogo,
21
+ MastheadContent,
22
+ MastheadBrand,
23
+ MenuToggle,
24
+ Nav,
25
+ NavItem,
26
+ NavList,
27
+ Page,
28
+ PageSection,
29
+ SkipToContent,
30
+ Toolbar,
31
+ ToolbarContent,
32
+ ToolbarGroup,
33
+ ToolbarItem,
34
+ Tooltip
35
+ } from '@patternfly/react-core';
36
+ import QuestionCircleIcon from '@patternfly/react-icons/dist/esm/icons/question-circle-icon';
37
+ import CubeIcon from '@patternfly/react-icons/dist/esm/icons/cube-icon';
38
+ import FolderIcon from '@patternfly/react-icons/dist/esm/icons/folder-icon';
39
+ import CloudIcon from '@patternfly/react-icons/dist/esm/icons/cloud-icon';
40
+ import CodeIcon from '@patternfly/react-icons/dist/esm/icons/code-icon';
41
+ import imgAvatar from '@patternfly/react-core/src/components/assets/avatarImg.svg';
42
+ import pfIconLogo from '@patternfly/react-core/src/demos/assets/PF-IconLogo-color.svg';
43
+
44
+ interface NavOnSelectProps {
45
+ groupId: number | string;
46
+ itemId: number | string;
47
+ to: string;
48
+ }
49
+
50
+ export const PageDockedNav: React.FunctionComponent = () => {
51
+ const [isDropdownOpen, setIsDropdownOpen] = useState(false);
52
+ const [activeItem, setActiveItem] = useState(1);
53
+
54
+ const onNavSelect = (_event: React.FormEvent<HTMLInputElement>, selectedItem: NavOnSelectProps) => {
55
+ typeof selectedItem.itemId === 'number' && setActiveItem(selectedItem.itemId);
56
+ };
57
+
58
+ const onDropdownToggle = () => {
59
+ setIsDropdownOpen((prevIsOpen) => !prevIsOpen);
60
+ };
61
+
62
+ const onDropdownSelect = () => {
63
+ setIsDropdownOpen(false);
64
+ };
65
+
66
+ const dashboardBreadcrumb = (
67
+ <Breadcrumb>
68
+ <BreadcrumbItem>Section home</BreadcrumbItem>
69
+ <BreadcrumbItem to="#">Section title</BreadcrumbItem>
70
+ <BreadcrumbItem to="#">Section title</BreadcrumbItem>
71
+ <BreadcrumbItem to="#" isActive>
72
+ Section landing
73
+ </BreadcrumbItem>
74
+ </Breadcrumb>
75
+ );
76
+
77
+ const userDropdownItems = [
78
+ <>
79
+ <DropdownItem key="group 2 profile">My profile</DropdownItem>
80
+ <DropdownItem key="group 2 user">User management</DropdownItem>
81
+ <DropdownItem key="group 2 logout">Logout</DropdownItem>
82
+ </>
83
+ ];
84
+
85
+ const navItem1Ref = useRef<HTMLAnchorElement>(null);
86
+ const navItem2Ref = useRef<HTMLAnchorElement>(null);
87
+ const navItem3Ref = useRef<HTMLAnchorElement>(null);
88
+ const navItem4Ref = useRef<HTMLAnchorElement>(null);
89
+ const settingsRef = useRef<HTMLButtonElement>(null);
90
+ const helpRef = useRef<HTMLButtonElement>(null);
91
+ const userMenuRef = useRef<HTMLButtonElement>(null);
92
+
93
+ const masthead = (
94
+ <Masthead id="icon-router-link" variant="docked">
95
+ <MastheadMain>
96
+ <MastheadBrand>
97
+ <MastheadLogo component={(props) => <a {...props} href="#" />}>
98
+ <Brand src={pfIconLogo} alt="PatternFly" heights={{ default: '37px' }} />
99
+ </MastheadLogo>
100
+ </MastheadBrand>
101
+ </MastheadMain>
102
+ <Divider />
103
+ <MastheadContent>
104
+ <Toolbar id="toolbar" isVertical>
105
+ <ToolbarContent>
106
+ <ToolbarItem>
107
+ <Nav onSelect={onNavSelect} variant="docked" aria-label="Icon global" ouiaId="IconNav">
108
+ <NavList>
109
+ <NavItem
110
+ preventDefault
111
+ id="nav-icon-link1"
112
+ to="#nav-icon-link1"
113
+ itemId={0}
114
+ isActive={activeItem === 0}
115
+ icon={<CubeIcon />}
116
+ anchorRef={navItem1Ref}
117
+ aria-label="Link 1"
118
+ />
119
+ <NavItem
120
+ preventDefault
121
+ id="nav-icon-link2"
122
+ to="#nav-icon-link2"
123
+ itemId={1}
124
+ isActive={activeItem === 1}
125
+ icon={<FolderIcon />}
126
+ anchorRef={navItem2Ref}
127
+ aria-label="Link 2"
128
+ />
129
+ <NavItem
130
+ preventDefault
131
+ id="nav-icon-link3"
132
+ to="#nav-icon-link3"
133
+ itemId={2}
134
+ isActive={activeItem === 2}
135
+ icon={<CloudIcon />}
136
+ anchorRef={navItem3Ref}
137
+ aria-label="Link 3"
138
+ />
139
+ <NavItem
140
+ preventDefault
141
+ id="nav-icon-link4"
142
+ to="#nav-icon-link4"
143
+ itemId={3}
144
+ isActive={activeItem === 3}
145
+ icon={<CodeIcon />}
146
+ anchorRef={navItem4Ref}
147
+ aria-label="Link 4"
148
+ />
149
+ </NavList>
150
+ </Nav>
151
+ <Tooltip aria="none" aria-live="off" triggerRef={navItem1Ref} content="Link 1"></Tooltip>
152
+ <Tooltip aria="none" aria-live="off" triggerRef={navItem2Ref} content="Link 2"></Tooltip>
153
+ <Tooltip aria="none" aria-live="off" triggerRef={navItem3Ref} content="Link 3"></Tooltip>
154
+ <Tooltip aria="none" aria-live="off" triggerRef={navItem4Ref} content="Link 4"></Tooltip>
155
+ </ToolbarItem>
156
+ <ToolbarGroup
157
+ variant="action-group-plain"
158
+ align={{ default: 'alignEnd' }}
159
+ gap={{ default: 'gapNone', md: 'gapMd' }}
160
+ >
161
+ <ToolbarGroup variant="action-group-plain" visibility={{ default: 'hidden', lg: 'visible' }}>
162
+ <ToolbarItem>
163
+ <Tooltip aria="none" aria-live="off" triggerRef={settingsRef} content="Settings">
164
+ <Button ref={settingsRef} aria-label="Settings" isSettings variant="plain" />
165
+ </Tooltip>
166
+ </ToolbarItem>
167
+ <ToolbarItem>
168
+ <Tooltip aria="none" aria-live="off" triggerRef={helpRef} content="Help">
169
+ <Button
170
+ ref={helpRef}
171
+ aria-label="Help"
172
+ variant={ButtonVariant.plain}
173
+ icon={<QuestionCircleIcon />}
174
+ />
175
+ </Tooltip>
176
+ </ToolbarItem>
177
+ </ToolbarGroup>
178
+ </ToolbarGroup>
179
+ <ToolbarItem>
180
+ <Dropdown
181
+ isOpen={isDropdownOpen}
182
+ onSelect={onDropdownSelect}
183
+ shouldFocusToggleOnSelect
184
+ onOpenChange={(isOpen: boolean) => setIsDropdownOpen(isOpen)}
185
+ toggle={{
186
+ toggleNode: (
187
+ <Tooltip content="User menu" aria="none" aria-live="off" triggerRef={userMenuRef}>
188
+ <MenuToggle
189
+ ref={userMenuRef}
190
+ onClick={onDropdownToggle}
191
+ isExpanded={isDropdownOpen}
192
+ icon={<Avatar src={imgAvatar} alt="" size="sm" />}
193
+ variant="plain"
194
+ aria-label="User menu"
195
+ />
196
+ </Tooltip>
197
+ ),
198
+ toggleRef: userMenuRef
199
+ }}
200
+ >
201
+ <DropdownList>{userDropdownItems}</DropdownList>
202
+ </Dropdown>
203
+ </ToolbarItem>
204
+ </ToolbarContent>
205
+ </Toolbar>
206
+ </MastheadContent>
207
+ </Masthead>
208
+ );
209
+
210
+ const mainContainerId = 'main-content-page-layout-tertiary-nav';
211
+
212
+ const handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => {
213
+ event.preventDefault();
214
+
215
+ const mainContentElement = document.getElementById(mainContainerId);
216
+ if (mainContentElement) {
217
+ mainContentElement.focus();
218
+ }
219
+ };
220
+
221
+ const pageSkipToContent = (
222
+ <SkipToContent onClick={handleClick} href={`#${mainContainerId}`}>
223
+ Skip to content
224
+ </SkipToContent>
225
+ );
226
+
227
+ return (
228
+ <Page
229
+ variant="docked"
230
+ masthead={masthead}
231
+ skipToContent={pageSkipToContent}
232
+ breadcrumb={dashboardBreadcrumb}
233
+ mainContainerId={mainContainerId}
234
+ isHorizontalSubnavWidthLimited
235
+ isBreadcrumbWidthLimited
236
+ isBreadcrumbGrouped
237
+ additionalGroupedContent={
238
+ <PageSection aria-labelledby="main-title">
239
+ <Content>
240
+ <h1 id="main-title">Main title</h1>
241
+ <p>This is a full page demo.</p>
242
+ </Content>
243
+ </PageSection>
244
+ }
245
+ >
246
+ <PageSection aria-label="Card gallery">
247
+ <Gallery hasGutter>
248
+ {Array.from({ length: 10 }).map((_value, index) => (
249
+ <GalleryItem key={index}>
250
+ <Card>
251
+ <CardBody>This is a card</CardBody>
252
+ </Card>
253
+ </GalleryItem>
254
+ ))}
255
+ </Gallery>
256
+ </PageSection>
257
+ </Page>
258
+ );
259
+ };
@@ -1,5 +1,5 @@
1
- .ws-react-l-bullseye .pf-v6-l-bullseye,
2
- .ws-react-l-bullseye .pf-v6-l-bullseye > div {
1
+ .ws-react-f-bullseye .pf-v6-l-bullseye,
2
+ .ws-react-f-bullseye .pf-v6-l-bullseye > div {
3
3
  padding: var(--pf-t--global--spacer--md);
4
4
  border: var(--pf-t--global--border--width--box--default) dashed var(--pf-t--global--border--color--default);
5
5
  }
@@ -1,9 +1,9 @@
1
- .ws-react-l-flex .pf-v6-l-flex {
1
+ .ws-react-f-flex .pf-v6-l-flex {
2
2
  padding: var(--pf-t--global--spacer--md);
3
3
  }
4
4
 
5
- .ws-react-l-flex .pf-v6-l-flex > div,
6
- .ws-react-l-flex .example-border {
5
+ .ws-react-f-flex .pf-v6-l-flex > div,
6
+ .ws-react-f-flex .example-border {
7
7
  padding: var(--pf-t--global--spacer--md);
8
8
  border: var(--pf-t--global--border--width--box--default) dashed var(--pf-t--global--border--color--default);
9
9
  }
@@ -1,8 +1,8 @@
1
- .ws-react-l-gallery .pf-v6-l-gallery {
1
+ .ws-react-f-gallery .pf-v6-l-gallery {
2
2
  padding: var(--pf-t--global--spacer--md);
3
3
  }
4
4
 
5
- .ws-react-l-gallery .pf-v6-l-gallery > div {
5
+ .ws-react-f-gallery .pf-v6-l-gallery > div {
6
6
  padding: var(--pf-t--global--spacer--md);
7
7
  border: var(--pf-t--global--border--width--box--default) dashed var(--pf-t--global--border--color--default);
8
8
  }
@@ -1,5 +1,5 @@
1
- .ws-react-l-grid > .pf-v6-l-grid,
2
- .ws-react-l-grid > .pf-v6-l-grid > .pf-v6-l-grid__item {
1
+ .ws-react-f-grid > .pf-v6-l-grid,
2
+ .ws-react-f-grid > .pf-v6-l-grid > .pf-v6-l-grid__item {
3
3
  min-height: 75px;
4
4
  padding: var(--pf-t--global--spacer--md);
5
5
  border: var(--pf-t--global--border--width--box--default) dashed var(--pf-t--global--border--color--default);
@@ -1,13 +1,13 @@
1
- .ws-react-l-level {
1
+ .ws-react-f-level {
2
2
  padding: var(--pf-t--global--spacer--sm);
3
3
  }
4
4
 
5
- .ws-react-l-level .pf-v6-l-level {
5
+ .ws-react-f-level .pf-v6-l-level {
6
6
  min-height: 160px;
7
7
  }
8
8
 
9
- .ws-react-l-level .pf-v6-l-level,
10
- .ws-react-l-level .pf-v6-l-level > div {
9
+ .ws-react-f-level .pf-v6-l-level,
10
+ .ws-react-f-level .pf-v6-l-level > div {
11
11
  padding: var(--pf-t--global--spacer--sm);
12
12
  border: var(--pf-t--global--border--width--box--default) dashed var(--pf-t--global--border--color--default);
13
13
  }
@@ -1,5 +1,5 @@
1
- .ws-react-l-split .pf-v6-l-split,
2
- .ws-react-l-split .pf-v6-l-split > .pf-v6-l-split__item {
1
+ .ws-react-f-split .pf-v6-l-split,
2
+ .ws-react-f-split .pf-v6-l-split > .pf-v6-l-split__item {
3
3
  padding: var(--pf-t--global--spacer--md);
4
4
  border: var(--pf-t--global--border--width--box--default) dashed var(--pf-t--global--border--color--default);
5
5
  }
@@ -1,15 +1,15 @@
1
- .ws-react-l-stack {
1
+ .ws-react-f-stack {
2
2
  min-height: 30em;
3
3
  display: flex;
4
4
  flex-direction: column;
5
5
  }
6
6
 
7
- .ws-react-l-stack > .pf-v6-l-stack {
7
+ .ws-react-f-stack > .pf-v6-l-stack {
8
8
  flex-grow: 1;
9
9
  }
10
10
 
11
- .ws-react-l-stack .pf-v6-l-stack,
12
- .ws-react-l-stack .pf-v6-l-stack > .pf-v6-l-stack__item {
11
+ .ws-react-f-stack .pf-v6-l-stack,
12
+ .ws-react-f-stack .pf-v6-l-stack > .pf-v6-l-stack__item {
13
13
  padding: var(--pf-t--global--spacer--md);
14
14
  border: var(--pf-t--global--border--width--box--default) dashed var(--pf-t--global--border--color--default);
15
15
  }