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

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 (481) hide show
  1. package/CHANGELOG.md +122 -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 -0
  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/dynamic-modules.json +23 -0
  119. package/dist/esm/components/Alert/AlertIcon.d.ts +5 -5
  120. package/dist/esm/components/Card/CardSubtitle.d.ts +9 -0
  121. package/dist/esm/components/Card/CardSubtitle.d.ts.map +1 -0
  122. package/dist/esm/components/Card/CardSubtitle.js +10 -0
  123. package/dist/esm/components/Card/CardSubtitle.js.map +1 -0
  124. package/dist/esm/components/Card/CardTitle.d.ts +2 -0
  125. package/dist/esm/components/Card/CardTitle.d.ts.map +1 -1
  126. package/dist/esm/components/Card/CardTitle.js +5 -3
  127. package/dist/esm/components/Card/CardTitle.js.map +1 -1
  128. package/dist/esm/components/Compass/Compass.d.ts.map +1 -1
  129. package/dist/esm/components/Compass/Compass.js +2 -2
  130. package/dist/esm/components/Compass/Compass.js.map +1 -1
  131. package/dist/esm/components/Compass/CompassContent.d.ts +1 -2
  132. package/dist/esm/components/Compass/CompassContent.d.ts.map +1 -1
  133. package/dist/esm/components/Compass/CompassContent.js.map +1 -1
  134. package/dist/esm/components/Compass/CompassHeader.d.ts +1 -2
  135. package/dist/esm/components/Compass/CompassHeader.d.ts.map +1 -1
  136. package/dist/esm/components/Compass/CompassHeader.js.map +1 -1
  137. package/dist/esm/components/Compass/CompassHero.d.ts +2 -18
  138. package/dist/esm/components/Compass/CompassHero.d.ts.map +1 -1
  139. package/dist/esm/components/Compass/CompassHero.js +2 -39
  140. package/dist/esm/components/Compass/CompassHero.js.map +1 -1
  141. package/dist/esm/components/Compass/CompassMainFooter.d.ts +12 -0
  142. package/dist/esm/components/Compass/CompassMainFooter.d.ts.map +1 -0
  143. package/dist/esm/components/Compass/CompassMainFooter.js +10 -0
  144. package/dist/esm/components/Compass/CompassMainFooter.js.map +1 -0
  145. package/dist/esm/components/Compass/CompassMainHeader.d.ts +11 -4
  146. package/dist/esm/components/Compass/CompassMainHeader.d.ts.map +1 -1
  147. package/dist/esm/components/Compass/CompassMainHeader.js +5 -3
  148. package/dist/esm/components/Compass/CompassMainHeader.js.map +1 -1
  149. package/dist/esm/components/Compass/CompassMainHeaderContent.d.ts +12 -0
  150. package/dist/esm/components/Compass/CompassMainHeaderContent.d.ts.map +1 -0
  151. package/dist/esm/components/Compass/CompassMainHeaderContent.js +10 -0
  152. package/dist/esm/components/Compass/CompassMainHeaderContent.js.map +1 -0
  153. package/dist/esm/components/Compass/CompassMainHeaderTitle.d.ts +12 -0
  154. package/dist/esm/components/Compass/CompassMainHeaderTitle.d.ts.map +1 -0
  155. package/dist/esm/components/Compass/CompassMainHeaderTitle.js +10 -0
  156. package/dist/esm/components/Compass/CompassMainHeaderTitle.js.map +1 -0
  157. package/dist/esm/components/Compass/CompassMainHeaderToolbar.d.ts +12 -0
  158. package/dist/esm/components/Compass/CompassMainHeaderToolbar.d.ts.map +1 -0
  159. package/dist/esm/components/Compass/CompassMainHeaderToolbar.js +10 -0
  160. package/dist/esm/components/Compass/CompassMainHeaderToolbar.js.map +1 -0
  161. package/dist/esm/components/Compass/CompassMessageBar.d.ts +1 -2
  162. package/dist/esm/components/Compass/CompassMessageBar.d.ts.map +1 -1
  163. package/dist/esm/components/Compass/CompassMessageBar.js.map +1 -1
  164. package/dist/esm/components/Compass/CompassNavContent.d.ts +9 -0
  165. package/dist/esm/components/Compass/CompassNavContent.d.ts.map +1 -0
  166. package/dist/esm/components/Compass/CompassNavContent.js +10 -0
  167. package/dist/esm/components/Compass/CompassNavContent.js.map +1 -0
  168. package/dist/esm/components/Compass/CompassNavHome.d.ts +13 -0
  169. package/dist/esm/components/Compass/CompassNavHome.d.ts.map +1 -0
  170. package/dist/esm/components/Compass/CompassNavHome.js +15 -0
  171. package/dist/esm/components/Compass/CompassNavHome.js.map +1 -0
  172. package/dist/esm/components/Compass/CompassNavMain.d.ts +9 -0
  173. package/dist/esm/components/Compass/CompassNavMain.d.ts.map +1 -0
  174. package/dist/esm/components/Compass/CompassNavMain.js +10 -0
  175. package/dist/esm/components/Compass/CompassNavMain.js.map +1 -0
  176. package/dist/esm/components/Compass/CompassNavSearch.d.ts +13 -0
  177. package/dist/esm/components/Compass/CompassNavSearch.d.ts.map +1 -0
  178. package/dist/esm/components/Compass/CompassNavSearch.js +15 -0
  179. package/dist/esm/components/Compass/CompassNavSearch.js.map +1 -0
  180. package/dist/esm/components/Compass/CompassPanel.d.ts +1 -2
  181. package/dist/esm/components/Compass/CompassPanel.d.ts.map +1 -1
  182. package/dist/esm/components/Compass/CompassPanel.js.map +1 -1
  183. package/dist/esm/components/Compass/index.d.ts +8 -0
  184. package/dist/esm/components/Compass/index.d.ts.map +1 -1
  185. package/dist/esm/components/Compass/index.js +8 -0
  186. package/dist/esm/components/Compass/index.js.map +1 -1
  187. package/dist/esm/components/DataList/DataList.d.ts +2 -0
  188. package/dist/esm/components/DataList/DataList.d.ts.map +1 -1
  189. package/dist/esm/components/DataList/DataList.js +2 -2
  190. package/dist/esm/components/DataList/DataList.js.map +1 -1
  191. package/dist/esm/components/Drawer/DrawerPanelContent.d.ts +2 -0
  192. package/dist/esm/components/Drawer/DrawerPanelContent.d.ts.map +1 -1
  193. package/dist/esm/components/Drawer/DrawerPanelContent.js +2 -2
  194. package/dist/esm/components/Drawer/DrawerPanelContent.js.map +1 -1
  195. package/dist/esm/components/Dropdown/Dropdown.d.ts +6 -0
  196. package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
  197. package/dist/esm/components/Dropdown/Dropdown.js +5 -2
  198. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  199. package/dist/esm/components/ExpandableSection/ExpandableSection.d.ts +13 -2
  200. package/dist/esm/components/ExpandableSection/ExpandableSection.d.ts.map +1 -1
  201. package/dist/esm/components/ExpandableSection/ExpandableSection.js +8 -5
  202. package/dist/esm/components/ExpandableSection/ExpandableSection.js.map +1 -1
  203. package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.d.ts +5 -0
  204. package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.d.ts.map +1 -1
  205. package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.js +3 -2
  206. package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.js.map +1 -1
  207. package/dist/esm/components/FormControl/FormControlIcon.d.ts +3 -3
  208. package/dist/esm/components/Hero/Hero.d.ts +32 -0
  209. package/dist/esm/components/Hero/Hero.d.ts.map +1 -0
  210. package/dist/esm/components/Hero/Hero.js +51 -0
  211. package/dist/esm/components/Hero/Hero.js.map +1 -0
  212. package/dist/esm/components/Hero/index.d.ts +2 -0
  213. package/dist/esm/components/Hero/index.d.ts.map +1 -0
  214. package/dist/esm/components/Hero/index.js +2 -0
  215. package/dist/esm/components/Hero/index.js.map +1 -0
  216. package/dist/esm/components/NotificationDrawer/NotificationDrawerListItemHeader.d.ts +5 -5
  217. package/dist/esm/components/Page/Page.d.ts.map +1 -1
  218. package/dist/esm/components/Page/Page.js +1 -0
  219. package/dist/esm/components/Page/Page.js.map +1 -1
  220. package/dist/esm/components/Page/PageContext.d.ts +1 -0
  221. package/dist/esm/components/Page/PageContext.d.ts.map +1 -1
  222. package/dist/esm/components/Page/PageContext.js +1 -0
  223. package/dist/esm/components/Page/PageContext.js.map +1 -1
  224. package/dist/esm/components/Page/PageSidebar.js +2 -2
  225. package/dist/esm/components/Page/PageSidebar.js.map +1 -1
  226. package/dist/esm/components/Progress/Progress.d.ts +2 -0
  227. package/dist/esm/components/Progress/Progress.d.ts.map +1 -1
  228. package/dist/esm/components/Progress/Progress.js +2 -2
  229. package/dist/esm/components/Progress/Progress.js.map +1 -1
  230. package/dist/esm/components/Progress/ProgressContainer.d.ts +2 -0
  231. package/dist/esm/components/Progress/ProgressContainer.d.ts.map +1 -1
  232. package/dist/esm/components/Progress/ProgressContainer.js +2 -2
  233. package/dist/esm/components/Progress/ProgressContainer.js.map +1 -1
  234. package/dist/esm/components/Tabs/Tabs.d.ts.map +1 -1
  235. package/dist/esm/components/Tabs/Tabs.js +2 -2
  236. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  237. package/dist/esm/components/Truncate/Truncate.d.ts.map +1 -1
  238. package/dist/esm/components/Truncate/Truncate.js +5 -4
  239. package/dist/esm/components/Truncate/Truncate.js.map +1 -1
  240. package/dist/esm/components/index.d.ts +1 -0
  241. package/dist/esm/components/index.d.ts.map +1 -1
  242. package/dist/esm/components/index.js +1 -0
  243. package/dist/esm/components/index.js.map +1 -1
  244. package/dist/esm/helpers/constants.d.ts +5 -5
  245. package/dist/js/components/Card/CardSubtitle.d.ts +9 -0
  246. package/dist/js/components/Card/CardSubtitle.d.ts.map +1 -0
  247. package/dist/js/components/Card/CardSubtitle.js +14 -0
  248. package/dist/js/components/Card/CardSubtitle.js.map +1 -0
  249. package/dist/js/components/Card/CardTitle.d.ts +2 -0
  250. package/dist/js/components/Card/CardTitle.d.ts.map +1 -1
  251. package/dist/js/components/Card/CardTitle.js +4 -2
  252. package/dist/js/components/Card/CardTitle.js.map +1 -1
  253. package/dist/js/components/Compass/Compass.d.ts.map +1 -1
  254. package/dist/js/components/Compass/Compass.js +1 -1
  255. package/dist/js/components/Compass/Compass.js.map +1 -1
  256. package/dist/js/components/Compass/CompassContent.d.ts +1 -2
  257. package/dist/js/components/Compass/CompassContent.d.ts.map +1 -1
  258. package/dist/js/components/Compass/CompassContent.js.map +1 -1
  259. package/dist/js/components/Compass/CompassHeader.d.ts +1 -2
  260. package/dist/js/components/Compass/CompassHeader.d.ts.map +1 -1
  261. package/dist/js/components/Compass/CompassHeader.js.map +1 -1
  262. package/dist/js/components/Compass/CompassHero.d.ts +2 -18
  263. package/dist/js/components/Compass/CompassHero.d.ts.map +1 -1
  264. package/dist/js/components/Compass/CompassHero.js +2 -39
  265. package/dist/js/components/Compass/CompassHero.js.map +1 -1
  266. package/dist/js/components/Compass/CompassMainFooter.d.ts +12 -0
  267. package/dist/js/components/Compass/CompassMainFooter.d.ts.map +1 -0
  268. package/dist/js/components/Compass/CompassMainFooter.js +14 -0
  269. package/dist/js/components/Compass/CompassMainFooter.js.map +1 -0
  270. package/dist/js/components/Compass/CompassMainHeader.d.ts +11 -4
  271. package/dist/js/components/Compass/CompassMainHeader.d.ts.map +1 -1
  272. package/dist/js/components/Compass/CompassMainHeader.js +5 -3
  273. package/dist/js/components/Compass/CompassMainHeader.js.map +1 -1
  274. package/dist/js/components/Compass/CompassMainHeaderContent.d.ts +12 -0
  275. package/dist/js/components/Compass/CompassMainHeaderContent.d.ts.map +1 -0
  276. package/dist/js/components/Compass/CompassMainHeaderContent.js +14 -0
  277. package/dist/js/components/Compass/CompassMainHeaderContent.js.map +1 -0
  278. package/dist/js/components/Compass/CompassMainHeaderTitle.d.ts +12 -0
  279. package/dist/js/components/Compass/CompassMainHeaderTitle.d.ts.map +1 -0
  280. package/dist/js/components/Compass/CompassMainHeaderTitle.js +14 -0
  281. package/dist/js/components/Compass/CompassMainHeaderTitle.js.map +1 -0
  282. package/dist/js/components/Compass/CompassMainHeaderToolbar.d.ts +12 -0
  283. package/dist/js/components/Compass/CompassMainHeaderToolbar.d.ts.map +1 -0
  284. package/dist/js/components/Compass/CompassMainHeaderToolbar.js +14 -0
  285. package/dist/js/components/Compass/CompassMainHeaderToolbar.js.map +1 -0
  286. package/dist/js/components/Compass/CompassMessageBar.d.ts +1 -2
  287. package/dist/js/components/Compass/CompassMessageBar.d.ts.map +1 -1
  288. package/dist/js/components/Compass/CompassMessageBar.js.map +1 -1
  289. package/dist/js/components/Compass/CompassNavContent.d.ts +9 -0
  290. package/dist/js/components/Compass/CompassNavContent.d.ts.map +1 -0
  291. package/dist/js/components/Compass/CompassNavContent.js +14 -0
  292. package/dist/js/components/Compass/CompassNavContent.js.map +1 -0
  293. package/dist/js/components/Compass/CompassNavHome.d.ts +13 -0
  294. package/dist/js/components/Compass/CompassNavHome.d.ts.map +1 -0
  295. package/dist/js/components/Compass/CompassNavHome.js +19 -0
  296. package/dist/js/components/Compass/CompassNavHome.js.map +1 -0
  297. package/dist/js/components/Compass/CompassNavMain.d.ts +9 -0
  298. package/dist/js/components/Compass/CompassNavMain.d.ts.map +1 -0
  299. package/dist/js/components/Compass/CompassNavMain.js +14 -0
  300. package/dist/js/components/Compass/CompassNavMain.js.map +1 -0
  301. package/dist/js/components/Compass/CompassNavSearch.d.ts +13 -0
  302. package/dist/js/components/Compass/CompassNavSearch.d.ts.map +1 -0
  303. package/dist/js/components/Compass/CompassNavSearch.js +19 -0
  304. package/dist/js/components/Compass/CompassNavSearch.js.map +1 -0
  305. package/dist/js/components/Compass/CompassPanel.d.ts +1 -2
  306. package/dist/js/components/Compass/CompassPanel.d.ts.map +1 -1
  307. package/dist/js/components/Compass/CompassPanel.js.map +1 -1
  308. package/dist/js/components/Compass/index.d.ts +8 -0
  309. package/dist/js/components/Compass/index.d.ts.map +1 -1
  310. package/dist/js/components/Compass/index.js +8 -0
  311. package/dist/js/components/Compass/index.js.map +1 -1
  312. package/dist/js/components/DataList/DataList.d.ts +2 -0
  313. package/dist/js/components/DataList/DataList.d.ts.map +1 -1
  314. package/dist/js/components/DataList/DataList.js +2 -2
  315. package/dist/js/components/DataList/DataList.js.map +1 -1
  316. package/dist/js/components/Drawer/DrawerPanelContent.d.ts +2 -0
  317. package/dist/js/components/Drawer/DrawerPanelContent.d.ts.map +1 -1
  318. package/dist/js/components/Drawer/DrawerPanelContent.js +2 -2
  319. package/dist/js/components/Drawer/DrawerPanelContent.js.map +1 -1
  320. package/dist/js/components/Dropdown/Dropdown.d.ts +6 -0
  321. package/dist/js/components/Dropdown/Dropdown.d.ts.map +1 -1
  322. package/dist/js/components/Dropdown/Dropdown.js +5 -2
  323. package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
  324. package/dist/js/components/ExpandableSection/ExpandableSection.d.ts +13 -2
  325. package/dist/js/components/ExpandableSection/ExpandableSection.d.ts.map +1 -1
  326. package/dist/js/components/ExpandableSection/ExpandableSection.js +8 -5
  327. package/dist/js/components/ExpandableSection/ExpandableSection.js.map +1 -1
  328. package/dist/js/components/ExpandableSection/ExpandableSectionToggle.d.ts +5 -0
  329. package/dist/js/components/ExpandableSection/ExpandableSectionToggle.d.ts.map +1 -1
  330. package/dist/js/components/ExpandableSection/ExpandableSectionToggle.js +3 -2
  331. package/dist/js/components/ExpandableSection/ExpandableSectionToggle.js.map +1 -1
  332. package/dist/js/components/Hero/Hero.d.ts +32 -0
  333. package/dist/js/components/Hero/Hero.d.ts.map +1 -0
  334. package/dist/js/components/Hero/Hero.js +55 -0
  335. package/dist/js/components/Hero/Hero.js.map +1 -0
  336. package/dist/js/components/Hero/index.d.ts +2 -0
  337. package/dist/js/components/Hero/index.d.ts.map +1 -0
  338. package/dist/js/components/Hero/index.js +5 -0
  339. package/dist/js/components/Hero/index.js.map +1 -0
  340. package/dist/js/components/Page/Page.d.ts.map +1 -1
  341. package/dist/js/components/Page/Page.js +1 -0
  342. package/dist/js/components/Page/Page.js.map +1 -1
  343. package/dist/js/components/Page/PageContext.d.ts +1 -0
  344. package/dist/js/components/Page/PageContext.d.ts.map +1 -1
  345. package/dist/js/components/Page/PageContext.js +1 -0
  346. package/dist/js/components/Page/PageContext.js.map +1 -1
  347. package/dist/js/components/Page/PageSidebar.js +2 -2
  348. package/dist/js/components/Page/PageSidebar.js.map +1 -1
  349. package/dist/js/components/Progress/Progress.d.ts +2 -0
  350. package/dist/js/components/Progress/Progress.d.ts.map +1 -1
  351. package/dist/js/components/Progress/Progress.js +2 -2
  352. package/dist/js/components/Progress/Progress.js.map +1 -1
  353. package/dist/js/components/Progress/ProgressContainer.d.ts +2 -0
  354. package/dist/js/components/Progress/ProgressContainer.d.ts.map +1 -1
  355. package/dist/js/components/Progress/ProgressContainer.js +2 -2
  356. package/dist/js/components/Progress/ProgressContainer.js.map +1 -1
  357. package/dist/js/components/Tabs/Tabs.d.ts.map +1 -1
  358. package/dist/js/components/Tabs/Tabs.js +2 -2
  359. package/dist/js/components/Tabs/Tabs.js.map +1 -1
  360. package/dist/js/components/Truncate/Truncate.d.ts.map +1 -1
  361. package/dist/js/components/Truncate/Truncate.js +5 -4
  362. package/dist/js/components/Truncate/Truncate.js.map +1 -1
  363. package/dist/js/components/index.d.ts +1 -0
  364. package/dist/js/components/index.d.ts.map +1 -1
  365. package/dist/js/components/index.js +1 -0
  366. package/dist/js/components/index.js.map +1 -1
  367. package/dist/styles/base-no-reset.css +46 -0
  368. package/dist/styles/base.css +53 -0
  369. package/dist/umd/assets/{output-DxVGusJA.css → output-Bhl00hr4.css} +12673 -12499
  370. package/dist/umd/react-core.min.js +3 -3
  371. package/helpers/package.json +1 -1
  372. package/layouts/package.json +1 -1
  373. package/next/package.json +1 -1
  374. package/package.json +6 -6
  375. package/src/components/Card/CardSubtitle.tsx +20 -0
  376. package/src/components/Card/CardTitle.tsx +6 -0
  377. package/src/components/Card/__tests__/CardSubtitle.test.tsx +48 -0
  378. package/src/components/Card/__tests__/CardTitle.test.tsx +27 -17
  379. package/src/components/Card/__tests__/__snapshots__/CardSubtitle.test.tsx.snap +21 -0
  380. package/src/components/Card/__tests__/__snapshots__/CardTitle.test.tsx.snap +1 -1
  381. package/src/components/Card/examples/Card.md +16 -1
  382. package/src/components/Card/examples/CardSubtitle.tsx +9 -0
  383. package/src/components/Card/examples/CardSubtitleActions.tsx +107 -0
  384. package/src/components/ClipboardCopy/__tests__/ClipboardCopyTruncateIntegration.test.tsx +32 -0
  385. package/src/components/Compass/Compass.tsx +5 -3
  386. package/src/components/Compass/CompassContent.tsx +2 -2
  387. package/src/components/Compass/CompassHeader.tsx +6 -2
  388. package/src/components/Compass/CompassHero.tsx +7 -72
  389. package/src/components/Compass/CompassMainFooter.tsx +24 -0
  390. package/src/components/Compass/CompassMainHeader.tsx +22 -11
  391. package/src/components/Compass/CompassMainHeaderContent.tsx +25 -0
  392. package/src/components/Compass/CompassMainHeaderTitle.tsx +25 -0
  393. package/src/components/Compass/CompassMainHeaderToolbar.tsx +25 -0
  394. package/src/components/Compass/CompassMessageBar.tsx +2 -2
  395. package/src/components/Compass/CompassNavContent.tsx +20 -0
  396. package/src/components/Compass/CompassNavHome.tsx +77 -0
  397. package/src/components/Compass/CompassNavMain.tsx +21 -0
  398. package/src/components/Compass/CompassNavSearch.tsx +70 -0
  399. package/src/components/Compass/CompassPanel.tsx +2 -2
  400. package/src/components/Compass/__tests__/CompassHero.test.tsx +7 -119
  401. package/src/components/Compass/__tests__/CompassMainFooter.test.tsx +52 -0
  402. package/src/components/Compass/__tests__/CompassMainHeader.test.tsx +45 -2
  403. package/src/components/Compass/__tests__/CompassMainHeaderContent.test.tsx +28 -0
  404. package/src/components/Compass/__tests__/CompassMainHeaderTitle.test.tsx +28 -0
  405. package/src/components/Compass/__tests__/CompassMainHeaderToolbar.test.tsx +28 -0
  406. package/src/components/Compass/__tests__/CompassNavContent.test.tsx +37 -0
  407. package/src/components/Compass/__tests__/CompassNavHome.test.tsx +89 -0
  408. package/src/components/Compass/__tests__/CompassNavMain.test.tsx +37 -0
  409. package/src/components/Compass/__tests__/CompassNavSearch.test.tsx +87 -0
  410. package/src/components/Compass/__tests__/__snapshots__/Compass.test.tsx.snap +32 -28
  411. package/src/components/Compass/__tests__/__snapshots__/CompassHero.test.tsx.snap +2 -9
  412. package/src/components/Compass/__tests__/__snapshots__/CompassMainFooter.test.tsx.snap +11 -0
  413. package/src/components/Compass/__tests__/__snapshots__/CompassMainHeader.test.tsx.snap +3 -3
  414. package/src/components/Compass/__tests__/__snapshots__/CompassMainHeaderContent.test.tsx.snap +11 -0
  415. package/src/components/Compass/__tests__/__snapshots__/CompassMainHeaderTitle.test.tsx.snap +11 -0
  416. package/src/components/Compass/__tests__/__snapshots__/CompassMainHeaderToolbar.test.tsx.snap +11 -0
  417. package/src/components/Compass/__tests__/__snapshots__/CompassNavContent.test.tsx.snap +13 -0
  418. package/src/components/Compass/__tests__/__snapshots__/CompassNavHome.test.tsx.snap +107 -0
  419. package/src/components/Compass/__tests__/__snapshots__/CompassNavMain.test.tsx.snap +13 -0
  420. package/src/components/Compass/__tests__/__snapshots__/CompassNavSearch.test.tsx.snap +93 -0
  421. package/src/components/Compass/examples/Compass.md +42 -5
  422. package/src/components/Compass/examples/CompassBasic.tsx +15 -2
  423. package/src/components/Compass/examples/CompassDemo.tsx +63 -48
  424. package/src/components/Compass/examples/CompassMainFooterDemo.tsx +43 -0
  425. package/src/components/Compass/examples/compass.css +14 -2
  426. package/src/components/Compass/index.ts +8 -0
  427. package/src/components/DataList/DataList.tsx +4 -0
  428. package/src/components/DataList/__tests__/DataList.test.tsx +6 -0
  429. package/src/components/DataList/examples/DataList.md +6 -0
  430. package/src/components/DataList/examples/DataListPlain.tsx +32 -0
  431. package/src/components/Drawer/DrawerPanelContent.tsx +4 -0
  432. package/src/components/Drawer/__tests__/DrawerPanelContent.test.tsx +10 -0
  433. package/src/components/Dropdown/Dropdown.tsx +15 -1
  434. package/src/components/Dropdown/__tests__/Dropdown.test.tsx +26 -0
  435. package/src/components/ExpandableSection/ExpandableSection.tsx +27 -12
  436. package/src/components/ExpandableSection/ExpandableSectionToggle.tsx +48 -38
  437. package/src/components/ExpandableSection/__tests__/ExpandableSection.test.tsx +94 -0
  438. package/src/components/ExpandableSection/__tests__/ExpandableSectionToggle.test.tsx +28 -0
  439. package/src/components/ExpandableSection/examples/ExpandableSection.md +16 -0
  440. package/src/components/ExpandableSection/examples/ExpandableSectionCustomToggle.tsx +31 -16
  441. package/src/components/ExpandableSection/examples/ExpandableSectionUncontrolledDynamicToggleFunction.tsx +13 -0
  442. package/src/components/ExpandableSection/examples/ExpandableSectionWithHeading.tsx +89 -0
  443. package/src/components/Hero/Hero.tsx +102 -0
  444. package/src/components/Hero/__tests__/Hero.test.tsx +175 -0
  445. package/src/components/Hero/__tests__/__snapshots__/Hero.test.tsx.snap +30 -0
  446. package/src/components/Hero/examples/Hero.md +19 -0
  447. package/src/components/Hero/examples/HeroBasic.tsx +3 -0
  448. package/src/components/Hero/index.ts +1 -0
  449. package/src/components/Page/Page.tsx +1 -0
  450. package/src/components/Page/PageContext.tsx +2 -0
  451. package/src/components/Page/PageSidebar.tsx +2 -2
  452. package/src/components/Page/__tests__/Generated/__snapshots__/PageSidebar.test.tsx.snap +1 -1
  453. package/src/components/Page/__tests__/__snapshots__/Page.test.tsx.snap +12 -12
  454. package/src/components/Progress/Progress.tsx +4 -0
  455. package/src/components/Progress/ProgressContainer.tsx +5 -2
  456. package/src/components/Progress/__tests__/Generated/ProgressContainer.test.tsx +1 -0
  457. package/src/components/Progress/__tests__/Progress.test.tsx +32 -0
  458. package/src/components/Progress/examples/Progress.md +2 -14
  459. package/src/components/Progress/examples/ProgressInteractiveFailure.tsx +55 -0
  460. package/src/components/Tabs/Tabs.tsx +2 -2
  461. package/src/components/Tabs/__tests__/Tabs.test.tsx +60 -0
  462. package/src/components/Tabs/__tests__/__snapshots__/Tabs.test.tsx.snap +13 -13
  463. package/src/components/Tabs/examples/Tabs.md +8 -0
  464. package/src/components/Tabs/examples/TabsSiteNav.tsx +40 -0
  465. package/src/components/Truncate/Truncate.tsx +5 -4
  466. package/src/components/Truncate/__tests__/Truncate.test.tsx +21 -3
  467. package/src/components/Truncate/__tests__/__snapshots__/Truncate.test.tsx.snap +3 -9
  468. package/src/components/index.ts +1 -0
  469. package/src/deprecated/components/Modal/examples/Modal.md +2 -2
  470. package/src/deprecated/components/Tile/examples/Tile.md +0 -2
  471. package/src/helpers/OUIA/OUIA.md +2 -2
  472. package/src/layouts/Bullseye/examples/Bullseye.md +2 -1
  473. package/src/layouts/Flex/examples/Flex.md +2 -1
  474. package/src/layouts/Gallery/examples/Gallery.md +2 -1
  475. package/src/layouts/Grid/examples/Grid.md +2 -1
  476. package/src/layouts/Level/examples/Level.md +2 -1
  477. package/src/layouts/Split/examples/Split.md +2 -1
  478. package/src/layouts/Stack/examples/Stack.md +2 -1
  479. package/src/components/Progress/examples/ProgressFailureWithoutMeasure.tsx +0 -5
  480. package/src/components/Progress/examples/ProgressInsideSuccess.tsx +0 -10
  481. package/src/components/Progress/examples/ProgressOutsideFailure.tsx +0 -10
@@ -1,17 +1,27 @@
1
- import { Flex, FlexItem } from '../../layouts/Flex';
2
- import { CompassPanel } from './CompassPanel';
1
+ import { CompassPanel, CompassPanelProps } from './CompassPanel';
2
+ import { CompassMainHeaderContent } from './CompassMainHeaderContent';
3
+ import { CompassMainHeaderTitle } from './CompassMainHeaderTitle';
4
+ import { CompassMainHeaderToolbar } from './CompassMainHeaderToolbar';
3
5
  import styles from '@patternfly/react-styles/css/components/Compass/compass';
4
6
  import { css } from '@patternfly/react-styles';
5
7
 
6
- interface CompassMainHeaderProps extends Omit<React.HTMLProps<HTMLDivElement>, 'title'> {
8
+ /** The wrapper component for header content in the main compass area. When building out a custom implementation,
9
+ * you should ensure any content within the main header is rendered inside a compass panel and main header content wrappers.
10
+ */
11
+
12
+ export interface CompassMainHeaderProps extends Omit<React.HTMLProps<HTMLDivElement>, 'title'> {
13
+ /** Custom main header content. To opt into a default styling, use the title and toolbar props instead. */
14
+ children?: React.ReactNode;
7
15
  /** Additional classes added to the main header */
8
16
  className?: string;
9
17
  /** Styled title. If title or toolbar is provided, the children will be ignored. */
10
18
  title?: React.ReactNode;
11
19
  /** Styled toolbar. If title or toolbar is provided, the children will be ignored. */
12
20
  toolbar?: React.ReactNode;
13
- /** Custom main header content. To opt into a default styling, use the title and toolbar props instead. */
14
- children?: React.ReactNode;
21
+ /** Additional props passed to the compass panel that wraps the main header content when using the title or toolbar props. When using the
22
+ * children prop, you should pass your own compass panel.
23
+ */
24
+ compassPanelProps?: Omit<CompassPanelProps, 'children'>;
15
25
  }
16
26
 
17
27
  export const CompassMainHeader: React.FunctionComponent<CompassMainHeaderProps> = ({
@@ -19,15 +29,16 @@ export const CompassMainHeader: React.FunctionComponent<CompassMainHeaderProps>
19
29
  title,
20
30
  toolbar,
21
31
  children,
32
+ compassPanelProps,
22
33
  ...props
23
- }) => {
34
+ }: CompassMainHeaderProps) => {
24
35
  const _content =
25
36
  title !== undefined || toolbar !== undefined ? (
26
- <CompassPanel>
27
- <Flex alignItems={{ default: 'alignItemsCenter' }}>
28
- <FlexItem grow={{ default: 'grow' }}>{title}</FlexItem>
29
- {toolbar && <FlexItem>{toolbar}</FlexItem>}
30
- </Flex>
37
+ <CompassPanel {...compassPanelProps}>
38
+ <CompassMainHeaderContent>
39
+ {title && <CompassMainHeaderTitle>{title}</CompassMainHeaderTitle>}
40
+ {toolbar && <CompassMainHeaderToolbar>{toolbar}</CompassMainHeaderToolbar>}
41
+ </CompassMainHeaderContent>
31
42
  </CompassPanel>
32
43
  ) : (
33
44
  children
@@ -0,0 +1,25 @@
1
+ import styles from '@patternfly/react-styles/css/components/Compass/compass';
2
+ import { css } from '@patternfly/react-styles';
3
+
4
+ /** A wrapper component to be passed as custom content for the compass main header. This should also be wrapped
5
+ * in a compass panel component.
6
+ */
7
+
8
+ export interface CompassMainHeaderContentProps extends React.HTMLProps<HTMLDivElement> {
9
+ /** Content of the main header content. */
10
+ children: React.ReactNode;
11
+ /** Additional classes added to the main header content. */
12
+ className?: string;
13
+ }
14
+
15
+ export const CompassMainHeaderContent: React.FunctionComponent<CompassMainHeaderContentProps> = ({
16
+ children,
17
+ className,
18
+ ...props
19
+ }: CompassMainHeaderContentProps) => (
20
+ <div className={css(styles.compassMainHeaderContent, className)} {...props}>
21
+ {children}
22
+ </div>
23
+ );
24
+
25
+ CompassMainHeaderContent.displayName = 'CompassMainHeaderContent';
@@ -0,0 +1,25 @@
1
+ import styles from '@patternfly/react-styles/css/components/Compass/compass';
2
+ import { css } from '@patternfly/react-styles';
3
+
4
+ /** A wrapper component for custom title content to be passed into a compass main header. This should also be wrapped
5
+ * by a compass main header content component.
6
+ */
7
+
8
+ export interface CompassMainHeaderTitleProps extends React.HTMLProps<HTMLDivElement> {
9
+ /** Content of the main header title. */
10
+ children: React.ReactNode;
11
+ /** Additional classes added to the main header title. */
12
+ className?: string;
13
+ }
14
+
15
+ export const CompassMainHeaderTitle: React.FunctionComponent<CompassMainHeaderTitleProps> = ({
16
+ children,
17
+ className,
18
+ ...props
19
+ }: CompassMainHeaderTitleProps) => (
20
+ <div className={css(`${styles.compass}__main-header-title`, className)} {...props}>
21
+ {children}
22
+ </div>
23
+ );
24
+
25
+ CompassMainHeaderTitle.displayName = 'CompassMainHeaderTitle';
@@ -0,0 +1,25 @@
1
+ import styles from '@patternfly/react-styles/css/components/Compass/compass';
2
+ import { css } from '@patternfly/react-styles';
3
+
4
+ /** A wrapper component for custom toolbar content to be passed into a compass main header. This should also be wrapped
5
+ * by a compass main header content component.
6
+ */
7
+
8
+ export interface CompassMainHeaderToolbarProps extends React.HTMLProps<HTMLDivElement> {
9
+ /** Content of the main header toolbar. */
10
+ children: React.ReactNode;
11
+ /** Additional classes added to the main header toolbar. */
12
+ className?: string;
13
+ }
14
+
15
+ export const CompassMainHeaderToolbar: React.FunctionComponent<CompassMainHeaderToolbarProps> = ({
16
+ children,
17
+ className,
18
+ ...props
19
+ }: CompassMainHeaderToolbarProps) => (
20
+ <div className={css(`${styles.compass}__main-header-toolbar`, className)} {...props}>
21
+ {children}
22
+ </div>
23
+ );
24
+
25
+ CompassMainHeaderToolbar.displayName = 'CompassMainHeaderToolbar';
@@ -1,7 +1,7 @@
1
1
  import styles from '@patternfly/react-styles/css/components/Compass/compass';
2
2
  import { css } from '@patternfly/react-styles';
3
3
 
4
- interface CompassMessageBarProps extends React.HTMLProps<HTMLDivElement> {
4
+ export interface CompassMessageBarProps extends React.HTMLProps<HTMLDivElement> {
5
5
  /** Content of the message bar. Typically a @patternfly/chatbot MessageBar component. */
6
6
  children?: React.ReactNode;
7
7
  /** Additional classes added to the message bar */
@@ -12,7 +12,7 @@ export const CompassMessageBar: React.FunctionComponent<CompassMessageBarProps>
12
12
  children,
13
13
  className,
14
14
  ...props
15
- }) => (
15
+ }: CompassMessageBarProps) => (
16
16
  <div className={css(styles.compassMessageBar, className)} {...props}>
17
17
  {children}
18
18
  </div>
@@ -0,0 +1,20 @@
1
+ import styles from '@patternfly/react-styles/css/components/Compass/compass';
2
+ import { css } from '@patternfly/react-styles';
3
+ export interface CompassNavContentProps extends React.HTMLProps<HTMLDivElement> {
4
+ /** Content of the nav content wrapper. */
5
+ children: React.ReactNode;
6
+ /** Additional classes added to the nav content. */
7
+ className?: string;
8
+ }
9
+
10
+ export const CompassNavContent: React.FunctionComponent<CompassNavContentProps> = ({
11
+ children,
12
+ className,
13
+ ...props
14
+ }: CompassNavContentProps) => (
15
+ <div className={css(styles.compassNavContent, className)} {...props}>
16
+ {children}
17
+ </div>
18
+ );
19
+
20
+ CompassNavContent.displayName = 'CompassNavContent';
@@ -0,0 +1,77 @@
1
+ import { useRef } from 'react';
2
+ import styles from '@patternfly/react-styles/css/components/Compass/compass';
3
+ import { css } from '@patternfly/react-styles';
4
+ import { Button } from '../Button';
5
+ import { Tooltip } from '../Tooltip';
6
+
7
+ const CompassHomeIcon = () => (
8
+ <svg
9
+ width="1em"
10
+ height="1em"
11
+ className="pf-v6-svg"
12
+ viewBox="0 0 20 20"
13
+ fill="none"
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ aria-hidden="true"
16
+ >
17
+ <path
18
+ d="M8.33268 13.334H11.666"
19
+ stroke="currentcolor"
20
+ strokeWidth="1.5"
21
+ strokeLinecap="round"
22
+ strokeLinejoin="round"
23
+ />
24
+ <path
25
+ d="M1.66602 6.66602L9.73102 2.63351C9.89994 2.54905 10.0988 2.54905 10.2677 2.63351L18.3327 6.66602"
26
+ stroke="currentcolor"
27
+ strokeWidth="1.5"
28
+ strokeLinecap="round"
29
+ strokeLinejoin="round"
30
+ />
31
+ <path
32
+ d="M16.6673 9.16602V15.4993C16.6673 16.6039 15.7719 17.4993 14.6673 17.4993H5.33398C4.22941 17.4993 3.33398 16.6039 3.33398 15.4993V9.16602"
33
+ stroke="currentcolor"
34
+ strokeWidth="1.5"
35
+ strokeLinecap="round"
36
+ strokeLinejoin="round"
37
+ />
38
+ </svg>
39
+ );
40
+
41
+ export interface CompassNavHomeProps extends Omit<React.HTMLProps<HTMLDivElement>, 'onClick'> {
42
+ /** Content to display in the tooltip. Defaults to "Home". */
43
+ tooltipContent?: React.ReactNode;
44
+ /** Click handler for the home button. */
45
+ onClick?: React.MouseEventHandler<HTMLButtonElement>;
46
+ /** Additional classes added to the nav home wrapper. */
47
+ className?: string;
48
+ /** Accessible label for the nav home. */
49
+ 'aria-label'?: string;
50
+ }
51
+
52
+ export const CompassNavHome: React.FunctionComponent<CompassNavHomeProps> = ({
53
+ 'aria-label': ariaLabel = 'Home',
54
+ tooltipContent = 'Home',
55
+ className,
56
+ onClick,
57
+ ...props
58
+ }: CompassNavHomeProps) => {
59
+ const buttonRef = useRef<HTMLButtonElement>(null);
60
+
61
+ return (
62
+ <div className={css(styles.compassNav + '-home', className)} {...props}>
63
+ <Tooltip content={tooltipContent} position="left" aria="none" aria-live="off" triggerRef={buttonRef}>
64
+ <Button
65
+ isCircle
66
+ variant="plain"
67
+ icon={<CompassHomeIcon />}
68
+ aria-label={ariaLabel}
69
+ onClick={onClick}
70
+ ref={buttonRef}
71
+ />
72
+ </Tooltip>
73
+ </div>
74
+ );
75
+ };
76
+
77
+ CompassNavHome.displayName = 'CompassNavHome';
@@ -0,0 +1,21 @@
1
+ import styles from '@patternfly/react-styles/css/components/Compass/compass';
2
+ import { css } from '@patternfly/react-styles';
3
+
4
+ export interface CompassNavMainProps extends React.HTMLProps<HTMLDivElement> {
5
+ /** Content of the nav main section (typically tabs). */
6
+ children: React.ReactNode;
7
+ /** Additional classes added to the nav main section. */
8
+ className?: string;
9
+ }
10
+
11
+ export const CompassNavMain: React.FunctionComponent<CompassNavMainProps> = ({
12
+ children,
13
+ className,
14
+ ...props
15
+ }: CompassNavMainProps) => (
16
+ <div className={css(styles.compassNavMain, className)} {...props}>
17
+ {children}
18
+ </div>
19
+ );
20
+
21
+ CompassNavMain.displayName = 'CompassNavMain';
@@ -0,0 +1,70 @@
1
+ import { useRef } from 'react';
2
+ import styles from '@patternfly/react-styles/css/components/Compass/compass';
3
+ import { css } from '@patternfly/react-styles';
4
+ import { Button } from '../Button';
5
+ import { Tooltip } from '../Tooltip';
6
+
7
+ const CompassSearchIcon = () => (
8
+ <svg
9
+ width="1em"
10
+ height="1em"
11
+ className="pf-v6-svg"
12
+ viewBox="0 0 20 20"
13
+ fill="none"
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ aria-hidden="true"
16
+ >
17
+ <path
18
+ d="M14.166 14.166L17.4993 17.4993"
19
+ stroke="currentcolor"
20
+ strokeWidth="1.5"
21
+ strokeLinecap="round"
22
+ strokeLinejoin="round"
23
+ />
24
+ <path
25
+ d="M2.5 9.16667C2.5 12.8486 5.48477 15.8333 9.16667 15.8333C11.0108 15.8333 12.6801 15.0846 13.887 13.8744C15.0897 12.6685 15.8333 11.0044 15.8333 9.16667C15.8333 5.48477 12.8486 2.5 9.16667 2.5C5.48477 2.5 2.5 5.48477 2.5 9.16667Z"
26
+ stroke="currentcolor"
27
+ strokeWidth="1.5"
28
+ strokeLinecap="round"
29
+ strokeLinejoin="round"
30
+ />
31
+ </svg>
32
+ );
33
+
34
+ export interface CompassNavSearchProps extends Omit<React.HTMLProps<HTMLDivElement>, 'onClick'> {
35
+ /** Content to display in the tooltip. Defaults to "Search". */
36
+ tooltipContent?: React.ReactNode;
37
+ /** Click handler for the search button. */
38
+ onClick?: React.MouseEventHandler<HTMLButtonElement>;
39
+ /** Additional classes added to the nav search wrapper. */
40
+ className?: string;
41
+ /** Accessible label for the nav search. */
42
+ 'aria-label'?: string;
43
+ }
44
+
45
+ export const CompassNavSearch: React.FunctionComponent<CompassNavSearchProps> = ({
46
+ 'aria-label': ariaLabel = 'Search',
47
+ tooltipContent = 'Search',
48
+ className,
49
+ onClick,
50
+ ...props
51
+ }: CompassNavSearchProps) => {
52
+ const buttonRef = useRef<HTMLButtonElement>(null);
53
+
54
+ return (
55
+ <div className={css(styles.compassNav + '-search', className)} {...props}>
56
+ <Tooltip content={tooltipContent} aria="none" aria-live="off" triggerRef={buttonRef}>
57
+ <Button
58
+ isCircle
59
+ variant="plain"
60
+ icon={<CompassSearchIcon />}
61
+ aria-label={ariaLabel}
62
+ onClick={onClick}
63
+ ref={buttonRef}
64
+ />
65
+ </Tooltip>
66
+ </div>
67
+ );
68
+ };
69
+
70
+ CompassNavSearch.displayName = 'CompassNavSearch';
@@ -1,7 +1,7 @@
1
1
  import styles from '@patternfly/react-styles/css/components/Compass/compass';
2
2
  import { css } from '@patternfly/react-styles';
3
3
 
4
- interface CompassPanelProps extends React.HTMLProps<HTMLDivElement> {
4
+ export interface CompassPanelProps extends React.HTMLProps<HTMLDivElement> {
5
5
  /** Content of the panel. */
6
6
  children: React.ReactNode;
7
7
  /** Additional classes added to the panel. */
@@ -30,7 +30,7 @@ export const CompassPanel: React.FunctionComponent<CompassPanelProps> = ({
30
30
  isFullHeight,
31
31
  isScrollable,
32
32
  ...props
33
- }) => (
33
+ }: CompassPanelProps) => (
34
34
  <div
35
35
  className={css(
36
36
  styles.compassPanel,
@@ -16,135 +16,23 @@ test('Renders with children', () => {
16
16
  expect(screen.getByText('Test content')).toBeVisible();
17
17
  });
18
18
 
19
- test('Renders with custom class name when className prop is provided', () => {
20
- render(<CompassHero className="custom-class">Test</CompassHero>);
21
- expect(screen.getByText('Test').parentElement).toHaveClass('custom-class');
22
- });
23
-
24
- test(`Renders with default ${styles.compassPanel} and ${styles.compassHero} classes on the hero and ${styles.compassHeroBody} class on the hero body`, () => {
19
+ test(`Renders with ${styles.compass}__hero class by defaulty`, () => {
25
20
  render(<CompassHero>Test</CompassHero>);
26
- const heroBodyElement = screen.getByText('Test');
27
- expect(heroBodyElement).toHaveClass(styles.compassHeroBody);
28
-
29
- const heroElement = heroBodyElement.parentElement;
30
- expect(heroElement).toHaveClass(styles.compassPanel);
31
- expect(heroElement).toHaveClass(styles.compassHero);
32
- });
33
-
34
- test('Renders with light background image style when backgroundSrcLight is provided', () => {
35
- const backgroundSrc = 'light-bg.jpg';
36
- render(<CompassHero backgroundSrcLight={backgroundSrc}>Test</CompassHero>);
37
- expect(screen.getByText('Test').parentElement).toHaveStyle(
38
- `--pf-v6-c-compass__hero--BackgroundImage--light: url(${backgroundSrc})`
39
- );
40
- });
41
-
42
- test('Renders with dark background image style when backgroundSrcDark is provided', () => {
43
- const backgroundSrc = 'dark-bg.jpg';
44
- render(<CompassHero backgroundSrcDark={backgroundSrc}>Test</CompassHero>);
45
- expect(screen.getByText('Test').parentElement).toHaveStyle(
46
- `--pf-v6-c-compass__hero--BackgroundImage--dark: url(${backgroundSrc})`
47
- );
48
- });
49
-
50
- test('Renders with both light and dark background image styles when both are provided', () => {
51
- const lightSrc = 'light-bg.jpg';
52
- const darkSrc = 'dark-bg.jpg';
53
- render(
54
- <CompassHero backgroundSrcLight={lightSrc} backgroundSrcDark={darkSrc}>
55
- Test
56
- </CompassHero>
57
- );
58
- const heroElement = screen.getByText('Test').parentElement;
59
- expect(heroElement).toHaveStyle(`--pf-v6-c-compass__hero--BackgroundImage--light: url(${lightSrc})`);
60
- expect(heroElement).toHaveStyle(`--pf-v6-c-compass__hero--BackgroundImage--dark: url(${darkSrc})`);
61
- });
62
-
63
- test('Renders with light gradient styles when gradientLight is provided', () => {
64
- const gradient = {
65
- stop1: '#ff0000',
66
- stop2: '#00ff00',
67
- stop3: '#0000ff'
68
- };
69
- render(<CompassHero gradientLight={gradient}>Test</CompassHero>);
70
- const heroElement = screen.getByText('Test').parentElement;
71
- expect(heroElement).toHaveStyle(`--pf-v6-c-compass__hero--gradient--stop-1--light: ${gradient.stop1}`);
72
- expect(heroElement).toHaveStyle(`--pf-v6-c-compass__hero--gradient--stop-2--light: ${gradient.stop2}`);
73
- expect(heroElement).toHaveStyle(`--pf-v6-c-compass__hero--gradient--stop-3--light: ${gradient.stop3}`);
74
- });
75
21
 
76
- test('Renders with dark gradient styles when gradientDark is provided', () => {
77
- const gradient = {
78
- stop1: '#ff0000',
79
- stop2: '#00ff00',
80
- stop3: '#0000ff'
81
- };
82
- render(<CompassHero gradientDark={gradient}>Test</CompassHero>);
83
- const heroElement = screen.getByText('Test').parentElement;
84
- expect(heroElement).toHaveStyle(`--pf-v6-c-compass__hero--gradient--stop-1--dark: ${gradient.stop1}`);
85
- expect(heroElement).toHaveStyle(`--pf-v6-c-compass__hero--gradient--stop-2--dark: ${gradient.stop2}`);
86
- expect(heroElement).toHaveStyle(`--pf-v6-c-compass__hero--gradient--stop-3--dark: ${gradient.stop3}`);
87
- });
88
-
89
- test('Renders with both light and dark gradient styles when both are provided', () => {
90
- const lightGradient = {
91
- stop1: '#ff0000',
92
- stop2: '#00ff00',
93
- stop3: '#0000ff'
94
- };
95
- const darkGradient = {
96
- stop1: '#000000',
97
- stop2: '#ffffff',
98
- stop3: '#808080'
99
- };
100
- render(
101
- <CompassHero gradientLight={lightGradient} gradientDark={darkGradient}>
102
- Test
103
- </CompassHero>
104
- );
105
- const heroElement = screen.getByText('Test').parentElement;
106
- expect(heroElement).toHaveStyle(`--pf-v6-c-compass__hero--gradient--stop-1--light: ${lightGradient.stop1}`);
107
- expect(heroElement).toHaveStyle(`--pf-v6-c-compass__hero--gradient--stop-1--dark: ${darkGradient.stop1}`);
22
+ expect(screen.getByText('Test')).toHaveClass(`${styles.compass}__hero`, { exact: true });
108
23
  });
109
24
 
110
- test('Renders with both background images and gradient styles when both are provided', () => {
111
- const lightSrc = 'light-bg.jpg';
112
- const darkSrc = 'dark-bg.jpg';
113
- const lightGradient = { stop1: '#ff0000' };
114
- const darkGradient = { stop1: '#000000' };
115
-
116
- render(
117
- <CompassHero
118
- backgroundSrcLight={lightSrc}
119
- backgroundSrcDark={darkSrc}
120
- gradientLight={lightGradient}
121
- gradientDark={darkGradient}
122
- >
123
- Test
124
- </CompassHero>
125
- );
126
- const heroElement = screen.getByText('Test').parentElement;
127
- expect(heroElement).toHaveStyle(`--pf-v6-c-compass__hero--BackgroundImage--light: url(${lightSrc})`);
128
- expect(heroElement).toHaveStyle(`--pf-v6-c-compass__hero--BackgroundImage--dark: url(${darkSrc})`);
129
- expect(heroElement).toHaveStyle(`--pf-v6-c-compass__hero--gradient--stop-1--light: ${lightGradient.stop1}`);
130
- expect(heroElement).toHaveStyle(`--pf-v6-c-compass__hero--gradient--stop-1--dark: ${darkGradient.stop1}`);
25
+ test('Renders with custom class name when className prop is provided', () => {
26
+ render(<CompassHero className="custom-class">Test</CompassHero>);
27
+ expect(screen.getByText('Test')).toHaveClass('custom-class');
131
28
  });
132
29
 
133
30
  test('Renders with additional props spread to the component', () => {
134
31
  render(<CompassHero aria-label="Test label">Test</CompassHero>);
135
- expect(screen.getByText('Test').parentElement).toHaveAccessibleName('Test label');
32
+ expect(screen.getByText('Test')).toHaveAccessibleName('Test label');
136
33
  });
137
34
 
138
35
  test('Matches the snapshot', () => {
139
- const { asFragment } = render(
140
- <CompassHero
141
- backgroundSrcLight="light.jpg"
142
- backgroundSrcDark="dark.jpg"
143
- gradientLight={{ stop1: '#ff0000', stop2: '#00ff00', stop3: '#0000ff' }}
144
- gradientDark={{ stop1: '#000000', stop2: '#ffffff', stop3: '#808080' }}
145
- >
146
- <div>Hero content</div>
147
- </CompassHero>
148
- );
36
+ const { asFragment } = render(<CompassHero>Hero content</CompassHero>);
149
37
  expect(asFragment()).toMatchSnapshot();
150
38
  });
@@ -0,0 +1,52 @@
1
+ import { render, screen } from '@testing-library/react';
2
+ import { CompassMainFooter } from '../CompassMainFooter';
3
+ import styles from '@patternfly/react-styles/css/components/Compass/compass';
4
+
5
+ test('Renders without children', () => {
6
+ render(
7
+ <div data-testid="test-main-footer">
8
+ <CompassMainFooter />
9
+ </div>
10
+ );
11
+ expect(screen.getByTestId('test-main-footer').firstChild).toBeVisible();
12
+ });
13
+
14
+ test('Renders with children', () => {
15
+ render(<CompassMainFooter>Custom content</CompassMainFooter>);
16
+ expect(screen.getByText('Custom content')).toBeVisible();
17
+ });
18
+
19
+ test('Renders with custom class name when className prop is provided', () => {
20
+ render(<CompassMainFooter className="custom-class">Test</CompassMainFooter>);
21
+ expect(screen.getByText('Test')).toHaveClass('custom-class');
22
+ });
23
+
24
+ test(`Renders with default ${styles.compassMainFooter} class`, () => {
25
+ render(<CompassMainFooter>Test</CompassMainFooter>);
26
+ expect(screen.getByText('Test')).toHaveClass(styles.compassMainFooter);
27
+ });
28
+
29
+ test(`Renders with pf-m-expanded class by default`, () => {
30
+ render(<CompassMainFooter>Test</CompassMainFooter>);
31
+ expect(screen.getByText('Test')).toHaveClass('pf-m-expanded');
32
+ });
33
+
34
+ test(`Renders with pf-m-expanded class when isExpanded is true`, () => {
35
+ render(<CompassMainFooter isExpanded>Test</CompassMainFooter>);
36
+ expect(screen.getByText('Test')).toHaveClass('pf-m-expanded');
37
+ });
38
+
39
+ test(`Renders without pf-m-expanded class when isExpanded is false`, () => {
40
+ render(<CompassMainFooter isExpanded={false}>Test</CompassMainFooter>);
41
+ expect(screen.getByText('Test')).not.toHaveClass('pf-m-expanded');
42
+ });
43
+
44
+ test('Renders with additional props spread to the component', () => {
45
+ render(<CompassMainFooter aria-label="Test label">Test</CompassMainFooter>);
46
+ expect(screen.getByText('Test')).toHaveAccessibleName('Test label');
47
+ });
48
+
49
+ test('Matches the snapshot', () => {
50
+ const { asFragment } = render(<CompassMainFooter>Custom children content</CompassMainFooter>);
51
+ expect(asFragment()).toMatchSnapshot();
52
+ });
@@ -74,9 +74,52 @@ test('Renders children when neither title nor toolbar are provided', () => {
74
74
  expect(screen.getByText('Custom children content')).toBeVisible();
75
75
  });
76
76
 
77
+ test('Renders CompassPanel when title is passed', () => {
78
+ render(<CompassMainHeader data-testid="test-id" title="Title text" />);
79
+
80
+ const panel = screen.getByTestId('test-id').firstChild;
81
+ expect(panel).toHaveClass(styles.compassPanel);
82
+ });
83
+
84
+ test('Renders CompassPanel when toolbar is passed', () => {
85
+ render(<CompassMainHeader data-testid="test-id" toolbar="Toolbar text" />);
86
+
87
+ const panel = screen.getByTestId('test-id').firstChild;
88
+ expect(panel).toHaveClass(styles.compassPanel);
89
+ });
90
+
91
+ test('Does not render CompassPanel when children are passed', () => {
92
+ render(
93
+ <CompassMainHeader data-testid="test-id">
94
+ <div>Children content</div>
95
+ </CompassMainHeader>
96
+ );
97
+
98
+ const content = screen.getByTestId('test-id').firstChild;
99
+ expect(content).not.toHaveClass(styles.compassPanel);
100
+ });
101
+
102
+ test('Passes props to CompassPanel when title and compassPanelProps is passed', () => {
103
+ render(
104
+ <CompassMainHeader data-testid="test-id" compassPanelProps={{ className: 'panel-class' }} title="Title text" />
105
+ );
106
+
107
+ const panel = screen.getByTestId('test-id').firstChild;
108
+ expect(panel).toHaveClass('panel-class');
109
+ });
110
+
111
+ test('Passes props to CompassPanel when toolbar and compassPanelProps is passed', () => {
112
+ render(
113
+ <CompassMainHeader data-testid="test-id" compassPanelProps={{ className: 'panel-class' }} toolbar="Toolbar text" />
114
+ );
115
+
116
+ const panel = screen.getByTestId('test-id').firstChild;
117
+ expect(panel).toHaveClass('panel-class');
118
+ });
119
+
77
120
  test('Renders with additional props spread to the component', () => {
78
- render(<CompassMainHeader aria-label="Test label">Test</CompassMainHeader>);
79
- expect(screen.getByText('Test')).toHaveAccessibleName('Test label');
121
+ render(<CompassMainHeader id="custom-id">Test</CompassMainHeader>);
122
+ expect(screen.getByText('Test')).toHaveAttribute('id', 'custom-id');
80
123
  });
81
124
 
82
125
  test('Matches the snapshot with both title and toolbar', () => {
@@ -0,0 +1,28 @@
1
+ import { render, screen } from '@testing-library/react';
2
+ import { CompassMainHeaderContent } from '../CompassMainHeaderContent';
3
+ import styles from '@patternfly/react-styles/css/components/Compass/compass';
4
+
5
+ test('Renders with children', () => {
6
+ render(<CompassMainHeaderContent>Custom content</CompassMainHeaderContent>);
7
+ expect(screen.getByText('Custom content')).toBeVisible();
8
+ });
9
+
10
+ test(`Renders with default ${styles.compass}__main-header-content class`, () => {
11
+ render(<CompassMainHeaderContent>Test</CompassMainHeaderContent>);
12
+ expect(screen.getByText('Test')).toHaveClass(`${styles.compass}__main-header-content`);
13
+ });
14
+
15
+ test('Renders with custom class name when className prop is provided', () => {
16
+ render(<CompassMainHeaderContent className="custom-class">Test</CompassMainHeaderContent>);
17
+ expect(screen.getByText('Test')).toHaveClass('custom-class');
18
+ });
19
+
20
+ test('Renders with additional props spread to the component', () => {
21
+ render(<CompassMainHeaderContent id="custom-id">Test</CompassMainHeaderContent>);
22
+ expect(screen.getByText('Test')).toHaveAttribute('id', 'custom-id');
23
+ });
24
+
25
+ test('Matches the snapshot', () => {
26
+ const { asFragment } = render(<CompassMainHeaderContent>Content</CompassMainHeaderContent>);
27
+ expect(asFragment()).toMatchSnapshot();
28
+ });