@patternfly/react-core 5.0.0-alpha.81 → 5.0.0-alpha.83

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 (334) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/esm/components/AboutModal/package.json +1 -1
  3. package/dist/esm/components/Accordion/package.json +1 -1
  4. package/dist/esm/components/ActionList/package.json +1 -1
  5. package/dist/esm/components/Alert/package.json +1 -1
  6. package/dist/esm/components/Avatar/package.json +1 -1
  7. package/dist/esm/components/BackToTop/package.json +1 -1
  8. package/dist/esm/components/Backdrop/package.json +1 -1
  9. package/dist/esm/components/BackgroundImage/package.json +1 -1
  10. package/dist/esm/components/Badge/package.json +1 -1
  11. package/dist/esm/components/Banner/package.json +1 -1
  12. package/dist/esm/components/Brand/package.json +1 -1
  13. package/dist/esm/components/Breadcrumb/package.json +1 -1
  14. package/dist/esm/components/Button/package.json +1 -1
  15. package/dist/esm/components/CalendarMonth/package.json +1 -1
  16. package/dist/esm/components/Card/package.json +1 -1
  17. package/dist/esm/components/Checkbox/package.json +1 -1
  18. package/dist/esm/components/Chip/package.json +1 -1
  19. package/dist/esm/components/ChipGroup/package.json +1 -1
  20. package/dist/esm/components/ClipboardCopy/package.json +1 -1
  21. package/dist/esm/components/CodeBlock/package.json +1 -1
  22. package/dist/esm/components/DataList/package.json +1 -1
  23. package/dist/esm/components/DatePicker/package.json +1 -1
  24. package/dist/esm/components/DescriptionList/package.json +1 -1
  25. package/dist/esm/components/Divider/package.json +1 -1
  26. package/dist/esm/components/DragDrop/package.json +1 -1
  27. package/dist/esm/components/Drawer/package.json +1 -1
  28. package/dist/esm/components/Dropdown/package.json +1 -1
  29. package/dist/esm/components/DualListSelector/package.json +1 -1
  30. package/dist/esm/components/EmptyState/package.json +1 -1
  31. package/dist/esm/components/ExpandableSection/package.json +1 -1
  32. package/dist/esm/components/FileUpload/package.json +1 -1
  33. package/dist/esm/components/Form/package.json +1 -1
  34. package/dist/esm/components/FormSelect/FormSelect.d.ts +1 -1
  35. package/dist/esm/components/FormSelect/FormSelect.d.ts.map +1 -1
  36. package/dist/esm/components/FormSelect/FormSelect.js +1 -1
  37. package/dist/esm/components/FormSelect/FormSelect.js.map +1 -1
  38. package/dist/esm/components/FormSelect/package.json +1 -1
  39. package/dist/esm/components/HelperText/package.json +1 -1
  40. package/dist/esm/components/Hint/package.json +1 -1
  41. package/dist/esm/components/Icon/package.json +1 -1
  42. package/dist/esm/components/InputGroup/package.json +1 -1
  43. package/dist/esm/components/JumpLinks/package.json +1 -1
  44. package/dist/esm/components/Label/package.json +1 -1
  45. package/dist/esm/components/LabelGroup/package.json +1 -1
  46. package/dist/esm/components/List/package.json +1 -1
  47. package/dist/esm/components/LoginPage/package.json +1 -1
  48. package/dist/esm/components/Masthead/package.json +1 -1
  49. package/dist/esm/components/Menu/package.json +1 -1
  50. package/dist/esm/components/MenuToggle/package.json +1 -1
  51. package/dist/esm/components/Modal/package.json +1 -1
  52. package/dist/esm/components/MultipleFileUpload/package.json +1 -1
  53. package/dist/esm/components/Nav/NavExpandable.js +1 -1
  54. package/dist/esm/components/Nav/NavExpandable.js.map +1 -1
  55. package/dist/esm/components/Nav/NavItem.js +2 -2
  56. package/dist/esm/components/Nav/NavItem.js.map +1 -1
  57. package/dist/esm/components/Nav/NavList.js +3 -3
  58. package/dist/esm/components/Nav/NavList.js.map +1 -1
  59. package/dist/esm/components/Nav/package.json +1 -1
  60. package/dist/esm/components/NotificationBadge/package.json +1 -1
  61. package/dist/esm/components/NotificationDrawer/package.json +1 -1
  62. package/dist/esm/components/NumberInput/package.json +1 -1
  63. package/dist/esm/components/OverflowMenu/package.json +1 -1
  64. package/dist/esm/components/Page/Page.d.ts +7 -7
  65. package/dist/esm/components/Page/Page.d.ts.map +1 -1
  66. package/dist/esm/components/Page/Page.js +13 -13
  67. package/dist/esm/components/Page/Page.js.map +1 -1
  68. package/dist/esm/components/Page/PageContext.d.ts +2 -2
  69. package/dist/esm/components/Page/PageContext.d.ts.map +1 -1
  70. package/dist/esm/components/Page/PageContext.js +2 -2
  71. package/dist/esm/components/Page/PageContext.js.map +1 -1
  72. package/dist/esm/components/Page/PageSidebar.d.ts +7 -7
  73. package/dist/esm/components/Page/PageSidebar.d.ts.map +1 -1
  74. package/dist/esm/components/Page/PageSidebar.js +6 -7
  75. package/dist/esm/components/Page/PageSidebar.js.map +1 -1
  76. package/dist/esm/components/Page/PageSidebarBody.d.ts +13 -0
  77. package/dist/esm/components/Page/PageSidebarBody.d.ts.map +1 -0
  78. package/dist/esm/components/Page/PageSidebarBody.js +10 -0
  79. package/dist/esm/components/Page/PageSidebarBody.js.map +1 -0
  80. package/dist/esm/components/Page/PageToggleButton.d.ts +4 -4
  81. package/dist/esm/components/Page/PageToggleButton.d.ts.map +1 -1
  82. package/dist/esm/components/Page/PageToggleButton.js +5 -5
  83. package/dist/esm/components/Page/PageToggleButton.js.map +1 -1
  84. package/dist/esm/components/Page/index.d.ts +1 -0
  85. package/dist/esm/components/Page/index.d.ts.map +1 -1
  86. package/dist/esm/components/Page/index.js +1 -0
  87. package/dist/esm/components/Page/index.js.map +1 -1
  88. package/dist/esm/components/Page/package.json +1 -1
  89. package/dist/esm/components/Pagination/package.json +1 -1
  90. package/dist/esm/components/Panel/package.json +1 -1
  91. package/dist/esm/components/Popover/package.json +1 -1
  92. package/dist/esm/components/Progress/package.json +1 -1
  93. package/dist/esm/components/ProgressStepper/package.json +1 -1
  94. package/dist/esm/components/Radio/package.json +1 -1
  95. package/dist/esm/components/SearchInput/package.json +1 -1
  96. package/dist/esm/components/Select/package.json +1 -1
  97. package/dist/esm/components/Sidebar/package.json +1 -1
  98. package/dist/esm/components/SimpleList/package.json +1 -1
  99. package/dist/esm/components/Skeleton/package.json +1 -1
  100. package/dist/esm/components/SkipToContent/package.json +1 -1
  101. package/dist/esm/components/Slider/package.json +1 -1
  102. package/dist/esm/components/Spinner/package.json +1 -1
  103. package/dist/esm/components/Switch/package.json +1 -1
  104. package/dist/esm/components/Tabs/package.json +1 -1
  105. package/dist/esm/components/Text/package.json +1 -1
  106. package/dist/esm/components/TextArea/package.json +1 -1
  107. package/dist/esm/components/TextInput/package.json +1 -1
  108. package/dist/esm/components/TextInputGroup/package.json +1 -1
  109. package/dist/esm/components/Tile/package.json +1 -1
  110. package/dist/esm/components/TimePicker/package.json +1 -1
  111. package/dist/esm/components/Timestamp/package.json +1 -1
  112. package/dist/esm/components/Title/package.json +1 -1
  113. package/dist/esm/components/ToggleGroup/package.json +1 -1
  114. package/dist/esm/components/Toolbar/package.json +1 -1
  115. package/dist/esm/components/Tooltip/package.json +1 -1
  116. package/dist/esm/components/TreeView/package.json +1 -1
  117. package/dist/esm/components/Truncate/package.json +1 -1
  118. package/dist/esm/components/Wizard/hooks/package.json +1 -1
  119. package/dist/esm/components/Wizard/package.json +1 -1
  120. package/dist/esm/components/package.json +1 -1
  121. package/dist/esm/deprecated/components/ApplicationLauncher/package.json +1 -1
  122. package/dist/esm/deprecated/components/ContextSelector/package.json +1 -1
  123. package/dist/esm/deprecated/components/Dropdown/package.json +1 -1
  124. package/dist/esm/deprecated/components/OptionsMenu/package.json +1 -1
  125. package/dist/esm/deprecated/components/PageHeader/PageHeader.d.ts.map +1 -1
  126. package/dist/esm/deprecated/components/PageHeader/PageHeader.js +3 -3
  127. package/dist/esm/deprecated/components/PageHeader/PageHeader.js.map +1 -1
  128. package/dist/esm/deprecated/components/PageHeader/package.json +1 -1
  129. package/dist/esm/deprecated/components/Select/package.json +1 -1
  130. package/dist/esm/deprecated/components/Wizard/package.json +1 -1
  131. package/dist/esm/deprecated/components/package.json +1 -1
  132. package/dist/esm/deprecated/package.json +1 -1
  133. package/dist/esm/helpers/Popper/thirdparty/popper-core/package.json +1 -1
  134. package/dist/esm/helpers/package.json +1 -1
  135. package/dist/esm/layouts/Bullseye/package.json +1 -1
  136. package/dist/esm/layouts/Flex/package.json +1 -1
  137. package/dist/esm/layouts/Gallery/package.json +1 -1
  138. package/dist/esm/layouts/Grid/package.json +1 -1
  139. package/dist/esm/layouts/Level/package.json +1 -1
  140. package/dist/esm/layouts/Split/package.json +1 -1
  141. package/dist/esm/layouts/Stack/package.json +1 -1
  142. package/dist/esm/layouts/package.json +1 -1
  143. package/dist/esm/next/components/package.json +1 -1
  144. package/dist/esm/next/package.json +1 -1
  145. package/dist/esm/package.json +1 -1
  146. package/dist/js/components/AboutModal/package.json +1 -1
  147. package/dist/js/components/Accordion/package.json +1 -1
  148. package/dist/js/components/ActionList/package.json +1 -1
  149. package/dist/js/components/Alert/package.json +1 -1
  150. package/dist/js/components/Avatar/package.json +1 -1
  151. package/dist/js/components/BackToTop/package.json +1 -1
  152. package/dist/js/components/Backdrop/package.json +1 -1
  153. package/dist/js/components/BackgroundImage/package.json +1 -1
  154. package/dist/js/components/Badge/package.json +1 -1
  155. package/dist/js/components/Banner/package.json +1 -1
  156. package/dist/js/components/Brand/package.json +1 -1
  157. package/dist/js/components/Breadcrumb/package.json +1 -1
  158. package/dist/js/components/Button/package.json +1 -1
  159. package/dist/js/components/CalendarMonth/package.json +1 -1
  160. package/dist/js/components/Card/package.json +1 -1
  161. package/dist/js/components/Checkbox/package.json +1 -1
  162. package/dist/js/components/Chip/package.json +1 -1
  163. package/dist/js/components/ChipGroup/package.json +1 -1
  164. package/dist/js/components/ClipboardCopy/package.json +1 -1
  165. package/dist/js/components/CodeBlock/package.json +1 -1
  166. package/dist/js/components/DataList/package.json +1 -1
  167. package/dist/js/components/DatePicker/package.json +1 -1
  168. package/dist/js/components/DescriptionList/package.json +1 -1
  169. package/dist/js/components/Divider/package.json +1 -1
  170. package/dist/js/components/DragDrop/package.json +1 -1
  171. package/dist/js/components/Drawer/package.json +1 -1
  172. package/dist/js/components/Dropdown/package.json +1 -1
  173. package/dist/js/components/DualListSelector/package.json +1 -1
  174. package/dist/js/components/EmptyState/package.json +1 -1
  175. package/dist/js/components/ExpandableSection/package.json +1 -1
  176. package/dist/js/components/FileUpload/package.json +1 -1
  177. package/dist/js/components/Form/package.json +1 -1
  178. package/dist/js/components/FormSelect/FormSelect.d.ts +1 -1
  179. package/dist/js/components/FormSelect/FormSelect.d.ts.map +1 -1
  180. package/dist/js/components/FormSelect/FormSelect.js +1 -1
  181. package/dist/js/components/FormSelect/FormSelect.js.map +1 -1
  182. package/dist/js/components/FormSelect/package.json +1 -1
  183. package/dist/js/components/HelperText/package.json +1 -1
  184. package/dist/js/components/Hint/package.json +1 -1
  185. package/dist/js/components/Icon/package.json +1 -1
  186. package/dist/js/components/InputGroup/package.json +1 -1
  187. package/dist/js/components/JumpLinks/package.json +1 -1
  188. package/dist/js/components/Label/package.json +1 -1
  189. package/dist/js/components/LabelGroup/package.json +1 -1
  190. package/dist/js/components/List/package.json +1 -1
  191. package/dist/js/components/LoginPage/package.json +1 -1
  192. package/dist/js/components/Masthead/package.json +1 -1
  193. package/dist/js/components/Menu/package.json +1 -1
  194. package/dist/js/components/MenuToggle/package.json +1 -1
  195. package/dist/js/components/Modal/package.json +1 -1
  196. package/dist/js/components/MultipleFileUpload/package.json +1 -1
  197. package/dist/js/components/Nav/NavExpandable.js +1 -1
  198. package/dist/js/components/Nav/NavExpandable.js.map +1 -1
  199. package/dist/js/components/Nav/NavItem.js +2 -2
  200. package/dist/js/components/Nav/NavItem.js.map +1 -1
  201. package/dist/js/components/Nav/NavList.js +3 -3
  202. package/dist/js/components/Nav/NavList.js.map +1 -1
  203. package/dist/js/components/Nav/package.json +1 -1
  204. package/dist/js/components/NotificationBadge/package.json +1 -1
  205. package/dist/js/components/NotificationDrawer/package.json +1 -1
  206. package/dist/js/components/NumberInput/package.json +1 -1
  207. package/dist/js/components/OverflowMenu/package.json +1 -1
  208. package/dist/js/components/Page/Page.d.ts +7 -7
  209. package/dist/js/components/Page/Page.d.ts.map +1 -1
  210. package/dist/js/components/Page/Page.js +13 -13
  211. package/dist/js/components/Page/Page.js.map +1 -1
  212. package/dist/js/components/Page/PageContext.d.ts +2 -2
  213. package/dist/js/components/Page/PageContext.d.ts.map +1 -1
  214. package/dist/js/components/Page/PageContext.js +2 -2
  215. package/dist/js/components/Page/PageContext.js.map +1 -1
  216. package/dist/js/components/Page/PageSidebar.d.ts +7 -7
  217. package/dist/js/components/Page/PageSidebar.d.ts.map +1 -1
  218. package/dist/js/components/Page/PageSidebar.js +6 -7
  219. package/dist/js/components/Page/PageSidebar.js.map +1 -1
  220. package/dist/js/components/Page/PageSidebarBody.d.ts +13 -0
  221. package/dist/js/components/Page/PageSidebarBody.d.ts.map +1 -0
  222. package/dist/js/components/Page/PageSidebarBody.js +14 -0
  223. package/dist/js/components/Page/PageSidebarBody.js.map +1 -0
  224. package/dist/js/components/Page/PageToggleButton.d.ts +4 -4
  225. package/dist/js/components/Page/PageToggleButton.d.ts.map +1 -1
  226. package/dist/js/components/Page/PageToggleButton.js +5 -5
  227. package/dist/js/components/Page/PageToggleButton.js.map +1 -1
  228. package/dist/js/components/Page/index.d.ts +1 -0
  229. package/dist/js/components/Page/index.d.ts.map +1 -1
  230. package/dist/js/components/Page/index.js +1 -0
  231. package/dist/js/components/Page/index.js.map +1 -1
  232. package/dist/js/components/Page/package.json +1 -1
  233. package/dist/js/components/Pagination/package.json +1 -1
  234. package/dist/js/components/Panel/package.json +1 -1
  235. package/dist/js/components/Popover/package.json +1 -1
  236. package/dist/js/components/Progress/package.json +1 -1
  237. package/dist/js/components/ProgressStepper/package.json +1 -1
  238. package/dist/js/components/Radio/package.json +1 -1
  239. package/dist/js/components/SearchInput/package.json +1 -1
  240. package/dist/js/components/Select/package.json +1 -1
  241. package/dist/js/components/Sidebar/package.json +1 -1
  242. package/dist/js/components/SimpleList/package.json +1 -1
  243. package/dist/js/components/Skeleton/package.json +1 -1
  244. package/dist/js/components/SkipToContent/package.json +1 -1
  245. package/dist/js/components/Slider/package.json +1 -1
  246. package/dist/js/components/Spinner/package.json +1 -1
  247. package/dist/js/components/Switch/package.json +1 -1
  248. package/dist/js/components/Tabs/package.json +1 -1
  249. package/dist/js/components/Text/package.json +1 -1
  250. package/dist/js/components/TextArea/package.json +1 -1
  251. package/dist/js/components/TextInput/package.json +1 -1
  252. package/dist/js/components/TextInputGroup/package.json +1 -1
  253. package/dist/js/components/Tile/package.json +1 -1
  254. package/dist/js/components/TimePicker/package.json +1 -1
  255. package/dist/js/components/Timestamp/package.json +1 -1
  256. package/dist/js/components/Title/package.json +1 -1
  257. package/dist/js/components/ToggleGroup/package.json +1 -1
  258. package/dist/js/components/Toolbar/package.json +1 -1
  259. package/dist/js/components/Tooltip/package.json +1 -1
  260. package/dist/js/components/TreeView/package.json +1 -1
  261. package/dist/js/components/Truncate/package.json +1 -1
  262. package/dist/js/components/Wizard/hooks/package.json +1 -1
  263. package/dist/js/components/Wizard/package.json +1 -1
  264. package/dist/js/components/package.json +1 -1
  265. package/dist/js/deprecated/components/ApplicationLauncher/package.json +1 -1
  266. package/dist/js/deprecated/components/ContextSelector/package.json +1 -1
  267. package/dist/js/deprecated/components/Dropdown/package.json +1 -1
  268. package/dist/js/deprecated/components/OptionsMenu/package.json +1 -1
  269. package/dist/js/deprecated/components/PageHeader/PageHeader.d.ts.map +1 -1
  270. package/dist/js/deprecated/components/PageHeader/PageHeader.js +3 -3
  271. package/dist/js/deprecated/components/PageHeader/PageHeader.js.map +1 -1
  272. package/dist/js/deprecated/components/PageHeader/package.json +1 -1
  273. package/dist/js/deprecated/components/Select/package.json +1 -1
  274. package/dist/js/deprecated/components/Wizard/package.json +1 -1
  275. package/dist/js/deprecated/components/package.json +1 -1
  276. package/dist/js/deprecated/package.json +1 -1
  277. package/dist/js/helpers/Popper/thirdparty/popper-core/package.json +1 -1
  278. package/dist/js/helpers/package.json +1 -1
  279. package/dist/js/layouts/Bullseye/package.json +1 -1
  280. package/dist/js/layouts/Flex/package.json +1 -1
  281. package/dist/js/layouts/Gallery/package.json +1 -1
  282. package/dist/js/layouts/Grid/package.json +1 -1
  283. package/dist/js/layouts/Level/package.json +1 -1
  284. package/dist/js/layouts/Split/package.json +1 -1
  285. package/dist/js/layouts/Stack/package.json +1 -1
  286. package/dist/js/layouts/package.json +1 -1
  287. package/dist/js/next/components/package.json +1 -1
  288. package/dist/js/next/package.json +1 -1
  289. package/dist/js/package.json +1 -1
  290. package/dist/umd/react-core.min.js +1 -1
  291. package/package.json +2 -2
  292. package/src/components/Form/examples/FormHorizontal.tsx +1 -1
  293. package/src/components/FormSelect/FormSelect.tsx +4 -14
  294. package/src/components/FormSelect/__tests__/FormSelect.test.tsx +1 -1
  295. package/src/components/FormSelect/examples/FormSelectBasic.tsx +1 -1
  296. package/src/components/FormSelect/examples/FormSelectDisabled.tsx +1 -1
  297. package/src/components/FormSelect/examples/FormSelectGrouped.tsx +1 -1
  298. package/src/components/FormSelect/examples/FormSelectIconSpriteVariant.tsx +1 -1
  299. package/src/components/FormSelect/examples/FormSelectValidated.tsx +1 -1
  300. package/src/components/Nav/NavExpandable.tsx +2 -2
  301. package/src/components/Nav/NavItem.tsx +2 -2
  302. package/src/components/Nav/NavList.tsx +3 -3
  303. package/src/components/Page/Page.tsx +18 -18
  304. package/src/components/Page/PageContext.tsx +4 -4
  305. package/src/components/Page/PageSidebar.tsx +16 -18
  306. package/src/components/Page/PageSidebarBody.tsx +36 -0
  307. package/src/components/Page/PageToggleButton.tsx +15 -11
  308. package/src/components/Page/__tests__/Generated/PageSidebar.test.tsx +3 -1
  309. package/src/components/Page/__tests__/Generated/__snapshots__/PageSidebar.test.tsx.snap +2 -6
  310. package/src/components/Page/__tests__/Page.test.tsx +22 -13
  311. package/src/components/Page/__tests__/PageSidebarBody.test.tsx +79 -0
  312. package/src/components/Page/__tests__/__snapshots__/Page.test.tsx.snap +11 -55
  313. package/src/components/Page/__tests__/__snapshots__/PageSidebarBody.test.tsx.snap +11 -0
  314. package/src/components/Page/examples/Page.md +41 -19
  315. package/src/components/Page/examples/PageCenteredSection.tsx +11 -6
  316. package/src/components/Page/examples/PageGroupSection.tsx +11 -6
  317. package/src/components/Page/examples/PageMainSectionPadding.tsx +11 -6
  318. package/src/components/Page/examples/PageMultipleSidebarBody.tsx +74 -0
  319. package/src/components/Page/examples/PageUncontrolledNav.tsx +6 -1
  320. package/src/components/Page/examples/PageVerticalNav.tsx +11 -6
  321. package/src/components/Page/examples/PageWithOrWithoutFill.tsx +11 -6
  322. package/src/components/Page/index.ts +1 -0
  323. package/src/demos/Nav.md +52 -24
  324. package/src/demos/NotificationDrawer/NotificationDrawer.md +12 -2
  325. package/src/demos/Wizard/WizardDemo.md +12 -2
  326. package/src/demos/examples/DashboardWrapper.js +7 -2
  327. package/src/demos/examples/Masthead/MastheadWithUtilitiesAndUserDropdownMenu.tsx +8 -4
  328. package/src/demos/examples/Nav/NavDrilldown.tsx +10 -9
  329. package/src/demos/examples/Page/PageStickySectionBreadcrumb.tsx +7 -2
  330. package/src/demos/examples/Page/PageStickySectionGroup.tsx +6 -1
  331. package/src/demos/examples/Page/PageStickySectionGroupAlternate.tsx +6 -1
  332. package/src/deprecated/components/PageHeader/PageHeader.tsx +7 -3
  333. package/src/deprecated/components/PageHeader/examples/PageHeader.md +4 -1
  334. package/src/deprecated/components/PageHeader/examples/PageVerticalNavUsingPageHeaderComponent.tsx +8 -12
@@ -0,0 +1,79 @@
1
+ import * as React from 'react';
2
+ import { render, screen } from '@testing-library/react';
3
+ import { PageSidebarBody } from '../PageSidebarBody';
4
+
5
+ test('Renders without children', () => {
6
+ render(
7
+ <div data-testid="container">
8
+ <PageSidebarBody />
9
+ </div>
10
+ );
11
+
12
+ expect(screen.getByTestId('container').firstChild).toBeVisible();
13
+ });
14
+
15
+ test('Renders with children', () => {
16
+ render(<PageSidebarBody>Test</PageSidebarBody>);
17
+
18
+ expect(screen.getByText('Test')).toBeVisible();
19
+ });
20
+
21
+ test('Renders with class pf-c-page__sidebar-body by default', () => {
22
+ render(<PageSidebarBody>Test</PageSidebarBody>);
23
+
24
+ expect(screen.getByText('Test')).toHaveClass('pf-c-page__sidebar-body');
25
+ });
26
+
27
+ test('Renders with custom class', () => {
28
+ render(<PageSidebarBody className="tester">Test</PageSidebarBody>);
29
+
30
+ expect(screen.getByText('Test')).toHaveClass('tester');
31
+ });
32
+
33
+ test('Renders without pf-m-page-insets by default', () => {
34
+ render(<PageSidebarBody>Test</PageSidebarBody>);
35
+
36
+ expect(screen.getByText('Test')).not.toHaveClass('pf-m-page-insets');
37
+ });
38
+
39
+ test('Renders with pf-m-page-insets when usePageInsets is passed', () => {
40
+ render(<PageSidebarBody usePageInsets>Test</PageSidebarBody>);
41
+
42
+ expect(screen.getByText('Test')).toHaveClass('pf-m-page-insets');
43
+ });
44
+
45
+ test('Renders without pf-m-fill by default', () => {
46
+ render(<PageSidebarBody>Test</PageSidebarBody>);
47
+
48
+ expect(screen.getByText('Test')).not.toHaveClass('pf-m-fill');
49
+ });
50
+
51
+ test('Renders with pf-m-fill when isFilled={true} is passed', () => {
52
+ render(<PageSidebarBody isFilled={true}>Test</PageSidebarBody>);
53
+
54
+ expect(screen.getByText('Test')).toHaveClass('pf-m-fill');
55
+ });
56
+
57
+ test('Renders without pf-m-no-fill by default', () => {
58
+ render(<PageSidebarBody>Test</PageSidebarBody>);
59
+
60
+ expect(screen.getByText('Test')).not.toHaveClass('pf-m-no-fill');
61
+ });
62
+
63
+ test('Renders with pf-m-no-fill when isFilled={false} is passed', () => {
64
+ render(<PageSidebarBody isFilled={false}>Test</PageSidebarBody>);
65
+
66
+ expect(screen.getByText('Test')).toHaveClass('pf-m-no-fill');
67
+ });
68
+
69
+ test('Renders with additional props', () => {
70
+ render(<PageSidebarBody id="tester">Test</PageSidebarBody>);
71
+
72
+ expect(screen.getByText('Test')).toHaveAttribute('id', 'tester');
73
+ });
74
+
75
+ test('Matches snapshot', () => {
76
+ const { asFragment } = render(<PageSidebarBody>Test</PageSidebarBody>);
77
+
78
+ expect(asFragment()).toMatchSnapshot();
79
+ });
@@ -91,11 +91,7 @@ exports[`Page Check page horizontal layout example against snapshot 1`] = `
91
91
  aria-hidden="false"
92
92
  class="pf-c-page__sidebar pf-m-expanded"
93
93
  id="page-sidebar"
94
- >
95
- <div
96
- class="pf-c-page__sidebar-body"
97
- />
98
- </div>
94
+ />
99
95
  <main
100
96
  class="pf-c-page__main"
101
97
  tabindex="-1"
@@ -155,11 +151,7 @@ exports[`Page Check page to verify breadcrumb is created - PageBreadcrumb syntax
155
151
  aria-hidden="false"
156
152
  class="pf-c-page__sidebar pf-m-expanded"
157
153
  id="page-sidebar"
158
- >
159
- <div
160
- class="pf-c-page__sidebar-body"
161
- />
162
- </div>
154
+ />
163
155
  <main
164
156
  class="pf-c-page__main"
165
157
  tabindex="-1"
@@ -317,11 +309,7 @@ exports[`Page Check page to verify breadcrumb is created 1`] = `
317
309
  aria-hidden="false"
318
310
  class="pf-c-page__sidebar pf-m-expanded"
319
311
  id="page-sidebar"
320
- >
321
- <div
322
- class="pf-c-page__sidebar-body"
323
- />
324
- </div>
312
+ />
325
313
  <main
326
314
  class="pf-c-page__main"
327
315
  tabindex="-1"
@@ -479,11 +467,7 @@ exports[`Page Check page to verify grouped nav and breadcrumb - new components s
479
467
  aria-hidden="false"
480
468
  class="pf-c-page__sidebar pf-m-expanded"
481
469
  id="page-sidebar"
482
- >
483
- <div
484
- class="pf-c-page__sidebar-body"
485
- />
486
- </div>
470
+ />
487
471
  <main
488
472
  class="pf-c-page__main"
489
473
  tabindex="-1"
@@ -757,11 +741,7 @@ exports[`Page Check page to verify grouped nav and breadcrumb - old / props synt
757
741
  aria-hidden="false"
758
742
  class="pf-c-page__sidebar pf-m-expanded"
759
743
  id="page-sidebar"
760
- >
761
- <div
762
- class="pf-c-page__sidebar-body"
763
- />
764
- </div>
744
+ />
765
745
  <main
766
746
  class="pf-c-page__main"
767
747
  tabindex="-1"
@@ -1042,11 +1022,7 @@ exports[`Page Check page to verify nav is created - PageNavigation syntax 1`] =
1042
1022
  aria-hidden="false"
1043
1023
  class="pf-c-page__sidebar pf-m-expanded"
1044
1024
  id="page-sidebar"
1045
- >
1046
- <div
1047
- class="pf-c-page__sidebar-body"
1048
- />
1049
- </div>
1025
+ />
1050
1026
  <main
1051
1027
  class="pf-c-page__main"
1052
1028
  tabindex="-1"
@@ -1233,11 +1209,7 @@ exports[`Page Check page to verify skip to content points to main content region
1233
1209
  aria-hidden="false"
1234
1210
  class="pf-c-page__sidebar pf-m-expanded"
1235
1211
  id="page-sidebar"
1236
- >
1237
- <div
1238
- class="pf-c-page__sidebar-body"
1239
- />
1240
- </div>
1212
+ />
1241
1213
  <main
1242
1214
  class="pf-c-page__main"
1243
1215
  id="main-content-page-layout-test-nav"
@@ -1457,11 +1429,7 @@ exports[`Page Sticky bottom breadcrumb on all height breakpoints - PageBreadcrum
1457
1429
  aria-hidden="false"
1458
1430
  class="pf-c-page__sidebar pf-m-expanded"
1459
1431
  id="page-sidebar"
1460
- >
1461
- <div
1462
- class="pf-c-page__sidebar-body"
1463
- />
1464
- </div>
1432
+ />
1465
1433
  <main
1466
1434
  class="pf-c-page__main"
1467
1435
  tabindex="-1"
@@ -1619,11 +1587,7 @@ exports[`Page Verify sticky bottom breadcrumb on all height breakpoints 1`] = `
1619
1587
  aria-hidden="false"
1620
1588
  class="pf-c-page__sidebar pf-m-expanded"
1621
1589
  id="page-sidebar"
1622
- >
1623
- <div
1624
- class="pf-c-page__sidebar-body"
1625
- />
1626
- </div>
1590
+ />
1627
1591
  <main
1628
1592
  class="pf-c-page__main"
1629
1593
  tabindex="-1"
@@ -1781,11 +1745,7 @@ exports[`Page Verify sticky top breadcrumb on all height breakpoints - PageBread
1781
1745
  aria-hidden="false"
1782
1746
  class="pf-c-page__sidebar pf-m-expanded"
1783
1747
  id="page-sidebar"
1784
- >
1785
- <div
1786
- class="pf-c-page__sidebar-body"
1787
- />
1788
- </div>
1748
+ />
1789
1749
  <main
1790
1750
  class="pf-c-page__main"
1791
1751
  tabindex="-1"
@@ -1943,11 +1903,7 @@ exports[`Page Verify sticky top breadcrumb on all height breakpoints 1`] = `
1943
1903
  aria-hidden="false"
1944
1904
  class="pf-c-page__sidebar pf-m-expanded"
1945
1905
  id="page-sidebar"
1946
- >
1947
- <div
1948
- class="pf-c-page__sidebar-body"
1949
- />
1950
- </div>
1906
+ />
1951
1907
  <main
1952
1908
  class="pf-c-page__main"
1953
1909
  tabindex="-1"
@@ -0,0 +1,11 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Matches snapshot 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="pf-c-page__sidebar-body"
7
+ >
8
+ Test
9
+ </div>
10
+ </DocumentFragment>
11
+ `;
@@ -6,6 +6,7 @@ propComponents:
6
6
  [
7
7
  'Page',
8
8
  'PageSidebar',
9
+ 'PageSidebarBody',
9
10
  'PageSection',
10
11
  'PageGroup',
11
12
  'PageBreadcrumb',
@@ -16,8 +17,8 @@ propComponents:
16
17
 
17
18
  import BarsIcon from '@patternfly/react-icons/dist/js/icons/bars-icon';
18
19
  import {
19
- PageHeader,
20
- PageHeaderTools
20
+ PageHeader,
21
+ PageHeaderTools
21
22
  } from '@patternfly/react-core/deprecated';
22
23
  import './page.css';
23
24
 
@@ -25,20 +26,35 @@ import './page.css';
25
26
 
26
27
  ### Basic page components
27
28
 
28
- A page will typically contain the following components:
29
+ A page will typically contain the following components:
29
30
 
30
31
  - A `<Page>` with a `header` that often contains a [masthead](/components/masthead)
31
- - Mastheads contain the `<PageToggleButton>`, a `<MastheadMain>` that contains a `<MastheadBrand>`, and the page's header toolbar within `<MastheadContent>`.
32
- - A `<PageSidebar>` for vertical navigation
32
+ - Mastheads contain the `<PageToggleButton>`, a `<MastheadMain>` that contains a `<MastheadBrand>`, and the page's header toolbar within `<MastheadContent>`.
33
+ - 1 or more `<PageSidebarBody>` components inside `<PageSidebar>` for vertical navigation or other sidebar content
33
34
  - 1 or more `<PageSection>` components
34
35
 
35
36
  ### Vertical navigation
36
37
 
37
- To add a vertical sidebar to a `<Page>`, pass a `<PageSidebar>` component into the `sidebar` property. To render navigation in the sidebar, use the `nav` property of the `<PageSidebar>`.
38
+ To add a vertical sidebar to a `<Page>`, pass a `<PageSidebar>` component into the `sidebar` property. To render navigation in the sidebar, pass a `<PageSidebarBody>` component to `<PageSidebar>`.
38
39
 
39
- The `isNavOpen` property helps facilitate the opening and closing of the sidebar and should be 'true' when the navigation sidebar is visible.
40
+ The `isSidebarOpen` property helps facilitate the opening and closing of the sidebar and should be 'true' when the sidebar is visible.
40
41
 
41
42
  ```ts file="./PageVerticalNav.tsx"
43
+
44
+ ```
45
+
46
+ ### Multiple sidebar body
47
+
48
+ You can have multiple `<PageSidebarBody>` components inside the `<PageSidebar>` for more customization. You can modify the `<PageSidebarBody>` further by passing the following properties:
49
+
50
+ - `usePageInsets` will modify the component's insets to match page insets
51
+ - `isFilled={true}` will cause the component to grow to fill the available vertical space
52
+ - `isFilled={false}` will cause the component to **not** grow to fill the available vertical space
53
+
54
+ By default, the last `<PageSidebarBody>` will grow to fill the available vertical space. This can be changed by passing `isFilled={false}` as demonstrated in the following example.
55
+
56
+ ```ts file="./PageMultipleSidebarBody.tsx"
57
+
42
58
  ```
43
59
 
44
60
  ### Horizontal navigation
@@ -46,22 +62,25 @@ The `isNavOpen` property helps facilitate the opening and closing of the sidebar
46
62
  To add horizontal navigation to the top of a `<Page>`, add the navigation inside of a `<ToolbarItem>` in the `<Toolbar>` that is passed to the `<MastheadContent>` of the `<Masthead>`.
47
63
 
48
64
  ```ts file="./PageHorizontalNav.tsx"
65
+
49
66
  ```
50
67
 
51
68
  ### Legacy tertiary navigation
52
69
 
53
- [Horizontal sub-navigation](/components/navigation#horizontal-subnav) is now recommended instead of tertiary-level navigation.
70
+ [Horizontal sub-navigation](/components/navigation#horizontal-subnav) is now recommended instead of tertiary-level navigation.
54
71
 
55
72
  Tertiary navigation allows you to add an additional navigation menu alongside vertical or horizontal navigation. To create tertiary navigation, use the `tertiaryNav` property. The following example passes `tertiaryNav="Navigation"` into a `<Page>` component.
56
73
 
57
74
  ```ts file="./PageTertiaryNav.tsx"
75
+
58
76
  ```
59
77
 
60
78
  ### Uncontrolled navigation
61
79
 
62
- When the `isManagedSidebar` property is true, it manages the sidebar open/close state, removing the need to pass both `isNavOpen` into the `<PageSidebar>` and `onNavToggle` into the `<PageToggleButton>`.
80
+ When the `isManagedSidebar` property is true, it manages the sidebar open/close state, removing the need to pass both `isSidebarOpen` into the `<PageSidebar>` and `onSidebarToggle` into the `<PageToggleButton>`.
63
81
 
64
82
  ```ts file="./PageUncontrolledNav.tsx"
83
+
65
84
  ```
66
85
 
67
86
  ### Filled page sections
@@ -71,44 +90,47 @@ By default, the last page section is "filled", meaning it fills the available ve
71
90
  To change the default behavior, use the `isFilled` property. To make other page sections "filled", set `isFilled` equal to "true". To disable the last page section from being "filled", set `isFilled` equal to "false".
72
91
 
73
92
  ```ts file="./PageWithOrWithoutFill.tsx"
93
+
74
94
  ```
75
95
 
76
96
  ### Main section padding
77
97
 
78
- To adjust the padding of a `<PageSection>`, you can pass in different values to the `padding` property. These values should be aligned to a specific breakpoint: 'default', 'sm', 'md', 'lg', 'xl', and '2xl'. Each breakpoint passed into the property should be given a value of either ‘padding’ or ‘noPadding’.
98
+ To adjust the padding of a `<PageSection>`, you can pass in different values to the `padding` property. These values should be aligned to a specific breakpoint: 'default', 'sm', 'md', 'lg', 'xl', and '2xl'. Each breakpoint passed into the property should be given a value of either ‘padding’ or ‘noPadding’.
79
99
 
80
- As the page's viewport width increases, breakpoints inherit the padding behavior of the previous breakpoint. For example, padding that is set on 'lg' also applies to 'xl' and '2xl'.
100
+ As the page's viewport width increases, breakpoints inherit the padding behavior of the previous breakpoint. For example, padding that is set on 'lg' also applies to 'xl' and '2xl'.
81
101
 
82
102
  To remove padding entirely, pass 'noPadding' to the `default` breakpoint. For example, the second section in this example passes in `padding={{ default: 'noPadding' }}`. Since no specific breakpoints are mentioned, every breakpoint will have 'noPadding'.
83
103
 
84
- To add padding at specific breakpoints, pass in "padding" at those breakpoints. For example, the third section in this example passes in `padding={{ default: 'noPadding', md: 'padding' }}`. At 'md', 'lg', 'xl', and '2xl' breakpoints, the default value will be overwritten, and padding will be added.
104
+ To add padding at specific breakpoints, pass in "padding" at those breakpoints. For example, the third section in this example passes in `padding={{ default: 'noPadding', md: 'padding' }}`. At 'md', 'lg', 'xl', and '2xl' breakpoints, the default value will be overwritten, and padding will be added.
85
105
 
86
- To remove padding at specific breakpoints, pass in 'noPadding' at those breakpoints. For example, the fourth section in this example passes in `padding={{ md: 'noPadding' }}`, which means that 'md', 'lg' 'xl', and '2xl' breakpoints will have `noPadding`.
106
+ To remove padding at specific breakpoints, pass in 'noPadding' at those breakpoints. For example, the fourth section in this example passes in `padding={{ md: 'noPadding' }}`, which means that 'md', 'lg' 'xl', and '2xl' breakpoints will have `noPadding`.
87
107
 
88
108
  ```ts file="./PageMainSectionPadding.tsx"
109
+
89
110
  ```
90
111
 
91
112
  ### Group section
92
113
 
93
- To group page content sections, add 1 or more `<PageGroup>` components to a `<Page>`.
114
+ To group page content sections, add 1 or more `<PageGroup>` components to a `<Page>`.
94
115
 
95
116
  The following example adds a group containing `<PageNavigation>`, `<PageBreadcrumb>`, and `<PageSection>` components.
96
117
 
97
- To add additional components and information to a group, you may use the following properties:
118
+ To add additional components and information to a group, you may use the following properties:
98
119
 
99
- - To indicate that a breadcrumb should be in a group, use `isBreadcrumbGrouped`.
120
+ - To indicate that a breadcrumb should be in a group, use `isBreadcrumbGrouped`.
100
121
  - To indicate that tertiary navigation should be in a group, use `isTertiaryNavGrouped`.
101
- - To specify additional group content, use `additionalGroupedContent`.
102
-
122
+ - To specify additional group content, use `additionalGroupedContent`.
103
123
 
104
124
  ```ts file="./PageGroupSection.tsx"
125
+
105
126
  ```
106
127
 
107
128
  ### Centered section
108
129
 
109
- By default, a page section spans the width of the page. To reduce the width of a section, use the `isWidthLimited` property. To center align width-limited page sections, use the `isCenterAligned` property. When the main content area of a page is wider than the value of a centered, width-limited page section's `--pf-c-page--section--m-limit-width--MaxWidth` custom property, the section will automatically be centered.
130
+ By default, a page section spans the width of the page. To reduce the width of a section, use the `isWidthLimited` property. To center align width-limited page sections, use the `isCenterAligned` property. When the main content area of a page is wider than the value of a centered, width-limited page section's `--pf-c-page--section--m-limit-width--MaxWidth` custom property, the section will automatically be centered.
110
131
 
111
132
  The content in this example is placed in a card to better illustrate how the section behaves when it is centered, but a card is not required to center a page section.
112
133
 
113
134
  ```ts file="./PageCenteredSection.tsx"
135
+
114
136
  ```
@@ -7,6 +7,7 @@ import {
7
7
  MastheadBrand,
8
8
  MastheadContent,
9
9
  PageSidebar,
10
+ PageSidebarBody,
10
11
  PageSection,
11
12
  PageToggleButton,
12
13
  Toolbar,
@@ -18,10 +19,10 @@ import {
18
19
  import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
19
20
 
20
21
  export const PageCenteredSection: React.FunctionComponent = () => {
21
- const [isNavOpen, setIsNavOpen] = React.useState(true);
22
+ const [isSidebarOpen, setIsSidebarOpen] = React.useState(true);
22
23
 
23
- const onNavToggle = () => {
24
- setIsNavOpen(!isNavOpen);
24
+ const onSidebarToggle = () => {
25
+ setIsSidebarOpen(!isSidebarOpen);
25
26
  };
26
27
 
27
28
  const headerToolbar = (
@@ -38,8 +39,8 @@ export const PageCenteredSection: React.FunctionComponent = () => {
38
39
  <PageToggleButton
39
40
  variant="plain"
40
41
  aria-label="Global navigation"
41
- isNavOpen={isNavOpen}
42
- onNavToggle={onNavToggle}
42
+ isSidebarOpen={isSidebarOpen}
43
+ onSidebarToggle={onSidebarToggle}
43
44
  id="centered-nav-toggle"
44
45
  >
45
46
  <BarsIcon />
@@ -54,7 +55,11 @@ export const PageCenteredSection: React.FunctionComponent = () => {
54
55
  </Masthead>
55
56
  );
56
57
 
57
- const sidebar = <PageSidebar nav="Navigation" isNavOpen={isNavOpen} id="centered-section-sidebar" />;
58
+ const sidebar = (
59
+ <PageSidebar isSidebarOpen={isSidebarOpen} id="centered-section-sidebar">
60
+ <PageSidebarBody>Navigation</PageSidebarBody>
61
+ </PageSidebar>
62
+ );
58
63
 
59
64
  return (
60
65
  <Page header={header} sidebar={sidebar}>
@@ -7,6 +7,7 @@ import {
7
7
  MastheadBrand,
8
8
  MastheadContent,
9
9
  PageSidebar,
10
+ PageSidebarBody,
10
11
  PageSection,
11
12
  PageGroup,
12
13
  PageBreadcrumb,
@@ -25,10 +26,10 @@ import {
25
26
  import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
26
27
 
27
28
  export const PageGroupSection: React.FunctionComponent = () => {
28
- const [isNavOpen, setIsNavOpen] = React.useState(true);
29
+ const [isSidebarOpen, setIsSidebarOpen] = React.useState(true);
29
30
 
30
- const onNavToggle = () => {
31
- setIsNavOpen(!isNavOpen);
31
+ const onSidebarToggle = () => {
32
+ setIsSidebarOpen(!isSidebarOpen);
32
33
  };
33
34
 
34
35
  const headerToolbar = (
@@ -45,8 +46,8 @@ export const PageGroupSection: React.FunctionComponent = () => {
45
46
  <PageToggleButton
46
47
  variant="plain"
47
48
  aria-label="Global navigation"
48
- isNavOpen={isNavOpen}
49
- onNavToggle={onNavToggle}
49
+ isSidebarOpen={isSidebarOpen}
50
+ onSidebarToggle={onSidebarToggle}
50
51
  id="group-section-nav-toggle"
51
52
  >
52
53
  <BarsIcon />
@@ -61,7 +62,11 @@ export const PageGroupSection: React.FunctionComponent = () => {
61
62
  </Masthead>
62
63
  );
63
64
 
64
- const sidebar = <PageSidebar nav="Navigation" isNavOpen={isNavOpen} id="group-section-sidebar" />;
65
+ const sidebar = (
66
+ <PageSidebar isSidebarOpen={isSidebarOpen} id="group-section-sidebar">
67
+ <PageSidebarBody>Navigation</PageSidebarBody>
68
+ </PageSidebar>
69
+ );
65
70
 
66
71
  return (
67
72
  <Page header={header} sidebar={sidebar}>
@@ -7,6 +7,7 @@ import {
7
7
  MastheadBrand,
8
8
  MastheadContent,
9
9
  PageSidebar,
10
+ PageSidebarBody,
10
11
  PageSection,
11
12
  PageSectionVariants,
12
13
  PageToggleButton,
@@ -17,10 +18,10 @@ import {
17
18
  import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
18
19
 
19
20
  export const PageMainSectionPadding: React.FunctionComponent = () => {
20
- const [isNavOpen, setIsNavOpen] = React.useState(true);
21
+ const [isSidebarOpen, setIsSidebarOpen] = React.useState(true);
21
22
 
22
- const onNavToggle = () => {
23
- setIsNavOpen(!isNavOpen);
23
+ const onSidebarToggle = () => {
24
+ setIsSidebarOpen(!isSidebarOpen);
24
25
  };
25
26
 
26
27
  const headerToolbar = (
@@ -37,8 +38,8 @@ export const PageMainSectionPadding: React.FunctionComponent = () => {
37
38
  <PageToggleButton
38
39
  variant="plain"
39
40
  aria-label="Global navigation"
40
- isNavOpen={isNavOpen}
41
- onNavToggle={onNavToggle}
41
+ isSidebarOpen={isSidebarOpen}
42
+ onSidebarToggle={onSidebarToggle}
42
43
  id="main-padding-nav-toggle"
43
44
  >
44
45
  <BarsIcon />
@@ -53,7 +54,11 @@ export const PageMainSectionPadding: React.FunctionComponent = () => {
53
54
  </Masthead>
54
55
  );
55
56
 
56
- const sidebar = <PageSidebar nav="Navigation" isNavOpen={isNavOpen} id="main-padding-sidebar" />;
57
+ const sidebar = (
58
+ <PageSidebar isSidebarOpen={isSidebarOpen} id="main-padding-sidebar">
59
+ <PageSidebarBody>Navigation</PageSidebarBody>
60
+ </PageSidebar>
61
+ );
57
62
 
58
63
  return (
59
64
  <Page header={header} sidebar={sidebar}>
@@ -0,0 +1,74 @@
1
+ import React from 'react';
2
+ import {
3
+ Page,
4
+ Masthead,
5
+ MastheadToggle,
6
+ MastheadMain,
7
+ MastheadBrand,
8
+ MastheadContent,
9
+ PageSidebar,
10
+ PageSidebarBody,
11
+ PageSection,
12
+ PageSectionVariants,
13
+ PageToggleButton,
14
+ Toolbar,
15
+ ToolbarContent,
16
+ ToolbarItem
17
+ } from '@patternfly/react-core';
18
+ import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
19
+
20
+ export const PageMultipleSidebarBody: React.FunctionComponent = () => {
21
+ const [isSidebarOpen, setIsSidebarOpen] = React.useState(true);
22
+
23
+ const onSidebarToggle = () => {
24
+ setIsSidebarOpen(!isSidebarOpen);
25
+ };
26
+
27
+ const headerToolbar = (
28
+ <Toolbar id="multiple-sidebar-body-toolbar">
29
+ <ToolbarContent>
30
+ <ToolbarItem>header-tools</ToolbarItem>
31
+ </ToolbarContent>
32
+ </Toolbar>
33
+ );
34
+
35
+ const header = (
36
+ <Masthead>
37
+ <MastheadToggle>
38
+ <PageToggleButton
39
+ variant="plain"
40
+ aria-label="Global navigation"
41
+ isSidebarOpen={isSidebarOpen}
42
+ onSidebarToggle={onSidebarToggle}
43
+ id="multiple-sidebar-body-nav-toggle"
44
+ >
45
+ <BarsIcon />
46
+ </PageToggleButton>
47
+ </MastheadToggle>
48
+ <MastheadMain>
49
+ <MastheadBrand href="https://patternfly.org" target="_blank">
50
+ Logo
51
+ </MastheadBrand>
52
+ </MastheadMain>
53
+ <MastheadContent>{headerToolbar}</MastheadContent>
54
+ </Masthead>
55
+ );
56
+
57
+ const sidebar = (
58
+ <PageSidebar isSidebarOpen={isSidebarOpen} id="multiple-sidebar-body-sidebar">
59
+ <PageSidebarBody usePageInsets>First sidebar body (with insets)</PageSidebarBody>
60
+ <PageSidebarBody isFilled={true}>Second sidebar body (with fill)</PageSidebarBody>
61
+ <PageSidebarBody isFilled={false} usePageInsets>
62
+ Third sidebar body (with insets and no fill)
63
+ </PageSidebarBody>
64
+ </PageSidebar>
65
+ );
66
+
67
+ return (
68
+ <Page header={header} sidebar={sidebar}>
69
+ <PageSection variant={PageSectionVariants.darker}>Section with darker background</PageSection>
70
+ <PageSection variant={PageSectionVariants.dark}>Section with dark background</PageSection>
71
+ <PageSection variant={PageSectionVariants.light}>Section with light background</PageSection>
72
+ </Page>
73
+ );
74
+ };
@@ -7,6 +7,7 @@ import {
7
7
  MastheadBrand,
8
8
  MastheadContent,
9
9
  PageSidebar,
10
+ PageSidebarBody,
10
11
  PageSection,
11
12
  PageSectionVariants,
12
13
  PageToggleButton,
@@ -41,7 +42,11 @@ export const PageUncontrolledNav: React.FunctionComponent = () => {
41
42
  </Masthead>
42
43
  );
43
44
 
44
- const sidebar = <PageSidebar nav="Navigation" id="uncontrolled-sidebar" />;
45
+ const sidebar = (
46
+ <PageSidebar id="uncontrolled-sidebar">
47
+ <PageSidebarBody>Navigation</PageSidebarBody>
48
+ </PageSidebar>
49
+ );
45
50
 
46
51
  return (
47
52
  <Page isManagedSidebar header={header} sidebar={sidebar}>
@@ -7,6 +7,7 @@ import {
7
7
  MastheadBrand,
8
8
  MastheadContent,
9
9
  PageSidebar,
10
+ PageSidebarBody,
10
11
  PageSection,
11
12
  PageSectionVariants,
12
13
  PageToggleButton,
@@ -17,10 +18,10 @@ import {
17
18
  import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
18
19
 
19
20
  export const PageVerticalNav: React.FunctionComponent = () => {
20
- const [isNavOpen, setIsNavOpen] = React.useState(true);
21
+ const [isSidebarOpen, setIsSidebarOpen] = React.useState(true);
21
22
 
22
- const onNavToggle = () => {
23
- setIsNavOpen(!isNavOpen);
23
+ const onSidebarToggle = () => {
24
+ setIsSidebarOpen(!isSidebarOpen);
24
25
  };
25
26
 
26
27
  const headerToolbar = (
@@ -37,8 +38,8 @@ export const PageVerticalNav: React.FunctionComponent = () => {
37
38
  <PageToggleButton
38
39
  variant="plain"
39
40
  aria-label="Global navigation"
40
- isNavOpen={isNavOpen}
41
- onNavToggle={onNavToggle}
41
+ isSidebarOpen={isSidebarOpen}
42
+ onSidebarToggle={onSidebarToggle}
42
43
  id="vertical-nav-toggle"
43
44
  >
44
45
  <BarsIcon />
@@ -53,7 +54,11 @@ export const PageVerticalNav: React.FunctionComponent = () => {
53
54
  </Masthead>
54
55
  );
55
56
 
56
- const sidebar = <PageSidebar nav="Navigation" isNavOpen={isNavOpen} id="vertical-sidebar" />;
57
+ const sidebar = (
58
+ <PageSidebar isSidebarOpen={isSidebarOpen} id="vertical-sidebar">
59
+ <PageSidebarBody>Navigation</PageSidebarBody>
60
+ </PageSidebar>
61
+ );
57
62
 
58
63
  return (
59
64
  <Page header={header} sidebar={sidebar}>