@patternfly/react-core 6.4.1-prerelease.9 → 6.5.0-prerelease.1

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 (287) hide show
  1. package/CHANGELOG.md +8 -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 -0
  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/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/TextArea/package.json +1 -1
  72. package/dist/dynamic/components/TextInput/package.json +1 -1
  73. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  74. package/dist/dynamic/components/TimePicker/package.json +1 -1
  75. package/dist/dynamic/components/Timestamp/package.json +1 -1
  76. package/dist/dynamic/components/Title/package.json +1 -1
  77. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  78. package/dist/dynamic/components/Toolbar/package.json +1 -1
  79. package/dist/dynamic/components/Tooltip/package.json +1 -1
  80. package/dist/dynamic/components/TreeView/package.json +1 -1
  81. package/dist/dynamic/components/Truncate/package.json +1 -1
  82. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  83. package/dist/dynamic/components/Wizard/package.json +1 -1
  84. package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
  85. package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Tile/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  90. package/dist/dynamic/deprecated/components/package.json +1 -1
  91. package/dist/dynamic/helpers/AnimationsProvider/AnimationsProvider/package.json +1 -1
  92. package/dist/dynamic/helpers/AnimationsProvider/package.json +1 -1
  93. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  94. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  95. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  96. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  97. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  98. package/dist/dynamic/helpers/constants/package.json +1 -1
  99. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  100. package/dist/dynamic/helpers/fileUtils/package.json +1 -1
  101. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  102. package/dist/dynamic/helpers/package.json +1 -1
  103. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  104. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  105. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  106. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  107. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  108. package/dist/dynamic/helpers/util/package.json +1 -1
  109. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  110. package/dist/dynamic/layouts/Flex/package.json +1 -1
  111. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  112. package/dist/dynamic/layouts/Grid/package.json +1 -1
  113. package/dist/dynamic/layouts/Level/package.json +1 -1
  114. package/dist/dynamic/layouts/Split/package.json +1 -1
  115. package/dist/dynamic/layouts/Stack/package.json +1 -1
  116. package/dist/dynamic/styles/package.json +1 -1
  117. package/dist/dynamic-modules.json +8 -0
  118. package/dist/esm/components/ActionList/ActionList.d.ts +2 -0
  119. package/dist/esm/components/ActionList/ActionList.d.ts.map +1 -1
  120. package/dist/esm/components/ActionList/ActionList.js +2 -2
  121. package/dist/esm/components/ActionList/ActionList.js.map +1 -1
  122. package/dist/esm/components/Button/Button.d.ts +2 -0
  123. package/dist/esm/components/Button/Button.d.ts.map +1 -1
  124. package/dist/esm/components/Button/Button.js +2 -2
  125. package/dist/esm/components/Button/Button.js.map +1 -1
  126. package/dist/esm/components/Compass/Compass.d.ts +34 -0
  127. package/dist/esm/components/Compass/Compass.d.ts.map +1 -0
  128. package/dist/esm/components/Compass/Compass.js +25 -0
  129. package/dist/esm/components/Compass/Compass.js.map +1 -0
  130. package/dist/esm/components/Compass/CompassContent.d.ts +15 -0
  131. package/dist/esm/components/Compass/CompassContent.d.ts.map +1 -0
  132. package/dist/esm/components/Compass/CompassContent.js +16 -0
  133. package/dist/esm/components/Compass/CompassContent.js.map +1 -0
  134. package/dist/esm/components/Compass/CompassHeader.d.ts +12 -0
  135. package/dist/esm/components/Compass/CompassHeader.d.ts.map +1 -0
  136. package/dist/esm/components/Compass/CompassHeader.js +6 -0
  137. package/dist/esm/components/Compass/CompassHeader.js.map +1 -0
  138. package/dist/esm/components/Compass/CompassHero.d.ts +26 -0
  139. package/dist/esm/components/Compass/CompassHero.d.ts.map +1 -0
  140. package/dist/esm/components/Compass/CompassHero.js +47 -0
  141. package/dist/esm/components/Compass/CompassHero.js.map +1 -0
  142. package/dist/esm/components/Compass/CompassMainHeader.d.ts +14 -0
  143. package/dist/esm/components/Compass/CompassMainHeader.d.ts.map +1 -0
  144. package/dist/esm/components/Compass/CompassMainHeader.js +13 -0
  145. package/dist/esm/components/Compass/CompassMainHeader.js.map +1 -0
  146. package/dist/esm/components/Compass/CompassMessageBar.d.ts +10 -0
  147. package/dist/esm/components/Compass/CompassMessageBar.d.ts.map +1 -0
  148. package/dist/esm/components/Compass/CompassMessageBar.js +10 -0
  149. package/dist/esm/components/Compass/CompassMessageBar.js.map +1 -0
  150. package/dist/esm/components/Compass/CompassPanel.d.ts +22 -0
  151. package/dist/esm/components/Compass/CompassPanel.d.ts.map +1 -0
  152. package/dist/esm/components/Compass/CompassPanel.js +10 -0
  153. package/dist/esm/components/Compass/CompassPanel.js.map +1 -0
  154. package/dist/esm/components/Compass/index.d.ts +8 -0
  155. package/dist/esm/components/Compass/index.d.ts.map +1 -0
  156. package/dist/esm/components/Compass/index.js +8 -0
  157. package/dist/esm/components/Compass/index.js.map +1 -0
  158. package/dist/esm/components/Menu/Menu.d.ts +0 -1
  159. package/dist/esm/components/Menu/Menu.d.ts.map +1 -1
  160. package/dist/esm/components/Menu/Menu.js +5 -8
  161. package/dist/esm/components/Menu/Menu.js.map +1 -1
  162. package/dist/esm/components/MenuToggle/MenuToggle.d.ts +2 -0
  163. package/dist/esm/components/MenuToggle/MenuToggle.d.ts.map +1 -1
  164. package/dist/esm/components/MenuToggle/MenuToggle.js +3 -2
  165. package/dist/esm/components/MenuToggle/MenuToggle.js.map +1 -1
  166. package/dist/esm/components/Tabs/Tabs.d.ts +2 -0
  167. package/dist/esm/components/Tabs/Tabs.d.ts.map +1 -1
  168. package/dist/esm/components/Tabs/Tabs.js +3 -2
  169. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  170. package/dist/esm/components/index.d.ts +1 -0
  171. package/dist/esm/components/index.d.ts.map +1 -1
  172. package/dist/esm/components/index.js +1 -0
  173. package/dist/esm/components/index.js.map +1 -1
  174. package/dist/js/components/ActionList/ActionList.d.ts +2 -0
  175. package/dist/js/components/ActionList/ActionList.d.ts.map +1 -1
  176. package/dist/js/components/ActionList/ActionList.js +2 -2
  177. package/dist/js/components/ActionList/ActionList.js.map +1 -1
  178. package/dist/js/components/Button/Button.d.ts +2 -0
  179. package/dist/js/components/Button/Button.d.ts.map +1 -1
  180. package/dist/js/components/Button/Button.js +2 -2
  181. package/dist/js/components/Button/Button.js.map +1 -1
  182. package/dist/js/components/Compass/Compass.d.ts +34 -0
  183. package/dist/js/components/Compass/Compass.d.ts.map +1 -0
  184. package/dist/js/components/Compass/Compass.js +29 -0
  185. package/dist/js/components/Compass/Compass.js.map +1 -0
  186. package/dist/js/components/Compass/CompassContent.d.ts +15 -0
  187. package/dist/js/components/Compass/CompassContent.d.ts.map +1 -0
  188. package/dist/js/components/Compass/CompassContent.js +20 -0
  189. package/dist/js/components/Compass/CompassContent.js.map +1 -0
  190. package/dist/js/components/Compass/CompassHeader.d.ts +12 -0
  191. package/dist/js/components/Compass/CompassHeader.d.ts.map +1 -0
  192. package/dist/js/components/Compass/CompassHeader.js +11 -0
  193. package/dist/js/components/Compass/CompassHeader.js.map +1 -0
  194. package/dist/js/components/Compass/CompassHero.d.ts +26 -0
  195. package/dist/js/components/Compass/CompassHero.d.ts.map +1 -0
  196. package/dist/js/components/Compass/CompassHero.js +51 -0
  197. package/dist/js/components/Compass/CompassHero.js.map +1 -0
  198. package/dist/js/components/Compass/CompassMainHeader.d.ts +14 -0
  199. package/dist/js/components/Compass/CompassMainHeader.d.ts.map +1 -0
  200. package/dist/js/components/Compass/CompassMainHeader.js +17 -0
  201. package/dist/js/components/Compass/CompassMainHeader.js.map +1 -0
  202. package/dist/js/components/Compass/CompassMessageBar.d.ts +10 -0
  203. package/dist/js/components/Compass/CompassMessageBar.d.ts.map +1 -0
  204. package/dist/js/components/Compass/CompassMessageBar.js +14 -0
  205. package/dist/js/components/Compass/CompassMessageBar.js.map +1 -0
  206. package/dist/js/components/Compass/CompassPanel.d.ts +22 -0
  207. package/dist/js/components/Compass/CompassPanel.d.ts.map +1 -0
  208. package/dist/js/components/Compass/CompassPanel.js +14 -0
  209. package/dist/js/components/Compass/CompassPanel.js.map +1 -0
  210. package/dist/js/components/Compass/index.d.ts +8 -0
  211. package/dist/js/components/Compass/index.d.ts.map +1 -0
  212. package/dist/js/components/Compass/index.js +11 -0
  213. package/dist/js/components/Compass/index.js.map +1 -0
  214. package/dist/js/components/Menu/Menu.d.ts +0 -1
  215. package/dist/js/components/Menu/Menu.d.ts.map +1 -1
  216. package/dist/js/components/Menu/Menu.js +5 -8
  217. package/dist/js/components/Menu/Menu.js.map +1 -1
  218. package/dist/js/components/MenuToggle/MenuToggle.d.ts +2 -0
  219. package/dist/js/components/MenuToggle/MenuToggle.d.ts.map +1 -1
  220. package/dist/js/components/MenuToggle/MenuToggle.js +3 -2
  221. package/dist/js/components/MenuToggle/MenuToggle.js.map +1 -1
  222. package/dist/js/components/Tabs/Tabs.d.ts +2 -0
  223. package/dist/js/components/Tabs/Tabs.d.ts.map +1 -1
  224. package/dist/js/components/Tabs/Tabs.js +3 -2
  225. package/dist/js/components/Tabs/Tabs.js.map +1 -1
  226. package/dist/js/components/index.d.ts +1 -0
  227. package/dist/js/components/index.d.ts.map +1 -1
  228. package/dist/js/components/index.js +1 -0
  229. package/dist/js/components/index.js.map +1 -1
  230. package/dist/styles/assets/images/RHAiExperienceIcon.svg +27 -0
  231. package/dist/styles/assets/images/RHAutomationsLogo.svg +96 -0
  232. package/dist/styles/assets/images/RHServerStackIcon.svg +16 -0
  233. package/dist/styles/assets/images/compass--hero-bg.png +0 -0
  234. package/dist/styles/assets/images/compass--rh-wallpaper-dark.png +0 -0
  235. package/dist/styles/assets/images/compass--rh-wallpaper-light.png +0 -0
  236. package/dist/styles/assets/images/compass--wallpaper-dark.png +0 -0
  237. package/dist/styles/assets/images/compass--wallpaper-light.png +0 -0
  238. package/dist/styles/base-no-reset.css +51 -0
  239. package/dist/styles/base.css +51 -0
  240. package/dist/umd/assets/{output-CJfbZNQh.css → output-COsUhzfR.css} +19690 -19398
  241. package/dist/umd/react-core.min.js +2 -2
  242. package/helpers/package.json +1 -1
  243. package/layouts/package.json +1 -1
  244. package/next/package.json +1 -1
  245. package/package.json +6 -6
  246. package/src/components/ActionList/ActionList.tsx +12 -1
  247. package/src/components/ActionList/__tests__/ActionList.test.tsx +12 -0
  248. package/src/components/ActionList/examples/ActionList.md +6 -0
  249. package/src/components/ActionList/examples/ActionListVertical.tsx +46 -0
  250. package/src/components/Button/Button.tsx +4 -0
  251. package/src/components/Button/__tests__/Button.test.tsx +5 -0
  252. package/src/components/Button/__tests__/__snapshots__/Button.test.tsx.snap +1 -1
  253. package/src/components/Button/examples/Button.md +8 -0
  254. package/src/components/Button/examples/ButtonCircle.tsx +63 -0
  255. package/src/components/Compass/Compass.tsx +107 -0
  256. package/src/components/Compass/CompassContent.tsx +42 -0
  257. package/src/components/Compass/CompassHeader.tsx +21 -0
  258. package/src/components/Compass/CompassHero.tsx +87 -0
  259. package/src/components/Compass/CompassMainHeader.tsx +43 -0
  260. package/src/components/Compass/CompassMessageBar.tsx +21 -0
  261. package/src/components/Compass/CompassPanel.tsx +51 -0
  262. package/src/components/Compass/__tests__/Compass.test.tsx +172 -0
  263. package/src/components/Compass/__tests__/CompassContent.test.tsx +46 -0
  264. package/src/components/Compass/__tests__/CompassHeader.test.tsx +56 -0
  265. package/src/components/Compass/__tests__/CompassHero.test.tsx +150 -0
  266. package/src/components/Compass/__tests__/CompassMainHeader.test.tsx +90 -0
  267. package/src/components/Compass/__tests__/CompassMessageBar.test.tsx +41 -0
  268. package/src/components/Compass/__tests__/CompassPanel.test.tsx +86 -0
  269. package/src/components/Compass/__tests__/__snapshots__/Compass.test.tsx.snap +104 -0
  270. package/src/components/Compass/__tests__/__snapshots__/CompassContent.test.tsx.snap +40 -0
  271. package/src/components/Compass/__tests__/__snapshots__/CompassHeader.test.tsx.snap +27 -0
  272. package/src/components/Compass/__tests__/__snapshots__/CompassHero.test.tsx.snap +18 -0
  273. package/src/components/Compass/__tests__/__snapshots__/CompassMainHeader.test.tsx.snap +42 -0
  274. package/src/components/Compass/__tests__/__snapshots__/CompassMessageBar.test.tsx.snap +13 -0
  275. package/src/components/Compass/__tests__/__snapshots__/CompassPanel.test.tsx.snap +25 -0
  276. package/src/components/Compass/examples/Compass.md +38 -0
  277. package/src/components/Compass/examples/CompassBasic.tsx +33 -0
  278. package/src/components/Compass/examples/CompassDemo.tsx +151 -0
  279. package/src/components/Compass/examples/compass.css +11 -0
  280. package/src/components/Compass/index.ts +7 -0
  281. package/src/components/Menu/Menu.tsx +1 -6
  282. package/src/components/MenuToggle/MenuToggle.tsx +5 -1
  283. package/src/components/MenuToggle/__tests__/MenuToggle.test.tsx +20 -0
  284. package/src/components/MenuToggle/examples/MenuToggle.md +18 -0
  285. package/src/components/MenuToggle/examples/MenuTogglePlainCircle.tsx +11 -0
  286. package/src/components/Tabs/Tabs.tsx +5 -0
  287. package/src/components/index.ts +1 -0
@@ -0,0 +1,104 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Matches the snapshot with basic layout 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="pf-v6-c-compass"
7
+ >
8
+ <div
9
+ class="pf-v6-c-compass__header pf-m-expanded"
10
+ >
11
+ <div>
12
+ Header
13
+ </div>
14
+ </div>
15
+ <div
16
+ class="pf-v6-c-compass__sidebar pf-m-start pf-m-expanded"
17
+ >
18
+ <div>
19
+ Sidebar start
20
+ </div>
21
+ </div>
22
+ <div
23
+ class="pf-v6-c-compass__main"
24
+ >
25
+ <div>
26
+ Main content
27
+ </div>
28
+ </div>
29
+ <div
30
+ class="pf-v6-c-compass__sidebar pf-m-end pf-m-expanded"
31
+ >
32
+ <div>
33
+ Sidebar end
34
+ </div>
35
+ </div>
36
+ <div
37
+ class="pf-v6-c-compass__footer pf-m-expanded"
38
+ >
39
+ <div>
40
+ Footer
41
+ </div>
42
+ </div>
43
+ </div>
44
+ </DocumentFragment>
45
+ `;
46
+
47
+ exports[`Matches the snapshot with drawer 1`] = `
48
+ <DocumentFragment>
49
+ <div
50
+ class="pf-v6-c-drawer pf-m-expanded"
51
+ >
52
+ <div
53
+ class="pf-v6-c-drawer__main"
54
+ >
55
+ <div
56
+ class="pf-v6-c-drawer__content"
57
+ >
58
+ <div
59
+ class="pf-v6-c-compass"
60
+ >
61
+ <div
62
+ class="pf-v6-c-compass__header pf-m-expanded"
63
+ >
64
+ <div>
65
+ Header
66
+ </div>
67
+ </div>
68
+ <div
69
+ class="pf-v6-c-compass__sidebar pf-m-start pf-m-expanded"
70
+ >
71
+ <div>
72
+ Sidebar start
73
+ </div>
74
+ </div>
75
+ <div
76
+ class="pf-v6-c-compass__main"
77
+ >
78
+ <div>
79
+ Main content
80
+ </div>
81
+ </div>
82
+ <div
83
+ class="pf-v6-c-compass__sidebar pf-m-end pf-m-expanded"
84
+ >
85
+ <div>
86
+ Sidebar end
87
+ </div>
88
+ </div>
89
+ <div
90
+ class="pf-v6-c-compass__footer pf-m-expanded"
91
+ >
92
+ <div>
93
+ Footer
94
+ </div>
95
+ </div>
96
+ </div>
97
+ </div>
98
+ <div>
99
+ Drawer content
100
+ </div>
101
+ </div>
102
+ </div>
103
+ </DocumentFragment>
104
+ `;
@@ -0,0 +1,40 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Matches the snapshot with drawer 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="pf-v6-c-drawer pf-m-expanded"
7
+ >
8
+ <div
9
+ class="pf-v6-c-drawer__main"
10
+ >
11
+ <div
12
+ class="pf-v6-c-drawer__content"
13
+ >
14
+ <div
15
+ class="pf-v6-c-compass__content"
16
+ >
17
+ <div>
18
+ Test content
19
+ </div>
20
+ </div>
21
+ </div>
22
+ <div>
23
+ Drawer content
24
+ </div>
25
+ </div>
26
+ </div>
27
+ </DocumentFragment>
28
+ `;
29
+
30
+ exports[`Matches the snapshot without drawer 1`] = `
31
+ <DocumentFragment>
32
+ <div
33
+ class="pf-v6-c-compass__content"
34
+ >
35
+ <div>
36
+ Test content
37
+ </div>
38
+ </div>
39
+ </DocumentFragment>
40
+ `;
@@ -0,0 +1,27 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Matches the snapshot 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="pf-v6-c-compass__logo"
7
+ >
8
+ <div>
9
+ Logo
10
+ </div>
11
+ </div>
12
+ <div
13
+ class="pf-v6-c-compass__nav"
14
+ >
15
+ <div>
16
+ Nav
17
+ </div>
18
+ </div>
19
+ <div
20
+ class="pf-v6-c-compass__profile"
21
+ >
22
+ <div>
23
+ Profile
24
+ </div>
25
+ </div>
26
+ </DocumentFragment>
27
+ `;
@@ -0,0 +1,18 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Matches the snapshot 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="pf-v6-c-compass__panel pf-v6-c-compass__hero"
7
+ style="--pf-v6-c-compass__hero--BackgroundImage--light: url(light.jpg); --pf-v6-c-compass__hero--BackgroundImage--dark: url(dark.jpg); --pf-v6-c-compass__hero--gradient--stop-1--light: #ff0000; --pf-v6-c-compass__hero--gradient--stop-2--light: #00ff00; --pf-v6-c-compass__hero--gradient--stop-3--light: #0000ff; --pf-v6-c-compass__hero--gradient--stop-1--dark: #000000; --pf-v6-c-compass__hero--gradient--stop-2--dark: #ffffff; --pf-v6-c-compass__hero--gradient--stop-3--dark: #808080;"
8
+ >
9
+ <div
10
+ class="pf-v6-c-compass__hero-body"
11
+ >
12
+ <div>
13
+ Hero content
14
+ </div>
15
+ </div>
16
+ </div>
17
+ </DocumentFragment>
18
+ `;
@@ -0,0 +1,42 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Matches the snapshot with both title and toolbar 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="pf-v6-c-compass__main-header"
7
+ >
8
+ <div
9
+ class="pf-v6-c-compass__panel"
10
+ >
11
+ <div
12
+ class="pf-v6-l-flex pf-m-align-items-center"
13
+ >
14
+ <div
15
+ class="pf-m-grow"
16
+ >
17
+ <div>
18
+ Title
19
+ </div>
20
+ </div>
21
+ <div
22
+ class=""
23
+ >
24
+ <div>
25
+ Toolbar
26
+ </div>
27
+ </div>
28
+ </div>
29
+ </div>
30
+ </div>
31
+ </DocumentFragment>
32
+ `;
33
+
34
+ exports[`Matches the snapshot with children 1`] = `
35
+ <DocumentFragment>
36
+ <div
37
+ class="pf-v6-c-compass__main-header"
38
+ >
39
+ Custom children content
40
+ </div>
41
+ </DocumentFragment>
42
+ `;
@@ -0,0 +1,13 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Matches the snapshot 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="pf-v6-c-compass__message-bar"
7
+ >
8
+ <div>
9
+ Message bar content
10
+ </div>
11
+ </div>
12
+ </DocumentFragment>
13
+ `;
@@ -0,0 +1,25 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Matches the snapshot with all modifiers 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="pf-v6-c-compass__panel pf-m-pill pf-m-no-border pf-m-no-padding pf-v6-m-thinking pf-m-full-height pf-m-scrollable"
7
+ >
8
+ <div>
9
+ Panel with all modifiers
10
+ </div>
11
+ </div>
12
+ </DocumentFragment>
13
+ `;
14
+
15
+ exports[`Matches the snapshot with no modifiers 1`] = `
16
+ <DocumentFragment>
17
+ <div
18
+ class="pf-v6-c-compass__panel"
19
+ >
20
+ <div>
21
+ Basic panel
22
+ </div>
23
+ </div>
24
+ </DocumentFragment>
25
+ `;
@@ -0,0 +1,38 @@
1
+ ---
2
+ id: Compass
3
+ cssPrefix: pf-v6-c-compass
4
+ section: components
5
+ beta: true
6
+ propComponents: ['Compass', 'CompassHeader', 'CompassContent', 'CompassHero', 'CompassMainHeader', 'CompassPanel']
7
+ ---
8
+
9
+ import './compass.css';
10
+ import { useRef, useState } from 'react';
11
+ import PlayIcon from '@patternfly/react-icons/dist/esm/icons/play-icon';
12
+ import OutlinedPlusSquare from '@patternfly/react-icons/dist/esm/icons/outlined-plus-square-icon';
13
+ import OutlinedCopy from '@patternfly/react-icons/dist/esm/icons/outlined-copy-icon';
14
+ import OutlinedQuestionCircleIcon from '@patternfly/react-icons/dist/esm/icons/outlined-question-circle-icon';
15
+
16
+ ## Examples
17
+
18
+ ### Basic
19
+
20
+ In a basic compass layout, content can be passed to the following props to populate areas of the page:
21
+
22
+ - `header`: content rendered in the top of the page. This will typically be a `CompassHeader` component to break the header into 3 areas consisting of a logo or brand, middle navigation, and profile.
23
+ - `sidebarStart`: content rendered in the left side or start side of the page
24
+ - `main`: content rendered in the center of the page. This will typically consist of a `CompassMainHeader` or `CompassHero`, along with a `CompassContent` filled with one or more `CompassPanel` components.
25
+ - `sidebarEnd`: content rendered in the right side or end side of the page
26
+ - `footer`: content rendered in the bottom of the page
27
+
28
+ The background image of the `Compass` and `CompassHero` may be customized by using their respective `backgroundSrcLight` and `backgroundSrcDark` props. The `CompassHero` also allows customization of a color gradient across its container by using the `gradientLight` and `gradientDark` props.
29
+
30
+ ```ts file="CompassBasic.tsx"
31
+
32
+ ```
33
+
34
+ ### Demo
35
+
36
+ ```ts isFullscreen file="CompassDemo.tsx"
37
+
38
+ ```
@@ -0,0 +1,33 @@
1
+ import { Compass, CompassHeader, CompassHero, CompassContent, CompassMainHeader } from '@patternfly/react-core';
2
+ import './compass.css';
3
+
4
+ export const CompassBasic: React.FunctionComponent = () => {
5
+ const headerContent = <CompassHeader logo={<div>Logo</div>} nav={<div>Nav</div>} profile={<div>Profile</div>} />;
6
+ const sidebarStartContent = <div>Sidebar start</div>;
7
+ // TODO: simplify mainContent to only a div string
8
+ const mainContent = (
9
+ <>
10
+ <CompassHero>
11
+ <div>Hero</div>
12
+ </CompassHero>
13
+ <CompassContent>
14
+ <CompassMainHeader>
15
+ <div>Content title</div>
16
+ </CompassMainHeader>
17
+ <div>Content</div>
18
+ </CompassContent>
19
+ </>
20
+ );
21
+ const sidebarEndContent = <div>Sidebar end</div>;
22
+ const footerContent = <div>Footer</div>;
23
+
24
+ return (
25
+ <Compass
26
+ header={headerContent}
27
+ sidebarStart={sidebarStartContent}
28
+ main={mainContent}
29
+ sidebarEnd={sidebarEndContent}
30
+ footer={footerContent}
31
+ />
32
+ );
33
+ };
@@ -0,0 +1,151 @@
1
+ import { useRef, useState } from 'react';
2
+ import {
3
+ Compass,
4
+ CompassHeader,
5
+ CompassHero,
6
+ CompassContent,
7
+ CompassMainHeader,
8
+ CompassPanel,
9
+ CompassMessageBar,
10
+ Tabs,
11
+ TabsComponent,
12
+ Tab,
13
+ TabContent,
14
+ TabTitleText,
15
+ ActionList,
16
+ ActionListGroup,
17
+ ActionListItem,
18
+ Button,
19
+ Title,
20
+ Tooltip
21
+ } from '@patternfly/react-core';
22
+ import PlayIcon from '@patternfly/react-icons/dist/esm/icons/play-icon';
23
+ import OutlinedPlusSquare from '@patternfly/react-icons/dist/esm/icons/outlined-plus-square-icon';
24
+ import OutlinedCopy from '@patternfly/react-icons/dist/esm/icons/outlined-copy-icon';
25
+ import OutlinedQuestionCircleIcon from '@patternfly/react-icons/dist/esm/icons/outlined-question-circle-icon';
26
+
27
+ export const CompassBasic: React.FunctionComponent = () => {
28
+ const [activeTab, setActiveTab] = useState<number>(0);
29
+ const [activeSubtab, setActiveSubtab] = useState<number>(0);
30
+ const subTabsRef = useRef<HTMLDivElement>(null);
31
+
32
+ const navContent = (
33
+ <>
34
+ <CompassPanel isPill hasNoPadding>
35
+ <Tabs
36
+ activeKey={activeTab}
37
+ isNav
38
+ onSelect={(_event, tabIndex) => setActiveTab(tabIndex as number)}
39
+ component={TabsComponent.nav}
40
+ aria-label="Compass navigation tabs"
41
+ inset={{ default: 'insetXl' }}
42
+ >
43
+ <Tab
44
+ tabContentId="subtabs"
45
+ tabContentRef={subTabsRef}
46
+ eventKey={0}
47
+ title={<TabTitleText>Tab 1</TabTitleText>}
48
+ aria-label="Compass tab with subtabs"
49
+ />
50
+ <Tab eventKey={1} title={<TabTitleText>Tab 2</TabTitleText>} />
51
+ <Tab eventKey={2} title={<TabTitleText>Tab 3</TabTitleText>} />
52
+ <Tab eventKey={3} title={<TabTitleText>Disabled Tab 4</TabTitleText>} isDisabled />
53
+ </Tabs>
54
+ </CompassPanel>
55
+ <CompassPanel isPill hasNoPadding>
56
+ <TabContent id="subtabs" ref={subTabsRef}>
57
+ <Tabs
58
+ activeKey={activeSubtab}
59
+ isSubtab
60
+ isNav
61
+ onSelect={(_event, tabIndex) => setActiveSubtab(tabIndex as number)}
62
+ aria-label="Compass navigation subtabs"
63
+ inset={{ default: 'insetXl' }}
64
+ >
65
+ <Tab
66
+ tabContentId="subtab-1"
67
+ eventKey={0}
68
+ title={
69
+ <TabTitleText>
70
+ <div id="subtab-1">Subtab 1</div>
71
+ </TabTitleText>
72
+ }
73
+ />
74
+ <Tab eventKey={1} title={<TabTitleText>Subtab 2</TabTitleText>} />
75
+ <Tab eventKey={2} title={<TabTitleText>Disabled Subtab 3</TabTitleText>} isDisabled />
76
+ </Tabs>
77
+ </TabContent>
78
+ </CompassPanel>
79
+ </>
80
+ );
81
+
82
+ const sidebarContent = (
83
+ <CompassPanel isPill>
84
+ <ActionList isIconList className="pf-m-vertical" /* isVertical */>
85
+ <ActionListGroup>
86
+ <ActionListItem>
87
+ <Tooltip content="Play">
88
+ <Button variant="plain" icon={<PlayIcon />} aria-label="Play" />
89
+ </Tooltip>
90
+ </ActionListItem>
91
+ <ActionListItem>
92
+ <Tooltip content="Add">
93
+ <Button variant="plain" icon={<OutlinedPlusSquare />} aria-label="Add" />
94
+ </Tooltip>
95
+ </ActionListItem>
96
+ </ActionListGroup>
97
+ <ActionListItem>
98
+ <Tooltip content="Copy">
99
+ <Button variant="plain" icon={<OutlinedCopy />} aria-label="Copy" />
100
+ </Tooltip>
101
+ </ActionListItem>
102
+ <ActionListGroup>
103
+ <ActionListItem>
104
+ <Tooltip content="Help">
105
+ <Button variant="plain" icon={<OutlinedQuestionCircleIcon />} aria-label="Help" />
106
+ </Tooltip>
107
+ </ActionListItem>
108
+ <ActionListItem>
109
+ <Tooltip content="Second copy">
110
+ <Button variant="plain" icon={<OutlinedCopy />} aria-label="Copy2" />
111
+ </Tooltip>
112
+ </ActionListItem>
113
+ </ActionListGroup>
114
+ </ActionList>
115
+ </CompassPanel>
116
+ );
117
+
118
+ const headerContent = <CompassHeader logo={<div>logo</div>} nav={navContent} profile={<div>Profile</div>} />;
119
+ const sidebarStartContent = sidebarContent;
120
+ const mainContent = (
121
+ <>
122
+ <CompassHero gradientDark={{ stop1: '#000', stop2: '#1b0d33', stop3: '#3d2785' }}>
123
+ <div>Hero</div>
124
+ </CompassHero>
125
+ <CompassMainHeader title={<Title headingLevel="h1">Content title</Title>} />
126
+ <CompassContent>
127
+ <CompassPanel>Content</CompassPanel>
128
+ </CompassContent>
129
+ </>
130
+ );
131
+ const sidebarEndContent = sidebarContent;
132
+ const footerContent = (
133
+ <CompassMessageBar>
134
+ <CompassPanel isPill hasNoPadding>
135
+ Message bar
136
+ </CompassPanel>
137
+ </CompassMessageBar>
138
+ );
139
+
140
+ return (
141
+ <Compass
142
+ header={headerContent}
143
+ sidebarStart={sidebarStartContent}
144
+ main={mainContent}
145
+ sidebarEnd={sidebarEndContent}
146
+ footer={footerContent}
147
+ backgroundSrcDark="/assets/images/pf-background.svg"
148
+ backgroundSrcLight="/assets/images/pf-background.svg"
149
+ />
150
+ );
151
+ };
@@ -0,0 +1,11 @@
1
+ #ws-react-c-compass-basic [class*="pf-v6-c-compass"] {
2
+ position: relative;
3
+ }
4
+
5
+ #ws-react-c-compass-basic [class*="pf-v6-c-compass"]::after {
6
+ content: "";
7
+ position: absolute;
8
+ inset: 0;
9
+ border: var(--pf-t--global--border--width--regular) dashed var(--pf-t--global--border--color--default);
10
+ pointer-events: none;
11
+ }
@@ -0,0 +1,7 @@
1
+ export * from './Compass';
2
+ export * from './CompassContent';
3
+ export * from './CompassHeader';
4
+ export * from './CompassHero';
5
+ export * from './CompassMainHeader';
6
+ export * from './CompassMessageBar';
7
+ export * from './CompassPanel';
@@ -70,7 +70,6 @@ export interface MenuState {
70
70
  ouiaStateId: string;
71
71
  transitionMoveTarget: HTMLElement;
72
72
  flyoutRef: React.Ref<HTMLLIElement> | null;
73
- disableHover: boolean;
74
73
  currentDrilldownMenuId: string;
75
74
  }
76
75
 
@@ -99,7 +98,6 @@ class MenuBase extends Component<MenuProps, MenuState> {
99
98
  ouiaStateId: getDefaultOUIAId(Menu.displayName),
100
99
  transitionMoveTarget: null,
101
100
  flyoutRef: null,
102
- disableHover: false,
103
101
  currentDrilldownMenuId: this.props.id
104
102
  };
105
103
 
@@ -117,9 +115,6 @@ class MenuBase extends Component<MenuProps, MenuState> {
117
115
  }
118
116
 
119
117
  componentDidMount() {
120
- if (this.context) {
121
- this.setState({ disableHover: this.context.disableHover });
122
- }
123
118
  if (canUseDOM && this.props.containsDrilldown && this.props.isRootMenu) {
124
119
  window.addEventListener('transitionend', this.handleDrilldownTransition);
125
120
  }
@@ -284,7 +279,7 @@ class MenuBase extends Component<MenuProps, MenuState> {
284
279
  onGetMenuHeight,
285
280
  flyoutRef: this.state.flyoutRef,
286
281
  setFlyoutRef: (flyoutRef) => this.setState({ flyoutRef }),
287
- disableHover: this.state.disableHover,
282
+ disableHover: this.context?.disableHover ?? false,
288
283
  role
289
284
  }}
290
285
  >
@@ -45,6 +45,8 @@ export interface MenuToggleProps
45
45
  isFullWidth?: boolean;
46
46
  /** Flag indicating the toggle contains placeholder text */
47
47
  isPlaceholder?: boolean;
48
+ /** @beta Flag indicating the toggle has circular styling. Can only be applied to plain toggles. */
49
+ isCircle?: boolean;
48
50
  /** Flag indicating whether the toggle is a settings toggle. This will override the icon property */
49
51
  isSettings?: boolean;
50
52
  /** Elements to display before the toggle button. When included, renders the menu toggle as a split button. */
@@ -84,6 +86,7 @@ class MenuToggleBase extends Component<MenuToggleProps, MenuToggleState> {
84
86
  isFullWidth: false,
85
87
  isFullHeight: false,
86
88
  isPlaceholder: false,
89
+ isCircle: false,
87
90
  size: 'default',
88
91
  ouiaSafe: true
89
92
  };
@@ -103,6 +106,7 @@ class MenuToggleBase extends Component<MenuToggleProps, MenuToggleState> {
103
106
  isFullHeight,
104
107
  isFullWidth,
105
108
  isPlaceholder,
109
+ isCircle,
106
110
  isSettings,
107
111
  splitButtonItems,
108
112
  variant,
@@ -225,7 +229,7 @@ class MenuToggleBase extends Component<MenuToggleProps, MenuToggleState> {
225
229
 
226
230
  return (
227
231
  <button
228
- className={css(commonStyles)}
232
+ className={css(commonStyles, isCircle && isPlain && styles.modifiers.circle)}
229
233
  type="button"
230
234
  aria-label={ariaLabel}
231
235
  aria-expanded={isExpanded}
@@ -55,6 +55,8 @@ describe('Old Snapshot tests - remove when refactoring', () => {
55
55
  });
56
56
  });
57
57
 
58
+ const toggleVariants = ['default', 'plain', 'primary', 'plainText', 'secondary', 'typeahead'];
59
+
58
60
  test(`Renders with class ${styles.modifiers.small} when size="sm" is passed`, () => {
59
61
  render(<MenuToggle size="sm">Toggle</MenuToggle>);
60
62
  expect(screen.getByRole('button')).toHaveClass(styles.modifiers.small);
@@ -110,6 +112,24 @@ test(`Renders with class ${styles.modifiers.settings} when isSettings is passed`
110
112
  expect(screen.getByRole('button')).toHaveClass(styles.modifiers.settings);
111
113
  });
112
114
 
115
+ test(`Renders with class ${styles.modifiers.circle} when variant="plain" and isCircle is true`, () => {
116
+ render(<MenuToggle isCircle variant="plain" aria-label="Toggle"></MenuToggle>);
117
+ expect(screen.getByRole('button')).toHaveClass(styles.modifiers.circle);
118
+ });
119
+
120
+ toggleVariants
121
+ .filter((variant) => variant !== 'plain')
122
+ .forEach((variant) => {
123
+ test(`Does not with class ${styles.modifiers.circle} when variant="${variant}" and isCircle is true`, () => {
124
+ render(
125
+ <MenuToggle isCircle variant={variant as 'default' | 'primary' | 'plainText' | 'secondary' | 'typeahead'}>
126
+ Toggle
127
+ </MenuToggle>
128
+ );
129
+ expect(screen.getByRole('button')).not.toHaveClass(styles.modifiers.circle);
130
+ });
131
+ });
132
+
113
133
  test('Does not render custom icon when icon prop and isSettings are passed', () => {
114
134
  render(
115
135
  <MenuToggle isSettings icon={<div>Custom icon</div>}>