@patternfly/react-core 6.5.0-prerelease.3 → 6.5.0-prerelease.30

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 (615) hide show
  1. package/CHANGELOG.md +160 -0
  2. package/README.md +1 -1
  3. package/components/package.json +1 -1
  4. package/deprecated/package.json +1 -1
  5. package/dist/dynamic/components/AboutModal/package.json +1 -1
  6. package/dist/dynamic/components/Accordion/package.json +1 -1
  7. package/dist/dynamic/components/ActionList/package.json +1 -1
  8. package/dist/dynamic/components/Alert/package.json +1 -1
  9. package/dist/dynamic/components/Avatar/package.json +1 -1
  10. package/dist/dynamic/components/BackToTop/package.json +1 -1
  11. package/dist/dynamic/components/Backdrop/package.json +1 -1
  12. package/dist/dynamic/components/BackgroundImage/package.json +1 -1
  13. package/dist/dynamic/components/Badge/package.json +1 -1
  14. package/dist/dynamic/components/Banner/package.json +1 -1
  15. package/dist/dynamic/components/Brand/package.json +1 -1
  16. package/dist/dynamic/components/Breadcrumb/package.json +1 -1
  17. package/dist/dynamic/components/Button/package.json +1 -1
  18. package/dist/dynamic/components/CalendarMonth/package.json +1 -1
  19. package/dist/dynamic/components/Card/package.json +1 -1
  20. package/dist/dynamic/components/Checkbox/package.json +1 -1
  21. package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
  22. package/dist/dynamic/components/CodeBlock/package.json +1 -1
  23. package/dist/dynamic/components/Compass/package.json +1 -1
  24. package/dist/dynamic/components/Content/package.json +1 -1
  25. package/dist/dynamic/components/DataList/package.json +1 -1
  26. package/dist/dynamic/components/DatePicker/package.json +1 -1
  27. package/dist/dynamic/components/DescriptionList/package.json +1 -1
  28. package/dist/dynamic/components/Divider/package.json +1 -1
  29. package/dist/dynamic/components/Drawer/package.json +1 -1
  30. package/dist/dynamic/components/Dropdown/package.json +1 -1
  31. package/dist/dynamic/components/DualListSelector/package.json +1 -1
  32. package/dist/dynamic/components/EmptyState/package.json +1 -1
  33. package/dist/dynamic/components/ExpandableSection/package.json +1 -1
  34. package/dist/dynamic/components/FileUpload/package.json +1 -1
  35. package/dist/dynamic/components/Form/package.json +1 -1
  36. package/dist/dynamic/components/FormSelect/package.json +1 -1
  37. package/dist/dynamic/components/HelperText/package.json +1 -1
  38. package/dist/dynamic/components/Hero/package.json +1 -0
  39. package/dist/dynamic/components/Hint/package.json +1 -1
  40. package/dist/dynamic/components/Icon/package.json +1 -1
  41. package/dist/dynamic/components/InputGroup/package.json +1 -1
  42. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  43. package/dist/dynamic/components/Label/package.json +1 -1
  44. package/dist/dynamic/components/List/package.json +1 -1
  45. package/dist/dynamic/components/LoginPage/package.json +1 -1
  46. package/dist/dynamic/components/Masthead/package.json +1 -1
  47. package/dist/dynamic/components/Menu/package.json +1 -1
  48. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  49. package/dist/dynamic/components/Modal/package.json +1 -1
  50. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  51. package/dist/dynamic/components/Nav/package.json +1 -1
  52. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  53. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  54. package/dist/dynamic/components/NumberInput/package.json +1 -1
  55. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  56. package/dist/dynamic/components/Page/package.json +1 -1
  57. package/dist/dynamic/components/Pagination/package.json +1 -1
  58. package/dist/dynamic/components/Panel/package.json +1 -1
  59. package/dist/dynamic/components/Popover/package.json +1 -1
  60. package/dist/dynamic/components/Progress/package.json +1 -1
  61. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  62. package/dist/dynamic/components/Radio/package.json +1 -1
  63. package/dist/dynamic/components/SearchInput/package.json +1 -1
  64. package/dist/dynamic/components/Select/package.json +1 -1
  65. package/dist/dynamic/components/Sidebar/package.json +1 -1
  66. package/dist/dynamic/components/SimpleList/package.json +1 -1
  67. package/dist/dynamic/components/Skeleton/package.json +1 -1
  68. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  69. package/dist/dynamic/components/Slider/package.json +1 -1
  70. package/dist/dynamic/components/Spinner/package.json +1 -1
  71. package/dist/dynamic/components/Switch/package.json +1 -1
  72. package/dist/dynamic/components/Tabs/package.json +1 -1
  73. package/dist/dynamic/components/TextArea/package.json +1 -1
  74. package/dist/dynamic/components/TextInput/package.json +1 -1
  75. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  76. package/dist/dynamic/components/TimePicker/package.json +1 -1
  77. package/dist/dynamic/components/Timestamp/package.json +1 -1
  78. package/dist/dynamic/components/Title/package.json +1 -1
  79. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  80. package/dist/dynamic/components/Toolbar/package.json +1 -1
  81. package/dist/dynamic/components/Tooltip/package.json +1 -1
  82. package/dist/dynamic/components/TreeView/package.json +1 -1
  83. package/dist/dynamic/components/Truncate/package.json +1 -1
  84. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  85. package/dist/dynamic/components/Wizard/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
  90. package/dist/dynamic/deprecated/components/Tile/package.json +1 -1
  91. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  92. package/dist/dynamic/deprecated/components/package.json +1 -1
  93. package/dist/dynamic/helpers/AnimationsProvider/AnimationsProvider/package.json +1 -1
  94. package/dist/dynamic/helpers/AnimationsProvider/package.json +1 -1
  95. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  96. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  97. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  98. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  99. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  100. package/dist/dynamic/helpers/constants/package.json +1 -1
  101. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  102. package/dist/dynamic/helpers/fileUtils/package.json +1 -1
  103. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  104. package/dist/dynamic/helpers/package.json +1 -1
  105. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  106. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  107. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  108. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  109. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  110. package/dist/dynamic/helpers/util/package.json +1 -1
  111. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  112. package/dist/dynamic/layouts/Flex/package.json +1 -1
  113. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  114. package/dist/dynamic/layouts/Grid/package.json +1 -1
  115. package/dist/dynamic/layouts/Level/package.json +1 -1
  116. package/dist/dynamic/layouts/Split/package.json +1 -1
  117. package/dist/dynamic/layouts/Stack/package.json +1 -1
  118. package/dist/dynamic/styles/package.json +1 -1
  119. package/dist/dynamic-modules.json +23 -0
  120. package/dist/esm/components/Alert/AlertIcon.d.ts +5 -5
  121. package/dist/esm/components/Card/CardSubtitle.d.ts +9 -0
  122. package/dist/esm/components/Card/CardSubtitle.d.ts.map +1 -0
  123. package/dist/esm/components/Card/CardSubtitle.js +10 -0
  124. package/dist/esm/components/Card/CardSubtitle.js.map +1 -0
  125. package/dist/esm/components/Card/CardTitle.d.ts +2 -0
  126. package/dist/esm/components/Card/CardTitle.d.ts.map +1 -1
  127. package/dist/esm/components/Card/CardTitle.js +5 -3
  128. package/dist/esm/components/Card/CardTitle.js.map +1 -1
  129. package/dist/esm/components/ClipboardCopy/ClipboardCopy.d.ts +8 -0
  130. package/dist/esm/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
  131. package/dist/esm/components/ClipboardCopy/ClipboardCopy.js +4 -2
  132. package/dist/esm/components/ClipboardCopy/ClipboardCopy.js.map +1 -1
  133. package/dist/esm/components/Compass/Compass.d.ts +5 -3
  134. package/dist/esm/components/Compass/Compass.d.ts.map +1 -1
  135. package/dist/esm/components/Compass/Compass.js +4 -4
  136. package/dist/esm/components/Compass/Compass.js.map +1 -1
  137. package/dist/esm/components/Compass/CompassContent.d.ts +2 -3
  138. package/dist/esm/components/Compass/CompassContent.d.ts.map +1 -1
  139. package/dist/esm/components/Compass/CompassContent.js +1 -1
  140. package/dist/esm/components/Compass/CompassContent.js.map +1 -1
  141. package/dist/esm/components/Compass/CompassHeader.d.ts +1 -2
  142. package/dist/esm/components/Compass/CompassHeader.d.ts.map +1 -1
  143. package/dist/esm/components/Compass/CompassHeader.js.map +1 -1
  144. package/dist/esm/components/Compass/CompassHero.d.ts +2 -18
  145. package/dist/esm/components/Compass/CompassHero.d.ts.map +1 -1
  146. package/dist/esm/components/Compass/CompassHero.js +2 -39
  147. package/dist/esm/components/Compass/CompassHero.js.map +1 -1
  148. package/dist/esm/components/Compass/CompassMainFooter.d.ts +12 -0
  149. package/dist/esm/components/Compass/CompassMainFooter.d.ts.map +1 -0
  150. package/dist/esm/components/Compass/CompassMainFooter.js +10 -0
  151. package/dist/esm/components/Compass/CompassMainFooter.js.map +1 -0
  152. package/dist/esm/components/Compass/CompassMainHeader.d.ts +11 -4
  153. package/dist/esm/components/Compass/CompassMainHeader.d.ts.map +1 -1
  154. package/dist/esm/components/Compass/CompassMainHeader.js +5 -3
  155. package/dist/esm/components/Compass/CompassMainHeader.js.map +1 -1
  156. package/dist/esm/components/Compass/CompassMainHeaderContent.d.ts +12 -0
  157. package/dist/esm/components/Compass/CompassMainHeaderContent.d.ts.map +1 -0
  158. package/dist/esm/components/Compass/CompassMainHeaderContent.js +10 -0
  159. package/dist/esm/components/Compass/CompassMainHeaderContent.js.map +1 -0
  160. package/dist/esm/components/Compass/CompassMainHeaderTitle.d.ts +12 -0
  161. package/dist/esm/components/Compass/CompassMainHeaderTitle.d.ts.map +1 -0
  162. package/dist/esm/components/Compass/CompassMainHeaderTitle.js +10 -0
  163. package/dist/esm/components/Compass/CompassMainHeaderTitle.js.map +1 -0
  164. package/dist/esm/components/Compass/CompassMainHeaderToolbar.d.ts +12 -0
  165. package/dist/esm/components/Compass/CompassMainHeaderToolbar.d.ts.map +1 -0
  166. package/dist/esm/components/Compass/CompassMainHeaderToolbar.js +10 -0
  167. package/dist/esm/components/Compass/CompassMainHeaderToolbar.js.map +1 -0
  168. package/dist/esm/components/Compass/CompassMessageBar.d.ts +1 -2
  169. package/dist/esm/components/Compass/CompassMessageBar.d.ts.map +1 -1
  170. package/dist/esm/components/Compass/CompassMessageBar.js.map +1 -1
  171. package/dist/esm/components/Compass/CompassNavContent.d.ts +9 -0
  172. package/dist/esm/components/Compass/CompassNavContent.d.ts.map +1 -0
  173. package/dist/esm/components/Compass/CompassNavContent.js +10 -0
  174. package/dist/esm/components/Compass/CompassNavContent.js.map +1 -0
  175. package/dist/esm/components/Compass/CompassNavHome.d.ts +13 -0
  176. package/dist/esm/components/Compass/CompassNavHome.d.ts.map +1 -0
  177. package/dist/esm/components/Compass/CompassNavHome.js +15 -0
  178. package/dist/esm/components/Compass/CompassNavHome.js.map +1 -0
  179. package/dist/esm/components/Compass/CompassNavMain.d.ts +9 -0
  180. package/dist/esm/components/Compass/CompassNavMain.d.ts.map +1 -0
  181. package/dist/esm/components/Compass/CompassNavMain.js +10 -0
  182. package/dist/esm/components/Compass/CompassNavMain.js.map +1 -0
  183. package/dist/esm/components/Compass/CompassNavSearch.d.ts +13 -0
  184. package/dist/esm/components/Compass/CompassNavSearch.d.ts.map +1 -0
  185. package/dist/esm/components/Compass/CompassNavSearch.js +15 -0
  186. package/dist/esm/components/Compass/CompassNavSearch.js.map +1 -0
  187. package/dist/esm/components/Compass/CompassPanel.d.ts +1 -2
  188. package/dist/esm/components/Compass/CompassPanel.d.ts.map +1 -1
  189. package/dist/esm/components/Compass/CompassPanel.js.map +1 -1
  190. package/dist/esm/components/Compass/index.d.ts +8 -0
  191. package/dist/esm/components/Compass/index.d.ts.map +1 -1
  192. package/dist/esm/components/Compass/index.js +8 -0
  193. package/dist/esm/components/Compass/index.js.map +1 -1
  194. package/dist/esm/components/DataList/DataList.d.ts +2 -0
  195. package/dist/esm/components/DataList/DataList.d.ts.map +1 -1
  196. package/dist/esm/components/DataList/DataList.js +2 -2
  197. package/dist/esm/components/DataList/DataList.js.map +1 -1
  198. package/dist/esm/components/Drawer/DrawerPanelContent.d.ts +2 -0
  199. package/dist/esm/components/Drawer/DrawerPanelContent.d.ts.map +1 -1
  200. package/dist/esm/components/Drawer/DrawerPanelContent.js +9 -3
  201. package/dist/esm/components/Drawer/DrawerPanelContent.js.map +1 -1
  202. package/dist/esm/components/Dropdown/Dropdown.d.ts +6 -0
  203. package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
  204. package/dist/esm/components/Dropdown/Dropdown.js +5 -2
  205. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  206. package/dist/esm/components/ExpandableSection/ExpandableSection.d.ts +9 -0
  207. package/dist/esm/components/ExpandableSection/ExpandableSection.d.ts.map +1 -1
  208. package/dist/esm/components/ExpandableSection/ExpandableSection.js +6 -4
  209. package/dist/esm/components/ExpandableSection/ExpandableSection.js.map +1 -1
  210. package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.d.ts +5 -0
  211. package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.d.ts.map +1 -1
  212. package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.js +3 -2
  213. package/dist/esm/components/ExpandableSection/ExpandableSectionToggle.js.map +1 -1
  214. package/dist/esm/components/FileUpload/FileUploadField.d.ts.map +1 -1
  215. package/dist/esm/components/FileUpload/FileUploadField.js +1 -1
  216. package/dist/esm/components/FileUpload/FileUploadField.js.map +1 -1
  217. package/dist/esm/components/Form/FormGroup.d.ts.map +1 -1
  218. package/dist/esm/components/Form/FormGroup.js +1 -1
  219. package/dist/esm/components/Form/FormGroup.js.map +1 -1
  220. package/dist/esm/components/FormControl/FormControlIcon.d.ts +3 -3
  221. package/dist/esm/components/Hero/Hero.d.ts +32 -0
  222. package/dist/esm/components/Hero/Hero.d.ts.map +1 -0
  223. package/dist/esm/components/Hero/Hero.js +51 -0
  224. package/dist/esm/components/Hero/Hero.js.map +1 -0
  225. package/dist/esm/components/Hero/index.d.ts +2 -0
  226. package/dist/esm/components/Hero/index.d.ts.map +1 -0
  227. package/dist/esm/components/Hero/index.js +2 -0
  228. package/dist/esm/components/Hero/index.js.map +1 -0
  229. package/dist/esm/components/Label/Label.js +1 -1
  230. package/dist/esm/components/Label/Label.js.map +1 -1
  231. package/dist/esm/components/Masthead/Masthead.d.ts +2 -0
  232. package/dist/esm/components/Masthead/Masthead.d.ts.map +1 -1
  233. package/dist/esm/components/Masthead/Masthead.js +2 -2
  234. package/dist/esm/components/Masthead/Masthead.js.map +1 -1
  235. package/dist/esm/components/Nav/Nav.d.ts +2 -2
  236. package/dist/esm/components/Nav/Nav.d.ts.map +1 -1
  237. package/dist/esm/components/Nav/Nav.js +1 -1
  238. package/dist/esm/components/Nav/Nav.js.map +1 -1
  239. package/dist/esm/components/Nav/NavItem.d.ts +5 -1
  240. package/dist/esm/components/Nav/NavItem.d.ts.map +1 -1
  241. package/dist/esm/components/Nav/NavItem.js +8 -6
  242. package/dist/esm/components/Nav/NavItem.js.map +1 -1
  243. package/dist/esm/components/NotificationDrawer/NotificationDrawerListItemHeader.d.ts +5 -5
  244. package/dist/esm/components/Page/Page.d.ts +2 -0
  245. package/dist/esm/components/Page/Page.d.ts.map +1 -1
  246. package/dist/esm/components/Page/Page.js +3 -3
  247. package/dist/esm/components/Page/Page.js.map +1 -1
  248. package/dist/esm/components/Tabs/Tabs.d.ts.map +1 -1
  249. package/dist/esm/components/Tabs/Tabs.js +2 -2
  250. package/dist/esm/components/Tabs/Tabs.js.map +1 -1
  251. package/dist/esm/components/Toolbar/Toolbar.d.ts +2 -0
  252. package/dist/esm/components/Toolbar/Toolbar.d.ts.map +1 -1
  253. package/dist/esm/components/Toolbar/Toolbar.js +2 -2
  254. package/dist/esm/components/Toolbar/Toolbar.js.map +1 -1
  255. package/dist/esm/components/TreeView/TreeView.d.ts +4 -0
  256. package/dist/esm/components/TreeView/TreeView.d.ts.map +1 -1
  257. package/dist/esm/components/TreeView/TreeView.js +1 -1
  258. package/dist/esm/components/TreeView/TreeView.js.map +1 -1
  259. package/dist/esm/components/TreeView/TreeViewListItem.d.ts +4 -0
  260. package/dist/esm/components/TreeView/TreeViewListItem.d.ts.map +1 -1
  261. package/dist/esm/components/TreeView/TreeViewListItem.js +15 -11
  262. package/dist/esm/components/TreeView/TreeViewListItem.js.map +1 -1
  263. package/dist/esm/components/Truncate/Truncate.d.ts.map +1 -1
  264. package/dist/esm/components/Truncate/Truncate.js +5 -4
  265. package/dist/esm/components/Truncate/Truncate.js.map +1 -1
  266. package/dist/esm/components/Wizard/WizardNavInternal.js +3 -3
  267. package/dist/esm/components/Wizard/WizardNavInternal.js.map +1 -1
  268. package/dist/esm/components/index.d.ts +1 -0
  269. package/dist/esm/components/index.d.ts.map +1 -1
  270. package/dist/esm/components/index.js +1 -0
  271. package/dist/esm/components/index.js.map +1 -1
  272. package/dist/esm/helpers/constants.d.ts +5 -5
  273. package/dist/js/components/Card/CardSubtitle.d.ts +9 -0
  274. package/dist/js/components/Card/CardSubtitle.d.ts.map +1 -0
  275. package/dist/js/components/Card/CardSubtitle.js +14 -0
  276. package/dist/js/components/Card/CardSubtitle.js.map +1 -0
  277. package/dist/js/components/Card/CardTitle.d.ts +2 -0
  278. package/dist/js/components/Card/CardTitle.d.ts.map +1 -1
  279. package/dist/js/components/Card/CardTitle.js +4 -2
  280. package/dist/js/components/Card/CardTitle.js.map +1 -1
  281. package/dist/js/components/ClipboardCopy/ClipboardCopy.d.ts +8 -0
  282. package/dist/js/components/ClipboardCopy/ClipboardCopy.d.ts.map +1 -1
  283. package/dist/js/components/ClipboardCopy/ClipboardCopy.js +4 -2
  284. package/dist/js/components/ClipboardCopy/ClipboardCopy.js.map +1 -1
  285. package/dist/js/components/Compass/Compass.d.ts +5 -3
  286. package/dist/js/components/Compass/Compass.d.ts.map +1 -1
  287. package/dist/js/components/Compass/Compass.js +3 -3
  288. package/dist/js/components/Compass/Compass.js.map +1 -1
  289. package/dist/js/components/Compass/CompassContent.d.ts +2 -3
  290. package/dist/js/components/Compass/CompassContent.d.ts.map +1 -1
  291. package/dist/js/components/Compass/CompassContent.js +1 -1
  292. package/dist/js/components/Compass/CompassContent.js.map +1 -1
  293. package/dist/js/components/Compass/CompassHeader.d.ts +1 -2
  294. package/dist/js/components/Compass/CompassHeader.d.ts.map +1 -1
  295. package/dist/js/components/Compass/CompassHeader.js.map +1 -1
  296. package/dist/js/components/Compass/CompassHero.d.ts +2 -18
  297. package/dist/js/components/Compass/CompassHero.d.ts.map +1 -1
  298. package/dist/js/components/Compass/CompassHero.js +2 -39
  299. package/dist/js/components/Compass/CompassHero.js.map +1 -1
  300. package/dist/js/components/Compass/CompassMainFooter.d.ts +12 -0
  301. package/dist/js/components/Compass/CompassMainFooter.d.ts.map +1 -0
  302. package/dist/js/components/Compass/CompassMainFooter.js +14 -0
  303. package/dist/js/components/Compass/CompassMainFooter.js.map +1 -0
  304. package/dist/js/components/Compass/CompassMainHeader.d.ts +11 -4
  305. package/dist/js/components/Compass/CompassMainHeader.d.ts.map +1 -1
  306. package/dist/js/components/Compass/CompassMainHeader.js +5 -3
  307. package/dist/js/components/Compass/CompassMainHeader.js.map +1 -1
  308. package/dist/js/components/Compass/CompassMainHeaderContent.d.ts +12 -0
  309. package/dist/js/components/Compass/CompassMainHeaderContent.d.ts.map +1 -0
  310. package/dist/js/components/Compass/CompassMainHeaderContent.js +14 -0
  311. package/dist/js/components/Compass/CompassMainHeaderContent.js.map +1 -0
  312. package/dist/js/components/Compass/CompassMainHeaderTitle.d.ts +12 -0
  313. package/dist/js/components/Compass/CompassMainHeaderTitle.d.ts.map +1 -0
  314. package/dist/js/components/Compass/CompassMainHeaderTitle.js +14 -0
  315. package/dist/js/components/Compass/CompassMainHeaderTitle.js.map +1 -0
  316. package/dist/js/components/Compass/CompassMainHeaderToolbar.d.ts +12 -0
  317. package/dist/js/components/Compass/CompassMainHeaderToolbar.d.ts.map +1 -0
  318. package/dist/js/components/Compass/CompassMainHeaderToolbar.js +14 -0
  319. package/dist/js/components/Compass/CompassMainHeaderToolbar.js.map +1 -0
  320. package/dist/js/components/Compass/CompassMessageBar.d.ts +1 -2
  321. package/dist/js/components/Compass/CompassMessageBar.d.ts.map +1 -1
  322. package/dist/js/components/Compass/CompassMessageBar.js.map +1 -1
  323. package/dist/js/components/Compass/CompassNavContent.d.ts +9 -0
  324. package/dist/js/components/Compass/CompassNavContent.d.ts.map +1 -0
  325. package/dist/js/components/Compass/CompassNavContent.js +14 -0
  326. package/dist/js/components/Compass/CompassNavContent.js.map +1 -0
  327. package/dist/js/components/Compass/CompassNavHome.d.ts +13 -0
  328. package/dist/js/components/Compass/CompassNavHome.d.ts.map +1 -0
  329. package/dist/js/components/Compass/CompassNavHome.js +19 -0
  330. package/dist/js/components/Compass/CompassNavHome.js.map +1 -0
  331. package/dist/js/components/Compass/CompassNavMain.d.ts +9 -0
  332. package/dist/js/components/Compass/CompassNavMain.d.ts.map +1 -0
  333. package/dist/js/components/Compass/CompassNavMain.js +14 -0
  334. package/dist/js/components/Compass/CompassNavMain.js.map +1 -0
  335. package/dist/js/components/Compass/CompassNavSearch.d.ts +13 -0
  336. package/dist/js/components/Compass/CompassNavSearch.d.ts.map +1 -0
  337. package/dist/js/components/Compass/CompassNavSearch.js +19 -0
  338. package/dist/js/components/Compass/CompassNavSearch.js.map +1 -0
  339. package/dist/js/components/Compass/CompassPanel.d.ts +1 -2
  340. package/dist/js/components/Compass/CompassPanel.d.ts.map +1 -1
  341. package/dist/js/components/Compass/CompassPanel.js.map +1 -1
  342. package/dist/js/components/Compass/index.d.ts +8 -0
  343. package/dist/js/components/Compass/index.d.ts.map +1 -1
  344. package/dist/js/components/Compass/index.js +8 -0
  345. package/dist/js/components/Compass/index.js.map +1 -1
  346. package/dist/js/components/DataList/DataList.d.ts +2 -0
  347. package/dist/js/components/DataList/DataList.d.ts.map +1 -1
  348. package/dist/js/components/DataList/DataList.js +2 -2
  349. package/dist/js/components/DataList/DataList.js.map +1 -1
  350. package/dist/js/components/Drawer/DrawerPanelContent.d.ts +2 -0
  351. package/dist/js/components/Drawer/DrawerPanelContent.d.ts.map +1 -1
  352. package/dist/js/components/Drawer/DrawerPanelContent.js +9 -3
  353. package/dist/js/components/Drawer/DrawerPanelContent.js.map +1 -1
  354. package/dist/js/components/Dropdown/Dropdown.d.ts +6 -0
  355. package/dist/js/components/Dropdown/Dropdown.d.ts.map +1 -1
  356. package/dist/js/components/Dropdown/Dropdown.js +5 -2
  357. package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
  358. package/dist/js/components/ExpandableSection/ExpandableSection.d.ts +9 -0
  359. package/dist/js/components/ExpandableSection/ExpandableSection.d.ts.map +1 -1
  360. package/dist/js/components/ExpandableSection/ExpandableSection.js +6 -4
  361. package/dist/js/components/ExpandableSection/ExpandableSection.js.map +1 -1
  362. package/dist/js/components/ExpandableSection/ExpandableSectionToggle.d.ts +5 -0
  363. package/dist/js/components/ExpandableSection/ExpandableSectionToggle.d.ts.map +1 -1
  364. package/dist/js/components/ExpandableSection/ExpandableSectionToggle.js +3 -2
  365. package/dist/js/components/ExpandableSection/ExpandableSectionToggle.js.map +1 -1
  366. package/dist/js/components/FileUpload/FileUploadField.d.ts.map +1 -1
  367. package/dist/js/components/FileUpload/FileUploadField.js +1 -1
  368. package/dist/js/components/FileUpload/FileUploadField.js.map +1 -1
  369. package/dist/js/components/Form/FormGroup.d.ts.map +1 -1
  370. package/dist/js/components/Form/FormGroup.js +1 -1
  371. package/dist/js/components/Form/FormGroup.js.map +1 -1
  372. package/dist/js/components/Hero/Hero.d.ts +32 -0
  373. package/dist/js/components/Hero/Hero.d.ts.map +1 -0
  374. package/dist/js/components/Hero/Hero.js +55 -0
  375. package/dist/js/components/Hero/Hero.js.map +1 -0
  376. package/dist/js/components/Hero/index.d.ts +2 -0
  377. package/dist/js/components/Hero/index.d.ts.map +1 -0
  378. package/dist/js/components/Hero/index.js +5 -0
  379. package/dist/js/components/Hero/index.js.map +1 -0
  380. package/dist/js/components/Label/Label.js +1 -1
  381. package/dist/js/components/Label/Label.js.map +1 -1
  382. package/dist/js/components/Masthead/Masthead.d.ts +2 -0
  383. package/dist/js/components/Masthead/Masthead.d.ts.map +1 -1
  384. package/dist/js/components/Masthead/Masthead.js +2 -2
  385. package/dist/js/components/Masthead/Masthead.js.map +1 -1
  386. package/dist/js/components/Nav/Nav.d.ts +2 -2
  387. package/dist/js/components/Nav/Nav.d.ts.map +1 -1
  388. package/dist/js/components/Nav/Nav.js +1 -1
  389. package/dist/js/components/Nav/Nav.js.map +1 -1
  390. package/dist/js/components/Nav/NavItem.d.ts +5 -1
  391. package/dist/js/components/Nav/NavItem.d.ts.map +1 -1
  392. package/dist/js/components/Nav/NavItem.js +7 -6
  393. package/dist/js/components/Nav/NavItem.js.map +1 -1
  394. package/dist/js/components/Page/Page.d.ts +2 -0
  395. package/dist/js/components/Page/Page.d.ts.map +1 -1
  396. package/dist/js/components/Page/Page.js +3 -3
  397. package/dist/js/components/Page/Page.js.map +1 -1
  398. package/dist/js/components/Tabs/Tabs.d.ts.map +1 -1
  399. package/dist/js/components/Tabs/Tabs.js +2 -2
  400. package/dist/js/components/Tabs/Tabs.js.map +1 -1
  401. package/dist/js/components/Toolbar/Toolbar.d.ts +2 -0
  402. package/dist/js/components/Toolbar/Toolbar.d.ts.map +1 -1
  403. package/dist/js/components/Toolbar/Toolbar.js +2 -2
  404. package/dist/js/components/Toolbar/Toolbar.js.map +1 -1
  405. package/dist/js/components/TreeView/TreeView.d.ts +4 -0
  406. package/dist/js/components/TreeView/TreeView.d.ts.map +1 -1
  407. package/dist/js/components/TreeView/TreeView.js +1 -1
  408. package/dist/js/components/TreeView/TreeView.js.map +1 -1
  409. package/dist/js/components/TreeView/TreeViewListItem.d.ts +4 -0
  410. package/dist/js/components/TreeView/TreeViewListItem.d.ts.map +1 -1
  411. package/dist/js/components/TreeView/TreeViewListItem.js +15 -11
  412. package/dist/js/components/TreeView/TreeViewListItem.js.map +1 -1
  413. package/dist/js/components/Truncate/Truncate.d.ts.map +1 -1
  414. package/dist/js/components/Truncate/Truncate.js +5 -4
  415. package/dist/js/components/Truncate/Truncate.js.map +1 -1
  416. package/dist/js/components/Wizard/WizardNavInternal.js +3 -3
  417. package/dist/js/components/Wizard/WizardNavInternal.js.map +1 -1
  418. package/dist/js/components/index.d.ts +1 -0
  419. package/dist/js/components/index.d.ts.map +1 -1
  420. package/dist/js/components/index.js +1 -0
  421. package/dist/js/components/index.js.map +1 -1
  422. package/dist/styles/base-no-reset.css +46 -0
  423. package/dist/styles/base.css +53 -0
  424. package/dist/umd/assets/{output-b6v4lKPy.css → output-C9hOBGo-.css} +18792 -18180
  425. package/dist/umd/react-core.min.js +5 -5
  426. package/helpers/package.json +1 -1
  427. package/layouts/package.json +1 -1
  428. package/next/package.json +1 -1
  429. package/package.json +8 -8
  430. package/src/components/Card/CardSubtitle.tsx +20 -0
  431. package/src/components/Card/CardTitle.tsx +6 -0
  432. package/src/components/Card/__tests__/CardSubtitle.test.tsx +48 -0
  433. package/src/components/Card/__tests__/CardTitle.test.tsx +27 -17
  434. package/src/components/Card/__tests__/__snapshots__/CardSubtitle.test.tsx.snap +21 -0
  435. package/src/components/Card/__tests__/__snapshots__/CardTitle.test.tsx.snap +1 -1
  436. package/src/components/Card/examples/Card.md +16 -1
  437. package/src/components/Card/examples/CardSubtitle.tsx +9 -0
  438. package/src/components/Card/examples/CardSubtitleActions.tsx +107 -0
  439. package/src/components/ClipboardCopy/ClipboardCopy.tsx +16 -1
  440. package/src/components/ClipboardCopy/__tests__/ClipboardCopy.test.tsx +72 -0
  441. package/src/components/ClipboardCopy/__tests__/ClipboardCopyTruncateIntegration.test.tsx +32 -0
  442. package/src/components/ClipboardCopy/__tests__/__snapshots__/ClipboardCopy.test.tsx.snap +1 -1
  443. package/src/components/Compass/Compass.tsx +51 -33
  444. package/src/components/Compass/CompassContent.tsx +4 -4
  445. package/src/components/Compass/CompassHeader.tsx +6 -2
  446. package/src/components/Compass/CompassHero.tsx +7 -72
  447. package/src/components/Compass/CompassMainFooter.tsx +24 -0
  448. package/src/components/Compass/CompassMainHeader.tsx +22 -11
  449. package/src/components/Compass/CompassMainHeaderContent.tsx +25 -0
  450. package/src/components/Compass/CompassMainHeaderTitle.tsx +25 -0
  451. package/src/components/Compass/CompassMainHeaderToolbar.tsx +25 -0
  452. package/src/components/Compass/CompassMessageBar.tsx +2 -2
  453. package/src/components/Compass/CompassNavContent.tsx +20 -0
  454. package/src/components/Compass/CompassNavHome.tsx +77 -0
  455. package/src/components/Compass/CompassNavMain.tsx +21 -0
  456. package/src/components/Compass/CompassNavSearch.tsx +70 -0
  457. package/src/components/Compass/CompassPanel.tsx +2 -2
  458. package/src/components/Compass/__tests__/Compass.test.tsx +10 -0
  459. package/src/components/Compass/__tests__/CompassHero.test.tsx +7 -119
  460. package/src/components/Compass/__tests__/CompassMainFooter.test.tsx +52 -0
  461. package/src/components/Compass/__tests__/CompassMainHeader.test.tsx +45 -2
  462. package/src/components/Compass/__tests__/CompassMainHeaderContent.test.tsx +28 -0
  463. package/src/components/Compass/__tests__/CompassMainHeaderTitle.test.tsx +28 -0
  464. package/src/components/Compass/__tests__/CompassMainHeaderToolbar.test.tsx +28 -0
  465. package/src/components/Compass/__tests__/CompassNavContent.test.tsx +37 -0
  466. package/src/components/Compass/__tests__/CompassNavHome.test.tsx +89 -0
  467. package/src/components/Compass/__tests__/CompassNavMain.test.tsx +37 -0
  468. package/src/components/Compass/__tests__/CompassNavSearch.test.tsx +87 -0
  469. package/src/components/Compass/__tests__/__snapshots__/Compass.test.tsx.snap +33 -29
  470. package/src/components/Compass/__tests__/__snapshots__/CompassContent.test.tsx.snap +1 -1
  471. package/src/components/Compass/__tests__/__snapshots__/CompassHero.test.tsx.snap +2 -9
  472. package/src/components/Compass/__tests__/__snapshots__/CompassMainFooter.test.tsx.snap +11 -0
  473. package/src/components/Compass/__tests__/__snapshots__/CompassMainHeader.test.tsx.snap +3 -3
  474. package/src/components/Compass/__tests__/__snapshots__/CompassMainHeaderContent.test.tsx.snap +11 -0
  475. package/src/components/Compass/__tests__/__snapshots__/CompassMainHeaderTitle.test.tsx.snap +11 -0
  476. package/src/components/Compass/__tests__/__snapshots__/CompassMainHeaderToolbar.test.tsx.snap +11 -0
  477. package/src/components/Compass/__tests__/__snapshots__/CompassNavContent.test.tsx.snap +13 -0
  478. package/src/components/Compass/__tests__/__snapshots__/CompassNavHome.test.tsx.snap +107 -0
  479. package/src/components/Compass/__tests__/__snapshots__/CompassNavMain.test.tsx.snap +13 -0
  480. package/src/components/Compass/__tests__/__snapshots__/CompassNavSearch.test.tsx.snap +93 -0
  481. package/src/components/Compass/examples/Compass.md +52 -14
  482. package/src/components/Compass/examples/CompassBasic.tsx +15 -2
  483. package/src/components/Compass/examples/CompassDockLayout.tsx +25 -0
  484. package/src/components/Compass/examples/CompassMainFooterDemo.tsx +43 -0
  485. package/src/components/Compass/examples/compass.css +26 -2
  486. package/src/components/Compass/index.ts +8 -0
  487. package/src/components/DataList/DataList.tsx +4 -0
  488. package/src/components/DataList/__tests__/DataList.test.tsx +6 -0
  489. package/src/components/DataList/examples/DataList.md +6 -0
  490. package/src/components/DataList/examples/DataListPlain.tsx +32 -0
  491. package/src/components/Drawer/DrawerPanelContent.tsx +11 -0
  492. package/src/components/Drawer/__tests__/DrawerPanelContent.test.tsx +30 -0
  493. package/src/components/Drawer/__tests__/Generated/__snapshots__/DrawerPanelContent.test.tsx.snap +1 -0
  494. package/src/components/Drawer/__tests__/__snapshots__/Drawer.test.tsx.snap +2 -0
  495. package/src/components/Drawer/examples/Drawer.md +1 -1
  496. package/src/components/Drawer/examples/DrawerAdditionalSectionAboveContent.tsx +1 -1
  497. package/src/components/Drawer/examples/DrawerBasic.tsx +1 -1
  498. package/src/components/Drawer/examples/DrawerBasicInline.tsx +1 -1
  499. package/src/components/Drawer/examples/DrawerBasicPill.tsx +1 -1
  500. package/src/components/Drawer/examples/DrawerBreakpoint.tsx +1 -1
  501. package/src/components/Drawer/examples/DrawerInlinePanelEnd.tsx +1 -1
  502. package/src/components/Drawer/examples/DrawerInlinePanelStart.tsx +1 -1
  503. package/src/components/Drawer/examples/DrawerModifiedContentPadding.tsx +1 -1
  504. package/src/components/Drawer/examples/DrawerModifiedPanelPadding.tsx +1 -1
  505. package/src/components/Drawer/examples/DrawerPanelBottom.tsx +1 -1
  506. package/src/components/Drawer/examples/DrawerPanelEnd.tsx +1 -1
  507. package/src/components/Drawer/examples/DrawerPanelStart.tsx +1 -1
  508. package/src/components/Drawer/examples/DrawerPillInline.tsx +1 -1
  509. package/src/components/Drawer/examples/DrawerResizableAtEnd.tsx +1 -1
  510. package/src/components/Drawer/examples/DrawerResizableAtStart.tsx +1 -1
  511. package/src/components/Drawer/examples/DrawerResizableOnBottom.tsx +1 -1
  512. package/src/components/Drawer/examples/DrawerResizableOnInline.tsx +1 -1
  513. package/src/components/Drawer/examples/DrawerStatic.tsx +1 -1
  514. package/src/components/Dropdown/Dropdown.tsx +15 -1
  515. package/src/components/Dropdown/__tests__/Dropdown.test.tsx +26 -0
  516. package/src/components/Dropdown/examples/Dropdown.md +13 -1
  517. package/src/components/Dropdown/examples/DropdownWithSplit.tsx +97 -0
  518. package/src/components/ExpandableSection/ExpandableSection.tsx +19 -9
  519. package/src/components/ExpandableSection/ExpandableSectionToggle.tsx +48 -38
  520. package/src/components/ExpandableSection/__tests__/ExpandableSection.test.tsx +60 -0
  521. package/src/components/ExpandableSection/__tests__/ExpandableSectionToggle.test.tsx +28 -0
  522. package/src/components/ExpandableSection/examples/ExpandableSection.md +8 -0
  523. package/src/components/ExpandableSection/examples/ExpandableSectionCustomToggle.tsx +31 -16
  524. package/src/components/ExpandableSection/examples/ExpandableSectionWithHeading.tsx +89 -0
  525. package/src/components/FileUpload/FileUploadField.tsx +25 -23
  526. package/src/components/Form/FormGroup.tsx +1 -2
  527. package/src/components/Form/__tests__/__snapshots__/FormGroup.test.tsx.snap +1 -1
  528. package/src/components/Hero/Hero.tsx +102 -0
  529. package/src/components/Hero/__tests__/Hero.test.tsx +175 -0
  530. package/src/components/Hero/__tests__/__snapshots__/Hero.test.tsx.snap +30 -0
  531. package/src/components/Hero/examples/Hero.md +19 -0
  532. package/src/components/Hero/examples/HeroBasic.tsx +3 -0
  533. package/src/components/Hero/index.ts +1 -0
  534. package/src/components/Label/Label.tsx +1 -1
  535. package/src/components/LoginPage/__tests__/__snapshots__/LoginForm.test.tsx.snap +6 -6
  536. package/src/components/Masthead/Masthead.tsx +4 -0
  537. package/src/components/Masthead/__tests__/Masthead.test.tsx +25 -1
  538. package/src/components/Nav/Nav.tsx +3 -2
  539. package/src/components/Nav/NavItem.tsx +27 -3
  540. package/src/components/Nav/__tests__/Nav.test.tsx +15 -0
  541. package/src/components/Page/Page.tsx +5 -1
  542. package/src/components/Page/__tests__/Page.test.tsx +17 -0
  543. package/src/components/Tabs/Tabs.tsx +2 -2
  544. package/src/components/Tabs/__tests__/Tabs.test.tsx +60 -0
  545. package/src/components/Tabs/__tests__/__snapshots__/Tabs.test.tsx.snap +13 -13
  546. package/src/components/Tabs/examples/Tabs.md +8 -0
  547. package/src/components/Tabs/examples/TabsSiteNav.tsx +40 -0
  548. package/src/components/Toolbar/Toolbar.tsx +4 -0
  549. package/src/components/Toolbar/__tests__/Toolbar.test.tsx +34 -1
  550. package/src/components/TreeView/TreeView.tsx +6 -0
  551. package/src/components/TreeView/TreeViewListItem.tsx +27 -9
  552. package/src/components/TreeView/__tests__/TreeViewListItem.test.tsx +243 -0
  553. package/src/components/Truncate/Truncate.tsx +5 -4
  554. package/src/components/Truncate/__tests__/Truncate.test.tsx +21 -3
  555. package/src/components/Truncate/__tests__/__snapshots__/Truncate.test.tsx.snap +3 -9
  556. package/src/components/Wizard/WizardNavInternal.tsx +3 -3
  557. package/src/components/Wizard/__tests__/Wizard.test.tsx +39 -0
  558. package/src/components/index.ts +1 -0
  559. package/src/demos/Banner.md +2 -139
  560. package/src/demos/Compass/Compass.md +40 -0
  561. package/src/{components → demos}/Compass/examples/CompassDemo.tsx +63 -48
  562. package/src/demos/Compass/examples/CompassDockDemo.tsx +215 -0
  563. package/src/demos/DatePicker/DatePicker.md +1 -47
  564. package/src/demos/DatePicker/examples/DatePickerRange.tsx +46 -0
  565. package/src/demos/DateTimePicker.md +2 -86
  566. package/src/demos/JumpLinks.md +2 -129
  567. package/src/demos/Page.md +12 -1
  568. package/src/demos/ProgressDemo.md +2 -65
  569. package/src/demos/ProgressStepperDemo.md +1 -72
  570. package/src/demos/Tabs.md +6 -417
  571. package/src/demos/Wizard/WizardDemo.md +6 -6
  572. package/src/demos/assets/PF-IconLogo-color.svg +17 -0
  573. package/src/demos/examples/Banner/BannerBasicSticky.tsx +55 -0
  574. package/src/demos/examples/Banner/BannerTopBottom.tsx +81 -0
  575. package/src/demos/examples/DateTimePicker/DateTimeRangePicker.tsx +93 -0
  576. package/src/demos/examples/JumpLinks/JumpLinksScrollspy.tsx +125 -0
  577. package/src/demos/examples/JumpLinks/{JumpLinksWithDrawer.js → JumpLinksWithDrawer.tsx} +1 -1
  578. package/src/demos/examples/Page/PageDockedNav.tsx +259 -0
  579. package/src/demos/examples/Progress/ProgressBasic.tsx +32 -0
  580. package/src/demos/examples/Progress/ProgressWithOnlyIncreasing.tsx +33 -0
  581. package/src/demos/examples/ProgressStepper/ProgressStepperBasic.tsx +72 -0
  582. package/src/demos/examples/Tabs/TabsOpen.tsx +185 -0
  583. package/src/demos/examples/Tabs/TabsOpenWithSecondaryTabs.tsx +228 -0
  584. package/src/deprecated/components/Modal/examples/Modal.md +2 -2
  585. package/src/deprecated/components/Tile/examples/Tile.md +0 -2
  586. package/src/helpers/OUIA/OUIA.md +2 -2
  587. package/src/layouts/Bullseye/examples/Bullseye.md +2 -1
  588. package/src/layouts/Bullseye/examples/bullseye.css +2 -2
  589. package/src/layouts/Flex/examples/Flex.md +2 -1
  590. package/src/layouts/Flex/examples/flex.css +3 -3
  591. package/src/layouts/Gallery/examples/Gallery.md +10 -100
  592. package/src/layouts/Gallery/examples/GalleryAdjustingMaxWidths.tsx +21 -0
  593. package/src/layouts/Gallery/examples/GalleryAdjustingMinMaxWidths.tsx +25 -0
  594. package/src/layouts/Gallery/examples/GalleryAdjustingMinWidths.tsx +22 -0
  595. package/src/layouts/Gallery/examples/GalleryAlternativeComponents.tsx +11 -0
  596. package/src/layouts/Gallery/examples/GalleryBasic.tsx +14 -0
  597. package/src/layouts/Gallery/examples/GalleryWithGutters.tsx +12 -0
  598. package/src/layouts/Gallery/examples/gallery.css +2 -2
  599. package/src/layouts/Grid/examples/Grid.md +10 -105
  600. package/src/layouts/Grid/examples/GridAlternativeComponents.tsx +11 -0
  601. package/src/layouts/Grid/examples/GridBasic.tsx +22 -0
  602. package/src/layouts/Grid/examples/GridGroupingOrdering.tsx +18 -0
  603. package/src/layouts/Grid/examples/GridResponsiveOrdering.tsx +9 -0
  604. package/src/layouts/Grid/examples/GridStandardOrdering.tsx +9 -0
  605. package/src/layouts/Grid/examples/GridWithGutters.tsx +22 -0
  606. package/src/layouts/Grid/examples/GridWithOverrides.tsx +20 -0
  607. package/src/layouts/Grid/examples/grid.css +2 -2
  608. package/src/layouts/Level/examples/Level.md +2 -1
  609. package/src/layouts/Level/examples/level.css +4 -4
  610. package/src/layouts/Split/examples/Split.md +2 -1
  611. package/src/layouts/Split/examples/split.css +2 -2
  612. package/src/layouts/Stack/examples/Stack.md +4 -17
  613. package/src/layouts/Stack/examples/StackBasic.tsx +9 -0
  614. package/src/layouts/Stack/examples/StackWithGutter.tsx +9 -0
  615. package/src/layouts/Stack/examples/stack.css +4 -4
@@ -0,0 +1,175 @@
1
+ import { render, screen } from '@testing-library/react';
2
+ import { Hero } from '../Hero';
3
+ import styles from '@patternfly/react-styles/css/components/Hero/hero';
4
+
5
+ test('Renders without children', () => {
6
+ render(
7
+ <div data-testid="test-hero">
8
+ <Hero />
9
+ </div>
10
+ );
11
+ expect(screen.getByTestId('test-hero').firstChild).toBeVisible();
12
+ });
13
+
14
+ test('Renders with children', () => {
15
+ render(<Hero>Test content</Hero>);
16
+ expect(screen.getByText('Test content')).toBeVisible();
17
+ });
18
+
19
+ test(`Renders with ${styles.hero} class on wrapper by defaulty`, () => {
20
+ render(<Hero>Test</Hero>);
21
+
22
+ expect(screen.getByText('Test').parentElement).toHaveClass(`${styles.hero}`, { exact: true });
23
+ });
24
+
25
+ test('Renders with custom class name on wrapper when className prop is provided', () => {
26
+ render(<Hero className="custom-class">Test</Hero>);
27
+ expect(screen.getByText('Test').parentElement).toHaveClass('custom-class');
28
+ });
29
+
30
+ test(`Renders with class ${styles.heroBody} on content element`, () => {
31
+ render(<Hero>Test</Hero>);
32
+
33
+ expect(screen.getByText('Test')).toHaveClass(`${styles.heroBody}`, { exact: true });
34
+ });
35
+
36
+ test('Renders with additional props spread to the wrapper component', () => {
37
+ render(<Hero id="custom-id">Test</Hero>);
38
+ expect(screen.getByText('Test').parentElement).toHaveAttribute('id', 'custom-id');
39
+ });
40
+
41
+ test('Renders with light background image style when backgroundSrcLight is provided', () => {
42
+ const backgroundSrc = 'light-bg.jpg';
43
+ render(<Hero backgroundSrcLight={backgroundSrc}>Test</Hero>);
44
+ expect(screen.getByText('Test').parentElement).toHaveStyle(
45
+ `--pf-v6-c-hero--BackgroundImage--light: url(${backgroundSrc})`
46
+ );
47
+ });
48
+
49
+ test('Renders with dark background image style when backgroundSrcDark is provided', () => {
50
+ const backgroundSrc = 'dark-bg.jpg';
51
+ render(<Hero backgroundSrcDark={backgroundSrc}>Test</Hero>);
52
+ expect(screen.getByText('Test').parentElement).toHaveStyle(
53
+ `--pf-v6-c-hero--BackgroundImage--dark: url(${backgroundSrc})`
54
+ );
55
+ });
56
+
57
+ test('Renders with both light and dark background image styles when both are provided', () => {
58
+ const lightSrc = 'light-bg.jpg';
59
+ const darkSrc = 'dark-bg.jpg';
60
+ render(
61
+ <Hero backgroundSrcLight={lightSrc} backgroundSrcDark={darkSrc}>
62
+ Test
63
+ </Hero>
64
+ );
65
+ const heroElement = screen.getByText('Test').parentElement;
66
+ expect(heroElement).toHaveStyle(`--pf-v6-c-hero--BackgroundImage--light: url(${lightSrc})`);
67
+ expect(heroElement).toHaveStyle(`--pf-v6-c-hero--BackgroundImage--dark: url(${darkSrc})`);
68
+ });
69
+
70
+ test('Renders with light gradient styles when gradientLight is provided', () => {
71
+ const gradient = {
72
+ stop1: '#ff0000',
73
+ stop2: '#00ff00',
74
+ stop3: '#0000ff'
75
+ };
76
+ render(<Hero gradientLight={gradient}>Test</Hero>);
77
+ const heroElement = screen.getByText('Test').parentElement;
78
+ expect(heroElement).toHaveStyle(`--pf-v6-c-hero--gradient--stop-1--light: ${gradient.stop1}`);
79
+ expect(heroElement).toHaveStyle(`--pf-v6-c-hero--gradient--stop-2--light: ${gradient.stop2}`);
80
+ expect(heroElement).toHaveStyle(`--pf-v6-c-hero--gradient--stop-3--light: ${gradient.stop3}`);
81
+ });
82
+
83
+ test('Renders with dark gradient styles when gradientDark is provided', () => {
84
+ const gradient = {
85
+ stop1: '#ff0000',
86
+ stop2: '#00ff00',
87
+ stop3: '#0000ff'
88
+ };
89
+ render(<Hero gradientDark={gradient}>Test</Hero>);
90
+ const heroElement = screen.getByText('Test').parentElement;
91
+ expect(heroElement).toHaveStyle(`--pf-v6-c-hero--gradient--stop-1--dark: ${gradient.stop1}`);
92
+ expect(heroElement).toHaveStyle(`--pf-v6-c-hero--gradient--stop-2--dark: ${gradient.stop2}`);
93
+ expect(heroElement).toHaveStyle(`--pf-v6-c-hero--gradient--stop-3--dark: ${gradient.stop3}`);
94
+ });
95
+
96
+ test('Renders with both light and dark gradient styles when both are provided', () => {
97
+ const lightGradient = {
98
+ stop1: '#ff0000',
99
+ stop2: '#00ff00',
100
+ stop3: '#0000ff'
101
+ };
102
+ const darkGradient = {
103
+ stop1: '#000000',
104
+ stop2: '#ffffff',
105
+ stop3: '#808080'
106
+ };
107
+ render(
108
+ <Hero gradientLight={lightGradient} gradientDark={darkGradient}>
109
+ Test
110
+ </Hero>
111
+ );
112
+ const heroElement = screen.getByText('Test').parentElement;
113
+ expect(heroElement).toHaveStyle(`--pf-v6-c-hero--gradient--stop-1--light: ${lightGradient.stop1}`);
114
+ expect(heroElement).toHaveStyle(`--pf-v6-c-hero--gradient--stop-1--dark: ${darkGradient.stop1}`);
115
+ });
116
+
117
+ test('Renders with both background images and gradient styles when both are provided', () => {
118
+ const lightSrc = 'light-bg.jpg';
119
+ const darkSrc = 'dark-bg.jpg';
120
+ const lightGradient = { stop1: '#ff0000' };
121
+ const darkGradient = { stop1: '#000000' };
122
+
123
+ render(
124
+ <Hero
125
+ backgroundSrcLight={lightSrc}
126
+ backgroundSrcDark={darkSrc}
127
+ gradientLight={lightGradient}
128
+ gradientDark={darkGradient}
129
+ >
130
+ Test
131
+ </Hero>
132
+ );
133
+ const heroElement = screen.getByText('Test').parentElement;
134
+ expect(heroElement).toHaveStyle(`--pf-v6-c-hero--BackgroundImage--light: url(${lightSrc})`);
135
+ expect(heroElement).toHaveStyle(`--pf-v6-c-hero--BackgroundImage--dark: url(${darkSrc})`);
136
+ expect(heroElement).toHaveStyle(`--pf-v6-c-hero--gradient--stop-1--light: ${lightGradient.stop1}`);
137
+ expect(heroElement).toHaveStyle(`--pf-v6-c-hero--gradient--stop-1--dark: ${darkGradient.stop1}`);
138
+ });
139
+
140
+ test('Renders with inline width style when bodyWidth is passed', () => {
141
+ const bodyWidth = '100px';
142
+
143
+ render(<Hero bodyWidth={bodyWidth}>Test</Hero>);
144
+ const heroElement = screen.getByText('Test').parentElement;
145
+ expect(heroElement).toHaveStyle(`--pf-v6-c-hero__body--Width: ${bodyWidth}`);
146
+ });
147
+
148
+ test('Renders with inline max-width style when bodyMaxWidth is passed', () => {
149
+ const bodyMaxWidth = '100px';
150
+
151
+ render(<Hero bodyMaxWidth={bodyMaxWidth}>Test</Hero>);
152
+ const heroElement = screen.getByText('Test').parentElement;
153
+ expect(heroElement).toHaveStyle(`--pf-v6-c-hero__body--MaxWidth: ${bodyMaxWidth}`);
154
+ });
155
+
156
+ test('Matches the snapshot without backgroundSrc and gradient props', () => {
157
+ const { asFragment } = render(<Hero>Hero content</Hero>);
158
+
159
+ expect(asFragment()).toMatchSnapshot();
160
+ });
161
+
162
+ test('Matches the snapshot with backgroundSrc and gradient props', () => {
163
+ const { asFragment } = render(
164
+ <Hero
165
+ backgroundSrcLight="light.jpg"
166
+ backgroundSrcDark="dark.jpg"
167
+ gradientLight={{ stop1: '#ff0000', stop2: '#00ff00', stop3: '#0000ff' }}
168
+ gradientDark={{ stop1: '#000000', stop2: '#ffffff', stop3: '#808080' }}
169
+ >
170
+ Hero content
171
+ </Hero>
172
+ );
173
+
174
+ expect(asFragment()).toMatchSnapshot();
175
+ });
@@ -0,0 +1,30 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Matches the snapshot with backgroundSrc and gradient props 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="pf-v6-c-hero"
7
+ style="--pf-v6-c-hero--BackgroundImage--light: url(light.jpg); --pf-v6-c-hero--BackgroundImage--dark: url(dark.jpg); --pf-v6-c-hero--gradient--stop-1--light: #ff0000; --pf-v6-c-hero--gradient--stop-2--light: #00ff00; --pf-v6-c-hero--gradient--stop-3--light: #0000ff; --pf-v6-c-hero--gradient--stop-1--dark: #000000; --pf-v6-c-hero--gradient--stop-2--dark: #ffffff; --pf-v6-c-hero--gradient--stop-3--dark: #808080;"
8
+ >
9
+ <div
10
+ class="pf-v6-c-hero__body"
11
+ >
12
+ Hero content
13
+ </div>
14
+ </div>
15
+ </DocumentFragment>
16
+ `;
17
+
18
+ exports[`Matches the snapshot without backgroundSrc and gradient props 1`] = `
19
+ <DocumentFragment>
20
+ <div
21
+ class="pf-v6-c-hero"
22
+ >
23
+ <div
24
+ class="pf-v6-c-hero__body"
25
+ >
26
+ Hero content
27
+ </div>
28
+ </div>
29
+ </DocumentFragment>
30
+ `;
@@ -0,0 +1,19 @@
1
+ ---
2
+ id: Hero
3
+ section: components
4
+ cssPrefix: pf-v6-c-hero
5
+ beta: true
6
+ propComponents: ['Hero']
7
+ ---
8
+
9
+ ## Examples
10
+
11
+ ### Basic
12
+
13
+ If you need finer control over the placement of text content within the `<Hero>`, such as when you omit a background image, adjust the `bodyWidth` and `bodyMaxWidth` properties. Be mindful of using these properties when a background image is still present and ensure there is sufficient contrast between text and any part of the image that it overlaps.
14
+
15
+ When using `gradientLight` or `gradientDark` to apply gradient backgrounds, check the color contrast to ensure proper accessibility.
16
+
17
+ ```ts file="HeroBasic.tsx"
18
+
19
+ ```
@@ -0,0 +1,3 @@
1
+ import { Hero } from '@patternfly/react-core';
2
+
3
+ export const HeroBasic: React.FunctionComponent = () => <Hero>Basic hero content</Hero>;
@@ -0,0 +1 @@
1
+ export * from './Hero';
@@ -338,7 +338,7 @@ export const Label: React.FunctionComponent<LabelProps> = ({
338
338
  );
339
339
  }
340
340
 
341
- const LabelComponent = (isOverflowLabel ? 'button' : 'span') as any;
341
+ const LabelComponent = (isOverflowLabel || isAddLabel ? 'button' : 'span') as any;
342
342
 
343
343
  return (
344
344
  <LabelComponent
@@ -25,7 +25,7 @@ exports[`LoginForm LoginForm with rememberMeLabel 1`] = `
25
25
  aria-hidden="true"
26
26
  class="pf-v6-c-form__label-required"
27
27
  >
28
- *
28
+  *
29
29
  </span>
30
30
  </label>
31
31
    
@@ -69,7 +69,7 @@ exports[`LoginForm LoginForm with rememberMeLabel 1`] = `
69
69
  aria-hidden="true"
70
70
  class="pf-v6-c-form__label-required"
71
71
  >
72
- *
72
+  *
73
73
  </span>
74
74
  </label>
75
75
    
@@ -175,7 +175,7 @@ exports[`LoginForm LoginForm with show password 1`] = `
175
175
  aria-hidden="true"
176
176
  class="pf-v6-c-form__label-required"
177
177
  >
178
- *
178
+  *
179
179
  </span>
180
180
  </label>
181
181
    
@@ -219,7 +219,7 @@ exports[`LoginForm LoginForm with show password 1`] = `
219
219
  aria-hidden="true"
220
220
  class="pf-v6-c-form__label-required"
221
221
  >
222
- *
222
+  *
223
223
  </span>
224
224
  </label>
225
225
    
@@ -336,7 +336,7 @@ exports[`LoginForm should render Login form 1`] = `
336
336
  aria-hidden="true"
337
337
  class="pf-v6-c-form__label-required"
338
338
  >
339
- *
339
+  *
340
340
  </span>
341
341
  </label>
342
342
    
@@ -380,7 +380,7 @@ exports[`LoginForm should render Login form 1`] = `
380
380
  aria-hidden="true"
381
381
  class="pf-v6-c-form__label-required"
382
382
  >
383
- *
383
+  *
384
384
  </span>
385
385
  </label>
386
386
    
@@ -27,6 +27,8 @@ export interface MastheadProps extends React.DetailedHTMLProps<React.HTMLProps<H
27
27
  xl?: 'insetNone' | 'insetXs' | 'insetSm' | 'insetMd' | 'insetLg' | 'insetXl' | 'inset2xl' | 'inset3xl';
28
28
  '2xl'?: 'insetNone' | 'insetXs' | 'insetSm' | 'insetMd' | 'insetLg' | 'insetXl' | 'inset2xl' | 'inset3xl';
29
29
  };
30
+ /** @beta Indicates the variant of the masthead */
31
+ variant?: 'default' | 'docked';
30
32
  }
31
33
 
32
34
  export const Masthead: React.FunctionComponent<MastheadProps> = ({
@@ -36,6 +38,7 @@ export const Masthead: React.FunctionComponent<MastheadProps> = ({
36
38
  md: 'inline'
37
39
  },
38
40
  inset,
41
+ variant = 'default',
39
42
  ...props
40
43
  }: MastheadProps) => {
41
44
  const { width, getBreakpoint } = useContext(PageContext);
@@ -43,6 +46,7 @@ export const Masthead: React.FunctionComponent<MastheadProps> = ({
43
46
  <header
44
47
  className={css(
45
48
  styles.masthead,
49
+ variant === 'docked' && styles.modifiers.docked,
46
50
  formatBreakpointMods(display, styles, 'display-', getBreakpoint(width)),
47
51
  formatBreakpointMods(inset, styles, '', getBreakpoint(width)),
48
52
  className
@@ -1,5 +1,6 @@
1
- import { render } from '@testing-library/react';
1
+ import { render, screen } from '@testing-library/react';
2
2
  import { Masthead, MastheadMain, MastheadLogo, MastheadContent, MastheadBrand, MastheadToggle } from '../index';
3
+ import styles from '@patternfly/react-styles/css/components/Masthead/masthead';
3
4
 
4
5
  describe('Masthead', () => {
5
6
  test('verify basic', () => {
@@ -71,6 +72,29 @@ describe('Masthead', () => {
71
72
  expect(asFragment()).toMatchSnapshot();
72
73
  });
73
74
  });
75
+
76
+ test(`Renders with ${styles.modifiers.docked} class when variant is docked`, () => {
77
+ render(
78
+ <Masthead variant="docked" data-testid="masthead">
79
+ test
80
+ </Masthead>
81
+ );
82
+ expect(screen.getByTestId('masthead')).toHaveClass(styles.modifiers.docked);
83
+ });
84
+
85
+ test(`Does not render with ${styles.modifiers.docked} class when variant is default`, () => {
86
+ render(
87
+ <Masthead variant="default" data-testid="masthead">
88
+ test
89
+ </Masthead>
90
+ );
91
+ expect(screen.getByTestId('masthead')).not.toHaveClass(styles.modifiers.docked);
92
+ });
93
+
94
+ test(`Does not render with ${styles.modifiers.docked} class when variant is not passed`, () => {
95
+ render(<Masthead data-testid="masthead">test</Masthead>);
96
+ expect(screen.getByTestId('masthead')).not.toHaveClass(styles.modifiers.docked);
97
+ });
74
98
  });
75
99
 
76
100
  describe('MastheadLogo', () => {
@@ -35,8 +35,8 @@ export interface NavProps
35
35
  ) => void;
36
36
  /** Accessible label for the nav when there are multiple navs on the page */
37
37
  'aria-label'?: string;
38
- /** For horizontal navs */
39
- variant?: 'default' | 'horizontal' | 'horizontal-subnav';
38
+ /** The nav variant to use. Docked is in beta. */
39
+ variant?: 'default' | 'horizontal' | 'horizontal-subnav' | 'docked';
40
40
  /** Value to overwrite the randomly generated data-ouia-component-id.*/
41
41
  ouiaId?: number | string;
42
42
  /** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
@@ -154,6 +154,7 @@ class Nav extends Component<
154
154
  className={css(
155
155
  styles.nav,
156
156
  isHorizontal && styles.modifiers.horizontal,
157
+ variant === 'docked' && styles.modifiers.docked,
157
158
  variant === 'horizontal-subnav' && styles.modifiers.subnav,
158
159
  this.state.isScrollable && styles.modifiers.scrollable,
159
160
  className
@@ -1,4 +1,14 @@
1
- import { cloneElement, Fragment, isValidElement, useContext, useEffect, useRef, useState } from 'react';
1
+ import {
2
+ cloneElement,
3
+ Fragment,
4
+ isValidElement,
5
+ useContext,
6
+ useEffect,
7
+ useRef,
8
+ useState,
9
+ forwardRef,
10
+ MutableRefObject
11
+ } from 'react';
2
12
  import styles from '@patternfly/react-styles/css/components/Nav/nav';
3
13
  import menuStyles from '@patternfly/react-styles/css/components/Menu/menu';
4
14
  import dividerStyles from '@patternfly/react-styles/css/components/Divider/divider';
@@ -42,9 +52,13 @@ export interface NavItemProps extends Omit<React.HTMLProps<HTMLAnchorElement>, '
42
52
  ouiaId?: number | string;
43
53
  /** Set the value of data-ouia-safe. Only set to true when the component is in a static state, i.e. no animations are occurring. At all other times, this value must be false. */
44
54
  ouiaSafe?: boolean;
55
+ /** React ref for the anchor element within the nav item. */
56
+ anchorRef?: React.Ref<HTMLAnchorElement>;
57
+ /** @hide Forwarded ref */
58
+ innerRef?: React.Ref<HTMLLIElement>;
45
59
  }
46
60
 
47
- export const NavItem: React.FunctionComponent<NavItemProps> = ({
61
+ const NavItemBase: React.FunctionComponent<NavItemProps> = ({
48
62
  children,
49
63
  styleChildren = true,
50
64
  className,
@@ -61,13 +75,16 @@ export const NavItem: React.FunctionComponent<NavItemProps> = ({
61
75
  ouiaSafe,
62
76
  zIndex = 9999,
63
77
  icon,
78
+ innerRef,
79
+ anchorRef,
64
80
  ...props
65
81
  }: NavItemProps) => {
66
82
  const { flyoutRef, setFlyoutRef, navRef } = useContext(NavContext);
67
83
  const { isSidebarOpen } = useContext(PageSidebarContext);
68
84
  const [flyoutTarget, setFlyoutTarget] = useState(null);
69
85
  const [isHovered, setIsHovered] = useState(false);
70
- const ref = useRef<HTMLLIElement>(undefined);
86
+ const _ref = useRef<HTMLLIElement>(undefined);
87
+ const ref = (innerRef as MutableRefObject<HTMLLIElement>) || _ref;
71
88
  const flyoutVisible = ref === flyoutRef;
72
89
  const popperRef = useRef<HTMLDivElement>(undefined);
73
90
  const hasFlyout = flyout !== undefined;
@@ -180,6 +197,7 @@ export const NavItem: React.FunctionComponent<NavItemProps> = ({
180
197
  const preventLinkDefault = preventDefault || !to;
181
198
  return (
182
199
  <Component
200
+ ref={anchorRef}
183
201
  href={to}
184
202
  onClick={(e: any) => context.onSelect(e, groupId, itemId, to, preventLinkDefault, onClick)}
185
203
  className={css(
@@ -208,6 +226,7 @@ export const NavItem: React.FunctionComponent<NavItemProps> = ({
208
226
  className: css(styles.navLink, isActive && styles.modifiers.current, child.props && child.props.className)
209
227
  }),
210
228
  tabIndex: child.props.tabIndex || tabIndex,
229
+ ref: anchorRef,
211
230
  children: hasFlyout ? (
212
231
  <Fragment>
213
232
  {child.props.children}
@@ -267,4 +286,9 @@ export const NavItem: React.FunctionComponent<NavItemProps> = ({
267
286
 
268
287
  return navItem;
269
288
  };
289
+
290
+ export const NavItem = forwardRef<HTMLLIElement, NavItemProps>((props, ref) => (
291
+ <NavItemBase {...props} innerRef={ref} />
292
+ ));
293
+
270
294
  NavItem.displayName = 'NavItem';
@@ -259,4 +259,19 @@ describe('Nav', () => {
259
259
  );
260
260
  expect(screen.getAllByText('this is an icon')[0].parentElement).toHaveClass(styles.navLinkIcon);
261
261
  });
262
+
263
+ test(`Renders with ${styles.modifiers.docked} class when variant is docked`, () => {
264
+ renderNav(
265
+ <Nav variant="docked" data-testid="docked-nav">
266
+ <NavList>
267
+ {props.items.map((item) => (
268
+ <NavItem to={item.to} key={item.to}>
269
+ {item.label}
270
+ </NavItem>
271
+ ))}
272
+ </NavList>
273
+ </Nav>
274
+ );
275
+ expect(screen.getByTestId('docked-nav')).toHaveClass(styles.modifiers.docked);
276
+ });
262
277
  });
@@ -20,6 +20,8 @@ export interface PageProps extends React.HTMLProps<HTMLDivElement> {
20
20
  children?: React.ReactNode;
21
21
  /** Additional classes added to the page layout */
22
22
  className?: string;
23
+ /** @beta Indicates the layout variant */
24
+ variant?: 'default' | 'docked';
23
25
  /** Masthead component (e.g. <Masthead />) */
24
26
  masthead?: React.ReactNode;
25
27
  /** Sidebar component for a side nav, recommended to be a PageSidebar. If set to null, the page grid layout
@@ -229,6 +231,7 @@ class Page extends Component<PageProps, PageState> {
229
231
  isBreadcrumbWidthLimited,
230
232
  className,
231
233
  children,
234
+ variant,
232
235
  masthead,
233
236
  sidebar,
234
237
  notificationDrawer,
@@ -336,6 +339,7 @@ class Page extends Component<PageProps, PageState> {
336
339
  {...rest}
337
340
  className={css(
338
341
  styles.page,
342
+ variant === 'docked' && styles.modifiers.dock,
339
343
  width !== null && height !== null && 'pf-m-resize-observer',
340
344
  width !== null && `pf-m-breakpoint-${getBreakpoint(width)}`,
341
345
  height !== null && `pf-m-height-breakpoint-${getVerticalBreakpoint(height)}`,
@@ -344,7 +348,7 @@ class Page extends Component<PageProps, PageState> {
344
348
  )}
345
349
  >
346
350
  {skipToContent}
347
- {masthead}
351
+ {variant === 'docked' ? <div className={css(styles.pageDock)}>{masthead}</div> : masthead}
348
352
  {sidebar}
349
353
  {notificationDrawer && (
350
354
  <div className={css(styles.pageDrawer)}>
@@ -389,4 +389,21 @@ describe('Page', () => {
389
389
 
390
390
  expect(screen.getByRole('main').parentElement).not.toHaveClass(styles.modifiers.noFill);
391
391
  });
392
+
393
+ test(`Renders with ${styles.modifiers.dock} class when variant is docked`, () => {
394
+ render(<Page {...props} variant="docked" data-testid="page"></Page>);
395
+
396
+ expect(screen.getByTestId('page')).toHaveClass(styles.modifiers.dock);
397
+ });
398
+
399
+ test(`Does not render with ${styles.modifiers.dock} class when variant is default`, () => {
400
+ render(<Page {...props} variant="default" data-testid="page"></Page>);
401
+
402
+ expect(screen.getByTestId('page')).not.toHaveClass(styles.modifiers.dock);
403
+ });
404
+
405
+ test(`Does not render with ${styles.modifiers.dock} class when variant is not passed`, () => {
406
+ render(<Page data-testid="page"></Page>);
407
+ expect(screen.getByTestId('page')).not.toHaveClass(styles.modifiers.dock);
408
+ });
392
409
  });
@@ -206,7 +206,6 @@ class Tabs extends Component<TabsProps, TabsState> {
206
206
  backScrollAriaLabel: 'Scroll back',
207
207
  rightScrollAriaLabel: 'Scroll right',
208
208
  forwardScrollAriaLabel: 'Scroll forward',
209
- component: TabsComponent.div,
210
209
  mountOnEnter: false,
211
210
  unmountOnExit: false,
212
211
  ouiaSafe: true,
@@ -529,7 +528,8 @@ class Tabs extends Component<TabsProps, TabsState> {
529
528
  const overflowingTabProps = filteredChildrenOverflowing.map((child: React.ReactElement<TabProps>) => child.props);
530
529
 
531
530
  const uniqueId = id || getUniqueId();
532
- const Component: any = component === TabsComponent.nav ? 'nav' : 'div';
531
+ const defaultComponent = isNav && !component ? 'nav' : 'div';
532
+ const Component: any = component !== undefined ? component : defaultComponent;
533
533
  const localActiveKey = defaultActiveKey !== undefined ? uncontrolledActiveKey : activeKey;
534
534
 
535
535
  const isExpandedLocal = defaultIsExpanded !== undefined ? uncontrolledIsExpandedLocal : isExpanded;
@@ -166,6 +166,66 @@ test(`Does not render with class ${styles.modifiers.initializingAccent} when unc
166
166
  expect(screen.getByRole('region')).not.toHaveClass(styles.modifiers.initializingAccent);
167
167
  });
168
168
 
169
+ test(`Renders with class ${styles.modifiers.nav} when isNav is true`, () => {
170
+ render(
171
+ <Tabs isNav role="region">
172
+ <Tab title="Test title" eventKey={0}>
173
+ Tab Content
174
+ </Tab>
175
+ </Tabs>
176
+ );
177
+
178
+ expect(screen.getByRole('region')).toHaveClass(styles.modifiers.nav);
179
+ });
180
+
181
+ test(`Renders with div wrapper by default`, () => {
182
+ render(
183
+ <Tabs>
184
+ <Tab title="Test title" eventKey={0}>
185
+ Tab Content
186
+ </Tab>
187
+ </Tabs>
188
+ );
189
+
190
+ expect(screen.queryByRole('navigation')).not.toBeInTheDocument();
191
+ });
192
+
193
+ test(`Renders with nav wrapper when component="nav"`, () => {
194
+ render(
195
+ <Tabs component="nav">
196
+ <Tab title="Test title" eventKey={0}>
197
+ Tab Content
198
+ </Tab>
199
+ </Tabs>
200
+ );
201
+
202
+ expect(screen.getByRole('navigation')).toBeInTheDocument();
203
+ });
204
+
205
+ test(`Renders with nav wrapper when isNav is true`, () => {
206
+ render(
207
+ <Tabs isNav>
208
+ <Tab title="Test title" eventKey={0}>
209
+ Tab Content
210
+ </Tab>
211
+ </Tabs>
212
+ );
213
+
214
+ expect(screen.getByRole('navigation')).toBeInTheDocument();
215
+ });
216
+
217
+ test(`Overrides isNav nav wrapper when component="div" is passed`, () => {
218
+ render(
219
+ <Tabs component="div" isNav>
220
+ <Tab title="Test title" eventKey={0}>
221
+ Tab Content
222
+ </Tab>
223
+ </Tabs>
224
+ );
225
+
226
+ expect(screen.queryByRole('navigation')).not.toBeInTheDocument();
227
+ });
228
+
169
229
  test('should render simple tabs', () => {
170
230
  const { asFragment } = render(
171
231
  <Tabs id="simpleTabs">